Immutable Bus
A communication bus for cross-document communication based on pub/sub model.
Install
npm install immutable-bus
To publish
import { ImmutableBus } from 'immutable-bus';
let immutableBus = new ImmutableBus("http://self");
immutableBus.connectTo("http://window-1");
immutableBus.publish("message-topic",
"http://window-1", {
"msg": "hello from host 1"
});
To subscribe
let immutableBus = new ImmutableBus("http://self");
immutableBus.connectTo("http://window-1");
immutableBus.connectTo("http://window-2");
immutableBus.subscribe('message-topic', (data) => {
console.log(data);
});
To broadcast (only possible by parent/controller)
import { ImmutableBus } from 'immutable-bus';
let immutableBus = new ImmutableBus("http://self");
immutableBus.broadcast("message-topic", {
"msg": "hello from controller"
});