Sha256: 230cbfe26f409c3c14e779ad358cf8da0b2fb2865d9099714df7ffd31579398a
Contents?: true
Size: 1.36 KB
Versions: 43
Compression:
Stored size: 1.36 KB
Contents
/** * @fileoverview Disallow shadowing of NaN, undefined, and Infinity (ES5 section 15.1.1) * @author Michael Ficarra */ "use strict"; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = { meta: { docs: { description: "disallow identifiers from shadowing restricted names", category: "Variables", recommended: false, url: "https://eslint.org/docs/rules/no-shadow-restricted-names" }, schema: [] }, create(context) { const RESTRICTED = ["undefined", "NaN", "Infinity", "arguments", "eval"]; return { "VariableDeclaration, :function, CatchClause"(node) { for (const variable of context.getDeclaredVariables(node)) { if (variable.defs.length > 0 && RESTRICTED.includes(variable.name)) { context.report({ node: variable.defs[0].name, message: "Shadowing of global property '{{idName}}'.", data: { idName: variable.name } }); } } } }; } };
Version data entries
43 entries across 43 versions & 1 rubygems