porter-source
Version:
Messaging Library for Web Extensions
20 lines (19 loc) • 556 B
TypeScript
import { Message, BrowserLocation } from '../porter.model';
import { Logger } from '../porter.utils';
interface QueuedMessage {
message: Message<any>;
target?: BrowserLocation;
timestamp: number;
}
export declare class MessageQueue {
private queue;
private readonly logger;
private readonly maxQueueSize;
private readonly maxMessageAge;
constructor(logger: Logger);
enqueue(message: Message<any>, target?: BrowserLocation): void;
dequeue(): QueuedMessage[];
isEmpty(): boolean;
private cleanup;
}
export {};