UNPKG

@pushrocks/smartpromise

Version:

simple promises and Deferred constructs

21 lines (20 loc) 518 B
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>;