Files
node-pkg-express-utils/out/helpers/resolvable.d.ts
2020-11-24 12:37:59 +01:00

32 lines
1.1 KiB
TypeScript

declare enum ResolvableState {
WAITING = 0,
PENDING = 1,
ERROR = 2,
DONE = 3
}
declare class FetchOnce<T, U extends Array<unknown>> {
protected fetchMethod?: ((...args: U) => Promise<T>) | undefined;
protected data: T | undefined;
protected error: unknown | undefined;
protected state: ResolvableState;
protected pendings: [(res: Promise<T> | T) => void, (reason: unknown) => void][];
constructor(fetchMethod?: ((...args: U) => Promise<T>) | undefined);
reset(): void;
resolve(...args: U): Promise<T>;
getDataOrUndefined(): T | undefined;
getErrorOrUndefined(): unknown | undefined;
protected isFinished(): boolean;
protected parsePromise(promise: Promise<T>): void;
}
export declare class Resolvable<T, U extends Array<unknown>> extends FetchOnce<T, U> {
constructor(fetchMethod: (...args: U) => Promise<T>);
}
export declare class WaitForSync<T> extends FetchOnce<T, never> {
protected state: ResolvableState;
constructor();
setData(data: T): void;
setError(error: unknown): void;
reset(): void;
}
export {};