ags
This commit is contained in:
parent
eddf7cecb8
commit
aea798d119
16631 changed files with 1480363 additions and 257 deletions
57
home/ags/node_modules/eslint-plugin-es-x/lib/rules/no-shadow-catch-param.js
generated
vendored
Normal file
57
home/ags/node_modules/eslint-plugin-es-x/lib/rules/no-shadow-catch-param.js
generated
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
"use strict"
|
||||
|
||||
const { getSourceCode } = require("eslint-compat-utils")
|
||||
|
||||
module.exports = {
|
||||
meta: {
|
||||
docs: {
|
||||
description:
|
||||
"disallow identifiers from shadowing catch parameter names.",
|
||||
category: "legacy",
|
||||
recommended: false,
|
||||
url: "http://eslint-community.github.io/eslint-plugin-es-x/rules/no-shadow-catch-param.html",
|
||||
},
|
||||
fixable: null,
|
||||
messages: {
|
||||
forbidden: "Shadowing of catch parameter '{{name}}'.",
|
||||
},
|
||||
schema: [],
|
||||
type: "problem",
|
||||
},
|
||||
create(context) {
|
||||
const sourceCode = getSourceCode(context)
|
||||
return {
|
||||
"CatchClause > Identifier.param:exit"(node) {
|
||||
const scope = sourceCode.getScope(node)
|
||||
const shadowingVar = scope.variableScope.set.get(node.name)
|
||||
if (!shadowingVar) {
|
||||
return
|
||||
}
|
||||
for (const def of shadowingVar.defs) {
|
||||
if (def.type !== "Variable") {
|
||||
continue
|
||||
}
|
||||
const varDecl = def.node
|
||||
if (varDecl.parent.kind !== "var") {
|
||||
continue
|
||||
}
|
||||
const varId = varDecl.id
|
||||
const catchClause = node.parent
|
||||
const bodyRange = catchClause.body.range
|
||||
if (
|
||||
bodyRange[0] <= varId.range[0] &&
|
||||
varId.range[1] <= bodyRange[1]
|
||||
) {
|
||||
context.report({
|
||||
node: varDecl,
|
||||
messageId: "forbidden",
|
||||
data: {
|
||||
name: node.name,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue