@@ -98,79 +98,15 @@ interface PromiseConstructor {
98
98
* @param values An array of Promises.
99
99
* @returns A new Promise.
100
100
*/
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 > ;
102
102
103
103
/**
104
104
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
105
105
* 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.
171
107
* @returns A new Promise.
172
108
*/
173
- race < T > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T > ;
109
+ race < T > ( values : Iterable < T > ) : Promise < T extends PromiseLike < infer U > ? U : T > ;
174
110
175
111
/**
176
112
* Creates a new rejected promise for the provided reason.
0 commit comments