mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-04 17:07:49 +00:00
Bump to v3.7.0.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import getLength from '../internal/getLength';
|
||||
import isArguments from './isArguments';
|
||||
import isArray from './isArray';
|
||||
import isFunction from './isFunction';
|
||||
@@ -37,7 +38,7 @@ function isEmpty(value) {
|
||||
if (value == null) {
|
||||
return true;
|
||||
}
|
||||
var length = value.length;
|
||||
var length = getLength(value);
|
||||
if (isLength(length) && (isArray(value) || isString(value) || isArguments(value) ||
|
||||
(isObjectLike(value) && isFunction(value.splice)))) {
|
||||
return !length;
|
||||
|
||||
@@ -20,7 +20,7 @@ import isStrictComparable from '../internal/isStrictComparable';
|
||||
* @category Lang
|
||||
* @param {*} value The value to compare.
|
||||
* @param {*} other The other value to compare.
|
||||
* @param {Function} [customizer] The function to customize comparing values.
|
||||
* @param {Function} [customizer] The function to customize value comparisons.
|
||||
* @param {*} [thisArg] The `this` binding of `customizer`.
|
||||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
||||
* @example
|
||||
@@ -51,7 +51,7 @@ function isEqual(value, other, customizer, thisArg) {
|
||||
return value === other;
|
||||
}
|
||||
var result = customizer ? customizer(value, other) : undefined;
|
||||
return typeof result == 'undefined' ? baseIsEqual(value, other, customizer) : !!result;
|
||||
return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
|
||||
}
|
||||
|
||||
export default isEqual;
|
||||
|
||||
@@ -21,7 +21,7 @@ import toObject from '../internal/toObject';
|
||||
* @category Lang
|
||||
* @param {Object} object The object to inspect.
|
||||
* @param {Object} source The object of property values to match.
|
||||
* @param {Function} [customizer] The function to customize comparing values.
|
||||
* @param {Function} [customizer] The function to customize value comparisons.
|
||||
* @param {*} [thisArg] The `this` binding of `customizer`.
|
||||
* @returns {boolean} Returns `true` if `object` is a match, else `false`.
|
||||
* @example
|
||||
@@ -54,12 +54,13 @@ function isMatch(object, source, customizer, thisArg) {
|
||||
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] && (typeof value != 'undefined' || (key in toObject(object)));
|
||||
return value === object[key] && (value !== undefined || (key in object));
|
||||
}
|
||||
}
|
||||
var values = Array(length),
|
||||
@@ -69,7 +70,7 @@ function isMatch(object, source, customizer, thisArg) {
|
||||
value = values[length] = source[props[length]];
|
||||
strictCompareFlags[length] = isStrictComparable(value);
|
||||
}
|
||||
return baseIsMatch(toObject(object), props, values, strictCompareFlags, customizer);
|
||||
return baseIsMatch(object, props, values, strictCompareFlags, customizer);
|
||||
}
|
||||
|
||||
export default isMatch;
|
||||
|
||||
@@ -5,7 +5,7 @@ import isObjectLike from '../internal/isObjectLike';
|
||||
var funcTag = '[object Function]';
|
||||
|
||||
/** Used to detect host constructors (Safari > 5). */
|
||||
var reHostCtor = /^\[object .+?Constructor\]$/;
|
||||
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
||||
|
||||
/** Used for native method references. */
|
||||
var objectProto = Object.prototype;
|
||||
@@ -20,7 +20,7 @@ var fnToString = Function.prototype.toString;
|
||||
var objToString = objectProto.toString;
|
||||
|
||||
/** Used to detect if a method is native. */
|
||||
var reNative = RegExp('^' +
|
||||
var reIsNative = RegExp('^' +
|
||||
escapeRegExp(objToString)
|
||||
.replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
||||
);
|
||||
@@ -46,9 +46,9 @@ function isNative(value) {
|
||||
return false;
|
||||
}
|
||||
if (objToString.call(value) == funcTag) {
|
||||
return reNative.test(fnToString.call(value));
|
||||
return reIsNative.test(fnToString.call(value));
|
||||
}
|
||||
return isObjectLike(value) && reHostCtor.test(value);
|
||||
return isObjectLike(value) && reIsHostCtor.test(value);
|
||||
}
|
||||
|
||||
export default isNative;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* // => false
|
||||
*/
|
||||
function isUndefined(value) {
|
||||
return typeof value == 'undefined';
|
||||
return value === undefined;
|
||||
}
|
||||
|
||||
export default isUndefined;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import arrayCopy from '../internal/arrayCopy';
|
||||
import getLength from '../internal/getLength';
|
||||
import isLength from '../internal/isLength';
|
||||
import values from '../object/values';
|
||||
|
||||
@@ -18,7 +19,7 @@ import values from '../object/values';
|
||||
* // => [2, 3]
|
||||
*/
|
||||
function toArray(value) {
|
||||
var length = value ? value.length : 0;
|
||||
var length = value ? getLength(value) : 0;
|
||||
if (!isLength(length)) {
|
||||
return values(value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user