mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 16:17:50 +00:00
Bump to v4.1.0.
This commit is contained in:
30
_baseMatches.js
Normal file
30
_baseMatches.js
Normal file
@@ -0,0 +1,30 @@
|
||||
var baseIsMatch = require('./_baseIsMatch'),
|
||||
getMatchData = require('./_getMatchData');
|
||||
|
||||
/**
|
||||
* 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 function.
|
||||
*/
|
||||
function baseMatches(source) {
|
||||
var matchData = getMatchData(source);
|
||||
if (matchData.length == 1 && matchData[0][2]) {
|
||||
var key = matchData[0][0],
|
||||
value = matchData[0][1];
|
||||
|
||||
return function(object) {
|
||||
if (object == null) {
|
||||
return false;
|
||||
}
|
||||
return object[key] === value &&
|
||||
(value !== undefined || (key in Object(object)));
|
||||
};
|
||||
}
|
||||
return function(object) {
|
||||
return object === source || baseIsMatch(object, source, matchData);
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = baseMatches;
|
||||
Reference in New Issue
Block a user