Type Alias MaybeRequired<T, TRequired>

MaybeRequired<T, TRequired>: TRequired extends true
    ? ExactRequired<T>
    : T

Type Parameters

  • T
  • TRequired extends boolean

Makes attributes on the type T required if TRequired is true.

MaybeRequired<{ a: string, b?: number }, true>
=> { a: string, b: number }

MaybeRequired<{ a: string, b?: number }, false>
=> { a: string, b?: number }