@actualwave/messageport-dispatcher
Version:
Cross-domain EventDispatcher for MessagePort interface
17 lines (16 loc) • 726 B
TypeScript
interface PostMessageTarget {
postMessage(...args: any[]): void;
}
interface EventListenerTarget {
addEventListener(type: string, handler: (event: any) => void): void;
removeEventListener(type: string, handler: (event: any) => void): void;
}
export declare class MessagePortTarget {
sender: PostMessageTarget[];
receiver: EventListenerTarget[];
constructor(sender?: PostMessageTarget | PostMessageTarget[] | null, receiver?: EventListenerTarget | EventListenerTarget[] | null);
postMessage(...args: any[]): void;
addEventListener(type: string, handler: (event: any) => void): void;
removeEventListener(type: string, handler: (event: any) => void): void;
}
export default MessagePortTarget;