@@ -93,31 +93,34 @@ export default (
93
93
}
94
94
}
95
95
96
- ts . findAncestor ( node , ( n ) => {
97
- if ( ts . isVariableDeclaration ( n ) && n . initializer && position < n . initializer . pos ) {
98
- targetNode = n . initializer
99
- return true
100
- }
101
- if ( ts . isCallExpression ( n ) && position < n . expression . end ) {
102
- const pos = n . expression . end + 1
103
- targetNode = [ pos , pos ]
104
- return true
105
- }
106
- if ( ts . isArrowFunction ( n ) && position < n . equalsGreaterThanToken . end ) {
107
- targetNode = n . body
108
- return true
109
- }
110
- if ( ( ts . isForStatement ( n ) || ts . isForOfStatement ( n ) || ts . isForInStatement ( n ) || ts . isWhileStatement ( n ) ) && position < n . statement . pos ) {
111
- targetNode = n . statement
112
- return true
113
- }
114
- if ( ( ts . isIfStatement ( n ) ) && position < n . thenStatement . pos ) {
115
- targetNode = n . thenStatement
116
- return true
117
- }
118
- return false
119
- } )
96
+ if ( ! targetNode ) {
97
+ ts . findAncestor ( node , ( n ) => {
98
+ if ( ts . isVariableDeclaration ( n ) && n . initializer && position < n . initializer . pos ) {
99
+ targetNode = n . initializer
100
+ return true
101
+ }
102
+ if ( ts . isCallExpression ( n ) && position < n . expression . end ) {
103
+ const pos = n . expression . end + 1
104
+ targetNode = [ pos , pos ]
105
+ return true
106
+ }
107
+ if ( ts . isArrowFunction ( n ) && position < n . body . pos ) {
108
+ targetNode = n . body
109
+ return true
110
+ }
111
+ if ( ( ts . isForStatement ( n ) || ts . isForOfStatement ( n ) || ts . isForInStatement ( n ) || ts . isWhileStatement ( n ) ) && position < n . statement . pos ) {
112
+ targetNode = n . statement
113
+ return true
114
+ }
115
+ if ( ( ts . isIfStatement ( n ) ) && position < n . thenStatement . pos ) {
116
+ targetNode = n . thenStatement
117
+ return true
118
+ }
119
+ return false
120
+ } )
121
+ }
120
122
if ( targetNode && ! Array . isArray ( targetNode ) ) {
123
+ // maybe additional node handling in future
121
124
}
122
125
if ( targetNode ) {
123
126
return {
0 commit comments