@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
15 lines (14 loc) • 658 B
TypeScript
/** Deferred object that represents promise with its resolve/reject methods */
export declare class Deferred<T> {
protected _status: 'pending' | 'resolved' | 'rejected';
protected _value: T | undefined;
protected _callbacks: [(arg: T) => void, (arg?: any) => void];
/** @returns promise based on {@link Deferred} state*/
get promise(): Promise<T>;
/** Resolves deferred promise */
resolve(arg: T): Deferred<T>;
/** Rejects deferred promise */
reject(arg?: any): Deferred<T>;
}
/** Creates Deferred Object that wraps promise and its resolve and reject callbacks */
export declare function createDeferred<T>(): Deferred<T>;