@@ -18,79 +18,79 @@ interface PromiseConstructor {
18
18
* @param values An array of Promises.
19
19
* @returns A new Promise.
20
20
*/
21
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > , T6 | PromiseLike < T6 > , T7 | PromiseLike < T7 > , T8 | PromiseLike < T8 > , T9 | PromiseLike < T9 > , T10 | PromiseLike < T10 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] > ;
21
+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 , T5 extends PromiseLike < infer U5 > ? U5 : T5 , T6 extends PromiseLike < infer U6 > ? U6 : T6 , T7 extends PromiseLike < infer U7 > ? U7 : T7 , T8 extends PromiseLike < infer U8 > ? U8 : T8 , T9 extends PromiseLike < infer U9 > ? U9 : T9 , T10 extends PromiseLike < infer U10 > ? U10 : T10 ] > ;
22
22
23
23
/**
24
24
* Creates a Promise that is resolved with an array of results when all of the provided Promises
25
25
* resolve, or rejected when any Promise is rejected.
26
26
* @param values An array of Promises.
27
27
* @returns A new Promise.
28
28
*/
29
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > , T6 | PromiseLike < T6 > , T7 | PromiseLike < T7 > , T8 | PromiseLike < T8 > , T9 | PromiseLike < T9 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] > ;
29
+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 , T5 extends PromiseLike < infer U5 > ? U5 : T5 , T6 extends PromiseLike < infer U6 > ? U6 : T6 , T7 extends PromiseLike < infer U7 > ? U7 : T7 , T8 extends PromiseLike < infer U8 > ? U8 : T8 , T9 extends PromiseLike < infer U9 > ? U9 : T9 ] > ;
30
30
31
31
/**
32
32
* Creates a Promise that is resolved with an array of results when all of the provided Promises
33
33
* resolve, or rejected when any Promise is rejected.
34
34
* @param values An array of Promises.
35
35
* @returns A new Promise.
36
36
*/
37
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > , T6 | PromiseLike < T6 > , T7 | PromiseLike < T7 > , T8 | PromiseLike < T8 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] > ;
37
+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 , T5 extends PromiseLike < infer U5 > ? U5 : T5 , T6 extends PromiseLike < infer U6 > ? U6 : T6 , T7 extends PromiseLike < infer U7 > ? U7 : T7 , T8 extends PromiseLike < infer U8 > ? U8 : T8 ] > ;
38
38
39
39
/**
40
40
* Creates a Promise that is resolved with an array of results when all of the provided Promises
41
41
* resolve, or rejected when any Promise is rejected.
42
42
* @param values An array of Promises.
43
43
* @returns A new Promise.
44
44
*/
45
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > , T6 | PromiseLike < T6 > , T7 | PromiseLike < T7 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] > ;
45
+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 , T5 extends PromiseLike < infer U5 > ? U5 : T5 , T6 extends PromiseLike < infer U6 > ? U6 : T6 , T7 extends PromiseLike < infer U7 > ? U7 : T7 ] > ;
46
46
47
47
/**
48
48
* Creates a Promise that is resolved with an array of results when all of the provided Promises
49
49
* resolve, or rejected when any Promise is rejected.
50
50
* @param values An array of Promises.
51
51
* @returns A new Promise.
52
52
*/
53
- all < T1 , T2 , T3 , T4 , T5 , T6 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > , T6 | PromiseLike < T6 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 , T6 ] > ;
53
+ all < T1 , T2 , T3 , T4 , T5 , T6 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 , T5 extends PromiseLike < infer U5 > ? U5 : T5 , T6 extends PromiseLike < infer U6 > ? U6 : T6 ] > ;
54
54
55
55
/**
56
56
* Creates a Promise that is resolved with an array of results when all of the provided Promises
57
57
* resolve, or rejected when any Promise is rejected.
58
58
* @param values An array of Promises.
59
59
* @returns A new Promise.
60
60
*/
61
- all < T1 , T2 , T3 , T4 , T5 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 ] > ;
61
+ all < T1 , T2 , T3 , T4 , T5 > ( values : [ T1 , T2 , T3 , T4 , T5 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 , T5 extends PromiseLike < infer U5 > ? U5 : T5 ] > ;
62
62
63
63
/**
64
64
* Creates a Promise that is resolved with an array of results when all of the provided Promises
65
65
* resolve, or rejected when any Promise is rejected.
66
66
* @param values An array of Promises.
67
67
* @returns A new Promise.
68
68
*/
69
- all < T1 , T2 , T3 , T4 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < [ T1 , T2 , T3 , T4 ] > ;
69
+ all < T1 , T2 , T3 , T4 > ( values : [ T1 , T2 , T3 , T4 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 , T4 extends PromiseLike < infer U4 > ? U4 : T4 ] > ;
70
70
71
71
/**
72
72
* Creates a Promise that is resolved with an array of results when all of the provided Promises
73
73
* resolve, or rejected when any Promise is rejected.
74
74
* @param values An array of Promises.
75
75
* @returns A new Promise.
76
76
*/
77
- all < T1 , T2 , T3 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ T1 , T2 , T3 ] > ;
77
+ all < T1 , T2 , T3 > ( values : [ T1 , T2 , T3 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 , T3 extends PromiseLike < infer U3 > ? U3 : T3 ] > ;
78
78
79
79
/**
80
80
* Creates a Promise that is resolved with an array of results when all of the provided Promises
81
81
* resolve, or rejected when any Promise is rejected.
82
82
* @param values An array of Promises.
83
83
* @returns A new Promise.
84
84
*/
85
- all < T1 , T2 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ T1 , T2 ] > ;
85
+ all < T1 , T2 > ( values : [ T1 , T2 ] ) : Promise < [ T1 extends PromiseLike < infer U1 > ? U1 : T1 , T2 extends PromiseLike < infer U2 > ? U2 : T2 ] > ;
86
86
87
87
/**
88
88
* Creates a Promise that is resolved with an array of results when all of the provided Promises
89
89
* resolve, or rejected when any Promise is rejected.
90
90
* @param values An array of Promises.
91
91
* @returns A new Promise.
92
92
*/
93
- all < T > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T [ ] > ;
93
+ all < T > ( values : T [ ] ) : Promise < ( T extends PromiseLike < infer U > ? U : T ) [ ] > ;
94
94
95
95
/**
96
96
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -120,7 +120,7 @@ interface PromiseConstructor {
120
120
* @param value A promise.
121
121
* @returns A promise whose internal state matches the provided promise.
122
122
*/
123
- resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
123
+ resolve < T > ( value : T ) : Promise < T extends PromiseLike < infer U > ? U : T > ;
124
124
125
125
/**
126
126
* Creates a new resolved promise .
0 commit comments