@@ -53,36 +53,41 @@ function getNodeIdentifierText(
53
53
return undefined ;
54
54
}
55
55
56
- const identifierText =
57
- isIdentifier ( node ) || isPrivateIdentifier ( node )
58
- ? node . name
59
- : hasID ( node ) && isDefined ( node . id )
60
- ? getNodeIdentifierText ( node . id , context )
61
- : hasKey ( node ) && isDefined ( node . key )
62
- ? getNodeIdentifierText ( node . key , context )
63
- : isAssignmentExpression ( node )
64
- ? getNodeIdentifierText ( node . left , context )
65
- : isMemberExpression ( node )
66
- ? `${ getNodeIdentifierText ( node . object , context ) } .${ getNodeIdentifierText (
67
- node . property ,
68
- context ,
69
- ) } `
70
- : isThisExpression ( node )
71
- ? "this"
72
- : isUnaryExpression ( node )
73
- ? getNodeIdentifierText ( node . argument , context )
74
- : isTSTypeAnnotation ( node )
75
- ? context . sourceCode
76
- . getText ( node . typeAnnotation as TSESTree . Node )
77
- . replaceAll ( / \s + / gmu, "" )
78
- : isTSAsExpression ( node ) ||
79
- isTSNonNullExpression ( node ) ||
80
- isChainExpression ( node )
81
- ? getNodeIdentifierText ( node . expression , context )
82
- : null ;
56
+ let m_identifierText : string | undefined | null = null ;
83
57
84
- if ( identifierText !== null ) {
85
- return identifierText ;
58
+ /* eslint-disable functional/no-conditional-statements, functional/no-expression-statements */
59
+ if ( isIdentifier ( node ) || isPrivateIdentifier ( node ) ) {
60
+ m_identifierText = node . name ;
61
+ } else if ( hasID ( node ) && isDefined ( node . id ) ) {
62
+ m_identifierText = getNodeIdentifierText ( node . id , context ) ;
63
+ } else if ( hasKey ( node ) && isDefined ( node . key ) ) {
64
+ m_identifierText = getNodeIdentifierText ( node . key , context ) ;
65
+ } else if ( isAssignmentExpression ( node ) ) {
66
+ m_identifierText = getNodeIdentifierText ( node . left , context ) ;
67
+ } else if ( isMemberExpression ( node ) ) {
68
+ m_identifierText = `${ getNodeIdentifierText ( node . object , context ) } .${ getNodeIdentifierText (
69
+ node . property ,
70
+ context ,
71
+ ) } `;
72
+ } else if ( isThisExpression ( node ) ) {
73
+ m_identifierText = "this" ;
74
+ } else if ( isUnaryExpression ( node ) ) {
75
+ m_identifierText = getNodeIdentifierText ( node . argument , context ) ;
76
+ } else if ( isTSTypeAnnotation ( node ) ) {
77
+ m_identifierText = context . sourceCode
78
+ . getText ( node . typeAnnotation as TSESTree . Node )
79
+ . replaceAll ( / \s + / gmu, "" ) ;
80
+ } else if (
81
+ isTSAsExpression ( node ) ||
82
+ isTSNonNullExpression ( node ) ||
83
+ isChainExpression ( node )
84
+ ) {
85
+ m_identifierText = getNodeIdentifierText ( node . expression , context ) ;
86
+ }
87
+ /* eslint-enable functional/no-conditional-statements, functional/no-expression-statements */
88
+
89
+ if ( m_identifierText !== null ) {
90
+ return m_identifierText ;
86
91
}
87
92
88
93
const keyInObjectExpression = getKeyOfValueInObjectExpression ( node ) ;
0 commit comments