zeroant-factory
Version:
Factory modules for zeroant
15 lines (14 loc) • 547 B
TypeScript
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 {};