RequiredKeys
RequiredKeys
@example
type Props = { req: number; reqUndef: number | undefined; opt?: string; optUndef?: number | undefined; };
// Expect: "req" | "reqUndef"
type Keys = RequiredKeys<Props>;
type RequiredKeys<T> = [K in keyof T]-?: {} extends Pick<T, K> ? never : K[keyof T];