ravendb
Version:
RavenDB client for Node.js
34 lines • 1.21 kB
TypeScript
export interface IDefer<TResult> {
resolve: (value: TResult) => void;
reject: (error: any) => void;
isFulfilled: boolean;
promise: Promise<TResult>;
}
export declare function raceToResolution<TResult>(promises: Promise<TResult>[], onErrorCallback?: (err: any) => void): Promise<TResult>;
export declare function defer<T>(): IDefer<T>;
export declare function delay(ms: number): Promise<unknown>;
export declare function wrapWithTimeout<T>(promise: Promise<T>, ms: number): Promise<T>;
export declare class AsyncTimeout {
get promise(): Promise<void>;
get timedOut(): boolean;
private _timedOut;
private _timer;
private _promise;
private _op;
private _resolve;
private _reject;
constructor(ms: number, op?: string);
private _getTimeoutError;
cancel(): void;
}
export type PromiseStatus = "PENDING" | "RESOLVED" | "REJECTED";
export declare class PromiseStatusTracker<T> {
private _status;
private _promise;
constructor(promise: Promise<T>);
static track<T>(promise: Promise<T>): PromiseStatusTracker<T>;
isFullfilled(): boolean;
isResolved(): boolean;
isRejected(): boolean;
}
//# sourceMappingURL=PromiseUtil.d.ts.map