@ceramicnetwork/core
Version:
Typescript implementation of the Ceramic protocol
20 lines • 730 B
TypeScript
export declare const noop: () => void;
export declare type Task<TaskResultType> = () => Promise<TaskResultType>;
export interface TaskQueueLike {
add(task: Task<void>, onFinally?: () => void | Promise<void>): void;
run<T>(task: Task<T>): Promise<T>;
}
export declare class TaskQueue implements TaskQueueLike {
#private;
private readonly onError;
constructor(concurrency?: number, onError?: (error: Error, retry: () => void) => void);
get size(): number;
get concurrency(): number;
add(task: any, onFinally?: any): void;
run<T>(task: Task<T>): Promise<T>;
onIdle(): Promise<void>;
onEmpty(): Promise<void>;
clear(): void;
pause(): void;
}
//# sourceMappingURL=task-queue.d.ts.map