@@ -5,17 +5,20 @@ import { queries } from "./queries";
55 * await someAsyncFunc() => someAsyncFunc()
66 * someElement as HTMLDivElement => someElement
77 *
8+ * @param {Object } context - Context for a rule
89 * @param {Object } expression - An expression node
910 * @returns {Object } - A node
1011 */
11- export function getInnerNodeFrom ( expression ) {
12+ export function getInnerNodeFrom ( context , expression ) {
1213 switch ( expression . type ) {
14+ case "Identifier" :
15+ return getAssignmentForIdentifier ( context , expression . name ) ;
1316 case "TSAsExpression" :
14- return getInnerNodeFrom ( expression . expression ) ;
17+ return getInnerNodeFrom ( context , expression . expression ) ;
1518 case "AwaitExpression" :
16- return getInnerNodeFrom ( expression . argument ) ;
19+ return getInnerNodeFrom ( context , expression . argument ) ;
1720 case "MemberExpression" :
18- return getInnerNodeFrom ( expression . object ) ;
21+ return getInnerNodeFrom ( context , expression . object ) ;
1922 default :
2023 return expression ;
2124 }
@@ -37,7 +40,7 @@ export function getAssignmentForIdentifier(context, identifierName) {
3740 let assignmentNode ;
3841 if ( init ) {
3942 // let foo = bar;
40- assignmentNode = getInnerNodeFrom ( init ) ;
43+ assignmentNode = getInnerNodeFrom ( context , init ) ;
4144 } else {
4245 // let foo;
4346 // foo = bar;
@@ -47,7 +50,7 @@ export function getAssignmentForIdentifier(context, identifierName) {
4750 if ( ! assignmentRef ) {
4851 return ;
4952 }
50- assignmentNode = getInnerNodeFrom ( assignmentRef . writeExpr ) ;
53+ assignmentNode = getInnerNodeFrom ( context , assignmentRef . writeExpr ) ;
5154 }
5255 return assignmentNode ;
5356}
@@ -61,10 +64,7 @@ export function getAssignmentForIdentifier(context, identifierName) {
6164 * @returns {Object } - Object with query, queryArg & isDTLQuery
6265 */
6366export function getQueryNodeFrom ( context , nodeWithValueProp ) {
64- const queryNode =
65- nodeWithValueProp . type === "Identifier"
66- ? getAssignmentForIdentifier ( context , nodeWithValueProp . name )
67- : getInnerNodeFrom ( nodeWithValueProp ) ;
67+ const queryNode = getInnerNodeFrom ( context , nodeWithValueProp ) ;
6868
6969 if ( ! queryNode || ! queryNode . callee ) {
7070 return {
0 commit comments