From 5d2c5439695a27f5236b140434ea932509e975d4 Mon Sep 17 00:00:00 2001 From: Aaron Rodriguez Date: Sun, 15 Oct 2023 18:40:23 -0700 Subject: [PATCH] remove `nullishCoalesce` function and replace with nullish coalesce operator now that node 12 has reached end of life and node 14+ support the operator --- src/lib/rules/logical-expression-complexity.js | 10 ++++------ src/lib/rules/ordered-import-members.js | 5 ++--- src/lib/rules/ordered-imports-by-path.js | 10 ++++------ src/lib/rules/strict-camel-case.js | 7 +++---- src/lib/rules/util/misc-js.js | 13 ------------- 5 files changed, 13 insertions(+), 32 deletions(-) delete mode 100644 src/lib/rules/util/misc-js.js diff --git a/src/lib/rules/logical-expression-complexity.js b/src/lib/rules/logical-expression-complexity.js index 0b3e147..47cdca0 100644 --- a/src/lib/rules/logical-expression-complexity.js +++ b/src/lib/rules/logical-expression-complexity.js @@ -1,5 +1,3 @@ -const { nullishCoalesce } = require("./util/misc-js.js"); - /** * @fileoverview Rule to flag overly complex logical expressions * @author Aaron Rodriguez @@ -50,10 +48,10 @@ module.exports = { }, create(context) { const configuration = context.options[0] || {}, - maxHeight = nullishCoalesce(configuration.maxHeight, 2), - maxTerms = nullishCoalesce(configuration.maxTerms, 4), - binaryOperators = nullishCoalesce(configuration.binaryOperators, []), - includeTernary = nullishCoalesce(configuration.includeTernary, true); + maxHeight = configuration.maxHeight ?? 2, + maxTerms = configuration.maxTerms ?? 4, + binaryOperators = configuration.binaryOperators ?? [], + includeTernary = configuration.includeTernary ?? true; const heightObserved = new Set(); const countObserved = new Set(); diff --git a/src/lib/rules/ordered-import-members.js b/src/lib/rules/ordered-import-members.js index 490a794..c4cec38 100644 --- a/src/lib/rules/ordered-import-members.js +++ b/src/lib/rules/ordered-import-members.js @@ -1,5 +1,4 @@ const { findPunctuatorAfter, findPunctuatorBetween } = require("./util/ast.js"); -const { nullishCoalesce } = require("./util/misc-js.js"); /** * @fileoverview Rule to enforce ordering of import members by name @@ -40,8 +39,8 @@ module.exports = { }, create(context) { const configuration = context.options[0] || {}, - ignoreCase = nullishCoalesce(configuration.ignoreCase, false), - sortSpecifiersWithComments = nullishCoalesce(configuration.sortSpecifiersWithComments, false), + ignoreCase = configuration.ignoreCase ?? false, + sortSpecifiersWithComments = configuration.sortSpecifiersWithComments ?? false, sourceCode = context.getSourceCode(); /** diff --git a/src/lib/rules/ordered-imports-by-path.js b/src/lib/rules/ordered-imports-by-path.js index 54f5b44..c59d067 100644 --- a/src/lib/rules/ordered-imports-by-path.js +++ b/src/lib/rules/ordered-imports-by-path.js @@ -1,5 +1,3 @@ -const { nullishCoalesce } = require("./util/misc-js.js"); - /** * @fileoverview Rule to enforce ordering of imports by path * @author Aaron Rodriguez @@ -52,10 +50,10 @@ module.exports = { }, create(context) { const configuration = context.options[0] || {}, - ignoreCase = nullishCoalesce(configuration.ignoreCase, false), - allowSeparateGroups = nullishCoalesce(configuration.allowSeparateGroups, true), - sortTypeImportsFirst = nullishCoalesce(configuration.sortTypeImportsFirst, true), - sortSideEffectsFirst = nullishCoalesce(configuration.sortSideEffectsFirst, false), + ignoreCase = configuration.ignoreCase ?? false, + allowSeparateGroups = configuration.allowSeparateGroups ?? true, + sortTypeImportsFirst = configuration.sortTypeImportsFirst ?? true, + sortSideEffectsFirst = configuration.sortSideEffectsFirst ?? false, sourceCode = context.getSourceCode(); /** diff --git a/src/lib/rules/strict-camel-case.js b/src/lib/rules/strict-camel-case.js index f87c6e8..9822f73 100644 --- a/src/lib/rules/strict-camel-case.js +++ b/src/lib/rules/strict-camel-case.js @@ -1,4 +1,3 @@ -const { nullishCoalesce } = require("./util/misc-js.js"); const { objectToString } = require("./util/serialization.js"); /** @@ -64,11 +63,11 @@ module.exports = { create(context) { const options = context.options[0] || {}, - ignoreProperties = nullishCoalesce(options.ignoreProperties, false), - ignoreImports = nullishCoalesce(options.ignoreImports, false), + ignoreProperties = options.ignoreProperties ?? false, + ignoreImports = options.ignoreImports ?? false, ignoredIdentifiers = options.ignoredIdentifiers || [], allowOneCharWords = options.allowOneCharWords || "never", - ignoreSingleWords = nullishCoalesce(options.ignoreSingleWords, false); + ignoreSingleWords = options.ignoreSingleWords ?? false; const LOG_RULE_PREFIX = "eslint-plugin-sequence/strict-camel-case "; const LEVELS = ["OFF", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE"]; diff --git a/src/lib/rules/util/misc-js.js b/src/lib/rules/util/misc-js.js deleted file mode 100644 index 2a0d07f..0000000 --- a/src/lib/rules/util/misc-js.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - /** - * Similar to the nullish-coalescing operator in JS/TS. Implemented here as a function for node < 14. - * Returns left if left is not null and not undefined. Returns right if left either is null or undefined. - * - * @param {*} left any value - * @param {*} right default value if left is null or undefined - * @returns {*} left ?? right - */ - nullishCoalesce(left, right) { - return left !== null && left !== undefined ? left : right; - } -};