UNPKG

fewer

Version:

A minimal ORM for Node.js.

17 lines (16 loc) 587 B
declare type Undefined<T> = T extends undefined ? undefined : never; declare type UndefinedProperties<T> = { [K in keyof T]: Undefined<T[K]> extends never ? never : K; }[keyof T]; declare type NotUndefinedProperties<T> = { [K in keyof T]: Undefined<T[K]> extends never ? K : never; }[keyof T]; declare type Merge<T extends object> = { [K in keyof T]: T[K]; }; export declare type WithUndefinedPropertiesAsOptionals<T> = Merge<{ [K in keyof T & UndefinedProperties<T>]?: Exclude<T[K], undefined>; } & { [K in keyof T & NotUndefinedProperties<T>]: T[K]; }>; export {};