@ticatec/iframe-message-bridge
Version:
A lightweight TypeScript library for reliable communication between parent window and multiple iframes using postMessage, supporting one-way messages, request-response patterns, broadcast messaging, timeout handling, and automatic resource cleanup.
19 lines (18 loc) • 716 B
TypeScript
export type EventHandler = (data: any, sourceWindow: Window, sourceOrigin: string) => any;
export type BroadcastHandler = (data: any) => void;
export declare class MessageBridgeManager {
private handlers;
private broadcastHandlers;
private readonly boundHandleMessage;
constructor();
private handleMessage;
on(eventName: string, handler: EventHandler): void;
onBroadcast(eventName: string, handler: BroadcastHandler): void;
off(eventName: string): void;
offBroadcast(eventName: string): void;
clearHandlers(): void;
clearBroadcastHandlers(): void;
destroy(): void;
private getAllIframes;
broadcast(eventName: string, data: any, targetOrigin?: string): void;
}