harperdb
Version:
HarperDB is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.
20 lines (19 loc) • 752 B
TypeScript
import { EventEmitter } from 'events';
export declare class IterableEventQueue<Event extends object = any> extends EventEmitter {
resolveNext: null | ((args: {
value: Event;
}) => void);
queue: any[];
hasDataListeners: boolean;
drainCloseListener: boolean;
currentDrainResolver: null | ((draining: boolean) => void);
[Symbol.asyncIterator](): AsyncIterator<Event>;
push(message: Event): void;
send(message: Event): void;
getNextMessage(): any;
/**
* Wait for the queue to be drained, resolving to true to continue or false if the queue was closed before draining.
*/
waitForDrain(): Promise<boolean>;
on(eventName: 'data' | string, listener: ((data: Event) => void) | any): this;
}