| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.default = isBinding; |
| |
| var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| function isBinding(node, parent, grandparent) { |
| if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { |
| return false; |
| } |
| |
| const keys = _getBindingIdentifiers.default.keys[parent.type]; |
| |
| if (keys) { |
| for (let i = 0; i < keys.length; i++) { |
| const key = keys[i]; |
| const val = parent[key]; |
| |
| if (Array.isArray(val)) { |
| if (val.indexOf(node) >= 0) return true; |
| } else { |
| if (val === node) return true; |
| } |
| } |
| } |
| |
| return false; |
| } |