UNPKG

morpha

Version:

A Web-IDE or Desktop-IDE creator.

54 lines (44 loc) 1.67 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _utils = require('../../common/utils'); exports.default = { name: 'ipc', dependencies: ['electron', 'win'], fn: function fn(_ref) { var electron = _ref.electron, win = _ref.win; return { services: { listenServices: function listenServices(_ref2) { var packageName = _ref2.packageName, services = _ref2.services; (0, _utils.each)(services, function (service, serviceKey) { var ipcKey = packageName + '.' + serviceKey; electron.ipcMain.on(ipcKey, function (event) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var result = services.apply(null, args); event.returnValue = result; }); }); }, sendAction: function sendAction(_ref3, action) { var _currentWindow$webCon; var packageName = _ref3.packageName; var currentWindow = win.getCurrentWindow().browserWindow; var ipcKey = packageName + '.' + action; for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { args[_key2 - 2] = arguments[_key2]; } (_currentWindow$webCon = currentWindow.webContents).send.apply(_currentWindow$webCon, [ipcKey].concat(args)); console.log(ipcKey); } }, serviceBind: true, bootstrap: function bootstrap() {} }; } };