From 115d19e2893ed8bcb818bdd21d8d4721ebac98a8 Mon Sep 17 00:00:00 2001
From: Peter Jaszkowiak
Date: Thu, 4 Feb 2021 00:52:25 -0700
Subject: [PATCH] chore: eslint prefer-rest-params, prefer-spread
---
.eslintrc | 4 ----
loader.js | 3 +--
src/database/postgres/helpers.js | 3 +--
src/logger.js | 6 +++---
src/meta/build.js | 2 +-
src/plugins/index.js | 3 +--
src/plugins/load.js | 2 +-
src/posts/category.js | 2 +-
src/promisify.js | 12 ++++++------
src/routes/index.js | 4 ++--
src/settings.js | 4 ++--
src/topics/bookmarks.js | 2 +-
src/user/index.js | 4 ++--
src/webserver.js | 4 ++--
14 files changed, 24 insertions(+), 31 deletions(-)
diff --git a/.eslintrc b/.eslintrc
index 7bd5900a39..17eef35ba7 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -104,10 +104,6 @@
// allow not using object shorthand
"object-shorthand": "off",
- // WORKING ON
- "prefer-rest-params": "off",
- "prefer-spread": "off",
-
// TODO
"consistent-return": "off",
"no-restricted-globals": "off",
diff --git a/loader.js b/loader.js
index a4e9ddf626..d1786eec8a 100644
--- a/loader.js
+++ b/loader.js
@@ -38,8 +38,7 @@ const appPath = path.join(__dirname, 'app.js');
Loader.init = function (callback) {
if (silent) {
- console.log = function () {
- const args = Array.prototype.slice.call(arguments);
+ console.log = (...args) => {
output.write(`${args.join(' ')}\n`);
};
}
diff --git a/src/database/postgres/helpers.js b/src/database/postgres/helpers.js
index 7471df997b..85e0b63d07 100644
--- a/src/database/postgres/helpers.js
+++ b/src/database/postgres/helpers.js
@@ -6,8 +6,7 @@ helpers.valueToString = function (value) {
return String(value);
};
-helpers.removeDuplicateValues = function (values) {
- const others = Array.prototype.slice.call(arguments, 1);
+helpers.removeDuplicateValues = function (values, ...others) {
for (let i = 0; i < values.length; i++) {
if (values.lastIndexOf(values[i]) !== i) {
values.splice(i, 1);
diff --git a/src/logger.js b/src/logger.js
index 566cea2667..5c2b01426f 100644
--- a/src/logger.js
+++ b/src/logger.js
@@ -191,13 +191,13 @@ Logger.io_one = function (socket, uid) {
* This function replaces a socket's .emit/.on functions in order to intercept events
*/
function override(method, name, errorMsg) {
- return function () {
+ return (...args) => {
if (opts.streams.log.f) {
- opts.streams.log.f.write(Logger.prepare_io_string(name, uid, arguments));
+ opts.streams.log.f.write(Logger.prepare_io_string(name, uid, args));
}
try {
- method.apply(socket, arguments);
+ method.apply(socket, args);
} catch (err) {
winston.info(errorMsg, err);
}
diff --git a/src/meta/build.js b/src/meta/build.js
index e7828fe1ad..fec17df85a 100644
--- a/src/meta/build.js
+++ b/src/meta/build.js
@@ -78,7 +78,7 @@ async function beforeBuild(targets) {
const allTargets = Object.keys(targetHandlers).filter(name => typeof targetHandlers[name] === 'function');
async function buildTargets(targets, parallel) {
- const length = Math.max.apply(Math, targets.map(name => name.length));
+ const length = Math.max(...targets.map(name => name.length));
if (parallel) {
await Promise.all(
diff --git a/src/plugins/index.js b/src/plugins/index.js
index fbb27eadb2..e0fa4f6d45 100644
--- a/src/plugins/index.js
+++ b/src/plugins/index.js
@@ -27,8 +27,7 @@ Plugins.data = require('./data');
Plugins.hooks = require('./hooks');
// Backwards compatibility for hooks, remove in v1.18.0
-const _deprecate = async function () {
- const args = Array.from(arguments);
+const _deprecate = async function (...args) {
const oldMethod = args.shift();
const newMethod = args.shift();
const method = args.shift();
diff --git a/src/plugins/load.js b/src/plugins/load.js
index 0f7937a02c..1ee74b5b24 100644
--- a/src/plugins/load.js
+++ b/src/plugins/load.js
@@ -12,7 +12,7 @@ const { themeNamePattern } = require('../constants');
module.exports = function (Plugins) {
async function registerPluginAssets(pluginData, fields) {
function add(dest, arr) {
- dest.push.apply(dest, arr || []);
+ dest.push(...(arr || []));
}
const handlers = {
diff --git a/src/posts/category.js b/src/posts/category.js
index c2d525c0e9..d5f4874cc1 100644
--- a/src/posts/category.js
+++ b/src/posts/category.js
@@ -31,7 +31,7 @@ module.exports = function (Posts) {
return await filterPidsBySingleCid(pids, cid);
}
const pidsArr = await Promise.all(cid.map(c => Posts.filterPidsByCid(pids, c)));
- return _.union.apply(_, pidsArr);
+ return _.union(...pidsArr);
};
async function filterPidsBySingleCid(pids, cid) {
diff --git a/src/promisify.js b/src/promisify.js
index 0552a24eeb..da6aad1fd2 100644
--- a/src/promisify.js
+++ b/src/promisify.js
@@ -38,22 +38,22 @@ module.exports = function (theModule, ignoreKeys) {
function wrapCallback(origFn, callbackFn) {
return async function wrapperCallback(...args) {
- if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {
+ if (args.length && typeof args[args.length - 1] === 'function') {
const cb = args.pop();
args.push((err, res) => (res !== undefined ? cb(err, res) : cb(err)));
- return callbackFn.apply(null, args);
+ return callbackFn(...args);
}
- return origFn.apply(null, arguments);
+ return origFn(...args);
};
}
function wrapPromise(origFn, promiseFn) {
return function wrapperPromise(...args) {
- if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {
- return origFn.apply(null, args);
+ if (args.length && typeof args[args.length - 1] === 'function') {
+ return origFn(...args);
}
- return promiseFn.apply(null, arguments);
+ return promiseFn(...args);
};
}
diff --git a/src/routes/index.js b/src/routes/index.js
index bff5c65eac..7850bbde12 100644
--- a/src/routes/index.js
+++ b/src/routes/index.js
@@ -93,8 +93,8 @@ function groupRoutes(app, middleware, controllers) {
module.exports = async function (app, middleware) {
const router = express.Router();
- router.render = function () {
- app.render.apply(app, arguments);
+ router.render = function (...args) {
+ app.render(...args);
};
const ensureLoggedIn = require('connect-ensure-login');
diff --git a/src/settings.js b/src/settings.js
index 0471193310..937aacf307 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -124,9 +124,9 @@ Settings.prototype.persist = function (callback) {
if (typeof conf === 'object') {
conf = JSON.stringify(conf);
}
- meta.settings.set(this.hash, this.createWrapper(this.cfg.v, conf), function () {
+ meta.settings.set(this.hash, this.createWrapper(this.cfg.v, conf), (...args) => {
if (typeof callback === 'function') {
- callback.apply(_this, arguments || []);
+ callback.apply(_this, args || []);
}
});
return this;
diff --git a/src/topics/bookmarks.js b/src/topics/bookmarks.js
index 2f3d814cb6..2b473f5417 100644
--- a/src/topics/bookmarks.js
+++ b/src/topics/bookmarks.js
@@ -33,7 +33,7 @@ module.exports = function (Topics) {
const maxIndex = await Topics.getPostCount(tid);
const indices = await db.sortedSetRanks(`tid:${tid}:posts`, pids);
const postIndices = indices.map(i => (i === null ? 0 : i + 1));
- const minIndex = Math.min.apply(Math, postIndices);
+ const minIndex = Math.min(...postIndices);
const bookmarks = await Topics.getTopicBookmarks(tid);
diff --git a/src/user/index.js b/src/user/index.js
index 0b1131bb0b..70cbb4fa79 100644
--- a/src/user/index.js
+++ b/src/user/index.js
@@ -191,7 +191,7 @@ async function isSelfOrMethod(callerUid, uid, method) {
User.getAdminsandGlobalMods = async function () {
const results = await groups.getMembersOfGroups(['administrators', 'Global Moderators']);
- return await User.getUsersData(_.union.apply(_, results));
+ return await User.getUsersData(_.union(...results));
};
User.getAdminsandGlobalModsandModerators = async function () {
@@ -200,7 +200,7 @@ User.getAdminsandGlobalModsandModerators = async function () {
groups.getMembers('Global Moderators', 0, -1),
User.getModeratorUids(),
]);
- return await User.getUsersData(_.union.apply(_, results));
+ return await User.getUsersData(_.union(...results));
};
User.getModeratorUids = async function () {
diff --git a/src/webserver.js b/src/webserver.js
index 6ea5b44fba..743fd6dda7 100644
--- a/src/webserver.js
+++ b/src/webserver.js
@@ -283,10 +283,10 @@ function listen(callback) {
throw err;
}
- server.listen.apply(server, args);
+ server.listen(...args);
});
} else {
- server.listen.apply(server, args);
+ server.listen(...args);
}
}