📄 no-unused-private-class-members¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 1 |
| 📦 Imports | 3 |
| 📑 Type Aliases | 2 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/eslint-plugin/src/rules/no-unused-private-class-members.ts
📤 Default Export¶
| Property | Value |
|---|---|
name |
'no-unused-private-class-members' |
meta.type |
'problem' |
meta.docs.description |
'Disallow unused private class members' |
meta.docs.extendsBaseRule |
true |
meta.docs.requiresTypeChecking |
false |
meta.messages.unusedPrivateClassMember |
"Private class member '{{classMemberName}}' is defined but never used." |
meta.schema |
[] |
defaultOptions |
[] |
Entry point: create — documented under Functions.
📦 Imports¶
| Name | Source |
|---|---|
ESLintUtils |
@typescript-eslint/utils |
createRule |
../util |
analyzeClassMemberUsage |
../util/class-scope-analyzer/classScopeAnalyzer |
Functions¶
create(context: any): { 'Program:exit'(node: any): void; }¶
Parameters:
contextany
Returns: { 'Program:exit'(node: any): void; }
Calls:
analyzeClassMemberUsage (from ../util/class-scope-analyzer/classScopeAnalyzer)ESLintUtils.nullThrowsresult.valuesclassScope.members.instance.valuesclassScope.members.static.valuesmember.isPrivatemember.isHashPrivatemember.isUsedcontext.report
Code
create(context) {
return {
'Program:exit'(node) {
const result = analyzeClassMemberUsage(
node,
ESLintUtils.nullThrows(
context.sourceCode.scopeManager,
'Missing required scope manager',
),
);
for (const classScope of result.values()) {
for (const member of [
...classScope.members.instance.values(),
...classScope.members.static.values(),
]) {
if (
(!member.isPrivate() && !member.isHashPrivate()) ||
member.isUsed()
) {
continue;
}
context.report({
node: member.nameNode,
messageId: 'unusedPrivateClassMember',
data: { classMemberName: member.name },
});
}
}
},
};
}
Type Aliases¶
Options¶
MessageIds¶
Generated by Syntax Scribe