@@ -98,79 +98,15 @@ interface PromiseConstructor {
9898 * @param values An array of Promises.
9999 * @returns A new Promise.
100100 */
101- race < 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 > ;
101+ race < T > ( values : T [ ] ) : Promise < T extends PromiseLike < infer U > ? U : T > ;
102102
103103 /**
104104 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
105105 * or rejected.
106- * @param values An array of Promises.
107- * @returns A new Promise.
108- */
109- race < 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 > ;
110-
111- /**
112- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
113- * or rejected.
114- * @param values An array of Promises.
115- * @returns A new Promise.
116- */
117- race < 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 > ;
118-
119- /**
120- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
121- * or rejected.
122- * @param values An array of Promises.
123- * @returns A new Promise.
124- */
125- race < 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 > ;
126-
127- /**
128- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
129- * or rejected.
130- * @param values An array of Promises.
131- * @returns A new Promise.
132- */
133- race < 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 > ;
134-
135- /**
136- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
137- * or rejected.
138- * @param values An array of Promises.
139- * @returns A new Promise.
140- */
141- race < 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 > ;
142-
143- /**
144- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
145- * or rejected.
146- * @param values An array of Promises.
147- * @returns A new Promise.
148- */
149- race < T1 , T2 , T3 , T4 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < T1 | T2 | T3 | T4 > ;
150-
151- /**
152- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
153- * or rejected.
154- * @param values An array of Promises.
155- * @returns A new Promise.
156- */
157- race < T1 , T2 , T3 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < T1 | T2 | T3 > ;
158-
159- /**
160- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
161- * or rejected.
162- * @param values An array of Promises.
163- * @returns A new Promise.
164- */
165- race < T1 , T2 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < T1 | T2 > ;
166-
167- /**
168- * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
169- * or rejected.
170- * @param values An array of Promises.
106+ * @param values An iterable of Promises.
171107 * @returns A new Promise.
172108 */
173- race < T > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T > ;
109+ race < T > ( values : Iterable < T > ) : Promise < T extends PromiseLike < infer U > ? U : T > ;
174110
175111 /**
176112 * Creates a new rejected promise for the provided reason.
0 commit comments