UNPKG

@akala/core

Version:
35 lines (34 loc) 1.2 kB
/** * A generic queue class for processing messages with handler functions * @template T - Type of messages stored in the queue */ export declare class Queue<T> { private handler; protected pending: T[]; /** * Creates a Queue instance * @param handler - The function to handle queue messages. Receives message and next callback. * @param queue - Optional initial array of messages (default empty array) */ constructor(handler: (message: T, next: (processed: boolean) => void) => void, queue?: T[]); /** * Adds a message to the queue and triggers processing * @param message - The message to add to the queue */ enqueue(message: T): void; /** * Placeholder method for queue persistence (to be implemented) * @param _throw - If true, throws error to indicate not implemented * @throws {Error} When _throw is true */ save(_throw?: boolean): void; /** @private Flag indicating if queue is currently processing */ private processing; /** @private Currently processed message */ private current; /** * Starts processing messages in the queue * @private */ process(): boolean; }