Skip to content

Commit aac5b7c

Browse files
committed
Add variadic tuple overload to Promise.all
1 parent 1f1521c commit aac5b7c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/lib/es2015.promise.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
type Awaited<T> = T extends PromiseLike<infer U> ? U : T;
2+
13
interface PromiseConstructor {
24
/**
35
* A reference to the prototype.
@@ -12,6 +14,13 @@ interface PromiseConstructor {
1214
*/
1315
new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
1416

17+
/**
18+
* Creates a Promise that is resolved with an array of results when all of the provided Promises
19+
* resolve, or rejected when any Promise is rejected.
20+
* @param values An array of Promises.
21+
* @returns A new Promise.
22+
*/
23+
all<T extends unknown[]>(values: readonly [...T]): Promise<{ [P in keyof T]: Awaited<T[P]> }>;
1524
/**
1625
* Creates a Promise that is resolved with an array of results when all of the provided Promises
1726
* resolve, or rejected when any Promise is rejected.

0 commit comments

Comments
 (0)