Bump to v4.1.0.

This commit is contained in:
John-David Dalton
2016-01-28 01:16:24 -08:00
parent 629caa8340
commit 7293d39642
435 changed files with 838 additions and 565 deletions

View File

@@ -1,4 +1,10 @@
define(['./isFunction', './isObjectLike', './keys', './size'], function(isFunction, isObjectLike, keys, size) {
define(['./isArguments', './isArray', './isArrayLike', './isFunction', './isString'], function(isArguments, isArray, isArrayLike, isFunction, isString) {
/** Used for built-in method references. */
var objectProto = Object.prototype;
/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
/**
* Checks if `value` is empty. A value is considered empty unless it's an
@@ -28,9 +34,16 @@ define(['./isFunction', './isObjectLike', './keys', './size'], function(isFuncti
* // => false
*/
function isEmpty(value) {
return (!isObjectLike(value) || isFunction(value.splice))
? !size(value)
: !keys(value).length;
if (isArrayLike(value) &&
(isArray(value) || isString(value) || isFunction(value.splice) || isArguments(value))) {
return !value.length;
}
for (var key in value) {
if (hasOwnProperty.call(value, key)) {
return false;
}
}
return true;
}
return isEmpty;