UnionRequiredBy<T, K>: T extends any
    ? RequiredBy<T, K>
    : never

Type Parameters

  • T
  • K extends keyof T

Creates a type that is T with the required keys K.

RequiredBy<{ a?: string, b: number } | { a?: string, c?: number }, 'a'>
=> { a: string, b: number } | { a: string, c?: number }