morpha
Version:
A Web-IDE or Desktop-IDE creator.
45 lines (38 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
name: 'ipc',
dependencies: ['electron'],
fn: function fn(_ref) {
var electron = _ref.electron;
return {
services: {
sendSync: function sendSync(_ref2, serviceName) {
var packageName = _ref2.packageName;
var ipcRenderer = electron.ipcRenderer;
var ipcKey = packageName + '.' + serviceName;
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
return ipcRenderer.sendSync.apply(ipcRenderer, [ipcKey].concat(args));
},
listen: function listen(_ref3, action, callback) {
var packageName = _ref3.packageName;
var ipcKey = packageName + '.' + action;
var ipcRenderer = electron.ipcRenderer;
ipcRenderer.on(ipcKey, function (event) {
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
var result = callback.apply(null, args);
event.returnValue = result;
});
}
},
serviceBind: true,
bootstrap: function bootstrap() {}
};
}
};