UNPKG

core-queue

Version:

Simple, zero dependency promise-based queue.

36 lines (35 loc) 838 B
export interface Task { func: any; resolve: any; reject: any; } export declare enum State { running = 0, stopped = 1 } export interface CoreQueueOptions { maxTasks: number; maxConcurrency: number; autostart: boolean; } export declare class CoreQueue { private queue; private tasksInProgress; private options; private queueState; private internalWatcher; private internalWatcherResolve; constructor(options?: CoreQueueOptions); get size(): number; get pendingSize(): number; get inProgressSize(): number; get isEmpty(): boolean; get isFull(): boolean; get peek(): Task; start(): void; stop(): void; clear(): void; done(): Promise<void>; enqueue(func: () => any): Promise<any>; private dequeue; }