| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | var baseClone = require('./_baseClone'),    baseMatchesProperty = require('./_baseMatchesProperty');/** Used to compose bitmasks for cloning. */var CLONE_DEEP_FLAG = 1;/** * Creates a function that performs a partial deep comparison between the * value at `path` of a given object to `srcValue`, returning `true` if the * object value is equivalent, else `false`. * * **Note:** Partial comparisons will match empty array and empty object * `srcValue` values against any array or object value, respectively. See * `_.isEqual` for a list of supported value comparisons. * * **Note:** Multiple values can be checked by combining several matchers * using `_.overSome` * * @static * @memberOf _ * @since 3.2.0 * @category Util * @param {Array|string} path The path of the property to get. * @param {*} srcValue The value to match. * @returns {Function} Returns the new spec function. * @example * * var objects = [ *   { 'a': 1, 'b': 2, 'c': 3 }, *   { 'a': 4, 'b': 5, 'c': 6 } * ]; * * _.find(objects, _.matchesProperty('a', 4)); * // => { 'a': 4, 'b': 5, 'c': 6 } * * // Checking for several possible values * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] */function matchesProperty(path, srcValue) {  return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));}module.exports = matchesProperty;
 |