| 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;
 
 
  |