porter-source
Version:
Messaging Library for Web Extensions
18 lines (17 loc) • 684 B
TypeScript
import { Runtime } from 'webextension-polyfill';
import { BrowserLocation, Message, MessageConfig } from '../porter.model';
import { Logger } from '../porter.utils';
export declare class AgentMessageHandler {
private readonly logger;
private readonly MAX_QUEUE_SIZE;
private readonly MESSAGE_TIMEOUT;
private messageQueue;
private handlers;
constructor(logger: Logger);
handleMessage(port: Runtime.Port, message: any): void;
onMessage(config: MessageConfig): void;
on(config: MessageConfig): void;
private processQueuedMessages;
private processMessage;
post(port: Runtime.Port, message: Message<any>, target?: BrowserLocation): void;
}