@@ -48,29 +48,6 @@ type InferMessageIdsTypeFromRule<T> = T extends TSESLint.RuleModule<
48
48
? TMessageIds
49
49
: unknown ;
50
50
51
- /**
52
- * Gets a string representation of the name of the index signature.
53
- */
54
- export function getNameFromIndexSignature (
55
- node : TSESTree . TSIndexSignature ,
56
- ) : string {
57
- const propName : TSESTree . PropertyName | undefined = node . parameters . find (
58
- ( parameter : TSESTree . Parameter ) : parameter is TSESTree . Identifier =>
59
- parameter . type === AST_NODE_TYPES . Identifier ,
60
- ) ;
61
- return propName ? getNameFromPropertyName ( propName ) : '(index signature)' ;
62
- }
63
-
64
- /**
65
- * Gets a string name representation of the given PropertyName node
66
- */
67
- function getNameFromPropertyName ( propertyName : TSESTree . PropertyName ) : string {
68
- if ( propertyName . type === AST_NODE_TYPES . Identifier ) {
69
- return propertyName . name ;
70
- }
71
- return `${ propertyName . value } ` ;
72
- }
73
-
74
51
/** Return true if both parameters are equal. */
75
52
type Equal < T > = ( a : T , b : T ) => boolean ;
76
53
@@ -102,31 +79,51 @@ function findFirstResult<T, U>(
102
79
return undefined ;
103
80
}
104
81
82
+ /**
83
+ * Gets a string representation of the name of the index signature.
84
+ */
85
+ export function getNameFromIndexSignature (
86
+ node : TSESTree . TSIndexSignature ,
87
+ ) : string {
88
+ const propName : TSESTree . PropertyName | undefined = node . parameters . find (
89
+ ( parameter : TSESTree . Parameter ) : parameter is TSESTree . Identifier =>
90
+ parameter . type === AST_NODE_TYPES . Identifier ,
91
+ ) ;
92
+ return propName ? propName . name : '(index signature)' ;
93
+ }
94
+
105
95
/**
106
96
* Gets a string name representation of the name of the given MethodDefinition
107
97
* or ClassProperty node, with handling for computed property names.
108
98
*/
109
- function getNameFromClassMember (
110
- methodDefinition :
99
+ function getNameFromMember (
100
+ member :
111
101
| TSESTree . MethodDefinition
102
+ | TSESTree . TSMethodSignature
103
+ | TSESTree . TSAbstractMethodDefinition
112
104
| TSESTree . ClassProperty
113
- | TSESTree . TSAbstractMethodDefinition ,
105
+ | TSESTree . TSAbstractClassProperty
106
+ | TSESTree . Property
107
+ | TSESTree . TSPropertySignature ,
114
108
sourceCode : TSESLint . SourceCode ,
115
109
) : string {
116
- if ( keyCanBeReadAsPropertyName ( methodDefinition . key ) ) {
117
- return getNameFromPropertyName ( methodDefinition . key ) ;
110
+ if ( isLiteralOrIdentifier ( member . key ) ) {
111
+ if ( member . key . type === AST_NODE_TYPES . Identifier ) {
112
+ return member . key . name ;
113
+ }
114
+ return `${ member . key . value } ` ;
118
115
}
119
116
120
- return sourceCode . text . slice ( ...methodDefinition . key . range ) ;
117
+ return sourceCode . text . slice ( ...member . key . range ) ;
121
118
}
122
119
123
120
/**
124
121
* This covers both actual property names, as well as computed properties that are either
125
122
* an identifier or a literal at the top level.
126
123
*/
127
- function keyCanBeReadAsPropertyName (
124
+ function isLiteralOrIdentifier (
128
125
node : TSESTree . Expression ,
129
- ) : node is TSESTree . PropertyName {
126
+ ) : node is TSESTree . Literal | TSESTree . Identifier {
130
127
return (
131
128
node . type === AST_NODE_TYPES . Literal ||
132
129
node . type === AST_NODE_TYPES . Identifier
@@ -147,11 +144,11 @@ export {
147
144
Equal ,
148
145
ExcludeKeys ,
149
146
findFirstResult ,
150
- getNameFromClassMember ,
151
- getNameFromPropertyName ,
147
+ getNameFromMember ,
152
148
InferMessageIdsTypeFromRule ,
153
149
InferOptionsTypeFromRule ,
154
150
isDefinitionFile ,
151
+ isLiteralOrIdentifier ,
155
152
RequireKeys ,
156
153
upperCaseFirst ,
157
154
} ;
0 commit comments