type R = IsNotTuple<[], { selection: 'filter' }> // never
type R = IsNotTuple<[1], { selection: 'filter' }> // never
type R = IsNotTuple<never, { selection: 'filter' }> // never
type R = IsNotTuple<unknown, { selection: 'filter' }> // unknown
type R = IsNotTuple<[] | boolean, { selection: 'filter' }> // boolean
type R = IsNotTuple<[1] | bigint> // bigint
🔢 customize:
Disable distribution of union types.
type R = IsNotTuple<[] | 1> // boolean
type R = IsNotTuple<[] | 1, { distributive: false }> // false
🔢 customize
Use unique branch identifiers to allow precise processing of the result.
🎭 predicate
Validate that
T
is not a tuple, excluding array.🔢 customize
Filter to ensure
T
is not atuple
, otherwise returnsnever
.