1
1
export type OverloadImplementations < T , U extends keyof T > = Overloads < T [ U ] > ;
2
+
2
3
export type Overloads < T > = Overloads24 < T > ;
4
+
3
5
type Overloads24 < T > = T extends {
4
6
( ...args : infer A1 ) : infer R1 ;
5
7
( ...args : infer A2 ) : infer R2 ;
@@ -53,6 +55,7 @@ type Overloads24<T> = T extends {
53
55
( ...args : A24 ) => R24 ,
54
56
]
55
57
: Overloads23 < T > ;
58
+
56
59
type Overloads23 < T > = T extends {
57
60
( ...args : infer A1 ) : infer R1 ;
58
61
( ...args : infer A2 ) : infer R2 ;
@@ -104,6 +107,7 @@ type Overloads23<T> = T extends {
104
107
( ...args : A23 ) => R23 ,
105
108
]
106
109
: Overloads22 < T > ;
110
+
107
111
type Overloads22 < T > = T extends {
108
112
( ...args : infer A1 ) : infer R1 ;
109
113
( ...args : infer A2 ) : infer R2 ;
@@ -153,6 +157,7 @@ type Overloads22<T> = T extends {
153
157
( ...args : A22 ) => R22 ,
154
158
]
155
159
: Overloads21 < T > ;
160
+
156
161
type Overloads21 < T > = T extends {
157
162
( ...args : infer A1 ) : infer R1 ;
158
163
( ...args : infer A2 ) : infer R2 ;
@@ -200,6 +205,7 @@ type Overloads21<T> = T extends {
200
205
( ...args : A21 ) => R21 ,
201
206
]
202
207
: Overloads20 < T > ;
208
+
203
209
type Overloads20 < T > = T extends {
204
210
( ...args : infer A1 ) : infer R1 ;
205
211
( ...args : infer A2 ) : infer R2 ;
@@ -245,6 +251,7 @@ type Overloads20<T> = T extends {
245
251
( ...args : A20 ) => R20 ,
246
252
]
247
253
: Overloads19 < T > ;
254
+
248
255
type Overloads19 < T > = T extends {
249
256
( ...args : infer A1 ) : infer R1 ;
250
257
( ...args : infer A2 ) : infer R2 ;
@@ -288,6 +295,7 @@ type Overloads19<T> = T extends {
288
295
( ...args : A19 ) => R19 ,
289
296
]
290
297
: Overloads18 < T > ;
298
+
291
299
type Overloads18 < T > = T extends {
292
300
( ...args : infer A1 ) : infer R1 ;
293
301
( ...args : infer A2 ) : infer R2 ;
@@ -329,6 +337,7 @@ type Overloads18<T> = T extends {
329
337
( ...args : A18 ) => R18 ,
330
338
]
331
339
: Overloads17 < T > ;
340
+
332
341
type Overloads17 < T > = T extends {
333
342
( ...args : infer A1 ) : infer R1 ;
334
343
( ...args : infer A2 ) : infer R2 ;
@@ -368,6 +377,7 @@ type Overloads17<T> = T extends {
368
377
( ...args : A17 ) => R17 ,
369
378
]
370
379
: Overloads16 < T > ;
380
+
371
381
type Overloads16 < T > = T extends {
372
382
( ...args : infer A1 ) : infer R1 ;
373
383
( ...args : infer A2 ) : infer R2 ;
@@ -405,6 +415,7 @@ type Overloads16<T> = T extends {
405
415
( ...args : A16 ) => R16 ,
406
416
]
407
417
: Overloads15 < T > ;
418
+
408
419
type Overloads15 < T > = T extends {
409
420
( ...args : infer A1 ) : infer R1 ;
410
421
( ...args : infer A2 ) : infer R2 ;
@@ -440,6 +451,7 @@ type Overloads15<T> = T extends {
440
451
( ...args : A15 ) => R15 ,
441
452
]
442
453
: Overloads14 < T > ;
454
+
443
455
type Overloads14 < T > = T extends {
444
456
( ...args : infer A1 ) : infer R1 ;
445
457
( ...args : infer A2 ) : infer R2 ;
@@ -473,6 +485,7 @@ type Overloads14<T> = T extends {
473
485
( ...args : A14 ) => R14 ,
474
486
]
475
487
: Overloads13 < T > ;
488
+
476
489
type Overloads13 < T > = T extends {
477
490
( ...args : infer A1 ) : infer R1 ;
478
491
( ...args : infer A2 ) : infer R2 ;
@@ -504,6 +517,7 @@ type Overloads13<T> = T extends {
504
517
( ...args : A13 ) => R13 ,
505
518
]
506
519
: Overloads12 < T > ;
520
+
507
521
type Overloads12 < T > = T extends {
508
522
( ...args : infer A1 ) : infer R1 ;
509
523
( ...args : infer A2 ) : infer R2 ;
@@ -533,6 +547,7 @@ type Overloads12<T> = T extends {
533
547
( ...args : A12 ) => R12 ,
534
548
]
535
549
: Overloads11 < T > ;
550
+
536
551
type Overloads11 < T > = T extends {
537
552
( ...args : infer A1 ) : infer R1 ;
538
553
( ...args : infer A2 ) : infer R2 ;
@@ -560,6 +575,7 @@ type Overloads11<T> = T extends {
560
575
( ...args : A11 ) => R11 ,
561
576
]
562
577
: Overloads10 < T > ;
578
+
563
579
type Overloads10 < T > = T extends {
564
580
( ...args : infer A1 ) : infer R1 ;
565
581
( ...args : infer A2 ) : infer R2 ;
@@ -585,6 +601,7 @@ type Overloads10<T> = T extends {
585
601
( ...args : A10 ) => R10 ,
586
602
]
587
603
: Overloads9 < T > ;
604
+
588
605
type Overloads9 < T > = T extends {
589
606
( ...args : infer A1 ) : infer R1 ;
590
607
( ...args : infer A2 ) : infer R2 ;
@@ -608,6 +625,7 @@ type Overloads9<T> = T extends {
608
625
( ...args : A9 ) => R9 ,
609
626
]
610
627
: Overloads8 < T > ;
628
+
611
629
type Overloads8 < T > = T extends {
612
630
( ...args : infer A1 ) : infer R1 ;
613
631
( ...args : infer A2 ) : infer R2 ;
@@ -629,6 +647,7 @@ type Overloads8<T> = T extends {
629
647
( ...args : A8 ) => R8 ,
630
648
]
631
649
: Overloads7 < T > ;
650
+
632
651
type Overloads7 < T > = T extends {
633
652
( ...args : infer A1 ) : infer R1 ;
634
653
( ...args : infer A2 ) : infer R2 ;
@@ -648,6 +667,7 @@ type Overloads7<T> = T extends {
648
667
( ...args : A7 ) => R7 ,
649
668
]
650
669
: Overloads6 < T > ;
670
+
651
671
type Overloads6 < T > = T extends {
652
672
( ...args : infer A1 ) : infer R1 ;
653
673
( ...args : infer A2 ) : infer R2 ;
@@ -665,6 +685,7 @@ type Overloads6<T> = T extends {
665
685
( ...args : A6 ) => R6 ,
666
686
]
667
687
: Overloads5 < T > ;
688
+
668
689
type Overloads5 < T > = T extends {
669
690
( ...args : infer A1 ) : infer R1 ;
670
691
( ...args : infer A2 ) : infer R2 ;
@@ -680,6 +701,7 @@ type Overloads5<T> = T extends {
680
701
( ...args : A5 ) => R5 ,
681
702
]
682
703
: Overloads4 < T > ;
704
+
683
705
type Overloads4 < T > = T extends {
684
706
( ...args : infer A1 ) : infer R1 ;
685
707
( ...args : infer A2 ) : infer R2 ;
@@ -688,19 +710,22 @@ type Overloads4<T> = T extends {
688
710
}
689
711
? [ ( ...args : A1 ) => R1 , ( ...args : A2 ) => R2 , ( ...args : A3 ) => R3 , ( ...args : A4 ) => R4 ]
690
712
: Overloads3 < T > ;
713
+
691
714
type Overloads3 < T > = T extends {
692
715
( ...args : infer A1 ) : infer R1 ;
693
716
( ...args : infer A2 ) : infer R2 ;
694
717
( ...args : infer A3 ) : infer R3 ;
695
718
}
696
719
? [ ( ...args : A1 ) => R1 , ( ...args : A2 ) => R2 , ( ...args : A3 ) => R3 ]
697
720
: Overloads2 < T > ;
721
+
698
722
type Overloads2 < T > = T extends {
699
723
( ...args : infer A1 ) : infer R1 ;
700
724
( ...args : infer A2 ) : infer R2 ;
701
725
}
702
726
? [ ( ...args : A1 ) => R1 , ( ...args : A2 ) => R2 ]
703
727
: Overloads1 < T > ;
728
+
704
729
type Overloads1 < T > = T extends {
705
730
( ...args : infer A1 ) : infer R1 ;
706
731
}
0 commit comments