chat-ui / src /lib /utils /serialize.ts
nsarrazin's picture
refactor: new API & universal load functions (pt. 2) (#1847)
7d7a53f unverified
raw
history blame
346 Bytes
import type { ObjectId } from "mongodb";
export type Serialize<T> = T extends ObjectId | Date
? string
: T extends Array<infer U>
? Array<Serialize<U>>
: T extends object
? { [K in keyof T]: Serialize<T[K]> }
: T;
export function jsonSerialize<T>(data: T): Serialize<T> {
return JSON.parse(JSON.stringify(data)) as Serialize<T>;
}