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
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.
12 See the Apache Version 2.0 License for specific language governing permissions
13 and limitations under the License.
14 ***************************************************************************** */
18 /// <reference no-default-lib="true"/>
\r
21 interface PromiseFulfilledResult<T> {
\r
22 status: "fulfilled";
\r
26 interface PromiseRejectedResult {
\r
31 type PromiseSettledResult<T> = PromiseFulfilledResult<T> | PromiseRejectedResult;
\r
33 interface PromiseConstructor {
\r
35 * Creates a Promise that is resolved with an array of results when all
\r
36 * of the provided Promises resolve or reject.
\r
37 * @param values An array of Promises.
\r
38 * @returns A new Promise.
\r
40 allSettled<T extends readonly unknown[] | readonly [unknown]>(values: T):
\r
41 Promise<{ -readonly [P in keyof T]: PromiseSettledResult<T[P] extends PromiseLike<infer U> ? U : T[P]> }>;
\r
44 * Creates a Promise that is resolved with an array of results when all
\r
45 * of the provided Promises resolve or reject.
\r
46 * @param values An array of Promises.
\r
47 * @returns A new Promise.
\r
49 allSettled<T>(values: Iterable<T>): Promise<PromiseSettledResult<T extends PromiseLike<infer U> ? U : T>[]>;
\r