type JsonifyObject<BaseType, Marker extends string> = {
[K in keyof BaseType as K extends symbol
? never
: BaseType[K] extends (...args: unknown[]) => unknown
? never
: K]:
| JsonifyWithCirculars<
Exclude<BaseType[K], undefined>,
Marker
>
| Extract<BaseType[K], undefined>
| Marker;
};type JsonifyObject<BaseType, Marker extends string> = {
[K in keyof BaseType as K extends symbol
? never
: BaseType[K] extends (...args: unknown[]) => unknown
? never
: K]:
| JsonifyWithCirculars<
Exclude<BaseType[K], undefined>,
Marker
>
| Extract<BaseType[K], undefined>
| Marker;
};