From d84610a41db70b073d2fbdbd36d7d12792cc9da3 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 2 Jun 2016 10:24:33 -0700 Subject: [PATCH] web: use object spread operator While the spread operator is not part of ES6, React also uses it for JSX. It makes sense for us to keep it in other parts of the codebase as well. --- mitmproxy/web/static/vendor.js | 905 +++++++++++++++------------------ web/.babelrc | 2 +- web/package.json | 1 + 3 files changed, 403 insertions(+), 505 deletions(-) diff --git a/mitmproxy/web/static/vendor.js b/mitmproxy/web/static/vendor.js index 4b2ff6bf8..efe6f2b4e 100644 --- a/mitmproxy/web/static/vendor.js +++ b/mitmproxy/web/static/vendor.js @@ -2116,15 +2116,13 @@ var KNOWN_STATICS = { }; module.exports = function hoistNonReactStatics(targetComponent, sourceComponent) { - if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components - var keys = Object.getOwnPropertyNames(sourceComponent); - for (var i=0; i + * lodash 4.11.2 (Custom Build) + * Build: `lodash -d -o ./foo/lodash.js` * Copyright jQuery Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 @@ -35739,7 +35730,7 @@ return jQuery; var undefined; /** Used as the semantic version number. */ - var VERSION = '4.12.0'; + var VERSION = '4.11.2'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -36183,6 +36174,30 @@ return jQuery; return accumulator; } + /** + * Creates a new array concatenating `array` with `other`. + * + * @private + * @param {Array} array The first array to concatenate. + * @param {Array} other The second array to concatenate. + * @returns {Array} Returns the new concatenated array. + */ + function arrayConcat(array, other) { + var index = -1, + length = array.length, + othIndex = -1, + othLength = other.length, + result = Array(length + othLength); + + while (++index < length) { + result[index] = array[index]; + } + while (++othIndex < othLength) { + result[index++] = other[othIndex]; + } + return result; + } + /** * A specialized version of `_.forEach` for arrays without support for * iteratee shorthands. @@ -36610,7 +36625,7 @@ return jQuery; * @private * @param {Object} object The object to query. * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. + * @returns {Object} Returns the new array of key-value pairs. */ function baseToPairs(object, props) { return arrayMap(props, function(key) { @@ -36623,7 +36638,7 @@ return jQuery; * * @private * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. + * @returns {Function} Returns the new function. */ function baseUnary(func) { return function(value) { @@ -36647,18 +36662,6 @@ return jQuery; }); } - /** - * Checks if a cache value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { - return cache.has(key); - } - /** * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol * that is not found in the character symbols. @@ -36815,11 +36818,11 @@ return jQuery; } /** - * Converts `map` to its key-value pairs. + * Converts `map` to an array. * * @private * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. + * @returns {Array} Returns the converted array. */ function mapToArray(map) { var index = -1, @@ -36857,11 +36860,11 @@ return jQuery; } /** - * Converts `set` to an array of its values. + * Converts `set` to an array. * * @private * @param {Object} set The set to convert. - * @returns {Array} Returns the values. + * @returns {Array} Returns the converted array. */ function setToArray(set) { var index = -1, @@ -36873,23 +36876,6 @@ return jQuery; return result; } - /** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ - function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; - } - /** * Gets the number of symbols in `string`. * @@ -37143,10 +37129,10 @@ return jQuery; * `floor`, `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, * `forOwnRight`, `get`, `gt`, `gte`, `has`, `hasIn`, `head`, `identity`, * `includes`, `indexOf`, `inRange`, `invoke`, `isArguments`, `isArray`, - * `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, `isBoolean`, - * `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isEqualWith`, - * `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, `isMap`, - * `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, `isNumber`, + * `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, `isBoolean`, `isBuffer`, + * `isDate`, `isElement`, `isEmpty`, `isEqual`, `isEqualWith`, `isError`, + * `isFinite`, `isFunction`, `isInteger`, `isLength`, `isMap`, `isMatch`, + * `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, `isNumber`, * `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, `isSafeInteger`, * `isSet`, `isString`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`, * `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`, @@ -37155,9 +37141,9 @@ return jQuery; * `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`, `round`, * `runInContext`, `sample`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`, * `sortedIndexBy`, `sortedLastIndex`, `sortedLastIndexBy`, `startCase`, - * `startsWith`, `subtract`, `sum`, `sumBy`, `template`, `times`, `toFinite`, - * `toInteger`, `toJSON`, `toLength`, `toLower`, `toNumber`, `toSafeInteger`, - * `toString`, `toUpper`, `trim`, `trimEnd`, `trimStart`, `truncate`, `unescape`, + * `startsWith`, `subtract`, `sum`, `sumBy`, `template`, `times`, `toInteger`, + * `toJSON`, `toLength`, `toLower`, `toNumber`, `toSafeInteger`, `toString`, + * `toUpper`, `trim`, `trimEnd`, `trimStart`, `truncate`, `unescape`, * `uniqueId`, `upperCase`, `upperFirst`, `value`, and `words` * * @name _ @@ -37417,212 +37403,64 @@ return jQuery; * * @private * @constructor - * @param {Array} [entries] The key-value pairs to cache. + * @returns {Object} Returns the new hash object. */ - function Hash(entries) { - var index = -1, - length = entries ? entries.length : 0; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - } + function Hash() {} /** * Removes `key` and its value from the hash. * * @private - * @name delete - * @memberOf Hash * @param {Object} hash The hash to modify. * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ - function hashDelete(key) { - return this.has(key) && delete this.__data__[key]; + function hashDelete(hash, key) { + return hashHas(hash, key) && delete hash[key]; } /** * Gets the hash value for `key`. * * @private - * @name get - * @memberOf Hash + * @param {Object} hash The hash to query. * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ - function hashGet(key) { - var data = this.__data__; + function hashGet(hash, key) { if (nativeCreate) { - var result = data[key]; + var result = hash[key]; return result === HASH_UNDEFINED ? undefined : result; } - return hasOwnProperty.call(data, key) ? data[key] : undefined; + return hasOwnProperty.call(hash, key) ? hash[key] : undefined; } /** * Checks if a hash value for `key` exists. * * @private - * @name has - * @memberOf Hash + * @param {Object} hash The hash to query. * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ - function hashHas(key) { - var data = this.__data__; - return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); + function hashHas(hash, key) { + return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key); } /** * Sets the hash `key` to `value`. * * @private - * @name set - * @memberOf Hash + * @param {Object} hash The hash to modify. * @param {string} key The key of the value to set. * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. */ - function hashSet(key, value) { - var data = this.__data__; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; + function hashSet(hash, key, value) { + hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; } - // Add methods to `Hash`. - Hash.prototype.clear = hashClear; - Hash.prototype['delete'] = hashDelete; - Hash.prototype.get = hashGet; - Hash.prototype.has = hashHas; - Hash.prototype.set = hashSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function ListCache(entries) { - var index = -1, - length = entries ? entries.length : 0; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ - function listCacheClear() { - this.__data__ = []; - } - - /** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - return true; - } - - /** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; - } - - /** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; - } - - /** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; - } - - // Add methods to `ListCache`. - ListCache.prototype.clear = listCacheClear; - ListCache.prototype['delete'] = listCacheDelete; - ListCache.prototype.get = listCacheGet; - ListCache.prototype.has = listCacheHas; - ListCache.prototype.set = listCacheSet; + // Avoid inheriting from `Object.prototype` when possible. + Hash.prototype = nativeCreate ? nativeCreate(null) : objectProto; /*------------------------------------------------------------------------*/ @@ -37631,15 +37469,15 @@ return jQuery; * * @private * @constructor - * @param {Array} [entries] The key-value pairs to cache. + * @param {Array} [values] The values to cache. */ - function MapCache(entries) { + function MapCache(values) { var index = -1, - length = entries ? entries.length : 0; + length = values ? values.length : 0; this.clear(); while (++index < length) { - var entry = entries[index]; + var entry = values[index]; this.set(entry[0], entry[1]); } } @@ -37651,10 +37489,10 @@ return jQuery; * @name clear * @memberOf MapCache */ - function mapCacheClear() { + function mapClear() { this.__data__ = { 'hash': new Hash, - 'map': new (Map || ListCache), + 'map': Map ? new Map : [], 'string': new Hash }; } @@ -37668,8 +37506,12 @@ return jQuery; * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ - function mapCacheDelete(key) { - return getMapData(this, key)['delete'](key); + function mapDelete(key) { + var data = this.__data__; + if (isKeyable(key)) { + return hashDelete(typeof key == 'string' ? data.string : data.hash, key); + } + return Map ? data.map['delete'](key) : assocDelete(data.map, key); } /** @@ -37681,8 +37523,12 @@ return jQuery; * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ - function mapCacheGet(key) { - return getMapData(this, key).get(key); + function mapGet(key) { + var data = this.__data__; + if (isKeyable(key)) { + return hashGet(typeof key == 'string' ? data.string : data.hash, key); + } + return Map ? data.map.get(key) : assocGet(data.map, key); } /** @@ -37694,8 +37540,12 @@ return jQuery; * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ - function mapCacheHas(key) { - return getMapData(this, key).has(key); + function mapHas(key) { + var data = this.__data__; + if (isKeyable(key)) { + return hashHas(typeof key == 'string' ? data.string : data.hash, key); + } + return Map ? data.map.has(key) : assocHas(data.map, key); } /** @@ -37708,23 +37558,30 @@ return jQuery; * @param {*} value The value to set. * @returns {Object} Returns the map cache instance. */ - function mapCacheSet(key, value) { - getMapData(this, key).set(key, value); + function mapSet(key, value) { + var data = this.__data__; + if (isKeyable(key)) { + hashSet(typeof key == 'string' ? data.string : data.hash, key, value); + } else if (Map) { + data.map.set(key, value); + } else { + assocSet(data.map, key, value); + } return this; } // Add methods to `MapCache`. - MapCache.prototype.clear = mapCacheClear; - MapCache.prototype['delete'] = mapCacheDelete; - MapCache.prototype.get = mapCacheGet; - MapCache.prototype.has = mapCacheHas; - MapCache.prototype.set = mapCacheSet; + MapCache.prototype.clear = mapClear; + MapCache.prototype['delete'] = mapDelete; + MapCache.prototype.get = mapGet; + MapCache.prototype.has = mapHas; + MapCache.prototype.set = mapSet; /*------------------------------------------------------------------------*/ /** * - * Creates an array cache object to store unique values. + * Creates a set cache object to store unique values. * * @private * @constructor @@ -37736,41 +37593,52 @@ return jQuery; this.__data__ = new MapCache; while (++index < length) { - this.add(values[index]); + this.push(values[index]); } } /** - * Adds `value` to the array cache. + * Checks if `value` is in `cache`. * * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; - } - - /** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache + * @param {Object} cache The set cache to search. * @param {*} value The value to search for. * @returns {number} Returns `true` if `value` is found, else `false`. */ - function setCacheHas(value) { - return this.__data__.has(value); + function cacheHas(cache, value) { + var map = cache.__data__; + if (isKeyable(value)) { + var data = map.__data__, + hash = typeof value == 'string' ? data.string : data.hash; + + return hash[value] === HASH_UNDEFINED; + } + return map.has(value); + } + + /** + * Adds `value` to the set cache. + * + * @private + * @name push + * @memberOf SetCache + * @param {*} value The value to cache. + */ + function cachePush(value) { + var map = this.__data__; + if (isKeyable(value)) { + var data = map.__data__, + hash = typeof value == 'string' ? data.string : data.hash; + + hash[value] = HASH_UNDEFINED; + } + else { + map.set(value, HASH_UNDEFINED); + } } // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; + SetCache.prototype.push = cachePush; /*------------------------------------------------------------------------*/ @@ -37779,10 +37647,17 @@ return jQuery; * * @private * @constructor - * @param {Array} [entries] The key-value pairs to cache. + * @param {Array} [values] The values to cache. */ - function Stack(entries) { - this.__data__ = new ListCache(entries); + function Stack(values) { + var index = -1, + length = values ? values.length : 0; + + this.clear(); + while (++index < length) { + var entry = values[index]; + this.set(entry[0], entry[1]); + } } /** @@ -37793,7 +37668,7 @@ return jQuery; * @memberOf Stack */ function stackClear() { - this.__data__ = new ListCache; + this.__data__ = { 'array': [], 'map': null }; } /** @@ -37806,7 +37681,10 @@ return jQuery; * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function stackDelete(key) { - return this.__data__['delete'](key); + var data = this.__data__, + array = data.array; + + return array ? assocDelete(array, key) : data.map['delete'](key); } /** @@ -37819,7 +37697,10 @@ return jQuery; * @returns {*} Returns the entry value. */ function stackGet(key) { - return this.__data__.get(key); + var data = this.__data__, + array = data.array; + + return array ? assocGet(array, key) : data.map.get(key); } /** @@ -37832,7 +37713,10 @@ return jQuery; * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function stackHas(key) { - return this.__data__.has(key); + var data = this.__data__, + array = data.array; + + return array ? assocHas(array, key) : data.map.has(key); } /** @@ -37846,11 +37730,21 @@ return jQuery; * @returns {Object} Returns the stack cache instance. */ function stackSet(key, value) { - var cache = this.__data__; - if (cache instanceof ListCache && cache.__data__.length == LARGE_ARRAY_SIZE) { - cache = this.__data__ = new MapCache(cache.__data__); + var data = this.__data__, + array = data.array; + + if (array) { + if (array.length < (LARGE_ARRAY_SIZE - 1)) { + assocSet(array, key, value); + } else { + data.array = null; + data.map = new MapCache(array); + } + } + var map = data.map; + if (map) { + map.set(key, value); } - cache.set(key, value); return this; } @@ -37863,6 +37757,90 @@ return jQuery; /*------------------------------------------------------------------------*/ + /** + * Removes `key` and its value from the associative array. + * + * @private + * @param {Array} array The array to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function assocDelete(array, key) { + var index = assocIndexOf(array, key); + if (index < 0) { + return false; + } + var lastIndex = array.length - 1; + if (index == lastIndex) { + array.pop(); + } else { + splice.call(array, index, 1); + } + return true; + } + + /** + * Gets the associative array value for `key`. + * + * @private + * @param {Array} array The array to query. + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function assocGet(array, key) { + var index = assocIndexOf(array, key); + return index < 0 ? undefined : array[index][1]; + } + + /** + * Checks if an associative array value for `key` exists. + * + * @private + * @param {Array} array The array to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function assocHas(array, key) { + return assocIndexOf(array, key) > -1; + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to search. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Sets the associative array `key` to `value`. + * + * @private + * @param {Array} array The array to modify. + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + */ + function assocSet(array, key, value) { + var index = assocIndexOf(array, key); + if (index < 0) { + array.push([key, value]); + } else { + array[index][1] = value; + } + } + + /*------------------------------------------------------------------------*/ + /** * Used by `_.defaults` to customize its `_.assignIn` use. * @@ -37915,24 +37893,6 @@ return jQuery; } } - /** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to search. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; - } - /** * Aggregates elements of `collection` on `accumulator` with keys transformed * by `iteratee` and values set by `setter`. @@ -37970,7 +37930,7 @@ return jQuery; * @private * @param {Object} object The object to iterate over. * @param {string[]} paths The property paths of elements to pick. - * @returns {Array} Returns the picked elements. + * @returns {Array} Returns the new array of picked elements. */ function baseAt(object, paths) { var index = -1, @@ -38085,7 +38045,7 @@ return jQuery; * * @private * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. */ function baseConforms(source) { var props = keys(source), @@ -38398,7 +38358,7 @@ return jQuery; * @private * @param {Object} object The object to inspect. * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. + * @returns {Array} Returns the new array of filtered property names. */ function baseFunctions(object, props) { return arrayFilter(props, function(key) { @@ -38439,7 +38399,9 @@ return jQuery; */ function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + return isArray(object) + ? result + : arrayPush(result, symbolsFunc(object)); } /** @@ -38831,7 +38793,7 @@ return jQuery; * * @private * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. */ function baseMatches(source) { var matchData = getMatchData(source); @@ -38849,7 +38811,7 @@ return jQuery; * @private * @param {string} path The path of the property to get. * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. */ function baseMatchesProperty(path, srcValue) { if (isKey(path) && isStrictComparable(srcValue)) { @@ -39064,7 +39026,7 @@ return jQuery; * * @private * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. + * @returns {Function} Returns the new function. */ function baseProperty(key) { return function(object) { @@ -39077,7 +39039,7 @@ return jQuery; * * @private * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. + * @returns {Function} Returns the new function. */ function basePropertyDeep(path) { return function(object) { @@ -39178,7 +39140,7 @@ return jQuery; * @param {number} end The end of the range. * @param {number} step The value to increment or decrement by. * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. + * @returns {Array} Returns the new array of numbers. */ function baseRange(start, end, step, fromRight) { var index = -1, @@ -39892,7 +39854,7 @@ return jQuery; * placeholders, and provided arguments into a single array of arguments. * * @private - * @param {Array} args The provided arguments. + * @param {Array|Object} args The provided arguments. * @param {Array} partials The arguments to prepend to those provided. * @param {Array} holders The `partials` placeholder indexes. * @params {boolean} [isCurried] Specify composing for a curried function. @@ -39927,7 +39889,7 @@ return jQuery; * is tailored for `_.partialRight`. * * @private - * @param {Array} args The provided arguments. + * @param {Array|Object} args The provided arguments. * @param {Array} partials The arguments to append to those provided. * @param {Array} holders The `partials` placeholder indexes. * @params {boolean} [isCurried] Specify composing for a curried function. @@ -40049,7 +40011,7 @@ return jQuery; customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined; - customizer = (assigner.length > 3 && typeof customizer == 'function') + customizer = typeof customizer == 'function' ? (length--, customizer) : undefined; @@ -40148,7 +40110,7 @@ return jQuery; * * @private * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. + * @returns {Function} Returns the new function. */ function createCaseFirst(methodName) { return function(string) { @@ -40233,7 +40195,7 @@ return jQuery; var length = arguments.length, args = Array(length), index = length, - placeholder = getHolder(wrapper); + placeholder = getPlaceholder(wrapper); while (index--) { args[index] = arguments[index]; @@ -40348,14 +40310,14 @@ return jQuery; function wrapper() { var length = arguments.length, - args = Array(length), - index = length; + index = length, + args = Array(length); while (index--) { args[index] = arguments[index]; } if (isCurried) { - var placeholder = getHolder(wrapper), + var placeholder = getPlaceholder(wrapper), holdersCount = countHolders(args, placeholder); } if (partials) { @@ -40444,7 +40406,7 @@ return jQuery; * * @private * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. + * @returns {Function} Returns the new invoker function. */ function createOver(arrayFunc) { return rest(function(iteratees) { @@ -40642,26 +40604,6 @@ return jQuery; return new Set(values); }; - /** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ - function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; - } - /** * Creates a function that either curries or invokes `func` with optional * `this` binding and partially applied arguments. @@ -40679,7 +40621,6 @@ return jQuery; * 64 - `_.partialRight` * 128 - `_.rearg` * 256 - `_.ary` - * 512 - `_.flip` * @param {*} [thisArg] The `this` binding of `func`. * @param {Array} [partials] The arguments to be partially applied. * @param {Array} [holders] The `partials` placeholder indexes. @@ -40758,7 +40699,9 @@ return jQuery; * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. */ function equalArrays(array, other, equalFunc, customizer, bitmask, stack) { - var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + var index = -1, + isPartial = bitmask & PARTIAL_COMPARE_FLAG, + isUnordered = bitmask & UNORDERED_COMPARE_FLAG, arrLength = array.length, othLength = other.length; @@ -40770,10 +40713,7 @@ return jQuery; if (stacked) { return stacked == other; } - var index = -1, - result = true, - seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined; - + var result = true; stack.set(array, other); // Ignore non-index properties. @@ -40794,12 +40734,10 @@ return jQuery; break; } // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!seen.has(othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) { - return seen.add(othIndex); - } + if (isUnordered) { + if (!arraySome(other, function(othValue) { + return arrValue === othValue || + equalFunc(arrValue, othValue, customizer, bitmask, stack); })) { result = false; break; @@ -41033,18 +40971,6 @@ return jQuery; return result; } - /** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ - function getHolder(func) { - var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; - return object.placeholder; - } - /** * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, * this function returns the custom method, otherwise it returns `baseIteratee`. @@ -41075,21 +41001,6 @@ return jQuery; */ var getLength = baseProperty('length'); - /** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; - } - /** * Gets the property names, values, and compare flags of `object`. * @@ -41120,6 +41031,18 @@ return jQuery; return isNative(value) ? value : undefined; } + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getPlaceholder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + /** * Gets the `[[Prototype]]` of `value`. * @@ -41369,7 +41292,7 @@ return jQuery; * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. */ function isFlattenable(value) { - return isArray(value) || isArguments(value); + return isArrayLikeObject(value) && (isArray(value) || isArguments(value)); } /** @@ -41513,7 +41436,7 @@ return jQuery; * @private * @param {string} key The key of the property to get. * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. */ function matchesStrictComparable(key, srcValue) { return function(object) { @@ -41765,7 +41688,7 @@ return jQuery; * @param {Array} array The array to process. * @param {number} [size=1] The length of each chunk * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. + * @returns {Array} Returns the new array containing chunks. * @example * * _.chunk(['a', 'b', 'c', 'd'], 2); @@ -41848,16 +41771,16 @@ return jQuery; */ function concat() { var length = arguments.length, - args = Array(length ? length - 1 : 0), - array = arguments[0], - index = length; + array = castArray(arguments[0]); - while (index--) { - args[index - 1] = arguments[index]; + if (length < 2) { + return length ? copyArray(array) : []; } - return length - ? arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)) - : []; + var args = Array(length - 1); + while (length--) { + args[length - 1] = arguments[length]; + } + return arrayConcat(array, baseFlatten(args, 1)); } /** @@ -42576,8 +42499,8 @@ return jQuery; } /** - * Gets the element at `n` index of `array`. If `n` is negative, the nth - * element from the end is returned. + * Gets the nth element of `array`. If `n` is negative, the nth element + * from the end is returned. * * @static * @memberOf _ @@ -43457,7 +43380,7 @@ return jQuery; * @memberOf _ * @since 0.1.0 * @category Array - * @param {Array} array The array to inspect. + * @param {Array} array The array to filter. * @param {...*} [values] The values to exclude. * @returns {Array} Returns the new array of filtered values. * @see _.difference, _.xor @@ -43483,7 +43406,7 @@ return jQuery; * @since 2.4.0 * @category Array * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of filtered values. + * @returns {Array} Returns the new array of values. * @see _.difference, _.without * @example * @@ -43507,7 +43430,7 @@ return jQuery; * @param {...Array} [arrays] The arrays to inspect. * @param {Array|Function|Object|string} [iteratee=_.identity] * The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. + * @returns {Array} Returns the new array of values. * @example * * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor); @@ -43536,7 +43459,7 @@ return jQuery; * @category Array * @param {...Array} [arrays] The arrays to inspect. * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. + * @returns {Array} Returns the new array of values. * @example * * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; @@ -44284,8 +44207,9 @@ return jQuery; * // => Logs 'a' then 'b' (iteration order is not guaranteed). */ function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, getIteratee(iteratee, 3)); + return (typeof iteratee == 'function' && isArray(collection)) + ? arrayEach(collection, iteratee) + : baseEach(collection, getIteratee(iteratee)); } /** @@ -44309,8 +44233,9 @@ return jQuery; * // => Logs `2` then `1`. */ function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, getIteratee(iteratee, 3)); + return (typeof iteratee == 'function' && isArray(collection)) + ? arrayEachRight(collection, iteratee) + : baseEachRight(collection, getIteratee(iteratee)); } /** @@ -44991,7 +44916,7 @@ return jQuery; * @param {Function} func The function to cap arguments for. * @param {number} [n=func.length] The arity cap. * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. + * @returns {Function} Returns the new function. * @example * * _.map(['6', '8', '10'], _.ary(parseInt, 1)); @@ -45075,7 +45000,7 @@ return jQuery; var bind = rest(function(func, thisArg, partials) { var bitmask = BIND_FLAG; if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); + var holders = replaceHolders(partials, getPlaceholder(bind)); bitmask |= PARTIAL_FLAG; } return createWrapper(func, bitmask, thisArg, partials, holders); @@ -45129,7 +45054,7 @@ return jQuery; var bindKey = rest(function(object, key, partials) { var bitmask = BIND_FLAG | BIND_KEY_FLAG; if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); + var holders = replaceHolders(partials, getPlaceholder(bindKey)); bitmask |= PARTIAL_FLAG; } return createWrapper(key, bitmask, object, partials, holders); @@ -45455,7 +45380,7 @@ return jQuery; * @since 4.0.0 * @category Function * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. + * @returns {Function} Returns the new function. * @example * * var flipped = _.flip(function() { @@ -45488,7 +45413,7 @@ return jQuery; * @category Function * @param {Function} func The function to have its output memoized. * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. + * @returns {Function} Returns the new memoizing function. * @example * * var object = { 'a': 1, 'b': 2 }; @@ -45546,7 +45471,7 @@ return jQuery; * @since 3.0.0 * @category Function * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. + * @returns {Function} Returns the new function. * @example * * function isEven(n) { @@ -45670,7 +45595,7 @@ return jQuery; * // => 'hi fred' */ var partial = rest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partial)); + var holders = replaceHolders(partials, getPlaceholder(partial)); return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders); }); @@ -45707,7 +45632,7 @@ return jQuery; * // => 'hello fred' */ var partialRight = rest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partialRight)); + var holders = replaceHolders(partials, getPlaceholder(partialRight)); return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders); }); @@ -45909,7 +45834,7 @@ return jQuery; * @since 4.0.0 * @category Function * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. + * @returns {Function} Returns the new function. * @example * * _.map(['6', '8', '10'], _.unary(parseInt)); @@ -46585,14 +46510,14 @@ return jQuery; * _.isFinite(3); * // => true * - * _.isFinite(Number.MIN_VALUE); + * _.isFinite(Number.MAX_VALUE); + * // => true + * + * _.isFinite(3.14); * // => true * * _.isFinite(Infinity); * // => false - * - * _.isFinite('3'); - * // => false */ function isFinite(value) { return typeof value == 'number' && nativeIsFinite(value); @@ -47313,41 +47238,6 @@ return jQuery; return func(value); } - /** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = (value < 0 ? -1 : 1); - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - /** * Converts `value` to an integer. * @@ -47362,7 +47252,7 @@ return jQuery; * @returns {number} Returns the converted integer. * @example * - * _.toInteger(3.2); + * _.toInteger(3); * // => 3 * * _.toInteger(Number.MIN_VALUE); @@ -47371,14 +47261,20 @@ return jQuery; * _.toInteger(Infinity); * // => 1.7976931348623157e+308 * - * _.toInteger('3.2'); + * _.toInteger('3'); * // => 3 */ function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; - - return result === result ? (remainder ? result - remainder : result) : 0; + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + var remainder = value % 1; + return value === value ? (remainder ? value - remainder : value) : 0; } /** @@ -47396,7 +47292,7 @@ return jQuery; * @returns {number} Returns the converted integer. * @example * - * _.toLength(3.2); + * _.toLength(3); * // => 3 * * _.toLength(Number.MIN_VALUE); @@ -47405,7 +47301,7 @@ return jQuery; * _.toLength(Infinity); * // => 4294967295 * - * _.toLength('3.2'); + * _.toLength('3'); * // => 3 */ function toLength(value) { @@ -47423,8 +47319,8 @@ return jQuery; * @returns {number} Returns the number. * @example * - * _.toNumber(3.2); - * // => 3.2 + * _.toNumber(3); + * // => 3 * * _.toNumber(Number.MIN_VALUE); * // => 5e-324 @@ -47432,8 +47328,8 @@ return jQuery; * _.toNumber(Infinity); * // => Infinity * - * _.toNumber('3.2'); - * // => 3.2 + * _.toNumber('3'); + * // => 3 */ function toNumber(value) { if (typeof value == 'number') { @@ -47496,7 +47392,7 @@ return jQuery; * @returns {number} Returns the converted integer. * @example * - * _.toSafeInteger(3.2); + * _.toSafeInteger(3); * // => 3 * * _.toSafeInteger(Number.MIN_VALUE); @@ -47505,7 +47401,7 @@ return jQuery; * _.toSafeInteger(Infinity); * // => 9007199254740991 * - * _.toSafeInteger('3.2'); + * _.toSafeInteger('3'); * // => 3 */ function toSafeInteger(value) { @@ -47698,7 +47594,7 @@ return jQuery; * @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 picked values. + * @returns {Array} Returns the new array of picked elements. * @example * * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; @@ -47914,7 +47810,7 @@ return jQuery; function forIn(object, iteratee) { return object == null ? object - : baseFor(object, getIteratee(iteratee, 3), keysIn); + : baseFor(object, getIteratee(iteratee), keysIn); } /** @@ -47946,7 +47842,7 @@ return jQuery; function forInRight(object, iteratee) { return object == null ? object - : baseForRight(object, getIteratee(iteratee, 3), keysIn); + : baseForRight(object, getIteratee(iteratee), keysIn); } /** @@ -47978,7 +47874,7 @@ return jQuery; * // => Logs 'a' then 'b' (iteration order is not guaranteed). */ function forOwn(object, iteratee) { - return object && baseForOwn(object, getIteratee(iteratee, 3)); + return object && baseForOwn(object, getIteratee(iteratee)); } /** @@ -48008,7 +47904,7 @@ return jQuery; * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. */ function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + return object && baseForOwnRight(object, getIteratee(iteratee)); } /** @@ -48020,7 +47916,7 @@ return jQuery; * @memberOf _ * @category Object * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. + * @returns {Array} Returns the new array of property names. * @see _.functionsIn * @example * @@ -48047,7 +47943,7 @@ return jQuery; * @since 4.0.0 * @category Object * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. + * @returns {Array} Returns the new array of property names. * @see _.functions * @example * @@ -48400,7 +48296,7 @@ return jQuery; * inherited enumerable string keyed properties of source objects into the * destination object. Source properties that resolve to `undefined` are * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by + * are merged recursively.Other objects and value types are overridden by * assignment. Source objects are applied from left to right. Subsequent * sources overwrite property assignments of previous sources. * @@ -48685,8 +48581,7 @@ return jQuery; /** * Creates an array of own enumerable string keyed-value pairs for `object` - * which can be consumed by `_.fromPairs`. If `object` is a map or set, its - * entries are returned. + * which can be consumed by `_.fromPairs`. * * @static * @memberOf _ @@ -48694,7 +48589,7 @@ return jQuery; * @alias entries * @category Object * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. + * @returns {Array} Returns the new array of key-value pairs. * @example * * function Foo() { @@ -48707,12 +48602,13 @@ return jQuery; * _.toPairs(new Foo); * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) */ - var toPairs = createToPairs(keys); + function toPairs(object) { + return baseToPairs(object, keys(object)); + } /** * Creates an array of own and inherited enumerable string keyed-value pairs - * for `object` which can be consumed by `_.fromPairs`. If `object` is a map - * or set, its entries are returned. + * for `object` which can be consumed by `_.fromPairs`. * * @static * @memberOf _ @@ -48720,7 +48616,7 @@ return jQuery; * @alias entriesIn * @category Object * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. + * @returns {Array} Returns the new array of key-value pairs. * @example * * function Foo() { @@ -48731,9 +48627,11 @@ return jQuery; * Foo.prototype.c = 3; * * _.toPairsIn(new Foo); - * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + * // => [['a', 1], ['b', 2], ['c', 1]] (iteration order is not guaranteed) */ - var toPairsIn = createToPairs(keysIn); + function toPairsIn(object) { + return baseToPairs(object, keysIn(object)); + } /** * An alternative to `_.reduce`; this method transforms `object` to a new @@ -49563,7 +49461,7 @@ return jQuery; * @param {string} [string=''] The string to split. * @param {RegExp|string} separator The separator pattern to split by. * @param {number} [limit] The length to truncate results to. - * @returns {Array} Returns the string segments. + * @returns {Array} Returns the new array of string segments. * @example * * _.split('a-b-c', '-', 2); @@ -49708,6 +49606,12 @@ return jQuery; * compiled({ 'user': 'pebbles' }); * // => 'hello pebbles!' * + * // Use custom template delimiters. + * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; + * var compiled = _.template('hello {{ user }}!'); + * compiled({ 'user': 'mustache' }); + * // => 'hello mustache!' + * * // Use backslashes to treat delimiters as plain text. * var compiled = _.template('<%= "\\<%- value %\\>" %>'); * compiled({ 'value': 'ignored' }); @@ -49733,15 +49637,9 @@ return jQuery; * // return __p; * // } * - * // Use custom template delimiters. - * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; - * var compiled = _.template('hello {{ user }}!'); - * compiled({ 'user': 'mustache' }); - * // => 'hello mustache!' - * * // Use the `source` property to inline compiled templates for meaningful * // line numbers in error messages and stack traces. - * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\ + * fs.writeFileSync(path.join(cwd, 'jst.js'), '\ * var JST = {\ * "main": ' + _.template(mainText).source + '\ * };\ @@ -50277,7 +50175,7 @@ return jQuery; * @since 4.0.0 * @category Util * @param {Array} pairs The predicate-function pairs. - * @returns {Function} Returns the new composite function. + * @returns {Function} Returns the new function. * @example * * var func = _.cond([ @@ -50327,7 +50225,7 @@ return jQuery; * @since 4.0.0 * @category Util * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. * @example * * var users = [ @@ -50350,7 +50248,7 @@ return jQuery; * @since 2.4.0 * @category Util * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. + * @returns {Function} Returns the new function. * @example * * var object = { 'user': 'fred' }; @@ -50375,7 +50273,7 @@ return jQuery; * @since 3.0.0 * @category Util * @param {...(Function|Function[])} [funcs] Functions to invoke. - * @returns {Function} Returns the new composite function. + * @returns {Function} Returns the new function. * @see _.flowRight * @example * @@ -50398,7 +50296,7 @@ return jQuery; * @memberOf _ * @category Util * @param {...(Function|Function[])} [funcs] Functions to invoke. - * @returns {Function} Returns the new composite function. + * @returns {Function} Returns the new function. * @see _.flow * @example * @@ -50491,7 +50389,7 @@ return jQuery; * @since 3.0.0 * @category Util * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. * @example * * var users = [ @@ -50519,7 +50417,7 @@ return jQuery; * @category Util * @param {Array|string} path The path of the property to get. * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. + * @returns {Function} Returns the new function. * @example * * var users = [ @@ -50544,7 +50442,7 @@ return jQuery; * @category Util * @param {Array|string} path The path of the method to invoke. * @param {...*} [args] The arguments to invoke the method with. - * @returns {Function} Returns the new invoker function. + * @returns {Function} Returns the new function. * @example * * var objects = [ @@ -50575,7 +50473,7 @@ return jQuery; * @category Util * @param {Object} object The object to query. * @param {...*} [args] The arguments to invoke the method with. - * @returns {Function} Returns the new invoker function. + * @returns {Function} Returns the new function. * @example * * var array = _.times(3, _.constant), @@ -50705,7 +50603,7 @@ return jQuery; } /** - * Creates a function that gets the argument at `n` index. If `n` is negative, + * Creates a function that returns its nth argument. If `n` is negative, * the nth argument from the end is returned. * * @static @@ -50713,7 +50611,7 @@ return jQuery; * @since 4.0.0 * @category Util * @param {number} [n=0] The index of the argument to return. - * @returns {Function} Returns the new pass-thru function. + * @returns {Function} Returns the new function. * @example * * var func = _.nthArg(1); @@ -50811,7 +50709,7 @@ return jQuery; * @since 2.4.0 * @category Util * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. + * @returns {Function} Returns the new function. * @example * * var objects = [ @@ -50838,7 +50736,7 @@ return jQuery; * @since 3.0.0 * @category Util * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. + * @returns {Function} Returns the new function. * @example * * var array = [0, 1, 2], @@ -50872,7 +50770,7 @@ return jQuery; * @param {number} [start=0] The start of the range. * @param {number} end The end of the range. * @param {number} [step=1] The value to increment or decrement by. - * @returns {Array} Returns the range of numbers. + * @returns {Array} Returns the new array of numbers. * @see _.inRange, _.rangeRight * @example * @@ -50910,7 +50808,7 @@ return jQuery; * @param {number} [start=0] The start of the range. * @param {number} end The end of the range. * @param {number} [step=1] The value to increment or decrement by. - * @returns {Array} Returns the range of numbers. + * @returns {Array} Returns the new array of numbers. * @see _.inRange, _.range * @example * @@ -51671,7 +51569,6 @@ return jQuery; lodash.sumBy = sumBy; lodash.template = template; lodash.times = times; - lodash.toFinite = toFinite; lodash.toInteger = toInteger; lodash.toLength = toLength; lodash.toLower = toLower; diff --git a/web/.babelrc b/web/.babelrc index 5dd7708c9..e2d67e339 100644 --- a/web/.babelrc +++ b/web/.babelrc @@ -1,4 +1,4 @@ { "presets": ["es2015", "react"], - "plugins": ["transform-class-properties"] + "plugins": ["transform-class-properties", "transform-object-rest-spread"] } \ No newline at end of file diff --git a/web/package.json b/web/package.json index 2eaac445a..88e976e13 100644 --- a/web/package.json +++ b/web/package.json @@ -30,6 +30,7 @@ "babel-core": "^6.7.7", "babel-jest": "^12.0.2", "babel-plugin-transform-class-properties": "^6.6.0", + "babel-plugin-transform-object-rest-spread": "^6.8.0", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", "babelify": "^7.3.0",