File size: 346 Bytes
7d7a53f
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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>;
}