Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 752 Bytes

File metadata and controls

30 lines (21 loc) · 752 Bytes

Home > types-kit > SetRequired

SetRequired type

Make some properties in T required.

Signature:

export type SetRequired<T, K extends Keys<T>> = Simplify<
  StrictOmit<T, K> & Required<Pick<T, K>>
>

References: Keys, Simplify, StrictOmit

Example

interface Props {
      a?: number;
      b?: number;
      c?: number;
    };
   // Expect: {  a: number;  b: number; c?: number; }
   type NewProps = SetRequired<Props, 'a' | 'b'>;