Type Alias TupleUnion<T, L, N>

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

Type Parameters

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