1 | export default function isReference ( node, parent ) {
|
2 | if ( node.type === 'MemberExpression' ) {
|
3 | return !node.computed && isReference( node.object, node );
|
4 | }
|
5 |
|
6 | if ( node.type === 'Identifier' ) {
|
7 |
|
8 | if ( parent.type === 'MemberExpression' ) return parent.computed || node === parent.object;
|
9 |
|
10 |
|
11 | if ( parent.type === 'Property' && node !== parent.value ) return false;
|
12 |
|
13 |
|
14 | if ( parent.type === 'MethodDefinition' ) return false;
|
15 |
|
16 |
|
17 | if ( parent.type === 'ExportSpecifier' && node !== parent.local ) return;
|
18 |
|
19 | return true;
|
20 | }
|
21 | }
|