@node-dlc/core
Version:
23 lines (22 loc) • 640 B
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
/**
* Serializes execution of events. This class is constructed with
* a delegate function that is executed for each item that is enqueued.
*/
export declare class AsyncProcessingQueue<T> extends EventEmitter {
private _fn;
private _queue;
private _flushHandle;
constructor(fn: (...args: T[]) => Promise<void>);
/**
* Adds a new item to the processing queue
*/
enqueue(value: T): void;
/**
* Gets the number of pending items in the processor queue
* @type {number}
*/
get size(): number;
private _flush;
}