123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = isReferenced;
-
- function isReferenced(node, parent, grandparent) {
- switch (parent.type) {
- case "MemberExpression":
- case "JSXMemberExpression":
- case "OptionalMemberExpression":
- if (parent.property === node) {
- return !!parent.computed;
- }
-
- return parent.object === node;
-
- case "VariableDeclarator":
- return parent.init === node;
-
- case "ArrowFunctionExpression":
- return parent.body === node;
-
- case "PrivateName":
- return false;
-
- case "ClassMethod":
- case "ClassPrivateMethod":
- case "ObjectMethod":
- if (parent.params.includes(node)) {
- return false;
- }
-
- case "ObjectProperty":
- case "ClassProperty":
- case "ClassPrivateProperty":
- if (parent.key === node) {
- return !!parent.computed;
- }
-
- if (parent.value === node) {
- return !grandparent || grandparent.type !== "ObjectPattern";
- }
-
- return true;
-
- case "ClassDeclaration":
- case "ClassExpression":
- return parent.superClass === node;
-
- case "AssignmentExpression":
- return parent.right === node;
-
- case "AssignmentPattern":
- return parent.right === node;
-
- case "LabeledStatement":
- return false;
-
- case "CatchClause":
- return false;
-
- case "RestElement":
- return false;
-
- case "BreakStatement":
- case "ContinueStatement":
- return false;
-
- case "FunctionDeclaration":
- case "FunctionExpression":
- return false;
-
- case "ExportNamespaceSpecifier":
- case "ExportDefaultSpecifier":
- return false;
-
- case "ExportSpecifier":
- if (grandparent != null && grandparent.source) {
- return false;
- }
-
- return parent.local === node;
-
- case "ImportDefaultSpecifier":
- case "ImportNamespaceSpecifier":
- case "ImportSpecifier":
- return false;
-
- case "JSXAttribute":
- return false;
-
- case "ObjectPattern":
- case "ArrayPattern":
- return false;
-
- case "MetaProperty":
- return false;
-
- case "ObjectTypeProperty":
- return parent.key !== node;
-
- case "TSEnumMember":
- return parent.id !== node;
-
- case "TSPropertySignature":
- if (parent.key === node) {
- return !!parent.computed;
- }
-
- return true;
- }
-
- return true;
- }
|