Bump to v4.4.0.

This commit is contained in:
John-David Dalton
2016-04-12 23:55:57 -07:00
parent 04e08670ed
commit fb1f99d9d9
415 changed files with 36968 additions and 4619 deletions

View File

@@ -1,5 +1,5 @@
/**
* lodash 4.3.0 (Custom Build) <https://lodash.com/>
* lodash (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="npm" -o ./`
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
* Released under MIT license <https://lodash.com/license>
@@ -10,6 +10,9 @@ var baseFlatten = require('lodash._baseflatten'),
rest = require('lodash.rest'),
stringToPath = require('lodash._stringtopath');
/** Used as references for various `Number` constants. */
var INFINITY = 1 / 0;
/** `Object#toString` result references. */
var symbolTag = '[object Symbol]';
@@ -33,7 +36,7 @@ var objectToString = objectProto.toString;
* @private
* @param {Object} object The object to iterate over.
* @param {string[]} paths The property paths of elements to pick.
* @returns {Array} Returns the new array of picked elements.
* @returns {Array} Returns the picked elements.
*/
function baseAt(object, paths) {
var index = -1,
@@ -62,7 +65,7 @@ function baseGet(object, path) {
length = path.length;
while (object != null && index < length) {
object = object[path[index++]];
object = object[toKey(path[index++])];
}
return (index && index == length) ? object : undefined;
}
@@ -87,13 +90,31 @@ function castPath(value) {
* @returns {boolean} Returns `true` if `value` is a property name, else `false`.
*/
function isKey(value, object) {
if (isArray(value)) {
return false;
}
var type = typeof value;
if (type == 'number' || type == 'symbol') {
if (type == 'number' || type == 'symbol' || type == 'boolean' ||
value == null || isSymbol(value)) {
return true;
}
return !isArray(value) &&
(isSymbol(value) || reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
(object != null && value in Object(object)));
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
(object != null && value in Object(object));
}
/**
* Converts `value` to a string key if it's not a string or symbol.
*
* @private
* @param {*} value The value to inspect.
* @returns {string|symbol} Returns the key.
*/
function toKey(value) {
if (typeof value == 'string' || isSymbol(value)) {
return value;
}
var result = (value + '');
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
}
/**
@@ -183,7 +204,7 @@ function isSymbol(value) {
* @category Object
* @param {Object} object The object to iterate over.
* @param {...(string|string[])} [paths] The property paths of elements to pick.
* @returns {Array} Returns the new array of picked elements.
* @returns {Array} Returns the picked values.
* @example
*
* var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };