toJSON
La fonction toJSON() prépare une valeur pour la sérialisation JSON en respectant les méthodes toJSON des objets, en parcourant tableaux/tuples et en excluant les fonctions.
Exemple interactif
Syntaxe
typescript
type ToJSON<GenericInput extends unknown> =
GenericInput extends number | string | null | undefined
? GenericInput
: GenericInput extends { toJSON: AnyFunction }
? ReturnType<GenericInput["toJSON"]>
: GenericInput extends [infer InferredFirst, ...infer InferredRest]
? [
ToJSON<InferredFirst>,
...(
ToJSON<InferredRest> extends infer InferredSubRest extends any[]
? IsEqual<InferredSubRest, never[]> extends false
? InferredSubRest
: []
: []
)
]
: GenericInput extends any[]
? ToJSON<GenericInput[number]>[]
: GenericInput extends Record<number, unknown>
? {
[Prop in keyof GenericInput as GenericInput[Prop] extends AnyFunction ? never : Prop]:
ToJSON<GenericInput[Prop]>;
}
: undefined;
function toJSON<
GenericInput extends unknown
>(
input: GenericInput
): ToJSON<GenericInput>;Paramètres
input: Valeur à transformer en structure JSON-safe.
Valeur de retour
Une valeur prête pour la sérialisation JSON, avec les méthodes toJSON respectées et les fonctions exclues.
Voir aussi
toTransform- Transformation générique viatoTransform
