23 lines
		
	
	
		
			710 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			710 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var baseIsMatch = require('./_baseIsMatch'), | ||
|  |     getMatchData = require('./_getMatchData'), | ||
|  |     matchesStrictComparable = require('./_matchesStrictComparable'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * The base implementation of `_.matches` which doesn't clone `source`. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {Object} source The object of property values to match. | ||
|  |  * @returns {Function} Returns the new spec function. | ||
|  |  */ | ||
|  | function baseMatches(source) { | ||
|  |   var matchData = getMatchData(source); | ||
|  |   if (matchData.length == 1 && matchData[0][2]) { | ||
|  |     return matchesStrictComparable(matchData[0][0], matchData[0][1]); | ||
|  |   } | ||
|  |   return function(object) { | ||
|  |     return object === source || baseIsMatch(object, source, matchData); | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = baseMatches; |