@@ -30,167 +30,167 @@ interface PromiseConstructor {
3030 * a resolve callback used to resolve the promise with a value or the result of another promise,
3131 * and a reject callback used to reject the promise with a provided reason or error.
3232 */
33- new < T > ( executor : ( resolve : ( value ?: T | PromiseLike < T > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
33+ new < T > ( executor : ( resolve : ( value ?: T ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < ResolveType < T > > ;
3434
3535 /**
3636 * Creates a Promise that is resolved with an array of results when all of the provided Promises
3737 * resolve, or rejected when any Promise is rejected.
3838 * @param values An array of Promises.
3939 * @returns A new Promise.
4040 */
41- all < 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 ] > ;
41+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < T5 > , ResolveType < T6 > , ResolveType < T7 > , ResolveType < T8 > , ResolveType < T9 > , ResolveType < T10 > ] > ;
4242
4343 /**
4444 * Creates a Promise that is resolved with an array of results when all of the provided Promises
4545 * resolve, or rejected when any Promise is rejected.
4646 * @param values An array of Promises.
4747 * @returns A new Promise.
4848 */
49- all < 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 ] > ;
49+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < T5 > , ResolveType < T6 > , ResolveType < T7 > , ResolveType < T8 > , ResolveType < T9 > ] > ;
5050
5151 /**
5252 * Creates a Promise that is resolved with an array of results when all of the provided Promises
5353 * resolve, or rejected when any Promise is rejected.
5454 * @param values An array of Promises.
5555 * @returns A new Promise.
5656 */
57- all < 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 ] > ;
57+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < T5 > , ResolveType < T6 > , ResolveType < T7 > , ResolveType < T8 > ] > ;
5858
5959 /**
6060 * Creates a Promise that is resolved with an array of results when all of the provided Promises
6161 * resolve, or rejected when any Promise is rejected.
6262 * @param values An array of Promises.
6363 * @returns A new Promise.
6464 */
65- all < 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 ] > ;
65+ all < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < T5 > , ResolveType < T6 > , ResolveType < T7 > ] > ;
6666
6767 /**
6868 * Creates a Promise that is resolved with an array of results when all of the provided Promises
6969 * resolve, or rejected when any Promise is rejected.
7070 * @param values An array of Promises.
7171 * @returns A new Promise.
7272 */
73- all < 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 ] > ;
73+ all < T1 , T2 , T3 , T4 , T5 , T6 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < T5 > , ResolveType < T6 > ] > ;
7474
7575 /**
7676 * Creates a Promise that is resolved with an array of results when all of the provided Promises
7777 * resolve, or rejected when any Promise is rejected.
7878 * @param values An array of Promises.
7979 * @returns A new Promise.
8080 */
81- all < 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 ] > ;
81+ all < T1 , T2 , T3 , T4 , T5 > ( values : [ T1 , T2 , T3 , T4 , T5 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < T5 > ] > ;
8282
8383 /**
8484 * Creates a Promise that is resolved with an array of results when all of the provided Promises
8585 * resolve, or rejected when any Promise is rejected.
8686 * @param values An array of Promises.
8787 * @returns A new Promise.
8888 */
89- all < T1 , T2 , T3 , T4 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < [ T1 , T2 , T3 , T4 ] > ;
89+ all < T1 , T2 , T3 , T4 > ( values : [ T1 , T2 , T3 , T4 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > ] > ;
9090
9191 /**
9292 * Creates a Promise that is resolved with an array of results when all of the provided Promises
9393 * resolve, or rejected when any Promise is rejected.
9494 * @param values An array of Promises.
9595 * @returns A new Promise.
9696 */
97- all < T1 , T2 , T3 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ T1 , T2 , T3 ] > ;
97+ all < T1 , T2 , T3 > ( values : [ T1 , T2 , T3 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > ] > ;
9898
9999 /**
100100 * Creates a Promise that is resolved with an array of results when all of the provided Promises
101101 * resolve, or rejected when any Promise is rejected.
102102 * @param values An array of Promises.
103103 * @returns A new Promise.
104104 */
105- all < T1 , T2 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ T1 , T2 ] > ;
105+ all < T1 , T2 > ( values : [ T1 , T2 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > ] > ;
106106
107107 /**
108108 * Creates a Promise that is resolved with an array of results when all of the provided Promises
109109 * resolve, or rejected when any Promise is rejected.
110110 * @param values An array of Promises.
111111 * @returns A new Promise.
112112 */
113- all < T > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T [ ] > ;
113+ all < T > ( values : ReadonlyArray < T > ) : Promise < ResolveType < T > [ ] > ;
114114
115115 /**
116116 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
117117 * or rejected.
118118 * @param values An array of Promises.
119119 * @returns A new Promise.
120120 */
121- 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 > ;
121+ race < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10 > > ;
122122
123123 /**
124124 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
125125 * or rejected.
126126 * @param values An array of Promises.
127127 * @returns A new Promise.
128128 */
129- 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 > ;
129+ race < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 > > ;
130130
131131 /**
132132 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
133133 * or rejected.
134134 * @param values An array of Promises.
135135 * @returns A new Promise.
136136 */
137- 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 > ;
137+ race < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 > > ;
138138
139139 /**
140140 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
141141 * or rejected.
142142 * @param values An array of Promises.
143143 * @returns A new Promise.
144144 */
145- 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 > ;
145+ race < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 | T6 | T7 > > ;
146146
147147 /**
148148 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
149149 * or rejected.
150150 * @param values An array of Promises.
151151 * @returns A new Promise.
152152 */
153- 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 > ;
153+ race < T1 , T2 , T3 , T4 , T5 , T6 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 | T6 > > ;
154154
155155 /**
156156 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
157157 * or rejected.
158158 * @param values An array of Promises.
159159 * @returns A new Promise.
160160 */
161- 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 > ;
161+ race < T1 , T2 , T3 , T4 , T5 > ( values : [ T1 , T2 , T3 , T4 , T5 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 > > ;
162162
163163 /**
164164 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
165165 * or rejected.
166166 * @param values An array of Promises.
167167 * @returns A new Promise.
168168 */
169- race < T1 , T2 , T3 , T4 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < T1 | T2 | T3 | T4 > ;
169+ race < T1 , T2 , T3 , T4 > ( values : [ T1 , T2 , T3 , T4 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 > > ;
170170
171171 /**
172172 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
173173 * or rejected.
174174 * @param values An array of Promises.
175175 * @returns A new Promise.
176176 */
177- race < T1 , T2 , T3 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < T1 | T2 | T3 > ;
177+ race < T1 , T2 , T3 > ( values : [ T1 , T2 , T3 ] ) : Promise < ResolveType < T1 | T2 | T3 > > ;
178178
179179 /**
180180 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
181181 * or rejected.
182182 * @param values An array of Promises.
183183 * @returns A new Promise.
184184 */
185- race < T1 , T2 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < T1 | T2 > ;
185+ race < T1 , T2 > ( values : [ T1 , T2 ] ) : Promise < ResolveType < T1 | T2 > > ;
186186
187187 /**
188188 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
189189 * or rejected.
190190 * @param values An array of Promises.
191191 * @returns A new Promise.
192192 */
193- race < T > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T > ;
193+ race < T > ( values : ReadonlyArray < T > ) : Promise < ResolveType < T > > ;
194194
195195 /**
196196 * Creates a new rejected promise for the provided reason.
@@ -204,7 +204,7 @@ interface PromiseConstructor {
204204 * @param value A promise.
205205 * @returns A promise whose internal state matches the provided promise.
206206 */
207- resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
207+ resolve < T > ( value : T ) : Promise < ResolveType < T > > ;
208208
209209 /**
210210 * Creates a new resolved promise .
0 commit comments