demeine
Version:
DDDD - Distributed Domain Driven Design
16 lines (15 loc) • 521 B
TypeScript
/// <reference types="node" />
import EventEmitter from 'events';
import PQueue from 'p-queue';
declare type Task<TaskResultType> = (() => PromiseLike<TaskResultType>) | (() => TaskResultType);
export interface QueueOptions {
concurrency?: number;
}
export declare class Queue extends EventEmitter {
_queue: PQueue;
constructor(options?: QueueOptions);
queueCommand<Result = unknown>(fn: Task<Result>): Promise<Result>;
isProcessing(): boolean;
empty(): Promise<void>;
}
export {};