(topic: E, cb: Events[E])
| 37 | } |
| 38 | |
| 39 | override once<E extends keyof Events>(topic: E, cb: Events[E]): void { |
| 40 | const listener = (e: MessageEvent) => { |
| 41 | if (!e.data || e.data.source !== this.destination || !e.data.topic) { |
| 42 | return; |
| 43 | } |
| 44 | if (e.data.topic === topic) { |
| 45 | (cb as any).apply(null, e.data.args); |
| 46 | window.removeEventListener('message', listener); |
| 47 | } |
| 48 | }; |
| 49 | window.addEventListener('message', listener); |
| 50 | } |
| 51 | |
| 52 | override emit<E extends keyof Events>(topic: E, args?: Parameters<Events[E]>): boolean { |
| 53 | this.docWindow().postMessage( |
no test coverage detected