Use rest parameters

This commit is contained in:
Kevin Sawicki 2016-03-18 11:51:02 -07:00
parent e05804848f
commit 8889c29866
14 changed files with 88 additions and 143 deletions

View file

@ -1,27 +1,21 @@
'use strict';
const binding = process.atomBinding('ipc');
const v8Util = process.atomBinding('v8_util');
var slice = [].slice;
// Created by init.js.
const ipcRenderer = v8Util.getHiddenValue(global, 'ipc');
ipcRenderer.send = function() {
var args;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return binding.send('ipc-message', slice.call(args));
ipcRenderer.send = function(...args) {
return binding.send('ipc-message', args);
};
ipcRenderer.sendSync = function() {
var args;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return JSON.parse(binding.sendSync('ipc-message-sync', slice.call(args)));
ipcRenderer.sendSync = function(...args) {
return JSON.parse(binding.sendSync('ipc-message-sync', args));
};
ipcRenderer.sendToHost = function() {
var args;
args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return binding.send('ipc-message-host', slice.call(args));
ipcRenderer.sendToHost = function(...args) {
return binding.send('ipc-message-host', args);
};
module.exports = ipcRenderer;

View file

@ -2,17 +2,13 @@ const ipcRenderer = require('electron').ipcRenderer;
const deprecate = require('electron').deprecate;
const EventEmitter = require('events').EventEmitter;
var slice = [].slice;
// This module is deprecated, we mirror everything from ipcRenderer.
deprecate.warn('ipc module', 'require("electron").ipcRenderer');
// Routes events of ipcRenderer.
var ipc = new EventEmitter;
ipcRenderer.emit = function() {
var channel = arguments[0];
var args = 3 <= arguments.length ? slice.call(arguments, 2) : [];
ipcRenderer.emit = function(channel, event, ...args) {
ipc.emit.apply(ipc, [channel].concat(slice.call(args)));
return EventEmitter.prototype.emit.apply(ipcRenderer, arguments);
};