electron/lib/renderer/api/ipc.js

28 lines
781 B
JavaScript
Raw Normal View History

2016-01-14 14:20:06 -08:00
const ipcRenderer = require('electron').ipcRenderer;
const deprecate = require('electron').deprecate;
const EventEmitter = require('events').EventEmitter;
2016-01-11 18:40:23 -08:00
2016-01-14 10:35:29 -08:00
// This module is deprecated, we mirror everything from ipcRenderer.
2016-01-11 18:40:23 -08:00
deprecate.warn('ipc module', 'require("electron").ipcRenderer');
2016-01-14 10:35:29 -08:00
// Routes events of ipcRenderer.
2016-01-14 14:20:06 -08:00
var ipc = new EventEmitter;
2016-01-11 18:40:23 -08:00
2016-03-18 11:51:02 -07:00
ipcRenderer.emit = function(channel, event, ...args) {
2016-03-18 11:54:34 -07:00
ipc.emit.apply(ipc, [channel].concat(args));
2016-01-11 18:40:23 -08:00
return EventEmitter.prototype.emit.apply(ipcRenderer, arguments);
};
2016-01-14 10:35:29 -08:00
// Deprecated.
2016-01-14 14:20:06 -08:00
for (var method in ipcRenderer) {
2016-01-11 18:40:23 -08:00
if (method.startsWith('send')) {
ipc[method] = ipcRenderer[method];
}
}
deprecate.rename(ipc, 'sendChannel', 'send');
deprecate.rename(ipc, 'sendChannelSync', 'sendSync');
module.exports = ipc;