basant307/AI_Governance_Project
048
1var baseIsEqual = require('./_baseIsEqual'),2 get = require('./get'),3 hasIn = require('./hasIn'),4 isKey = require('./_isKey'),5 isStrictComparable = require('./_isStrictComparable'),6 matchesStrictComparable = require('./_matchesStrictComparable'),7 toKey = require('./_toKey');8 9/** Used to compose bitmasks for value comparisons. */10var COMPARE_PARTIAL_FLAG = 1,11 COMPARE_UNORDERED_FLAG = 2;12 13/**14 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.15 *16 * @private17 * @param {string} path The path of the property to get.18 * @param {*} srcValue The value to match.19 * @returns {Function} Returns the new spec function.20 */21function baseMatchesProperty(path, srcValue) {22 if (isKey(path) && isStrictComparable(srcValue)) {23 return matchesStrictComparable(toKey(path), srcValue);24 }25 return function(object) {26 var objValue = get(object, path);27 return (objValue === undefined && objValue === srcValue)28 ? hasIn(object, path)29 : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);30 };31}32 33module.exports = baseMatchesProperty;34 