📄 no-extra-non-null-assertion¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 2 |
| 📦 Imports | 2 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/eslint-plugin/src/rules/no-extra-non-null-assertion.ts
📤 Default Export¶
| Property | Value |
|---|---|
name |
'no-extra-non-null-assertion' |
meta.type |
'problem' |
meta.docs.description |
'Disallow extra non-null assertions' |
meta.docs.recommended |
'recommended' |
meta.fixable |
'code' |
meta.messages.noExtraNonNullAssertion |
'Forbidden extra non-null assertion.' |
meta.schema |
[] |
defaultOptions |
[] |
Entry point: create — documented under Functions.
📦 Imports¶
| Name | Source |
|---|---|
TSESTree |
@typescript-eslint/utils |
createRule |
../util |
Functions¶
create(context: any): { 'CallExpression[optional = true] > TSNonNullExpression.ca…¶
Parameters:
contextany
Returns: { 'CallExpression[optional = true] > TSNonNullExpression.callee': (node: TSESTree.TSNonNullExpression) => void; 'MemberExpression[optional = true] > TSNonNullExpression.object': (node: TSESTree.TSNonNullExpression) => void; 'TSNonNullExpression > TSNonNullExpression': (node: TSESTree.TSNonNullExpression) => void; }
Calls:
context.reportfixer.removeRange
Code
create(context) {
function checkExtraNonNullAssertion(
node: TSESTree.TSNonNullExpression,
): void {
context.report({
node,
messageId: 'noExtraNonNullAssertion',
fix(fixer) {
return fixer.removeRange([node.range[1] - 1, node.range[1]]);
},
});
}
return {
'CallExpression[optional = true] > TSNonNullExpression.callee':
checkExtraNonNullAssertion,
'MemberExpression[optional = true] > TSNonNullExpression.object':
checkExtraNonNullAssertion,
'TSNonNullExpression > TSNonNullExpression': checkExtraNonNullAssertion,
};
}
Internal helpers¶
Declared inside another function in this file.
checkExtraNonNullAssertion(node: TSESTree.TSNonNullExpression): void¶
Parameters:
nodeTSESTree.TSNonNullExpression
Returns: void
Calls:
context.reportfixer.removeRange
Code
Generated by Syntax Scribe