11'use strict' ; 
22
3- const  {  getDocsUrl,  ALL_QUERIES_METHODS  }  =  require ( '../utils' ) ; 
3+ const  {  findParent ,   getDocsUrl,  ALL_QUERIES_METHODS  }  =  require ( '../utils' ) ; 
44
55const  ALL_GET_BY_QUERIES  =  ALL_QUERIES_METHODS . map ( 
66  queryMethod  =>  `get${ queryMethod }  ` 
77) ; 
88
99const  findCallExpressionParent  =  node  => 
10-   node . type  ===  'CallExpression'  ?  node  :  findCallExpressionParent ( node . parent ) ; 
10+   findParent ( node ,   node   =>   node . type  ===  'CallExpression' ) ; 
1111
1212const  isValidQuery  =  ( node ,  customQueryNames  =  [ ] )  => 
1313  ALL_GET_BY_QUERIES . includes ( node . name )  || 
@@ -19,11 +19,17 @@ const isDirectlyCalledByFunction = node =>
1919const  isReturnedByArrowFunctionExpression  =  node  => 
2020  node . parent . type  ===  'ArrowFunctionExpression' ; 
2121
22- const  isDeclared  =  node  =>  node . parent . type  ===  'VariableDeclarator' ; 
22+ const  isDeclared  =  node  => 
23+   ! ! findParent ( node ,  node  =>  node . type  ===  'VariableDeclarator' ) ; 
2324
2425const  isReturnedByReturnStatement  =  node  => 
2526  node . parent . type  ===  'ReturnStatement' ; 
2627
28+ const  isInDestructuringStatement  =  node  => 
29+   ( node . parent . type  ===  'Property'  && 
30+     node . parent . parent . type  ===  'ObjectPattern' )  || 
31+   node . parent . type  ===  'ArrayPattern' ; 
32+ 
2733module . exports  =  { 
2834  meta : { 
2935    type : 'suggestion' , 
@@ -63,6 +69,7 @@ module.exports = {
6369
6470        if  ( 
6571          isValidQuery ( node ,  customQueryNames )  && 
72+           ! isInDestructuringStatement ( node )  && 
6673          ! isDirectlyCalledByFunction ( callExpressionNode )  && 
6774          ! isReturnedByArrowFunctionExpression ( callExpressionNode )  && 
6875          ! isDeclared ( callExpressionNode )  && 
0 commit comments