Type Alias TSetDistinct<T, Acc>

TSetDistinct<T, Acc>: T extends [infer L extends PropertyKey, ...(infer R extends PropertyKey[])]
    ? TSetIncludes<Acc, L> extends false
        ? TSetDistinct<R, [...Acc, L]>
        : TSetDistinct<R, [...Acc]>
    : Acc

Type Parameters

  • T extends PropertyKey[]
  • Acc extends PropertyKey[] = []