You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					245 lines
				
				12 KiB
			
		
		
			
		
	
	
					245 lines
				
				12 KiB
			| 
											2 years ago
										 | // Type definitions for lie 3.2
 | ||
|  | // Project: https://github.com/calvinmetcalf/lie#readme
 | ||
|  | // Definitions by: Andre Wiggins <https://github.com/andrewiggins>
 | ||
|  | // TypeScript Version: 2.3
 | ||
|  | 
 | ||
|  | // These types are copied from TypeScript's built-in Promise types
 | ||
|  | // and extended with extra Lie utilities namely, finally.
 | ||
|  | 
 | ||
|  | export as namespace Promise; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Represents the completion of an asynchronous operation | ||
|  |  */ | ||
|  | interface Promise<T> { | ||
|  |     /** | ||
|  |      * Attaches callbacks for the resolution and/or rejection of the Promise. | ||
|  |      * @param onfulfilled The callback to execute when the Promise is resolved. | ||
|  |      * @param onrejected The callback to execute when the Promise is rejected. | ||
|  |      * @returns A Promise for the completion of which ever callback is executed. | ||
|  |      */ | ||
|  |     then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Attaches a callback for only the rejection of the Promise. | ||
|  |      * @param onrejected The callback to execute when the Promise is rejected. | ||
|  |      * @returns A Promise for the completion of the callback. | ||
|  |      */ | ||
|  |     catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * When the promise is settled, whether fulfilled or rejected, execute the | ||
|  |      * specified callback function. This provides a way for code that must be | ||
|  |      * executed once the Promise has been dealt with to be run whether the promise | ||
|  |      * was fulfilled successfully or rejected. | ||
|  |      * @param onfinally Function called when the Promise is settled | ||
|  |      * @returns A Promise whose finally handler is set to the specified function, onfinally. | ||
|  |      */ | ||
|  |     finally<TResult = never>(onfinally?: (() => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>; | ||
|  | } | ||
|  | 
 | ||
|  | 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 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 | 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]>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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 | 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]>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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 | 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]>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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 | 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]>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>, T6 | PromiseLike<T6>]): Promise<[T1, T2, T3, T4, T5, 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 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>, T5 | PromiseLike<T5>]): Promise<[T1, T2, T3, T4, 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 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>]): Promise<[T1, T2, T3, 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 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>]): Promise<[T1, T2, 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 | PromiseLike<T1>, T2 | PromiseLike<T2>]): Promise<[T1, 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 | PromiseLike<T>)[]): Promise<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<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>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<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>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<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>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<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>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<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>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<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>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<T1, T2, T3, T4>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>, T4 | PromiseLike<T4>]): Promise<T1 | T2 | T3 | T4>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<T1, T2, T3>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>, T3 | PromiseLike<T3>]): Promise<T1 | T2 | T3>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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<T1, T2>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>]): Promise<T1 | T2>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 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 | PromiseLike<T>)[]): Promise<T>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Creates a new rejected promise for the provided reason. | ||
|  |      * @param reason The reason the promise was rejected. | ||
|  |      * @returns A new rejected Promise. | ||
|  |      */ | ||
|  |     reject(reason: any): Promise<never>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Creates a new rejected promise for the provided reason. | ||
|  |      * @param reason The reason the promise was rejected. | ||
|  |      * @returns A new rejected Promise. | ||
|  |      */ | ||
|  |     reject<T>(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 | PromiseLike<T>): Promise<T>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Creates a new resolved promise . | ||
|  |      * @returns A resolved promise. | ||
|  |      */ | ||
|  |     resolve(): Promise<void>; | ||
|  | } | ||
|  | 
 | ||
|  | declare const Promise: PromiseConstructor; | ||
|  | export default Promise; |