forked from microsoft/TypeScript
/
es2015.promise.d.ts
132 lines (115 loc) · 7.44 KB
/
es2015.promise.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
interface PromiseConstructor {
/**
* A reference to the prototype.
*/
readonly prototype: Promise<any>;
/**
* Creates a new Promise.
* @param executor A callback used to initialize the promise. This callback is passed two arguments:
* a resolve callback used to resolve the promise with a value or the result of another promise,
* and a reject callback used to reject the promise with a provided reason or error.
*/
new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4, T5 extends PromiseLike<infer U5> ? U5 : T5, T6 extends PromiseLike<infer U6> ? U6 : T6, T7 extends PromiseLike<infer U7> ? U7 : T7, T8 extends PromiseLike<infer U8> ? U8 : T8, T9 extends PromiseLike<infer U9> ? U9 : T9, T10 extends PromiseLike<infer U10> ? U10 : T10]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4, T5, T6, T7, T8, T9>(values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4, T5 extends PromiseLike<infer U5> ? U5 : T5, T6 extends PromiseLike<infer U6> ? U6 : T6, T7 extends PromiseLike<infer U7> ? U7 : T7, T8 extends PromiseLike<infer U8> ? U8 : T8, T9 extends PromiseLike<infer U9> ? U9 : T9]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4, T5, T6, T7, T8>(values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4, T5 extends PromiseLike<infer U5> ? U5 : T5, T6 extends PromiseLike<infer U6> ? U6 : T6, T7 extends PromiseLike<infer U7> ? U7 : T7, T8 extends PromiseLike<infer U8> ? U8 : T8]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4, T5, T6, T7>(values: [T1, T2, T3, T4, T5, T6, T7]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4, T5 extends PromiseLike<infer U5> ? U5 : T5, T6 extends PromiseLike<infer U6> ? U6 : T6, T7 extends PromiseLike<infer U7> ? U7 : T7]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4, T5, T6>(values: [T1, T2, T3, T4, T5, T6]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4, T5 extends PromiseLike<infer U5> ? U5 : T5, T6 extends PromiseLike<infer U6> ? U6 : T6]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4, T5>(values: [T1, T2, T3, T4, T5]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4, T5 extends PromiseLike<infer U5> ? U5 : T5]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3, T4>(values: [T1, T2, T3, T4]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3, T4 extends PromiseLike<infer U4> ? U4 : T4]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2, T3>(values: [T1, T2, T3]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2, T3 extends PromiseLike<infer U3> ? U3 : T3]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T1, T2>(values: [T1, T2]): Promise<[T1 extends PromiseLike<infer U1> ? U1 : T1, T2 extends PromiseLike<infer U2> ? U2 : T2]>;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises
* resolve, or rejected when any Promise is rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
all<T>(values: T[]): Promise<(T extends PromiseLike<infer U> ? U : T)[]>;
/**
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
* or rejected.
* @param values An array of Promises.
* @returns A new Promise.
*/
race<T>(values: T[]): Promise<T extends PromiseLike<infer U> ? U : T>;
/**
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
* or rejected.
* @param values An iterable of Promises.
* @returns A new Promise.
*/
race<T>(values: Iterable<T>): Promise<T extends PromiseLike<infer U> ? U : T>;
/**
* Creates a new rejected promise for the provided reason.
* @param reason The reason the promise was rejected.
* @returns A new rejected Promise.
*/
reject<T = never>(reason?: any): Promise<T>;
/**
* Creates a new resolved promise for the provided value.
* @param value A promise.
* @returns A promise whose internal state matches the provided promise.
*/
resolve<T>(value: T): Promise<T extends PromiseLike<infer U> ? U : T>;
/**
* Creates a new resolved promise .
* @returns A resolved promise.
*/
resolve(): Promise<void>;
}
declare var Promise: PromiseConstructor;