@@ -10,95 +10,23 @@ interface PromiseConstructor {
1010 * a resolve callback used to resolve the promise with a value or the result of another promise,
1111 * and a reject callback used to reject the promise with a provided reason or error.
1212 */
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 > > ;
1414
1515 /**
1616 * Creates a Promise that is resolved with an array of results when all of the provided Promises
1717 * resolve, or rejected when any Promise is rejected.
1818 * @param values An array of Promises.
1919 * @returns A new Promise.
2020 */
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 ] > } > ;
9422
9523 /**
9624 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
9725 * or rejected.
9826 * @param values An array of Promises.
9927 * @returns A new Promise.
10028 */
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 ] > > ;
10230
10331 /**
10432 * Creates a new rejected promise for the provided reason.
@@ -112,10 +40,10 @@ interface PromiseConstructor {
11240 * @param value A promise.
11341 * @returns A promise whose internal state matches the provided promise.
11442 */
115- resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
43+ resolve < T > ( value : T ) : Promise < Awaited < T > > ;
11644
11745 /**
118- * Creates a new resolved promise .
46+ * Creates a new resolved promise.
11947 * @returns A resolved promise.
12048 */
12149 resolve ( ) : Promise < void > ;
0 commit comments