nerdbank-streams
Version:
Multiplexing of streams
40 lines (39 loc) • 1.09 kB
TypeScript
/**
* A TaskCompletionSource-like class that allows promises to be resolved or rejected whenever.
*/
export declare class Deferred<T> {
state?: any | undefined;
readonly promise: Promise<T>;
private resolvePromise;
private rejectPromise;
private _isResolved;
private _isRejected;
private _error;
constructor(state?: any | undefined);
/**
* Gets a value indicating whether this promise has been completed.
*/
get isCompleted(): boolean;
/**
* Gets a value indicating whether this promise is resolved.
*/
get isResolved(): boolean;
/**
* Gets a value indicating whether this promise is rejected.
*/
get isRejected(): boolean;
/**
* Gets the reason for promise rejection, if applicable.
*/
get error(): any;
/**
* Resolves the promise.
* @param value The result of the promise.
*/
resolve(value: T | PromiseLike<T>): boolean;
/**
* Rejects the promise.
* @param reason The reason for rejecting the promise.
*/
reject(reason?: any): boolean;
}