UNPKG

reactant-share

Version:

A framework for building shared web applications with Reactant

26 lines (23 loc) 938 B
import { BroadcastChannel } from 'broadcast-channel'; import { createTransport } from 'data-transport'; export { Transport } from 'data-transport'; var createBroadcastTransport = function (name, verbose, logger) { var broadcastChannel = new BroadcastChannel("reactant-share-channel:".concat(name)); var transport = createTransport('Base', { listener: function (callback) { broadcastChannel.onmessage = function (data) { callback(JSON.parse(data)); }; return function () { broadcastChannel.onmessage = null; return broadcastChannel.close(); }; }, sender: function (message) { return broadcastChannel.postMessage(JSON.stringify(message)); }, prefix: "reactant-share:".concat(name), verbose: verbose, logger: logger, }); return transport; }; export { createBroadcastTransport };