⬅️ Back to Table of Contents
📄 no-non-null-asserted-nullish-coalescing.ts
📊 Analysis Summary
Metric |
Count |
🔧 Functions |
2 |
📦 Imports |
8 |
📊 Variables & Constants |
2 |
📚 Table of Contents
🛠️ File Location:
📂 packages/eslint-plugin/src/rules/no-non-null-asserted-nullish-coalescing.ts
📦 Imports
Name |
Source |
Definition |
@typescript-eslint/scope-manager |
TSESLint |
@typescript-eslint/utils |
DefinitionType |
@typescript-eslint/scope-manager |
ASTUtils |
@typescript-eslint/utils |
TSESTree |
@typescript-eslint/utils |
createRule |
../util |
nullThrows |
../util |
NullThrowsReasons |
../util |
Variables & Constants
Name |
Type |
Kind |
Value |
Exported |
variableDeclarator |
any |
const |
definition.node |
✗ |
identifier |
any |
const |
node.expression |
✗ |
Functions
hasAssignmentBeforeNode(variable: TSESLint.Scope.Variable, node: TSESTree.Node): boolean
Code
function hasAssignmentBeforeNode(
variable: TSESLint.Scope.Variable,
node: TSESTree.Node,
): boolean {
return (
variable.references.some(
ref => ref.isWrite() && ref.identifier.range[1] < node.range[1],
) ||
variable.defs.some(
def =>
isDefinitionWithAssignment(def) && def.node.range[1] < node.range[1],
)
);
}
- Parameters:
variable: TSESLint.Scope.Variable
node: TSESTree.Node
- Return Type:
boolean
- Calls:
variable.references.some
ref.isWrite
variable.defs.some
isDefinitionWithAssignment
isDefinitionWithAssignment(definition: Definition): boolean
Code
function isDefinitionWithAssignment(definition: Definition): boolean {
if (definition.type !== DefinitionType.Variable) {
return false;
}
const variableDeclarator = definition.node;
return variableDeclarator.definite || variableDeclarator.init != null;
}
- Parameters:
definition: Definition
- Return Type:
boolean