MCPcopy
hub / github.com/sveltejs/svelte / hydratable

Function hydratable

packages/svelte/src/internal/server/hydratable.js:15–40  ·  view source on GitHub ↗
(key, fn)

Source from the content-addressed store, hash-verified

13 * @returns {T}
14 */
15export function hydratable(key, fn) {
16 if (!async_mode_flag) {
17 e.experimental_async_required('hydratable');
18 }
19
20 const { hydratable } = get_render_context();
21
22 let entry = hydratable.lookup.get(key);
23
24 if (entry !== undefined) {
25 if (DEV) {
26 const comparison = compare(key, entry, encode(key, fn()));
27 comparison.catch(() => {});
28 hydratable.comparisons.push(comparison);
29 }
30
31 return /** @type {T} */ (entry.value);
32 }
33
34 const value = fn();
35
36 entry = encode(key, value, hydratable.unresolved_promises);
37 hydratable.lookup.set(key, entry);
38
39 return value;
40}
41
42/**
43 * @param {string} key

Callers 1

componentFunction · 0.90

Calls 7

get_render_contextFunction · 0.90
encodeFunction · 0.85
pushMethod · 0.80
compareFunction · 0.70
setMethod · 0.65
fnFunction · 0.50
getMethod · 0.45

Tested by 1

componentFunction · 0.72