This commit is contained in:
Sebastian Seedorf
2020-11-16 12:44:08 +01:00
parent 258be989ba
commit 7ad9cd1904
24 changed files with 678 additions and 0 deletions

27
out/helpers/resolvable.d.ts vendored Normal file
View File

@@ -0,0 +1,27 @@
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);
resolve(...args: U): Promise<T>;
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;
}
export {};