@@ -10,167 +10,167 @@ 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 > ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < T > ;
13+ new < T > ( executor : ( resolve : ( value ?: T ) => void , reject : ( reason ?: any ) => void ) => void ) : Promise < ResolveType < 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 : [ 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 ] > ;
21+ 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 > ] > ;
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 : [ 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 ] > ;
29+ 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 > ] > ;
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 : [ 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 ] > ;
37+ 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 > ] > ;
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 : [ 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 ] > ;
45+ 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 > ] > ;
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 : [ 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 ] > ;
53+ 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 > ] > ;
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 : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > , T5 | PromiseLike < T5 > ] ) : Promise < [ T1 , T2 , T3 , T4 , T5 ] > ;
61+ all < T1 , T2 , T3 , T4 , T5 > ( values : [ T1 , T2 , T3 , T4 , T5 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < T4 > , ResolveType < 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 : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < [ T1 , T2 , T3 , T4 ] > ;
69+ all < T1 , T2 , T3 , T4 > ( values : [ T1 , T2 , T3 , T4 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < T3 > , ResolveType < 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 : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < [ T1 , T2 , T3 ] > ;
77+ all < T1 , T2 , T3 > ( values : [ T1 , T2 , T3 ] ) : Promise < [ ResolveType < T1 > , ResolveType < T2 > , ResolveType < 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 : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < [ T1 , T2 ] > ;
85+ all < T1 , T2 > ( values : [ T1 , T2 ] ) : Promise < [ ResolveType < T1 > , ResolveType < 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 > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T [ ] > ;
93+ all < T > ( values : ReadonlyArray < T > ) : Promise < ResolveType < T > [ ] > ;
9494
9595 /**
9696 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
9797 * or rejected.
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 < 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 > > ;
102102
103103 /**
104104 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
105105 * or rejected.
106106 * @param values An array of Promises.
107107 * @returns A new Promise.
108108 */
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 > ;
109+ 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 > > ;
110110
111111 /**
112112 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
113113 * or rejected.
114114 * @param values An array of Promises.
115115 * @returns A new Promise.
116116 */
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 > ;
117+ 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 > > ;
118118
119119 /**
120120 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
121121 * or rejected.
122122 * @param values An array of Promises.
123123 * @returns A new Promise.
124124 */
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 > ;
125+ 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 > > ;
126126
127127 /**
128128 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
129129 * or rejected.
130130 * @param values An array of Promises.
131131 * @returns A new Promise.
132132 */
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 > ;
133+ race < T1 , T2 , T3 , T4 , T5 , T6 > ( values : [ T1 , T2 , T3 , T4 , T5 , T6 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 | T6 > > ;
134134
135135 /**
136136 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
137137 * or rejected.
138138 * @param values An array of Promises.
139139 * @returns A new Promise.
140140 */
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 > ;
141+ race < T1 , T2 , T3 , T4 , T5 > ( values : [ T1 , T2 , T3 , T4 , T5 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 | T5 > > ;
142142
143143 /**
144144 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
145145 * or rejected.
146146 * @param values An array of Promises.
147147 * @returns A new Promise.
148148 */
149- race < T1 , T2 , T3 , T4 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > , T4 | PromiseLike < T4 > ] ) : Promise < T1 | T2 | T3 | T4 > ;
149+ race < T1 , T2 , T3 , T4 > ( values : [ T1 , T2 , T3 , T4 ] ) : Promise < ResolveType < T1 | T2 | T3 | T4 > > ;
150150
151151 /**
152152 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
153153 * or rejected.
154154 * @param values An array of Promises.
155155 * @returns A new Promise.
156156 */
157- race < T1 , T2 , T3 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > , T3 | PromiseLike < T3 > ] ) : Promise < T1 | T2 | T3 > ;
157+ race < T1 , T2 , T3 > ( values : [ T1 , T2 , T3 ] ) : Promise < ResolveType < T1 | T2 | T3 > > ;
158158
159159 /**
160160 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
161161 * or rejected.
162162 * @param values An array of Promises.
163163 * @returns A new Promise.
164164 */
165- race < T1 , T2 > ( values : [ T1 | PromiseLike < T1 > , T2 | PromiseLike < T2 > ] ) : Promise < T1 | T2 > ;
165+ race < T1 , T2 > ( values : [ T1 , T2 ] ) : Promise < ResolveType < T1 | T2 > > ;
166166
167167 /**
168168 * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
169169 * or rejected.
170170 * @param values An array of Promises.
171171 * @returns A new Promise.
172172 */
173- race < T > ( values : ( T | PromiseLike < T > ) [ ] ) : Promise < T > ;
173+ race < T > ( values : ReadonlyArray < T > ) : Promise < ResolveType < T > > ;
174174
175175 /**
176176 * Creates a new rejected promise for the provided reason.
@@ -184,7 +184,7 @@ interface PromiseConstructor {
184184 * @param value A promise.
185185 * @returns A promise whose internal state matches the provided promise.
186186 */
187- resolve < T > ( value : T | PromiseLike < T > ) : Promise < T > ;
187+ resolve < T > ( value : T ) : Promise < ResolveType < T > > ;
188188
189189 /**
190190 * Creates a new resolved promise .
0 commit comments