0.0.5 • Published 6 years ago
mqk-pm-rpc v0.0.5
Install
npm i --save mqk-pm-rpc
Usage
Init RPC provider
import { Provider } from 'mqk-pm-rpc';
const provider = new Provider({
providers: {
[providerName]: Provider
},
targetWindow
});
provider.start();
// Stop listen as you wish
provider.stop();
Init RPC invokder
import { Client } from 'mqk-pm-rpc';
const client = new Client({
targetWindow
});
client.start();
// Stop listen as you wish
client.stop();
Remote procedure call
client.invoke('dialog', 'show', ['title']);
Helper function
Callback function arguments
import { Callback } from 'mqk-pm-rpc';
const result = client.invoke('dialog', 'show', ['title', Callback(function(){
console.log('dialog closed')
})]);
result.then(function(rpcResult) {
console.log(rpcResult);
};
More complicated case
import { Callback } from 'mqk-pm-rpc';
const result = client.invoke('RPC', 'dialog.show', [{
title: 'title',
onClosed: Callback(function(){
console.log('dialog closed')
})
}]);
result.then(function(rpcResult) {
console.log(rpcResult);
};
TODO: Runtime function arguments
import { Runtime } from 'mqk-pm-rpc';
client.invoke('dialog', 'show', ['title', Runtime(function(a, b){
return a + b;
})]);