types-kit.setoptional.md

September 4, 2023 ยท View on GitHub

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'>;