mirror of
https://github.com/denoland/deno.git
synced 2024-11-27 16:10:57 -05:00
54 lines
2.5 KiB
TypeScript
54 lines
2.5 KiB
TypeScript
/*! *****************************************************************************
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
this file except in compliance with the License. You may obtain a copy of the
|
|
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
and limitations under the License.
|
|
***************************************************************************** */
|
|
|
|
|
|
/// <reference no-default-lib="true"/>
|
|
|
|
interface AggregateError extends Error {
|
|
errors: any[];
|
|
}
|
|
|
|
interface AggregateErrorConstructor {
|
|
new (errors: Iterable<any>, message?: string): AggregateError;
|
|
(errors: Iterable<any>, message?: string): AggregateError;
|
|
readonly prototype: AggregateError;
|
|
}
|
|
|
|
declare var AggregateError: AggregateErrorConstructor;
|
|
|
|
/**
|
|
* Represents the completion of an asynchronous operation
|
|
*/
|
|
interface PromiseConstructor {
|
|
/**
|
|
* The any function returns a promise that is fulfilled by the first given promise to be fulfilled, or rejected with an AggregateError containing an array of rejection reasons if all of the given promises are rejected. It resolves all elements of the passed iterable to promises as it runs this algorithm.
|
|
* @param values An array or iterable of Promises.
|
|
* @returns A new Promise.
|
|
*/
|
|
any<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
|
|
|
|
/**
|
|
* The any function returns a promise that is fulfilled by the first given promise to be fulfilled, or rejected with an AggregateError containing an array of rejection reasons if all of the given promises are rejected. It resolves all elements of the passed iterable to promises as it runs this algorithm.
|
|
* @param values An array or iterable of Promises.
|
|
* @returns A new Promise.
|
|
*/
|
|
any<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
|
|
|
|
/**
|
|
* Creates a Promise that can be resolved or rejected using provided functions.
|
|
* @returns An object containing `promise` promise object, `resolve` and `reject` functions.
|
|
*/
|
|
withResolvers<T>(): { promise: Promise<T>, resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void };
|
|
}
|