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); } }