| 123456789101112131415161718192021222324252627282930313233 | var baseIsEqual = require('./_baseIsEqual'),    get = require('./get'),    hasIn = require('./hasIn'),    isKey = require('./_isKey'),    isStrictComparable = require('./_isStrictComparable'),    matchesStrictComparable = require('./_matchesStrictComparable'),    toKey = require('./_toKey');/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1,    COMPARE_UNORDERED_FLAG = 2;/** * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. * * @private * @param {string} path The path of the property to get. * @param {*} srcValue The value to match. * @returns {Function} Returns the new spec function. */function baseMatchesProperty(path, srcValue) {  if (isKey(path) && isStrictComparable(srcValue)) {    return matchesStrictComparable(toKey(path), srcValue);  }  return function(object) {    var objValue = get(object, path);    return (objValue === undefined && objValue === srcValue)      ? hasIn(object, path)      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);  };}module.exports = baseMatchesProperty;
 |