lib.es2020.promise.d.ts (1803B)
1 /*! ***************************************************************************** 2 Copyright (c) Microsoft Corporation. All rights reserved. 3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 this file except in compliance with the License. You may obtain a copy of the 5 License at http://www.apache.org/licenses/LICENSE-2.0 6 7 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 8 KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 9 WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 10 MERCHANTABLITY OR NON-INFRINGEMENT. 11 12 See the Apache Version 2.0 License for specific language governing permissions 13 and limitations under the License. 14 ***************************************************************************** */ 15 16 17 /// <reference no-default-lib="true"/> 18 19 interface PromiseFulfilledResult<T> { 20 status: "fulfilled"; 21 value: T; 22 } 23 24 interface PromiseRejectedResult { 25 status: "rejected"; 26 reason: any; 27 } 28 29 type PromiseSettledResult<T> = PromiseFulfilledResult<T> | PromiseRejectedResult; 30 31 interface PromiseConstructor { 32 /** 33 * Creates a Promise that is resolved with an array of results when all 34 * of the provided Promises resolve or reject. 35 * @param values An array of Promises. 36 * @returns A new Promise. 37 */ 38 allSettled<T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>>; }>; 39 40 /** 41 * Creates a Promise that is resolved with an array of results when all 42 * of the provided Promises resolve or reject. 43 * @param values An array of Promises. 44 * @returns A new Promise. 45 */ 46 allSettled<T>(values: Iterable<T | PromiseLike<T>>): Promise<PromiseSettledResult<Awaited<T>>[]>; 47 }