summaryrefslogtreecommitdiff
path: root/tools/eslint-rules
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2017-12-09 09:54:33 -0500
committercjihrig <cjihrig@gmail.com>2017-12-11 21:04:48 -0500
commit66d3e6b2f4c4ca8944f199139e11436144aa79b1 (patch)
treec605e1b3725042f451563d3aa7356731e54c7241 /tools/eslint-rules
parente4a71098efae67f7edf40962b684c816a7f59e68 (diff)
downloadandroid-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.js27
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));
}
}
};