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