convertToSerializedForm() — astro Function Reference
Architecture documentation for the convertToSerializedForm() function in serialize.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 1502697a_a04e_810c_bd56_b25bd832d1c5["convertToSerializedForm()"] 503a0de8_cf3d_458a_44c0_c9f295739fb6["serialize.ts"] 1502697a_a04e_810c_bd56_b25bd832d1c5 -->|defined in| 503a0de8_cf3d_458a_44c0_c9f295739fb6 42efedaa_f93f_0129_45b0_2c2090ccf2dc["serializeArray()"] 42efedaa_f93f_0129_45b0_2c2090ccf2dc -->|calls| 1502697a_a04e_810c_bd56_b25bd832d1c5 8d7cde9f_83f1_0783_c6af_f3a4c88f86d5["serializeObject()"] 8d7cde9f_83f1_0783_c6af_f3a4c88f86d5 -->|calls| 1502697a_a04e_810c_bd56_b25bd832d1c5 42efedaa_f93f_0129_45b0_2c2090ccf2dc["serializeArray()"] 1502697a_a04e_810c_bd56_b25bd832d1c5 -->|calls| 42efedaa_f93f_0129_45b0_2c2090ccf2dc 8d7cde9f_83f1_0783_c6af_f3a4c88f86d5["serializeObject()"] 1502697a_a04e_810c_bd56_b25bd832d1c5 -->|calls| 8d7cde9f_83f1_0783_c6af_f3a4c88f86d5 style 1502697a_a04e_810c_bd56_b25bd832d1c5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/runtime/server/serialize.ts lines 57–110
function convertToSerializedForm(
value: any,
metadata: AstroComponentMetadata | Record<string, any> = {},
parents = new WeakSet<any>(),
): [ValueOf<typeof PROP_TYPE>, any] | [ValueOf<typeof PROP_TYPE>] {
const tag = Object.prototype.toString.call(value);
switch (tag) {
case '[object Date]': {
return [PROP_TYPE.Date, (value as Date).toISOString()];
}
case '[object RegExp]': {
return [PROP_TYPE.RegExp, (value as RegExp).source];
}
case '[object Map]': {
return [PROP_TYPE.Map, serializeArray(Array.from(value as Map<any, any>), metadata, parents)];
}
case '[object Set]': {
return [PROP_TYPE.Set, serializeArray(Array.from(value as Set<any>), metadata, parents)];
}
case '[object BigInt]': {
return [PROP_TYPE.BigInt, (value as bigint).toString()];
}
case '[object URL]': {
return [PROP_TYPE.URL, (value as URL).toString()];
}
case '[object Array]': {
return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];
}
case '[object Uint8Array]': {
return [PROP_TYPE.Uint8Array, Array.from(value as Uint8Array)];
}
case '[object Uint16Array]': {
return [PROP_TYPE.Uint16Array, Array.from(value as Uint16Array)];
}
case '[object Uint32Array]': {
return [PROP_TYPE.Uint32Array, Array.from(value as Uint32Array)];
}
default: {
if (value !== null && typeof value === 'object') {
return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];
}
if (value === Infinity) {
return [PROP_TYPE.Infinity, 1];
}
if (value === -Infinity) {
return [PROP_TYPE.Infinity, -1];
}
if (value === undefined) {
return [PROP_TYPE.Value];
}
return [PROP_TYPE.Value, value];
}
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does convertToSerializedForm() do?
convertToSerializedForm() is a function in the astro codebase, defined in packages/astro/src/runtime/server/serialize.ts.
Where is convertToSerializedForm() defined?
convertToSerializedForm() is defined in packages/astro/src/runtime/server/serialize.ts at line 57.
What does convertToSerializedForm() call?
convertToSerializedForm() calls 2 function(s): serializeArray, serializeObject.
What calls convertToSerializedForm()?
convertToSerializedForm() is called by 2 function(s): serializeArray, serializeObject.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free