-
-
Notifications
You must be signed in to change notification settings - Fork 679
UnionLength #1387
Copy link
Copy link
Open
Labels
Description
Type description + examples
from example of UnionMember
import type {UnionMember, IsNever} from 'type-fest';
type UnionLength<T, Acc extends any[] = []> =
UnionMember<T> extends infer Member
? IsNever<Member> extends false
? UnionLength<Exclude<T, Member>, [...Acc, Member]>
: Acc['length']
: never;
type T1 = UnionLength<'foo' | 'bar' | 'baz'>;
//=> 3
type T2 = UnionLength<{a: string}>;
//=> 1Type source
No response
Search existing types and issues first
- I tried my best to look for it
Reactions are currently unavailable