lib.es2024.promise.d.ts (1389B)
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 PromiseWithResolvers<T> { 20 promise: Promise<T>; 21 resolve: (value: T | PromiseLike<T>) => void; 22 reject: (reason?: any) => void; 23 } 24 25 interface PromiseConstructor { 26 /** 27 * Creates a new Promise and returns it in an object, along with its resolve and reject functions. 28 * @returns An object with the properties `promise`, `resolve`, and `reject`. 29 * 30 * ```ts 31 * const { promise, resolve, reject } = Promise.withResolvers<T>(); 32 * ``` 33 */ 34 withResolvers<T>(): PromiseWithResolvers<T>; 35 }