UNPKG

zeroant-factory

Version:
15 lines (14 loc) 547 B
interface $payload { name: string; scalars: Record<string, any>; objects: any; composites: any; } type $updatePayload = Record<string, any>; export type FactoryEntity<T extends $payload, O = T['objects']> = T['scalars'] & { [K in keyof O]?: O[K] extends Array<$payload | null> ? Array<FactoryEntity<NonNullable<O[K][0]>>> : O[K] extends $payload | null ? FactoryEntity<NonNullable<O[K]>> : null; }; export type FactoryUpdateEntity<T extends $updatePayload, O = T['scalars']> = { [K in keyof O]?: O[K] | null; }; export {};