ts-lib-extended
Version:
Additional types and tools for typescript
25 lines (24 loc) • 503 B
TypeScript
export type PublicMembers<T> = {
[key in keyof T]: T[key];
};
export type Prettify<T> = T & unknown;
/**
* recursive partial - make everthing optional
*
* @export
* @template T
* @since 4.1.0
*/
export type DeepPartial<T> = T extends object ? {
[K in keyof T]?: DeepPartial<T[K]>;
} : T;
/**
* recursive required - make everthing required
*
* @export
* @template T
* @since 4.1.0
*/
export type DeepRequired<T> = T extends object ? {
[K in keyof T]-?: DeepRequired<T[K]>;
} : T;