Extracts the required (non-optional) keys of an object type T.
T
Available since v3.0.0
import type { RequiredKeys } from '@helpers4/type';
type RequiredKeys<T> = { [K in keyof T]-?: {} extends Pick<T, K> ? never : K; }[keyof T]
type User = { id: number; name: string; email?: string }; type Required = RequiredKeys<User>; // 'id' | 'name'
View source on GitHub