Type Alias UnionRequiredBy<T, K>

UnionRequiredBy: 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 }