yqueue
Version:
Yet another concurrent task queue
25 lines (24 loc) • 761 B
TypeScript
import { EnqueueOptions, Task } from './y-queue';
export interface YBatchOptions {
concurrency?: number;
maxQueueLength?: number;
}
export declare class YBatchErrors extends Error {
readonly errors: unknown[];
constructor(errors: unknown[]);
toString(): string;
}
export declare class YBatch {
readonly options: YBatchOptions;
static isYBatchError(e: unknown): e is YBatchErrors;
readonly maxQueueLength: number;
private readonly queue;
private readonly errors;
private failFastWaits;
private allSettledWaits;
private running;
constructor(options: YBatchOptions);
add(fn: Task<void>, options?: Partial<EnqueueOptions>): Promise<void>;
failFast(): Promise<void>;
allSettled(): Promise<void>;
}