refactor: use rest args where possible.
This commit is contained in:
parent
e89f285e9a
commit
fdb668aea3
@ -532,23 +532,17 @@ HTTPBase.prototype._initSockets = function _initSockets() {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
HTTPBase.prototype.to = function to(name) {
|
||||
HTTPBase.prototype.to = function to(name, ...args) {
|
||||
let list = this.channels.get(name);
|
||||
let args;
|
||||
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
assert(list.size > 0);
|
||||
|
||||
args = new Array(arguments.length - 1);
|
||||
|
||||
for (let i = 1; i < arguments.length; i++)
|
||||
args[i - 1] = arguments[i];
|
||||
|
||||
for (let item = list.head; item; item = item.next) {
|
||||
let socket = item.value;
|
||||
socket.emit.apply(socket, args);
|
||||
socket.emit(...args);
|
||||
}
|
||||
};
|
||||
|
||||
@ -1607,16 +1601,11 @@ WebSocket.prototype.emit = function emit() {
|
||||
return this.socket.emit.apply(this.socket, arguments);
|
||||
};
|
||||
|
||||
WebSocket.prototype.call = function call() {
|
||||
WebSocket.prototype.call = function call(...args) {
|
||||
let socket = this.socket;
|
||||
let args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < arguments.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
args.push(co.wrap(resolve, reject));
|
||||
socket.emit.apply(socket, args);
|
||||
socket.emit(...args);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -388,8 +388,8 @@ Logger.prototype.setLevel = function setLevel(name) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
Logger.prototype.error = function error(err) {
|
||||
let args;
|
||||
Logger.prototype.error = function error(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.level < Logger.levels.ERROR)
|
||||
return;
|
||||
@ -397,11 +397,6 @@ Logger.prototype.error = function error(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.ERROR, null, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.ERROR, null, args);
|
||||
};
|
||||
|
||||
@ -411,8 +406,8 @@ Logger.prototype.error = function error(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
Logger.prototype.warning = function warning(err) {
|
||||
let args;
|
||||
Logger.prototype.warning = function warning(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.level < Logger.levels.WARNING)
|
||||
return;
|
||||
@ -420,11 +415,6 @@ Logger.prototype.warning = function warning(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.WARNING, null, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.WARNING, null, args);
|
||||
};
|
||||
|
||||
@ -434,8 +424,8 @@ Logger.prototype.warning = function warning(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
Logger.prototype.info = function info(err) {
|
||||
let args;
|
||||
Logger.prototype.info = function info(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.level < Logger.levels.INFO)
|
||||
return;
|
||||
@ -443,11 +433,6 @@ Logger.prototype.info = function info(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.INFO, null, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.INFO, null, args);
|
||||
};
|
||||
|
||||
@ -457,8 +442,8 @@ Logger.prototype.info = function info(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
Logger.prototype.debug = function debug(err) {
|
||||
let args;
|
||||
Logger.prototype.debug = function debug(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.level < Logger.levels.DEBUG)
|
||||
return;
|
||||
@ -466,11 +451,6 @@ Logger.prototype.debug = function debug(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.DEBUG, null, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.DEBUG, null, args);
|
||||
};
|
||||
|
||||
@ -480,8 +460,8 @@ Logger.prototype.debug = function debug(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
Logger.prototype.spam = function spam(err) {
|
||||
let args;
|
||||
Logger.prototype.spam = function spam(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.level < Logger.levels.SPAM)
|
||||
return;
|
||||
@ -489,11 +469,6 @@ Logger.prototype.spam = function spam(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.SPAM, null, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.SPAM, null, args);
|
||||
};
|
||||
|
||||
@ -744,11 +719,6 @@ LoggerContext.prototype.error = function error(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.ERROR, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.ERROR, args);
|
||||
};
|
||||
|
||||
@ -770,8 +740,8 @@ LoggerContext.prototype.logError = function logError(level, err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
LoggerContext.prototype.warning = function warning(err) {
|
||||
let args;
|
||||
LoggerContext.prototype.warning = function warning(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.logger.level < Logger.levels.WARNING)
|
||||
return;
|
||||
@ -779,11 +749,6 @@ LoggerContext.prototype.warning = function warning(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.WARNING, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.WARNING, args);
|
||||
};
|
||||
|
||||
@ -793,8 +758,8 @@ LoggerContext.prototype.warning = function warning(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
LoggerContext.prototype.info = function info(err) {
|
||||
let args;
|
||||
LoggerContext.prototype.info = function info(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.logger.level < Logger.levels.INFO)
|
||||
return;
|
||||
@ -802,11 +767,6 @@ LoggerContext.prototype.info = function info(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.INFO, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.INFO, args);
|
||||
};
|
||||
|
||||
@ -816,8 +776,8 @@ LoggerContext.prototype.info = function info(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
LoggerContext.prototype.debug = function debug(err) {
|
||||
let args;
|
||||
LoggerContext.prototype.debug = function debug(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.logger.level < Logger.levels.DEBUG)
|
||||
return;
|
||||
@ -825,11 +785,6 @@ LoggerContext.prototype.debug = function debug(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.DEBUG, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.DEBUG, args);
|
||||
};
|
||||
|
||||
@ -839,8 +794,8 @@ LoggerContext.prototype.debug = function debug(err) {
|
||||
* @param {...Object} args
|
||||
*/
|
||||
|
||||
LoggerContext.prototype.spam = function spam(err) {
|
||||
let args;
|
||||
LoggerContext.prototype.spam = function spam(...args) {
|
||||
let err = args[0];
|
||||
|
||||
if (this.logger.level < Logger.levels.SPAM)
|
||||
return;
|
||||
@ -848,11 +803,6 @@ LoggerContext.prototype.spam = function spam(err) {
|
||||
if (err instanceof Error)
|
||||
return this.logError(Logger.levels.SPAM, err);
|
||||
|
||||
args = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
this.log(Logger.levels.SPAM, args);
|
||||
};
|
||||
|
||||
|
||||
@ -63,12 +63,12 @@ function exec(gen) {
|
||||
* Execute generator function
|
||||
* with a context and execute.
|
||||
* @param {GeneratorFunction} generator
|
||||
* @param {Object} ctx
|
||||
* @param {Object?} self
|
||||
* @returns {Promise}
|
||||
*/
|
||||
|
||||
function spawn(generator, ctx) {
|
||||
let gen = generator.call(ctx);
|
||||
function spawn(generator, self) {
|
||||
let gen = generator.call(self);
|
||||
return exec(gen);
|
||||
}
|
||||
|
||||
@ -97,37 +97,6 @@ function isPromise(obj) {
|
||||
return obj && typeof obj.then === 'function';
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap an async function to be
|
||||
* executed into a function that
|
||||
* accepts a node.js style callback.
|
||||
* @param {AsyncFunction}
|
||||
* @returns {Function}
|
||||
*/
|
||||
|
||||
function cob(func) {
|
||||
return function(_) {
|
||||
let args, callback;
|
||||
|
||||
if (arguments.length === 0
|
||||
|| typeof arguments[arguments.length - 1] !== 'function') {
|
||||
throw new Error((func.name || 'Function') + ' requires a callback.');
|
||||
}
|
||||
|
||||
args = new Array(arguments.length - 1);
|
||||
callback = arguments[arguments.length - 1];
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
func.apply(this, args).then((value) => {
|
||||
setImmediate(() => callback(null, value));
|
||||
}, (err) => {
|
||||
setImmediate(() => callback(err));
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Wait for a nextTick with a promise.
|
||||
* @returns {Promise}
|
||||
@ -170,20 +139,41 @@ function wrap(resolve, reject) {
|
||||
* style callbacks into a function that
|
||||
* returns a promise.
|
||||
* @param {Function} func
|
||||
* @param {Object?} ctx
|
||||
* @returns {AsyncFunction}
|
||||
*/
|
||||
|
||||
function promisify(func) {
|
||||
return function(...args) {
|
||||
return new Promise((resolve, reject) => {
|
||||
args.push(wrap(resolve, reject));
|
||||
func.call(this, ...args);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap a promise-returning function
|
||||
* into a function that accepts a
|
||||
* node.js style callback.
|
||||
* @param {AsyncFunction} func
|
||||
* @returns {Function}
|
||||
*/
|
||||
|
||||
function promisify(func, ctx) {
|
||||
return function() {
|
||||
let args = new Array(arguments.length);
|
||||
function callbackify(func) {
|
||||
return function(...args) {
|
||||
let callback;
|
||||
|
||||
for (let i = 0; i < arguments.length; i++)
|
||||
args[i] = arguments[i];
|
||||
if (args.length === 0
|
||||
|| typeof args[args.length - 1] !== 'function') {
|
||||
throw new Error((func.name || 'Function') + ' requires a callback.');
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
args.push(wrap(resolve, reject));
|
||||
func.apply(ctx || this, args);
|
||||
callback = args.pop();
|
||||
|
||||
func.call(this, ...args).then((value) => {
|
||||
setImmediate(() => callback(null, value));
|
||||
}, (err) => {
|
||||
setImmediate(() => callback(err));
|
||||
});
|
||||
};
|
||||
}
|
||||
@ -314,11 +304,11 @@ exports = co;
|
||||
exports.exec = exec;
|
||||
exports.spawn = spawn;
|
||||
exports.co = co;
|
||||
exports.cob = cob;
|
||||
exports.wait = wait;
|
||||
exports.timeout = timeout;
|
||||
exports.wrap = wrap;
|
||||
exports.promisify = promisify;
|
||||
exports.callbackify = callbackify;
|
||||
exports.every = every;
|
||||
exports.setInterval = startInterval;
|
||||
exports.clearInterval = stopInterval;
|
||||
|
||||
@ -338,13 +338,9 @@ util.format = function format(args, color) {
|
||||
* @param {...String} args
|
||||
*/
|
||||
|
||||
util.log = function log() {
|
||||
let args = new Array(arguments.length);
|
||||
util.log = function log(...args) {
|
||||
let msg;
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
if (!process.stdout) {
|
||||
msg = typeof args[0] !== 'object'
|
||||
? util.format(args, false)
|
||||
@ -363,13 +359,9 @@ util.log = function log() {
|
||||
* @param {...String} args
|
||||
*/
|
||||
|
||||
util.error = function error() {
|
||||
let args = new Array(arguments.length);
|
||||
util.error = function error(...args) {
|
||||
let msg;
|
||||
|
||||
for (let i = 0; i < args.length; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
if (!process.stderr) {
|
||||
msg = typeof args[0] !== 'object'
|
||||
? util.format(args, false)
|
||||
|
||||
@ -159,12 +159,7 @@ Master.prototype.send = function send(packet) {
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
|
||||
Master.prototype.sendEvent = function sendEvent() {
|
||||
let items = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < items.length; i++)
|
||||
items[i] = arguments[i];
|
||||
|
||||
Master.prototype.sendEvent = function sendEvent(...items) {
|
||||
return this.send(new packets.EventPacket(items));
|
||||
};
|
||||
|
||||
@ -184,15 +179,8 @@ Master.prototype.destroy = function destroy() {
|
||||
* @param {...String} args
|
||||
*/
|
||||
|
||||
Master.prototype.log = function log() {
|
||||
let items = new Array(arguments.length);
|
||||
let text;
|
||||
|
||||
for (let i = 0; i < items.length; i++)
|
||||
items[i] = arguments[i];
|
||||
|
||||
text = util.format(items, this.color);
|
||||
|
||||
Master.prototype.log = function log(...items) {
|
||||
let text = util.format(items, this.color);
|
||||
this.send(new packets.LogPacket(text));
|
||||
};
|
||||
|
||||
|
||||
@ -709,12 +709,7 @@ Worker.prototype.send = function send(packet) {
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
|
||||
Worker.prototype.sendEvent = function sendEvent() {
|
||||
let items = new Array(arguments.length);
|
||||
|
||||
for (let i = 0; i < items.length; i++)
|
||||
items[i] = arguments[i];
|
||||
|
||||
Worker.prototype.sendEvent = function sendEvent(...items) {
|
||||
return this.send(new packets.EventPacket(items));
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user