We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 86cdbad commit 53d069eCopy full SHA for 53d069e
18.ts
@@ -1,8 +1,8 @@
1
-type Count<T extends any[], E, S extends E[] = []> =
2
-T extends [...infer TF, Exclude<T[number],E>]
3
-? Count<TF, E, S>
4
-: T extends [...infer TF, E]
5
- ? Count<TF, E, [...S, E]>
6
- : T extends []
7
- ? S['length']
8
- : never;
+type Count<TElements extends any[], EToCount, TAcc extends EToCount[] = []> =
+ TElements extends [...infer TFront, Exclude<TElements[number], EToCount>]
+ ? Count<TFront, EToCount, TAcc>
+ : TElements extends [...infer TFront, EToCount]
+ ? Count<TFront, EToCount, [...TAcc, EToCount]>
+ : TElements extends []
+ ? TAcc['length']
+ : never;
0 commit comments