UNPKG

fishery

Version:

A library for setting up JavaScript factories to help build objects as test data, with full TypeScript support

7 lines (6 loc) 574 B
export type DeepPartial<T> = T extends Primitive ? Partial<T> : T extends Array<any> ? T : T extends Set<any> ? T : T extends ReadonlySet<any> ? T : T extends Map<any, any> ? T : T extends ReadonlyMap<any, any> ? T : T extends Date ? Date : T extends (...args: any[]) => unknown ? T | undefined : T extends object ? DeepPartialObject<T> : unknown; type Primitive = null | undefined | string | number | boolean | symbol | bigint; export type DeepPartialObject<ObjectType extends object> = { [KeyType in keyof ObjectType]?: DeepPartial<ObjectType[KeyType]>; }; export {};