Bump to v3.9.0.

This commit is contained in:
jdalton
2015-05-07 01:47:27 -07:00
parent 53c14e5b9b
commit f84f83a4a5
88 changed files with 1022 additions and 1098 deletions

View File

@@ -1,8 +1,6 @@
var baseIsMatch = require('../internal/baseIsMatch'),
bindCallback = require('../internal/bindCallback'),
isStrictComparable = require('../internal/isStrictComparable'),
keys = require('../object/keys'),
toObject = require('../internal/toObject');
getMatchData = require('../internal/getMatchData');
/**
* Performs a deep comparison between `object` and `source` to determine if
@@ -44,33 +42,8 @@ var baseIsMatch = require('../internal/baseIsMatch'),
* // => true
*/
function isMatch(object, source, customizer, thisArg) {
var props = keys(source),
length = props.length;
if (!length) {
return true;
}
if (object == null) {
return false;
}
customizer = typeof customizer == 'function' && bindCallback(customizer, thisArg, 3);
object = toObject(object);
if (!customizer && length == 1) {
var key = props[0],
value = source[key];
if (isStrictComparable(value)) {
return value === object[key] && (value !== undefined || (key in object));
}
}
var values = Array(length),
strictCompareFlags = Array(length);
while (length--) {
value = values[length] = source[props[length]];
strictCompareFlags[length] = isStrictComparable(value);
}
return baseIsMatch(object, props, values, strictCompareFlags, customizer);
customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
return baseIsMatch(object, getMatchData(source), customizer);
}
module.exports = isMatch;