@shockpkg/dir-projector
Version:
Package for creating Shockwave Director projectors
47 lines (46 loc) • 931 B
TypeScript
/**
* A simple queue with optional priority.
*/
export declare class Queue {
/**
* Queue data.
*/
private _queue_;
/**
* Queue constructor.
*/
constructor();
/**
* Get size of queue.
*
* @returns Total callbacks in queue.
*/
get size(): number;
/**
* Clear queue.
*/
clear(): void;
/**
* Enqueue callback.
*
* @param handler Callback function.
* @param priority Callback priority.
*/
push(handler: () => Promise<unknown>, priority?: number): void;
/**
* Pop callback off queue.
*
* @returns Callback function or null if empty.
*/
pop(): (() => Promise<unknown>) | null;
/**
* Shift callback off queue.
*
* @returns Callback function or null if empty.
*/
shift(): (() => Promise<unknown>) | null;
/**
* Run queue.
*/
run(): Promise<void>;
}