From cdff1010250265d938704e4e3025e212cd15feea Mon Sep 17 00:00:00 2001 From: Trevor Burnham Date: Mon, 19 Aug 2019 16:07:42 +0100 Subject: [PATCH] Further refactor loop as every() --- src/rules/no-namespace.js | 10 +++------- tests/src/rules/no-namespace.js | 18 +++++++++--------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/rules/no-namespace.js b/src/rules/no-namespace.js index d1b11bfd43..a3a6913646 100644 --- a/src/rules/no-namespace.js +++ b/src/rules/no-namespace.js @@ -91,18 +91,14 @@ module.exports = { * @returns {boolean} `true` if the namespace variable is more than just a glorified constant */ function usesNamespaceAsObject(namespaceIdentifiers) { - return namespaceIdentifiers.some((identifier) => { + return !namespaceIdentifiers.every((identifier) => { const parent = identifier.parent // `namespace.x` or `namespace['x']` - if ( + return ( parent && parent.type === 'MemberExpression' && (parent.property.type === 'Identifier' || parent.property.type === 'Literal') - ) { - return false - } - - return true + ) }) } diff --git a/tests/src/rules/no-namespace.js b/tests/src/rules/no-namespace.js index edc7718843..a7cb4dd21f 100644 --- a/tests/src/rules/no-namespace.js +++ b/tests/src/rules/no-namespace.js @@ -74,15 +74,15 @@ const FIX_TESTS = semver.satisfies(eslintPkg.version, '>5.0.0') ? [ ruleTester.run('no-namespace', require('rules/no-namespace'), { valid: [ - { code: "import { a, b } from 'foo';", parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, - { code: "import { a, b } from './foo';", parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, - { code: "import bar from 'bar';", parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, - { code: "import bar from './bar';", parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, + { code: 'import { a, b } from \'foo\';', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, + { code: 'import { a, b } from \'./foo\';', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, + { code: 'import bar from \'bar\';', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, + { code: 'import bar from \'./bar\';', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } }, ], invalid: [ test({ - code: "import * as foo from 'foo';", + code: 'import * as foo from \'foo\';', output: 'import * as foo from \'foo\';', errors: [ { line: 1, @@ -91,8 +91,8 @@ ruleTester.run('no-namespace', require('rules/no-namespace'), { } ], }), test({ - code: "import defaultExport, * as foo from 'foo';", - output: "import defaultExport, * as foo from 'foo';", + code: 'import defaultExport, * as foo from \'foo\';', + output: 'import defaultExport, * as foo from \'foo\';', errors: [ { line: 1, column: 23, @@ -100,8 +100,8 @@ ruleTester.run('no-namespace', require('rules/no-namespace'), { } ], }), test({ - code: "import * as foo from './foo';", - output: "import * as foo from './foo';", + code: 'import * as foo from \'./foo\';', + output: 'import * as foo from \'./foo\';', errors: [ { line: 1, column: 8,