“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;

}