9 lines
291 B
TypeScript
9 lines
291 B
TypeScript
/**
|
|
* Extract the names of an object's required properties
|
|
*
|
|
* @param O Object
|
|
* @return Property names
|
|
*/
|
|
export declare type RequiredProps<O extends Record<string | number | symbol, unknown>> = Exclude<{
|
|
[K in keyof O]: undefined extends O[K] ? never : K;
|
|
}[keyof O], undefined>;
|