Blame view
node_modules/eslint/lib/rules/no-eq-null.js
1.06 KB
f7563de62
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
/** * @fileoverview Rule to flag comparisons to null without a type-checking * operator. * @author Ian Christian Myers */ "use strict"; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = { meta: { docs: { description: "disallow `null` comparisons without type-checking operators", category: "Best Practices", recommended: false }, schema: [] }, create(context) { return { BinaryExpression(node) { const badOperator = node.operator === "==" || node.operator === "!="; if (node.right.type === "Literal" && node.right.raw === "null" && badOperator || node.left.type === "Literal" && node.left.raw === "null" && badOperator) { context.report({ node, message: "Use ‘===’ to compare with ‘null’." }); } } }; } }; |