diff options
Diffstat (limited to 'sdnr/wt/odlux/lib/broadcast/mapChannel.ts')
-rw-r--r-- | sdnr/wt/odlux/lib/broadcast/mapChannel.ts | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/sdnr/wt/odlux/lib/broadcast/mapChannel.ts b/sdnr/wt/odlux/lib/broadcast/mapChannel.ts deleted file mode 100644 index efd76eb8c..000000000 --- a/sdnr/wt/odlux/lib/broadcast/mapChannel.ts +++ /dev/null @@ -1,29 +0,0 @@ - -const channel: BroadcastChannel = new BroadcastChannel("odlux_map"); -const listeners: { [key: string]: ((data: any) => void)[] } = {}; - -channel.onmessage = (eventMessage: MessageEvent<any>) => { - const { key, data } = eventMessage.data; - if (listeners[key]) { - listeners[key].forEach(listener => listener(data)); - } -}; - -export const sendMapMessage = (data: any, key: string) => { - channel.postMessage({ key, data }); -}; - -export const addMapMessageListener = (key: string, listener: (data: any) => void) => { - if (!listeners[key]) { - listeners[key] = []; - } - - if (!listeners[key].find(l => l === listener)) { - listeners[key].push(listener); - } - - return () => { - listeners[key] = listeners[key].filter(l => l !== listener); - } -}; - |