Skip to content

RequiredKeys

Extracts the required (non-optional) keys of an object type T.

Available since v3.0.0

import type { RequiredKeys } from '@helpers4/type';
// or, from the all-in-one package (same code, one install):
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