@akala/core
Version:
35 lines (34 loc) • 1.2 kB
TypeScript
/**
* 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;
}