@@ -10,123 +10,115 @@ 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 > | awaited T ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
13+ new < T > ( executor : ( resolve : ( value ?: T | PromiseLike < T > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < 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 < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 , awaited T5 , awaited T6 , awaited T7 , awaited T8 , awaited T9 , awaited T10 ] > ;
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 ] > ;
2222
2323 /**
2424 * Creates a Promise that is resolved with an array of results when all of the provided Promises
2525 * resolve, or rejected when any Promise is rejected.
2626 * @param values An array of Promises.
2727 * @returns A new Promise.
2828 */
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 < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 , awaited T5 , awaited T6 , awaited T7 , awaited T8 , awaited 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 < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 , awaited T5 , awaited T6 , awaited T7 , awaited T8 ] > ;
38-
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+
3931 /**
4032 * Creates a Promise that is resolved with an array of results when all of the provided Promises
4133 * resolve, or rejected when any Promise is rejected.
4234 * @param values An array of Promises.
4335 * @returns A new Promise.
4436 */
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 < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 , awaited T5 , awaited T6 , awaited T7 ] > ;
46-
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+
4739 /**
4840 * Creates a Promise that is resolved with an array of results when all of the provided Promises
4941 * resolve, or rejected when any Promise is rejected.
5042 * @param values An array of Promises.
5143 * @returns A new Promise.
5244 */
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 < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 , awaited T5 , awaited T6 ] > ;
54-
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+
5547 /**
5648 * Creates a Promise that is resolved with an array of results when all of the provided Promises
5749 * resolve, or rejected when any Promise is rejected.
5850 * @param values An array of Promises.
5951 * @returns A new Promise.
6052 */
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 < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 , awaited T5 ] > ;
62-
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+
6355 /**
6456 * Creates a Promise that is resolved with an array of results when all of the provided Promises
6557 * resolve, or rejected when any Promise is rejected.
6658 * @param values An array of Promises.
6759 * @returns A new Promise.
6860 */
69- all < T1 , T2 , T3 , T4 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < [ awaited T1 , awaited T2 , awaited T3 , awaited T4 ] > ;
70-
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+
7163 /**
7264 * Creates a Promise that is resolved with an array of results when all of the provided Promises
7365 * resolve, or rejected when any Promise is rejected.
7466 * @param values An array of Promises.
7567 * @returns A new Promise.
7668 */
77- all < T1 , T2 , T3 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ awaited T1 , awaited T2 , awaited T3 ] > ;
78-
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+
7971 /**
8072 * Creates a Promise that is resolved with an array of results when all of the provided Promises
8173 * resolve, or rejected when any Promise is rejected.
8274 * @param values An array of Promises.
8375 * @returns A new Promise.
8476 */
85- all < T1 , T2 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ awaited T1 , awaited T2 ] > ;
77+ all < T1 , T2 , T3 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ T1 , T2 , T3 ] > ;
8678
8779 /**
8880 * Creates a Promise that is resolved with an array of results when all of the provided Promises
8981 * resolve, or rejected when any Promise is rejected.
9082 * @param values An array of Promises.
9183 * @returns A new Promise.
9284 */
93- all < T extends readonly unknown [ ] | [ ] > ( values : T ) : Promise < { - readonly [ P in keyof T ] : awaited T [ P ] } > ;
85+ all < T1 , T2 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ T1 , T2 ] > ;
9486
9587 /**
9688 * Creates a Promise that is resolved with an array of results when all of the provided Promises
9789 * resolve, or rejected when any Promise is rejected.
9890 * @param values An array of Promises.
9991 * @returns A new Promise.
10092 */
101- all < T > ( values : readonly ( T | PromiseLike < T > ) [ ] ) : Promise < ( awaited T ) [ ] > ;
93+ all < T > ( values : readonly ( T | PromiseLike < T > ) [ ] ) : Promise < T [ ] > ;
10294
10395 // see: lib.es2015.iterable.d.ts
104- // all<T>(values: Iterable<T | PromiseLike<T>>): Promise<(awaited T) []>;
96+ // all<T>(values: Iterable<T | PromiseLike<T>>): Promise<T []>;
10597
10698 /**
10799 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
108100 * or rejected.
109101 * @param values An array of Promises.
110102 * @returns A new Promise.
111103 */
112- race < T > ( values : readonly ( T | PromiseLike < T > ) [ ] ) : Promise < awaited T > ;
104+ race < T > ( values : readonly T [ ] ) : Promise < T extends PromiseLike < infer U > ? U : T > ;
113105
114106 // see: lib.es2015.iterable.d.ts
115- // race<T>(values: Iterable<T | PromiseLike<T>> ): Promise<awaited T>;
107+ // race<T>(values: Iterable<T> ): Promise<T extends PromiseLike<infer U> ? U : T>;
116108
117109 /**
118110 * Creates a new rejected promise for the provided reason.
119111 * @param reason The reason the promise was rejected.
120112 * @returns A new rejected Promise.
121113 */
122- reject < T = never > ( reason ?: any ) : Promise < awaited T > ;
114+ reject < T = never > ( reason ?: any ) : Promise < T > ;
123115
124116 /**
125117 * Creates a new resolved promise for the provided value.
126118 * @param value A promise.
127119 * @returns A promise whose internal state matches the provided promise.
128120 */
129- resolve < T > ( value : T | PromiseLike < T > ) : Promise < awaited T > ;
121+ resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
130122
131123 /**
132124 * Creates a new resolved promise .
0 commit comments