export type Serialized<Value> = Value extends bigint | symbol | (() => any) ? never : Value extends boolean | number | string | undefined ? Value : Value extends JSONEncodable<infer JSONResult> ? JSONResult : Value extends readonly (infer ItemType)[] ? Serialized<ItemType>[] : Value extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> ? {} : { [K in keyof Value]: Serialized<Value[K]> };
Type Parameters
Value
Value extends bigint | symbol | (() => any) ? never : Value extends boolean | number | string | undefined ? Value : Value extends JSONEncodable<infer JSONResult> ? JSONResult : Value extends readonly (infer ItemType)[] ? Serialized<ItemType>[] : Value extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> ? {} : { [K in keyof Value]: Serialized<Value[K]> }