📄 no-explicit-any.ts
¶
📊 Analysis Summary¶
Metric | Count |
---|---|
🔧 Functions | 106 |
📦 Imports | 4 |
📊 Variables & Constants | 1 |
📑 Type Aliases | 2 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/eslint-plugin/src/rules/no-explicit-any.ts
📦 Imports¶
Name | Source |
---|---|
TSESLint |
@typescript-eslint/utils |
TSESTree |
@typescript-eslint/utils |
AST_NODE_TYPES |
@typescript-eslint/utils |
createRule |
../util |
Variables & Constants¶
Name | Type | Kind | Value | Exported |
---|---|---|---|---|
fixOrSuggest |
`{ | |||
fix: TSESLint.ReportFixFunction | null; | |||
suggest: TSESLint.ReportSuggestionArray |
null; | |||
}| const | { |
||||
fix: null, | ||||
suggest: isKeyofAny | ||||
? [ | ||||
{ | ||||
messageId: 'suggestPropertyKey', | ||||
fix: createPropertyKeyFixer(node), | ||||
}, | ||||
] | ||||
: [ | ||||
{ | ||||
messageId: 'suggestUnknown', | ||||
fix: fixer => fixer.replaceText(node, 'unknown'), | ||||
}, | ||||
{ | ||||
messageId: 'suggestNever', | ||||
fix: fixer => fixer.replaceText(node, 'never'), | ||||
}, | ||||
], | ||||
}` | ✗ |
Functions¶
isNodeValidFunction(node: TSESTree.Node): boolean
¶
Code
function isNodeValidFunction(node: TSESTree.Node): boolean {
return [
AST_NODE_TYPES.ArrowFunctionExpression, // const x = (...args: any[]) => {};
AST_NODE_TYPES.FunctionDeclaration, // function f(...args: any[]) {}
AST_NODE_TYPES.FunctionExpression, // const x = function(...args: any[]) {};
AST_NODE_TYPES.TSCallSignatureDeclaration, // type T = {(...args: any[]): unknown};
AST_NODE_TYPES.TSConstructorType, // type T = new (...args: any[]) => unknown
AST_NODE_TYPES.TSConstructSignatureDeclaration, // type T = {new (...args: any[]): unknown};
AST_NODE_TYPES.TSDeclareFunction, // declare function _8(...args: any[]): unknown;
AST_NODE_TYPES.TSEmptyBodyFunctionExpression, // declare class A { f(...args: any[]): unknown; }
AST_NODE_TYPES.TSFunctionType, // type T = (...args: any[]) => unknown;
AST_NODE_TYPES.TSMethodSignature, // type T = {f(...args: any[]): unknown};
].includes(node.type);
}
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
[ AST_NODE_TYPES.ArrowFunctionExpression, // const x = (...args: any[]) => {}; AST_NODE_TYPES.FunctionDeclaration, // function f(...args: any[]) {} AST_NODE_TYPES.FunctionExpression, // const x = function(...args: any[]) {}; AST_NODE_TYPES.TSCallSignatureDeclaration, // type T = {(...args: any[]): unknown}; AST_NODE_TYPES.TSConstructorType, // type T = new (...args: any[]) => unknown AST_NODE_TYPES.TSConstructSignatureDeclaration, // type T = {new (...args: any[]): unknown}; AST_NODE_TYPES.TSDeclareFunction, // declare function _8(...args: any[]): unknown; AST_NODE_TYPES.TSEmptyBodyFunctionExpression, // declare class A { f(...args: any[]): unknown; } AST_NODE_TYPES.TSFunctionType, // type T = (...args: any[]) => unknown; AST_NODE_TYPES.TSMethodSignature, // type T = {f(...args: any[]): unknown}; ].includes
isNodeRestElementInFunction(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
isNodeValidFunction
isNodeReadonlyTSTypeOperator(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
isNodeValidArrayTSTypeReference(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
['Array', 'ReadonlyArray'].includes
isNodeValidTSType(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
isNodeReadonlyTSTypeOperator
isNodeValidArrayTSTypeReference
isGreatGrandparentRestElement(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
isNodeRestElementInFunction
isGreatGreatGrandparentRestElement(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
isNodeValidTSType
isNodeRestElementInFunction
isNodeDescendantOfRestElementInFunction(node: TSESTree.Node): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
isGreatGrandparentRestElement
isGreatGreatGrandparentRestElement
isNodeWithinKeyofAny(node: TSESTree.TSAnyKeyword): boolean
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.TSAnyKeyword
- Return Type:
boolean
createPropertyKeyFixer(node: TSESTree.TSAnyKeyword): (fixer: TSESLint.RuleFixer) => any
¶
Code
-
JSDoc:
-
Parameters:
node: TSESTree.TSAnyKeyword
- Return Type:
(fixer: TSESLint.RuleFixer) => any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText
fix(fixer: any): any
¶
- Parameters:
fixer: any
- Return Type:
any
- Calls:
fixer.replaceText