@opsimathically/deferred
Version:
Utility classes for working with the asynchronous deferral pattern.
28 lines (25 loc) • 754 B
TypeScript
declare class Deferred<T = any, E = string> {
promise: Promise<T>;
already_completed: boolean;
resolve_real: (value: T | PromiseLike<T>) => void;
reject_real: (reason?: E) => void;
private timeout;
private deferred_map_ref;
constructor(params?: {
deferred_map_ref: Map<any, any>;
autotimeout_ms?: number;
});
resolve(val: T): void;
reject(val: E): void;
}
declare class DeferredMap {
defer_sets: Map<any, any>;
default_resolve_value: number;
default_reject_value: number;
constructor();
get size(): number;
deferred(autotimeout_ms?: number): Deferred;
resolveAll(resolve_value?: any): void;
rejectAll(reject_value?: any): void;
}
export { Deferred, DeferredMap };