@@ -10,95 +10,23 @@ interface PromiseConstructor {
10
10
* a resolve callback used to resolve the promise with a value or the result of another promise,
11
11
* and a reject callback used to reject the promise with a provided reason or error.
12
12
*/
13
- new < T > ( executor : ( resolve : ( value ?: T | PromiseLike < T > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
13
+ new < T > ( executor : ( resolve : ( value ?: T ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < Awaited < T > > ;
14
14
15
15
/**
16
16
* Creates a Promise that is resolved with an array of results when all of the provided Promises
17
17
* resolve, or rejected when any Promise is rejected.
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 : readonly [ 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 ] > ;
22
-
23
- /**
24
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
25
- * resolve, or rejected when any Promise is rejected.
26
- * @param values An array of Promises.
27
- * @returns A new Promise.
28
- */
29
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( values : readonly [ 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 ] > ;
30
-
31
- /**
32
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
33
- * resolve, or rejected when any Promise is rejected.
34
- * @param values An array of Promises.
35
- * @returns A new Promise.
36
- */
37
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( values : readonly [ 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 ] > ;
38
-
39
- /**
40
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
41
- * resolve, or rejected when any Promise is rejected.
42
- * @param values An array of Promises.
43
- * @returns A new Promise.
44
- */
45
- all < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( values : readonly [ 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 ] > ;
46
-
47
- /**
48
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
49
- * resolve, or rejected when any Promise is rejected.
50
- * @param values An array of Promises.
51
- * @returns A new Promise.
52
- */
53
- all < T1 , T2 , T3 , T4 , T5 , T6 > ( values : readonly [ 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 ] > ;
54
-
55
- /**
56
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
57
- * resolve, or rejected when any Promise is rejected.
58
- * @param values An array of Promises.
59
- * @returns A new Promise.
60
- */
61
- all < T1 , T2 , T3 , T4 , T5 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 ] > ;
62
-
63
- /**
64
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
65
- * resolve, or rejected when any Promise is rejected.
66
- * @param values An array of Promises.
67
- * @returns A new Promise.
68
- */
69
- all < T1 , T2 , T3 , T4 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < [ T1 , T2 , T3 , T4 ] > ;
70
-
71
- /**
72
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
73
- * resolve, or rejected when any Promise is rejected.
74
- * @param values An array of Promises.
75
- * @returns A new Promise.
76
- */
77
- all < T1 , T2 , T3 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ T1 , T2 , T3 ] > ;
78
-
79
- /**
80
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
81
- * resolve, or rejected when any Promise is rejected.
82
- * @param values An array of Promises.
83
- * @returns A new Promise.
84
- */
85
- all < T1 , T2 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ T1 , T2 ] > ;
86
-
87
- /**
88
- * Creates a Promise that is resolved with an array of results when all of the provided Promises
89
- * resolve, or rejected when any Promise is rejected.
90
- * @param values An array of Promises.
91
- * @returns A new Promise.
92
- */
93
- all < T > ( values : readonly ( T | PromiseLike < T > ) [ ] ) : Promise < T [ ] > ;
21
+ all < T extends readonly any [ ] > ( values : T ) : Promise < { - readonly [ P in keyof T ] : Awaited < T [ P ] > } > ;
94
22
95
23
/**
96
24
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
97
25
* or rejected.
98
26
* @param values An array of Promises.
99
27
* @returns A new Promise.
100
28
*/
101
- race < T > ( values : readonly T [ ] ) : Promise < T extends PromiseLike < infer U > ? U : T > ;
29
+ race < T extends readonly any [ ] > ( values : T ) : Promise < Awaited < T [ number ] > > ;
102
30
103
31
/**
104
32
* Creates a new rejected promise for the provided reason.
@@ -112,10 +40,10 @@ interface PromiseConstructor {
112
40
* @param value A promise.
113
41
* @returns A promise whose internal state matches the provided promise.
114
42
*/
115
- resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
43
+ resolve < T > ( value : T ) : Promise < Awaited < T > > ;
116
44
117
45
/**
118
- * Creates a new resolved promise .
46
+ * Creates a new resolved promise.
119
47
* @returns A resolved promise.
120
48
*/
121
49
resolve ( ) : Promise < void > ;
0 commit comments