diff options
author | cjihrig <cjihrig@gmail.com> | 2017-12-09 09:54:33 -0500 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2017-12-11 21:04:48 -0500 |
commit | 66d3e6b2f4c4ca8944f199139e11436144aa79b1 (patch) | |
tree | c605e1b3725042f451563d3aa7356731e54c7241 /tools/eslint-rules | |
parent | e4a71098efae67f7edf40962b684c816a7f59e68 (diff) | |
download | android-node-v8-66d3e6b2f4c4ca8944f199139e11436144aa79b1.tar.gz android-node-v8-66d3e6b2f4c4ca8944f199139e11436144aa79b1.tar.bz2 android-node-v8-66d3e6b2f4c4ca8944f199139e11436144aa79b1.zip |
tools: simplify prefer-assert-methods rule
PR-URL: https://github.com/nodejs/node/pull/17572
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Diffstat (limited to 'tools/eslint-rules')
-rw-r--r-- | tools/eslint-rules/prefer-assert-methods.js | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/tools/eslint-rules/prefer-assert-methods.js b/tools/eslint-rules/prefer-assert-methods.js index fa345eb7c3..0604fd3ed9 100644 --- a/tools/eslint-rules/prefer-assert-methods.js +++ b/tools/eslint-rules/prefer-assert-methods.js @@ -1,15 +1,8 @@ 'use strict'; -function isAssert(node) { - return node.expression && - node.expression.type === 'CallExpression' && - node.expression.callee && - node.expression.callee.name === 'assert'; -} - -function getFirstArg(expression) { - return expression.arguments && expression.arguments[0]; -} +const astSelector = 'ExpressionStatement[expression.type="CallExpression"]' + + '[expression.callee.name="assert"]' + + '[expression.arguments.0.type="BinaryExpression"]'; function parseError(method, op) { return `'assert.${method}' should be used instead of '${op}'`; @@ -24,15 +17,11 @@ const preferedAssertMethod = { module.exports = function(context) { return { - ExpressionStatement(node) { - if (isAssert(node)) { - const arg = getFirstArg(node.expression); - if (arg && arg.type === 'BinaryExpression') { - const assertMethod = preferedAssertMethod[arg.operator]; - if (assertMethod) { - context.report(node, parseError(assertMethod, arg.operator)); - } - } + [astSelector]: function(node) { + const arg = node.expression.arguments[0]; + const assertMethod = preferedAssertMethod[arg.operator]; + if (assertMethod) { + context.report(node, parseError(assertMethod, arg.operator)); } } }; |