UNPKG

561 BPlain TextView Raw
1import * as t from '@babel/types';
2
3export default function isReferenced(node: t.Node, parent: t.Node) {
4 switch (parent.type) {
5 // yes: { [NODE]: '' }
6 // yes: { NODE }
7 // no: { NODE: '' }
8 case 'ObjectProperty':
9 return parent.value === node || parent.computed;
10
11 // no: break NODE;
12 // no: continue NODE;
13 case 'BreakStatement':
14 case 'ContinueStatement':
15 return false;
16
17 // yes: left = NODE;
18 // yes: NODE = right;
19 case 'AssignmentExpression':
20 return true;
21 }
22
23 return t.isReferenced(node, parent);
24}