@pushrocks/smartpromise
Version:
simple promises and Deferred constructs
21 lines (20 loc) • 518 B
TypeScript
export interface IResolve<T> {
(value?: T | PromiseLike<T>): void;
}
export interface IReject {
(reason?: any): void;
}
export type TDeferredStatus = 'pending' | 'fulfilled' | 'rejected';
export declare class Deferred<T> {
promise: Promise<T>;
resolve: IResolve<T>;
reject: IReject;
status: TDeferredStatus;
claimed: boolean;
claim(): void;
startedAt: number;
stoppedAt: number;
get duration(): number;
constructor();
}
export declare const defer: <T>() => Deferred<T>;