UNPKG

@worker-tools/extendable-promise

Version:

A promise that can be delayed (extended) via repeated calls to waitUntil.

21 lines (20 loc) 1.1 kB
export declare class ExtendablePromise<T = unknown> implements Promise<PromiseSettledResult<T>[]> { #private; constructor(f?: T | PromiseLike<T>); waitUntil(f?: T | PromiseLike<T>): void; /** @deprecated Name of this property might change */ get settled(): boolean; then<TResult1 = PromiseSettledResult<T>[], TResult2 = never>(onfulfilled?: ((value: PromiseSettledResult<T>[]) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>; catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<PromiseSettledResult<T>[] | TResult>; finally(onfinally?: (() => void) | null): Promise<PromiseSettledResult<T>[]>; readonly [Symbol.toStringTag] = "ExtendablePromise"; } export interface PromiseFulfilledResult<T> { status: "fulfilled"; value: T; } export interface PromiseRejectedResult { status: "rejected"; reason: any; } export declare type PromiseSettledResult<T> = PromiseFulfilledResult<T> | PromiseRejectedResult;