Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 749 Bytes

File metadata and controls

30 lines (21 loc) · 749 Bytes

Home > types-kit > SetOptional

SetOptional type

Make some properties in T optional.

Signature:

export type SetOptional<T, K extends Keys<T>> = Simplify<
  StrictOmit<T, K> & Partial<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 = SetOptional<Props, 'a' | 'b'>;