import baseIsEqual from "./_baseIsEqual.js";
import get from "./get.js";
import hasIn from "./hasIn.js";
import isKey from "./_isKey.js";
import isStrictComparable from "./_isStrictComparable.js";
import matchesStrictComparable from "./_matchesStrictComparable.js";
import toKey from "./_toKey.js";
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
function baseMatchesProperty(path, srcValue) {
  if (isKey(path) && isStrictComparable(srcValue)) {
    return matchesStrictComparable(toKey(path), srcValue);
  }
  return function(object) {
    var objValue = get(object, path);
    return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
  };
}
export {
  baseMatchesProperty as default
};
//# sourceMappingURL=_baseMatchesProperty.js.map
