typelab / utils / ObjectRequiredKeys
type ObjectRequiredKeys<T> = T extends T ? IsObjectLiteral<T> extends true ? keyof { [K in keyof T as IsRequiredProperty<T, K> extends true ? K : never]-?: true } : never : never;Get the required keys from T type.
| Type Parameter | Description |
|---|---|
|
|
The |
The keys of T that are required.
type Obj = { a: number; b: string | undefined; c?: boolean };
type RequiredKeys = ObjectRequiredKeys<Obj>; // "a" | "b"