@@ -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 ] > ;
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 ] > ;
3030
3131 /**
3232 * Creates a Promise that is resolved with an array of results when all of the provided Promises
3333 * resolve, or rejected when any Promise is rejected.
3434 * @param values An array of Promises.
3535 * @returns A new Promise.
3636 */
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 ] > ;
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 ] > ;
3838
3939 /**
4040 * Creates a Promise that is resolved with an array of results when all of the provided Promises
4141 * resolve, or rejected when any Promise is rejected.
4242 * @param values An array of Promises.
4343 * @returns A new Promise.
4444 */
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 ] > ;
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 ] > ;
4646
4747 /**
4848 * Creates a Promise that is resolved with an array of results when all of the provided Promises
4949 * resolve, or rejected when any Promise is rejected.
5050 * @param values An array of Promises.
5151 * @returns A new Promise.
5252 */
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 ] > ;
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 ] > ;
5454
5555 /**
5656 * Creates a Promise that is resolved with an array of results when all of the provided Promises
5757 * resolve, or rejected when any Promise is rejected.
5858 * @param values An array of Promises.
5959 * @returns A new Promise.
6060 */
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 ] > ;
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 ] > ;
6262
6363 /**
6464 * Creates a Promise that is resolved with an array of results when all of the provided Promises
6565 * resolve, or rejected when any Promise is rejected.
6666 * @param values An array of Promises.
6767 * @returns A new Promise.
6868 */
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 ] > ;
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 ] > ;
7070
7171 /**
7272 * Creates a Promise that is resolved with an array of results when all of the provided Promises
7373 * resolve, or rejected when any Promise is rejected.
7474 * @param values An array of Promises.
7575 * @returns A new Promise.
7676 */
77- all < T1 , T2 , T3 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ awaited T1 , awaited T2 , awaited T3 ] > ;
77+ all < T1 , T2 , T3 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ T1 , T2 , T3 ] > ;
7878
7979 /**
8080 * Creates a Promise that is resolved with an array of results when all of the provided Promises
8181 * resolve, or rejected when any Promise is rejected.
8282 * @param values An array of Promises.
8383 * @returns A new Promise.
8484 */
85- all < T1 , T2 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ awaited T1 , awaited T2 ] > ;
85+ all < T1 , T2 > ( values : readonly [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ T1 , T2 ] > ;
8686
8787 /**
8888 * Creates a Promise that is resolved with an array of results when all of the provided Promises
8989 * resolve, or rejected when any Promise is rejected.
9090 * @param values An array of Promises.
9191 * @returns A new Promise.
9292 */
93- all < T extends readonly unknown [ ] | [ ] > ( values : T ) : Promise < { - readonly [ P in keyof T ] : awaited T [ P ] } > ;
94-
95- /**
96- * Creates a Promise that is resolved with an array of results when all of the provided Promises
97- * resolve, or rejected when any Promise is rejected.
98- * @param values An array of Promises.
99- * @returns A new Promise.
100- */
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