Type Alias extendShape<A, B>

extendShape<A, B>: (keyof A & keyof B) extends never
    ? A & B
    : {
        [K in keyof A as K extends keyof B
            ? never
            : K]: A[K]
    } & {
        [K in keyof B]: B[K]
    }

Type Parameters

  • A extends object
  • B extends object