type-challenges icon indicating copy to clipboard operation
type-challenges copied to clipboard

28143 - OptionalUndefined

Open teamchong opened this issue 10 months ago • 0 comments

type OptionalUndefined<T extends object, Props extends keyof T = keyof T> =
  {
    [K in keyof T as undefined extends T[K] ? K extends Props ? K : never : never]?: T[K]
  } & {
    [K in keyof T as undefined extends T[K] ? K extends Props ? never : K : K]: T[K]
  } extends infer Combined
  ? {[K in keyof Combined]: Combined[K]} : never

Playground

teamchong avatar Apr 22 '24 04:04 teamchong