encode() — svelte Function Reference
Architecture documentation for the encode() function in hydratable.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD f0cff7bd_d799_b072_8f02_3d0ffad0caa8["encode()"] 2d51c6c9_d3dc_2c19_12a2_18adb2ef1c08["hydratable.js"] f0cff7bd_d799_b072_8f02_3d0ffad0caa8 -->|defined in| 2d51c6c9_d3dc_2c19_12a2_18adb2ef1c08 aceb9558_4599_fbdb_f0c7_8abf2fb32324["hydratable()"] aceb9558_4599_fbdb_f0c7_8abf2fb32324 -->|calls| f0cff7bd_d799_b072_8f02_3d0ffad0caa8 8362c319_fb03_c16d_839d_c59e10f334e7["get_user_code_location()"] f0cff7bd_d799_b072_8f02_3d0ffad0caa8 -->|calls| 8362c319_fb03_c16d_839d_c59e10f334e7 d7ab38d4_84e0_b5a4_64df_a5aeb990307c["is_promise()"] f0cff7bd_d799_b072_8f02_3d0ffad0caa8 -->|calls| d7ab38d4_84e0_b5a4_64df_a5aeb990307c d4e392d5_f087_0d75_c137_5e55abc4ed42["hydratable_serialization_failed()"] f0cff7bd_d799_b072_8f02_3d0ffad0caa8 -->|calls| d4e392d5_f087_0d75_c137_5e55abc4ed42 122be111_f8a0_6c03_dcfd_2b3fd0b29e3d["serialization_stack()"] f0cff7bd_d799_b072_8f02_3d0ffad0caa8 -->|calls| 122be111_f8a0_6c03_dcfd_2b3fd0b29e3d style f0cff7bd_d799_b072_8f02_3d0ffad0caa8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/server/hydratable.js lines 48–87
function encode(key, value, unresolved) {
/** @type {HydratableLookupEntry} */
const entry = { value, serialized: '' };
if (DEV) {
entry.stack = get_user_code_location();
}
let uid = 1;
entry.serialized = devalue.uneval(entry.value, (value, uneval) => {
if (is_promise(value)) {
// we serialize promises as `"${i}"`, because it's impossible for that string
// to occur 'naturally' (since the quote marks would have to be escaped)
// this placeholder is returned synchronously from `uneval`, which includes it in the
// serialized string. Later (at least one microtask from now), when `p.then` runs, it'll
// be replaced.
const placeholder = `"${uid++}"`;
const p = value
.then((v) => {
entry.serialized = entry.serialized.replace(placeholder, `r(${uneval(v)})`);
})
.catch((devalue_error) =>
e.hydratable_serialization_failed(
key,
serialization_stack(entry.stack, devalue_error?.stack)
)
);
unresolved?.set(p, key);
// prevent unhandled rejections from crashing the server, track which promises are still resolving when render is complete
p.catch(() => {}).finally(() => unresolved?.delete(p));
(entry.promises ??= []).push(p);
return placeholder;
}
});
return entry;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does encode() do?
encode() is a function in the svelte codebase, defined in packages/svelte/src/internal/server/hydratable.js.
Where is encode() defined?
encode() is defined in packages/svelte/src/internal/server/hydratable.js at line 48.
What does encode() call?
encode() calls 4 function(s): get_user_code_location, hydratable_serialization_failed, is_promise, serialization_stack.
What calls encode()?
encode() is called by 1 function(s): hydratable.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free