Type Alias UnionToTuple<T, L, N>

UnionToTuple<T, L, N>: true extends N
    ? []
    : Push<UnionToTuple<Exclude<T, L>>, L>

Converts a union to a tuple

Type Parameters

  • T
  • L = LastOfUnion<T>
  • N = [T] extends [never]
        ? true
        : false