32 lines
1.1 KiB
TypeScript
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 {};
|