mirror of
https://github.com/nodejs/node.git
synced 2025-05-14 21:36:02 +00:00

PR-URL: https://github.com/nodejs/node/pull/17820 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
/**
|
||
* @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,
|
||
url: "https://eslint.org/docs/rules/no-eq-null"
|
||
},
|
||
|
||
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’." });
|
||
}
|
||
}
|
||
};
|
||
|
||
}
|
||
};
|