Bump to v3.9.0.

This commit is contained in:
jdalton
2015-05-17 22:50:59 -07:00
parent d7b2bedafc
commit 30daf83737
89 changed files with 527 additions and 567 deletions

View File

@@ -1,7 +1,5 @@
import baseIsMatch from './baseIsMatch';
import constant from '../utility/constant';
import isStrictComparable from './isStrictComparable';
import keys from '../object/keys';
import getMatchData from './getMatchData';
import toObject from './toObject';
/**
@@ -12,35 +10,20 @@ import toObject from './toObject';
* @returns {Function} Returns the new function.
*/
function baseMatches(source) {
var props = keys(source),
length = props.length;
var matchData = getMatchData(source);
if (matchData.length == 1 && matchData[0][2]) {
var key = matchData[0][0],
value = matchData[0][1];
if (!length) {
return constant(true);
}
if (length == 1) {
var key = props[0],
value = source[key];
if (isStrictComparable(value)) {
return function(object) {
if (object == null) {
return false;
}
return object[key] === value && (value !== undefined || (key in toObject(object)));
};
}
}
var values = Array(length),
strictCompareFlags = Array(length);
while (length--) {
value = source[props[length]];
values[length] = value;
strictCompareFlags[length] = isStrictComparable(value);
return function(object) {
if (object == null) {
return false;
}
return object[key] === value && (value !== undefined || (key in toObject(object)));
};
}
return function(object) {
return object != null && baseIsMatch(toObject(object), props, values, strictCompareFlags);
return baseIsMatch(object, matchData);
};
}