commutator
v1.2.1
Published
Making RPC calls (asynchronous method calls) between browser windows or iframes.
Downloads
53
Readme
Commutator
Making RPC calls (asynchronous method calls) between browser windows or iframes.
Install
npm install commutator
Usage
parent.js
import { Commutator } from 'commutator';
const rpc = new Commutator({
// The window you want to talk to:
target: myIframe.contentWindow,
// This should be unique for each of your producer<->consumer pairs:
serviceId: 'my-awesome-service',
});
rpc.expose('add', (data) => data.a + data.b);
Destroy the instance
rpc.destroy();
Remove expose handler
const handleAdd = (data) => data.a + data.b
// Expose
rpc.expose('add', handleAdd);
// Unexpose
rpc.unexpose('add', handleAdd);
iframe.js
import { Commutator } from 'commutator';
const rpc = new Commutator({
target: window.parent,
serviceId: 'my-awesome-service',
});
rpc.call('add', { a: 3, b: 5 }).then(result => console.log('3 + 5 is', result));