"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _baseIsEqual = require("./_baseIsEqual3.cjs");
const get = require("./get3.cjs");
const hasIn = require("./hasIn3.cjs");
const _isKey = require("./_isKey3.cjs");
const _isStrictComparable = require("./_isStrictComparable3.cjs");
const _matchesStrictComparable = require("./_matchesStrictComparable3.cjs");
const _toKey = require("./_toKey3.cjs");
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
function baseMatchesProperty(path, srcValue) {
  if (_isKey.default(path) && _isStrictComparable.default(srcValue)) {
    return _matchesStrictComparable.default(_toKey.default(path), srcValue);
  }
  return function(object) {
    var objValue = get.default(object, path);
    return objValue === void 0 && objValue === srcValue ? hasIn.default(object, path) : _baseIsEqual.default(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
  };
}
exports.default = baseMatchesProperty;
//# sourceMappingURL=_baseMatchesProperty3.cjs.map
