From c1958daf65e22da9b12134d9995502ab2718d32c Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 08:48:29 -0700 Subject: [PATCH 01/18] Update handling of `limit` to the current es6 draft. --- lodash.js | 2 +- test/test.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lodash.js b/lodash.js index 9e8012824c..0fc7aae7f1 100644 --- a/lodash.js +++ b/lodash.js @@ -13568,7 +13568,7 @@ separator += ''; if (separator == '' && reHasComplexSymbol.test(string)) { var strSymbols = stringToArray(string); - return limit === undefined ? strSymbols : strSymbols.slice(0, limit < 0 ? 0 : limit); + return limit === undefined ? strSymbols : strSymbols.slice(0, limit >>> 0); } } return string.split(separator, limit); diff --git a/test/test.js b/test/test.js index 5306ddf7af..378c715e1f 100644 --- a/test/test.js +++ b/test/test.js @@ -23251,7 +23251,7 @@ thumbsUp = '\ud83d\udc4d'; QUnit.test('should account for astral symbols', function(assert) { - assert.expect(32); + assert.expect(33); var allHearts = _.repeat(hearts, 10), chars = hearts + comboGlyph, @@ -23274,7 +23274,8 @@ assert.strictEqual(_.size(string), 13); assert.deepEqual(_.split(string, ' '), ['A', leafs + ',', comboGlyph + ',', 'and', rocket]); assert.deepEqual(_.split(string, ' ', 3), ['A', leafs + ',', comboGlyph + ',']); - assert.deepEqual(_.split(string, undefined), string.split(undefined)); + assert.deepEqual(_.split(string, undefined), [string]); + assert.deepEqual(_.split(string, undefined, -1), [string]); assert.deepEqual(_.split(string, undefined, 0), string.split(undefined, 0)); var expected = ['A', ' ', leafs, ',', ' ', comboGlyph, ',', ' ', 'a', 'n', 'd', ' ', rocket]; From f6ac7cb1a1a742bb9aa5ada7318ebe1dd35a0b20 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 08:48:54 -0700 Subject: [PATCH 02/18] Shorten `chars` string coersion. --- lodash.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lodash.js b/lodash.js index 0fc7aae7f1..074af17024 100644 --- a/lodash.js +++ b/lodash.js @@ -13919,7 +13919,7 @@ if (guard || chars === undefined) { return string.replace(reTrim, ''); } - chars = (chars + ''); + chars += ''; if (!chars) { return string; } @@ -13958,7 +13958,7 @@ if (guard || chars === undefined) { return string.replace(reTrimEnd, ''); } - chars = (chars + ''); + chars += ''; if (!chars) { return string; } @@ -13995,7 +13995,7 @@ if (guard || chars === undefined) { return string.replace(reTrimStart, ''); } - chars = (chars + ''); + chars += ''; if (!chars) { return string; } From 057dd5b0a883d079690b34df4e22ff610af8504a Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 10:47:22 -0700 Subject: [PATCH 03/18] Minor `escapeRegExp` test nit. --- test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test.js b/test/test.js index 378c715e1f..96ffdd1c4a 100644 --- a/test/test.js +++ b/test/test.js @@ -5257,7 +5257,7 @@ QUnit.test('should handle strings with nothing to escape', function(assert) { assert.expect(1); - assert.strictEqual(_.escapeRegExp('ghi'), 'ghi'); + assert.strictEqual(_.escapeRegExp('abc'), 'abc'); }); QUnit.test('should return an empty string for empty values', function(assert) { From 349ec35c48b90514a574525bf75b8f6b86dad30e Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 09:46:47 -0700 Subject: [PATCH 04/18] Add flow test for handling an empty array. --- test/test.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/test.js b/test/test.js index 96ffdd1c4a..39f27b88cf 100644 --- a/test/test.js +++ b/test/test.js @@ -6079,17 +6079,18 @@ }); QUnit.test('`_.' + methodName + '` should return an identity function when no arguments are given', function(assert) { - assert.expect(3); - - var combined = func(); + assert.expect(6); - try { - assert.strictEqual(combined('a'), 'a'); - } catch (e) { - assert.ok(false, e.message); - } - assert.strictEqual(combined.length, 0); - assert.notStrictEqual(combined, identity); + _.times(2, function(index) { + try { + var combined = index ? func([]) : func(); + assert.strictEqual(combined('a'), 'a'); + } catch (e) { + assert.ok(false, e.message); + } + assert.strictEqual(combined.length, 0); + assert.notStrictEqual(combined, identity); + }); }); QUnit.test('`_.' + methodName + '` should work with a curried function and `_.head`', function(assert) { From c7264e3f1f4af7136694cf6f7b32828a69f7613e Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 09:55:47 -0700 Subject: [PATCH 05/18] Add `isIterateeCall` check to `_.split`. --- lodash.js | 7 +++++-- test/test.js | 9 +++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lodash.js b/lodash.js index 074af17024..0922cfd9a1 100644 --- a/lodash.js +++ b/lodash.js @@ -8505,8 +8505,8 @@ * The guarded methods are: * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`, - * `trim`, `trimEnd`, `trimStart`, and `words` + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` * * @static * @memberOf _ @@ -13561,6 +13561,9 @@ */ function split(string, separator, limit) { string = toString(string); + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } if (string && ( typeof separator == 'string' || (separator != null && !isRegExp(separator)) diff --git a/test/test.js b/test/test.js index 39f27b88cf..51db4e967f 100644 --- a/test/test.js +++ b/test/test.js @@ -20115,6 +20115,15 @@ assert.deepEqual(actual, expected); }); + QUnit.test('should work as an iteratee for methods like `_.map`', function(assert) { + assert.expect(1); + + var strings = ['abc', 'def', 'ghi'], + actual = lodashStable.map(strings, _.split); + + assert.deepEqual(actual, [['abc'], ['def'], ['ghi']]); + }); + QUnit.test('should allow mixed string and array prototype methods', function(assert) { assert.expect(1); From 6512b7f925d5ae866a1e516af08ae670f3367222 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 15:03:06 -0700 Subject: [PATCH 06/18] Update "over" method iteratee descriptions. [ci skip] --- lodash.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lodash.js b/lodash.js index 0922cfd9a1..72ea3bb035 100644 --- a/lodash.js +++ b/lodash.js @@ -9620,8 +9620,8 @@ * @memberOf _ * @category Function * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms] The functions to transform. - * arguments, specified individually or in arrays. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [transforms[_.identity]] The functions to transform. * @returns {Function} Returns the new function. * @example * @@ -14732,7 +14732,8 @@ * @memberOf _ * @since 4.0.0 * @category Util - * @param {...(Function|Function[])} iteratees The iteratees to invoke. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [iteratees=[_.identity]] The iteratees to invoke. * @returns {Function} Returns the new function. * @example * @@ -14751,7 +14752,8 @@ * @memberOf _ * @since 4.0.0 * @category Util - * @param {...(Function|Function[])} predicates The predicates to check. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [predicates=[_.identity]] The predicates to check. * @returns {Function} Returns the new function. * @example * @@ -14776,7 +14778,8 @@ * @memberOf _ * @since 4.0.0 * @category Util - * @param {...(Function|Function[])} predicates The predicates to check. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [predicates=[_.identity]] The predicates to check. * @returns {Function} Returns the new function. * @example * From 51ad056710ad41070d49869aa6b7a90f8d431821 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 15:04:07 -0700 Subject: [PATCH 07/18] Remove redundant param descriptions. [ci skip] --- lodash.js | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/lodash.js b/lodash.js index 72ea3bb035..27ea77a26b 100644 --- a/lodash.js +++ b/lodash.js @@ -6764,8 +6764,7 @@ * @since 3.0.0 * @category Array * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove, - * specified individually or in arrays. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. * @returns {Array} Returns the new array of removed elements. * @example * @@ -7773,8 +7772,7 @@ * @memberOf _ * @since 1.0.0 * @category Seq - * @param {...(string|string[])} [paths] The property paths of elements to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [paths] The property paths of elements to pick. * @returns {Object} Returns the new `lodash` wrapper instance. * @example * @@ -8916,8 +8914,7 @@ * @category Collection * @param {Array|Object} collection The collection to iterate over. * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} - * [iteratees=[_.identity]] The iteratees to sort by, specified individually - * or in arrays. + * [iteratees=[_.identity]] The iteratees to sort by. * @returns {Array} Returns the new sorted array. * @example * @@ -9743,8 +9740,7 @@ * @since 3.0.0 * @category Function * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes, - * specified individually or in arrays. + * @param {...(number|number[])} indexes The arranged argument indexes. * @returns {Function} Returns the new function. * @example * @@ -11693,8 +11689,7 @@ * @since 1.0.0 * @category Object * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths of elements to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [paths] The property paths of elements to pick. * @returns {Array} Returns the new array of picked elements. * @example * @@ -12469,8 +12464,7 @@ * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [props] The property identifiers to omit, - * specified individually or in arrays. + * @param {...(string|string[])} [props] The property identifiers to omit. * @returns {Object} Returns the new object. * @example * @@ -12523,8 +12517,7 @@ * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [props] The property identifiers to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [props] The property identifiers to pick. * @returns {Object} Returns the new object. * @example * @@ -14242,8 +14235,7 @@ * @memberOf _ * @category Util * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} methodNames The object method names to bind, - * specified individually or in arrays. + * @param {...(string|string[])} methodNames The object method names to bind. * @returns {Object} Returns `object`. * @example * From 351236f52675a0fd523b72691d84d10dd83e9ea2 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 16:32:15 -0700 Subject: [PATCH 08/18] Rearrange regexp vars. --- lodash.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lodash.js b/lodash.js index 27ea77a26b..4159a53ac3 100644 --- a/lodash.js +++ b/lodash.js @@ -130,6 +130,9 @@ reTrimStart = /^\s+/, reTrimEnd = /\s+$/; + /** Used to match non-compound words composed of alphanumeric characters. */ + var reBasicWord = /[a-zA-Z0-9]+/g; + /** Used to match backslashes in property paths. */ var reEscapeChar = /\\(\\)?/g; @@ -218,12 +221,6 @@ /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); - - /** Used to match non-compound words composed of alphanumeric characters. */ - var reBasicWord = /[a-zA-Z0-9]+/g; - /** Used to match complex or compound words. */ var reComplexWord = RegExp([ rsUpper + '?' + rsLower + '+(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', @@ -234,6 +231,9 @@ rsEmoji ].join('|'), 'g'); + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); + /** Used to detect strings that need a more robust regexp to match words. */ var reHasComplexWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; From 74f6af868616da154ae78f46581396e7bdf9af52 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Fri, 8 Apr 2016 17:59:18 -0700 Subject: [PATCH 09/18] Update fp aliases. --- fp/_mapping.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fp/_mapping.js b/fp/_mapping.js index d9d43fd938..a2fa783445 100644 --- a/fp/_mapping.js +++ b/fp/_mapping.js @@ -30,17 +30,18 @@ exports.aliasToReal = { 'init': 'initial', 'invertObj': 'invert', 'juxt': 'over', - 'mapObj': 'mapValues', 'omitAll': 'omit', 'nAry': 'ary', 'path': 'get', 'pathEq': 'matchesProperty', 'pathOr': 'getOr', + 'paths': 'at', 'pickAll': 'pick', 'pipe': 'flow', 'prop': 'get', - 'propOf': 'propertyOf', + 'propEq': 'matchesProperty', 'propOr': 'getOr', + 'props': 'at', 'unapply': 'rest', 'unnest': 'flatten', 'useWith': 'overArgs', From 17e1a6dbe84e1debc15af55c0988602544cebf04 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 9 Apr 2016 00:53:07 -0700 Subject: [PATCH 10/18] Ensure `_.slice` handles a `limit` of `0` in Node 0.10. --- lodash.js | 9 ++++++--- test/test.js | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lodash.js b/lodash.js index 4159a53ac3..26578feceb 100644 --- a/lodash.js +++ b/lodash.js @@ -13553,18 +13553,21 @@ * // => ['a', 'b'] */ function split(string, separator, limit) { - string = toString(string); if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { separator = limit = undefined; } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); if (string && ( typeof separator == 'string' || (separator != null && !isRegExp(separator)) )) { separator += ''; if (separator == '' && reHasComplexSymbol.test(string)) { - var strSymbols = stringToArray(string); - return limit === undefined ? strSymbols : strSymbols.slice(0, limit >>> 0); + return baseCastArray(stringToArray(string), 0, limit); } } return string.split(separator, limit); diff --git a/test/test.js b/test/test.js index 51db4e967f..273e8bc197 100644 --- a/test/test.js +++ b/test/test.js @@ -23286,7 +23286,7 @@ assert.deepEqual(_.split(string, ' ', 3), ['A', leafs + ',', comboGlyph + ',']); assert.deepEqual(_.split(string, undefined), [string]); assert.deepEqual(_.split(string, undefined, -1), [string]); - assert.deepEqual(_.split(string, undefined, 0), string.split(undefined, 0)); + assert.deepEqual(_.split(string, undefined, 0), []); var expected = ['A', ' ', leafs, ',', ' ', comboGlyph, ',', ' ', 'a', 'n', 'd', ' ', rocket]; From cf2f538167d4a71f9658f948884fffce9d4cb5b9 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 9 Apr 2016 13:49:38 -0700 Subject: [PATCH 11/18] Add `castSlice` and rename cast related helpers. --- lodash.js | 187 +++++++++++++++++++++++++++++------------------------- 1 file changed, 102 insertions(+), 85 deletions(-) diff --git a/lodash.js b/lodash.js index 26578feceb..4c2315455c 100644 --- a/lodash.js +++ b/lodash.js @@ -2356,50 +2356,6 @@ return result; } - /** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ - function baseCastArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function baseCastFunction(value) { - return typeof value == 'function' ? value : identity; - } - - /** - * Casts `value` to a string if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the cast key. - */ - function baseCastKey(key) { - return (typeof key == 'string' || isSymbol(key)) ? key : (key + ''); - } - - /** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast property path array. - */ - function baseCastPath(value) { - return isArray(value) ? value : stringToPath(value); - } - /** * The base implementation of `_.clamp` which doesn't coerce arguments to numbers. * @@ -2801,7 +2757,7 @@ * @returns {*} Returns the resolved value. */ function baseGet(object, path) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var index = 0, length = path.length; @@ -2963,7 +2919,7 @@ */ function baseInvoke(object, path, args) { if (!isKey(path, object)) { - path = baseCastPath(path); + path = castPath(path); object = parent(object, path); path = last(path); } @@ -3485,7 +3441,7 @@ splice.call(array, index, 1); } else if (!isKey(index, array)) { - var path = baseCastPath(index), + var path = castPath(index), object = parent(array, path); if (object != null) { @@ -3575,7 +3531,7 @@ * @returns {Object} Returns `object`. */ function baseSet(object, path, value, customizer) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var index = -1, length = path.length, @@ -3854,7 +3810,7 @@ * @returns {boolean} Returns `true` if the property is deleted, else `false`. */ function baseUnset(object, path) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); object = parent(object, path); var key = last(path); return (object != null && has(object, key)) ? delete object[key] : true; @@ -3964,6 +3920,54 @@ return result; } + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value) { + return isArray(value) ? value : stringToPath(value); + } + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + /** * Creates a clone of `buffer`. * @@ -4357,8 +4361,13 @@ ? stringToArray(string) : undefined; - var chr = strSymbols ? strSymbols[0] : string.charAt(0), - trailing = strSymbols ? strSymbols.slice(1).join('') : string.slice(1); + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); return chr[methodName]() + trailing; }; @@ -4637,7 +4646,7 @@ } var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); return reHasComplexSymbol.test(chars) - ? stringToArray(result).slice(0, length).join('') + ? castSlice(stringToArray(result), 0, length).join('') : result.slice(0, length); } @@ -5345,7 +5354,7 @@ * @returns {boolean} Returns `true` if `path` exists, else `false`. */ function hasPath(object, path, hasFunc) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var result, index = -1, @@ -5783,6 +5792,17 @@ return result; }); + /** + * 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(key) { + return (typeof key == 'string' || isSymbol(key)) ? key : (key + ''); + } + /** * Converts `func` to its source code. * @@ -6481,7 +6501,7 @@ * // => [2] */ var intersection = rest(function(arrays) { - var mapped = arrayMap(arrays, baseCastArrayLikeObject); + var mapped = arrayMap(arrays, castArrayLikeObject); return (mapped.length && mapped[0] === arrays[0]) ? baseIntersection(mapped) : []; @@ -6512,7 +6532,7 @@ */ var intersectionBy = rest(function(arrays) { var iteratee = last(arrays), - mapped = arrayMap(arrays, baseCastArrayLikeObject); + mapped = arrayMap(arrays, castArrayLikeObject); if (iteratee === last(mapped)) { iteratee = undefined; @@ -6547,7 +6567,7 @@ */ var intersectionWith = rest(function(arrays) { var comparator = last(arrays), - mapped = arrayMap(arrays, baseCastArrayLikeObject); + mapped = arrayMap(arrays, castArrayLikeObject); if (comparator === last(mapped)) { comparator = undefined; @@ -8944,7 +8964,7 @@ if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { iteratees = []; } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees.length = 1; + iteratees = [iteratees[0]]; } return baseOrderBy(collection, baseFlatten(iteratees, 1), []); }); @@ -9850,7 +9870,7 @@ start = start === undefined ? 0 : nativeMax(toInteger(start), 0); return rest(function(args) { var array = args[start], - otherArgs = args.slice(0, start); + otherArgs = castSlice(args, 0, start); if (array) { arrayPush(otherArgs, array); @@ -11498,8 +11518,8 @@ } /** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` and `undefined` values. The sign of `-0` is preserved. + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. * * @static * @memberOf _ @@ -12477,7 +12497,7 @@ if (object == null) { return {}; } - props = arrayMap(baseFlatten(props, 1), baseCastKey); + props = arrayMap(baseFlatten(props, 1), toKey); return basePick(object, baseDifference(getAllKeysIn(object), props)); }); @@ -12583,7 +12603,7 @@ * // => 'default' */ function result(object, path, defaultValue) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var index = -1, length = path.length; @@ -12829,7 +12849,7 @@ * // => 0 */ function update(object, path, updater) { - return object == null ? object : baseUpdate(object, path, baseCastFunction(updater)); + return object == null ? object : baseUpdate(object, path, castFunction(updater)); } /** @@ -12858,7 +12878,7 @@ */ function updateWith(object, path, updater, customizer) { customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseUpdate(object, path, baseCastFunction(updater), customizer); + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); } /** @@ -13567,7 +13587,7 @@ )) { separator += ''; if (separator == '' && reHasComplexSymbol.test(string)) { - return baseCastArray(stringToArray(string), 0, limit); + return castSlice(stringToArray(string), 0, limit); } } return string.split(separator, limit); @@ -13918,16 +13938,15 @@ if (guard || chars === undefined) { return string.replace(reTrim, ''); } - chars += ''; - if (!chars) { + if (!(chars += '')) { return string; } var strSymbols = stringToArray(string), - chrSymbols = stringToArray(chars); + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; - return strSymbols - .slice(charsStartIndex(strSymbols, chrSymbols), charsEndIndex(strSymbols, chrSymbols) + 1) - .join(''); + return castSlice(strSymbols, start, end).join(''); } /** @@ -13957,14 +13976,13 @@ if (guard || chars === undefined) { return string.replace(reTrimEnd, ''); } - chars += ''; - if (!chars) { + if (!(chars += '')) { return string; } - var strSymbols = stringToArray(string); - return strSymbols - .slice(0, charsEndIndex(strSymbols, stringToArray(chars)) + 1) - .join(''); + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); } /** @@ -13994,14 +14012,13 @@ if (guard || chars === undefined) { return string.replace(reTrimStart, ''); } - chars += ''; - if (!chars) { + if (!(chars += '')) { return string; } - var strSymbols = stringToArray(string); - return strSymbols - .slice(charsStartIndex(strSymbols, stringToArray(chars))) - .join(''); + var strSymbols = stringToArray(string), + start = charsStartIndex(strSymbols, stringToArray(chars)); + + return castSlice(strSymbols, start).join(''); } /** @@ -14065,7 +14082,7 @@ return omission; } var result = strSymbols - ? strSymbols.slice(0, end).join('') + ? castSlice(strSymbols, 0, end).join('') : string.slice(0, end); if (separator === undefined) { @@ -14988,7 +15005,7 @@ */ function toPath(value) { if (isArray(value)) { - return arrayMap(value, baseCastKey); + return arrayMap(value, toKey); } return isSymbol(value) ? [value] : copyArray(stringToPath(value)); } From e619f8ca8345446555abbea51c46c2818099667f Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Mon, 11 Apr 2016 01:11:21 +0200 Subject: [PATCH 12/18] Update webpack to 1.12.15. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index feb6aa44b6..a55e78d91b 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "requirejs": "^2.2.0", "sauce-tunnel": "^2.4.0", "uglify-js": "2.6.2", - "webpack": "^1.12.14" + "webpack": "^1.12.15" }, "scripts": { "build": "npm run build:main && npm run build:fp", From e60e97c03fda22d4dfea84e07022183990cf20df Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 10 Apr 2016 19:53:34 -0700 Subject: [PATCH 13/18] Ensure `_.debounce` queues a trailing call after `maxWait`. [closes #2229] --- lodash.js | 3 +++ test/test.js | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lodash.js b/lodash.js index 4c2315455c..bac9c75444 100644 --- a/lodash.js +++ b/lodash.js @@ -9436,6 +9436,9 @@ timerId = setTimeout(timerExpired, wait); return invokeFunc(lastCallTime); } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } return result; } debounced.cancel = cancel; diff --git a/test/test.js b/test/test.js index 273e8bc197..4a1866d19a 100644 --- a/test/test.js +++ b/test/test.js @@ -4248,6 +4248,29 @@ }, 1); }); + QUnit.test('should queue a trailing call for subsequent debounced calls after `maxWait`', function(assert) { + assert.expect(1); + + var done = assert.async(); + + var callCount = 0; + + var debounced = _.debounce(function() { + ++callCount; + }, 64, { 'maxWait': 64 }); + + debounced(); + + lodashStable.times(20, function(index) { + setTimeout(debounced, 54 + index); + }); + + setTimeout(function() { + assert.strictEqual(callCount, 2); + done(); + }, 160); + }); + QUnit.test('should cancel `maxDelayed` when `delayed` is invoked', function(assert) { assert.expect(2); From 4f438416993a07f6c44703bb3d072b3291b3b5c5 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 9 Apr 2016 21:12:18 -0700 Subject: [PATCH 14/18] Add doc comments to the common file util. [ci skip] --- lib/common/file.js | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/lib/common/file.js b/lib/common/file.js index 783a194ba6..9f9016fbe2 100644 --- a/lib/common/file.js +++ b/lib/common/file.js @@ -9,10 +9,26 @@ var minify = require('../common/minify.js'); /*----------------------------------------------------------------------------*/ +/** + * Creates a [fs.copy](https://github.com/jprichardson/node-fs-extra#copy) + * function with `srcPath` and `destPath` partially applied. + * + * @memberOf file + * @param {string} srcPath The path of the file to copy. + * @param {string} destPath The path to copy the file to. + * @returns {Function} Returns the partially applied function. + */ function copy(srcPath, destPath) { return _.partial(fs.copy, srcPath, destPath); } +/** + * Creates an object of compiled template and base name pairs that match `pattern`. + * + * @memberOf file + * @param {string} pattern The glob pattern to be match. + * @returns {Object} Returns the object of compiled templates. + */ function globTemplate(pattern) { return _.transform(glob.sync(pattern), function(result, filePath) { var key = path.basename(filePath, path.extname(filePath)); @@ -20,14 +36,33 @@ function globTemplate(pattern) { }, {}); } +/** + * Creates a `minify` function with `srcPath` and `destPath` partially applied. + * + * @memberOf file + * @param {string} srcPath The path of the file to minify. + * @param {string} destPath The path to write the file to. + * @returns {Function} Returns the partially applied function. + */ function min(srcPath, destPath) { return _.partial(minify, srcPath, destPath); } -function write(filePath, data) { - return _.partial(fs.writeFile, filePath, data); +/** + * Creates a [fs.writeFile](https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback) + * function with `filePath` and `data` partially applied. + * + * @memberOf file + * @param {string} destPath The path to write the file to. + * @param {string} data The data to write to the file. + * @returns {Function} Returns the partially applied function. + */ +function write(destPath, data) { + return _.partial(fs.writeFile, destPath, data); } +/*----------------------------------------------------------------------------*/ + module.exports = { 'copy': copy, 'globTemplate': globTemplate, From fd365c27e2e59689f106a82919346117237e1e72 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 10 Apr 2016 22:36:45 -0700 Subject: [PATCH 15/18] Add doc comments to the minify file util. [ci skip] --- lib/common/minify.js | 13 +++++++++++++ lib/common/uglify.options.js | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/lib/common/minify.js b/lib/common/minify.js index f1abfb0816..7a0082d3e2 100644 --- a/lib/common/minify.js +++ b/lib/common/minify.js @@ -8,6 +8,19 @@ var uglifyOptions = require('./uglify.options'); /*----------------------------------------------------------------------------*/ +/** + * Asynchronously minifies the file at `srcPath`, writes it to `destPath`, and + * invokes `callback` upon completion. The callback is invoked with one argument: + * (error). + * + * If unspecified, `destPath` is `srcPath` with an extension of `.min.js`. For + * example, a `srcPath` of `path/to/foo.js` would have a `destPath` of `path/to/foo.min.js`. + * + * @param {string} srcPath The path of the file to minify. + * @param {string} [destPath] The path to write the file to. + * @param {Function} callback The function invoked upon completion. + * @param {Object} [option] The UglifyJS options object. + */ function minify(srcPath, destPath, callback, options) { if (_.isFunction(destPath)) { if (_.isObject(callback)) { diff --git a/lib/common/uglify.options.js b/lib/common/uglify.options.js index a528c5f5ff..1c52f61e22 100644 --- a/lib/common/uglify.options.js +++ b/lib/common/uglify.options.js @@ -1,5 +1,11 @@ 'use strict'; +/** + * The UglifyJS options object for + * [compress](https://github.com/mishoo/UglifyJS2#compressor-options), + * [mangle](https://github.com/mishoo/UglifyJS2#mangler-options), and + * [output](https://github.com/mishoo/UglifyJS2#beautifier-options) options. + */ module.exports = { 'compress': { 'pure_getters': true, From 53bde1238c7e0cfca3dfea33c72d0057c8b224aa Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 10 Apr 2016 22:39:09 -0700 Subject: [PATCH 16/18] Replace "invoking" with "and invokes". [ci skip] --- lodash.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lodash.js b/lodash.js index bac9c75444..c468501b1f 100644 --- a/lodash.js +++ b/lodash.js @@ -2686,7 +2686,7 @@ /** * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` invoking `iteratee` for each property. + * properties returned by `keysFunc` and invokes `iteratee` for each property. * Iteratee functions may exit iteration early by explicitly returning `false`. * * @private @@ -8309,7 +8309,7 @@ } /** - * Iterates over elements of `collection` invoking `iteratee` for each element. + * Iterates over elements of `collection` and invokes `iteratee` for each element. * The iteratee is invoked with three arguments: (value, index|key, collection). * Iteratee functions may exit iteration early by explicitly returning `false`. * @@ -11898,9 +11898,9 @@ /** * Iterates over own and inherited enumerable string keyed properties of an - * object invoking `iteratee` for each property. The iteratee is invoked with - * three arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. * * @static * @memberOf _ @@ -11961,10 +11961,10 @@ } /** - * Iterates over own enumerable string keyed properties of an object invoking - * `iteratee` for each property. The iteratee is invoked with three arguments: - * (value, key, object). Iteratee functions may exit iteration early by - * explicitly returning `false`. + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. * * @static * @memberOf _ @@ -14281,7 +14281,7 @@ }); /** - * Creates a function that iterates over `pairs` invoking the corresponding + * Creates a function that iterates over `pairs` and invokes the corresponding * function of the first predicate to return truthy. The predicate-function * pairs are invoked with the `this` binding and arguments of the created * function. From 87912a3b3f7e48a2fdc257039c0e3a13b30415f3 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 9 Apr 2016 14:43:40 -0700 Subject: [PATCH 17/18] Rebuild lodash and docs. --- dist/lodash.core.js | 22 +- dist/lodash.core.min.js | 4 +- dist/lodash.fp.js | 5 +- dist/lodash.fp.min.js | 12 +- dist/lodash.js | 275 ++++++++-------- dist/lodash.min.js | 220 ++++++------- dist/mapping.fp.js | 5 +- doc/README.md | 680 ++++++++++++++++++++-------------------- lodash.js | 4 +- package.json | 2 +- 10 files changed, 624 insertions(+), 605 deletions(-) diff --git a/dist/lodash.core.js b/dist/lodash.core.js index b6e5b32445..4ef043f0ca 100644 --- a/dist/lodash.core.js +++ b/dist/lodash.core.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.9.0 (Custom Build) + * lodash 4.10.0 (Custom Build) * Build: `lodash core -o ./dist/lodash.core.js` * Copyright jQuery Foundation and other contributors * Released under MIT license @@ -13,7 +13,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.9.0'; + var VERSION = '4.10.0'; /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; @@ -670,7 +670,7 @@ /** * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` invoking `iteratee` for each property. + * properties returned by `keysFunc` and invokes `iteratee` for each property. * Iteratee functions may exit iteration early by explicitly returning `false`. * * @private @@ -1885,7 +1885,7 @@ } /** - * Iterates over elements of `collection` invoking `iteratee` for each element. + * Iterates over elements of `collection` and invokes `iteratee` for each element. * The iteratee is invoked with three arguments: (value, index|key, collection). * Iteratee functions may exit iteration early by explicitly returning `false`. * @@ -1928,8 +1928,8 @@ * The guarded methods are: * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`, - * `trim`, `trimEnd`, `trimStart`, and `words` + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` * * @static * @memberOf _ @@ -2087,8 +2087,7 @@ * @category Collection * @param {Array|Object} collection The collection to iterate over. * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} - * [iteratees=[_.identity]] The iteratees to sort by, specified individually - * or in arrays. + * [iteratees=[_.identity]] The iteratees to sort by. * @returns {Array} Returns the new sorted array. * @example * @@ -3123,8 +3122,8 @@ var toNumber = Number; /** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` and `undefined` values. The sign of `-0` is preserved. + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. * * @static * @memberOf _ @@ -3447,8 +3446,7 @@ * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [props] The property identifiers to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [props] The property identifiers to pick. * @returns {Object} Returns the new object. * @example * diff --git a/dist/lodash.core.min.js b/dist/lodash.core.min.js index 37cd8bddab..6753cce4db 100644 --- a/dist/lodash.core.min.js +++ b/dist/lodash.core.min.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.9.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + * lodash 4.10.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE * Build: `lodash core -o ./dist/lodash.core.js` */ ;(function(){function n(n,t){return n.push.apply(n,t),n}function t(n,t,r){for(var e=-1,u=n.length;++ee&&!c||!i||u&&!f&&a||o&&a){r=1;break n}if(e>r&&!u||!a||c&&!o&&i||f&&i){r=-1;break n}}r=0}return r||n.b-t.b}),E("c"))},a.tap=function(n,t){return t(n),n},a.thru=function(n,t){return t(n)},a.toArray=function(n){return W(n)?n.length?N(n):[]:fn(n)},a.values=fn,a.extend=Qn,ln(a,a),a.clone=function(n){return Z(n)?Vn(n)?N(n):F(n,on(n)):n},a.escape=function(n){return(n=un(n))&&vn.test(n)?n.replace(hn,i):n},a.every=function(n,t,r){return t=r?pn:t,v(n,m(t))},a.find=M,a.forEach=P,a.has=function(n,t){return null!=n&&kn.call(n,t); },a.head=J,a.identity=an,a.indexOf=function(n,t,r){var e=n?n.length:0;r=typeof r=="number"?0>r?qn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r1&&(k||!p.skipRearg[t])&&(r=L(r,p.methodRearg[t]||p.aryRearg[e])), -I.cap&&(o?r=m(r,o):a&&(r=g(r,a))),(b||I.curry&&e>1)&&(b&&console.log(b,t),r=q(r,e)),!1}}),!r}),r||(r=n),r==e&&(r=b?q(r,1):function(){return e.apply(this,arguments)}),r.convert=y(t,e),p.placeholder[t]&&(W=!0,r.placeholder=e.placeholder=E),r}var W,R="function"==typeof e,A=e===Object(e);if(A&&(d=r,r=e,e=void 0),null==r)throw new TypeError;d||(d={});var I={cap:"cap"in d?d.cap:!0,curry:"curry"in d?d.curry:!0,fixed:"fixed"in d?d.fixed:!0,immutable:"immutable"in d?d.immutable:!0,rearg:"rearg"in d?d.rearg:!0 -},b="curry"in d&&d.curry,O="fixed"in d&&d.fixed,k="rearg"in d&&d.rearg,E=R?r:c,B=R?r.runInContext():void 0,j=R?r:{ary:t.ary,assign:t.assign,clone:t.clone,curry:t.curry,forEach:t.forEach,isArray:t.isArray,isFunction:t.isFunction,iteratee:t.iteratee,keys:t.keys,rearg:t.rearg,spread:t.spread,toPath:t.toPath},C=j.ary,w=j.assign,M=j.clone,q=j.curry,P=j.forEach,S=j.isArray,z=j.isFunction,K=j.keys,L=j.rearg,D=j.spread,F=j.toPath,T=K(p.aryMethod),_={castArray:function(t){return function(){var e=arguments[0]; +var r=arguments.length;if(!r)return t();for(var n=Array(r);r--;)n[r]=arguments[r];var i=I.rearg?0:r-1;return n[i]=e(n[i]),t.apply(void 0,n)}}function x(t,e){t=p.aliasToReal[t]||t;var r,n=e,i=_[t];return i?n=i(e):I.immutable&&(l.array[t]?n=s(e,a):l.object[t]?n=s(e,o(e)):l.set[t]&&(n=s(e,f))),P(T,function(e){return P(p.aryMethod[e],function(i){if(t==i){var a=!R&&p.iterateeAry[t],o=p.iterateeRearg[t],s=p.methodSpread[t];return r=n,!I.fixed||!k&&p.skipFixed[t]||(r=void 0===s?C(r,e):D(r,s)),I.rearg&&e>1&&(E||!p.skipRearg[t])&&(r=L(r,p.methodRearg[t]||p.aryRearg[e])), +I.cap&&(o?r=m(r,o):a&&(r=g(r,a))),(b||I.curry&&e>1)&&(b&&console.log(b,t),r=q(r,e)),!1}}),!r}),r||(r=n),r==e&&(r=b?q(r,1):function(){return e.apply(this,arguments)}),r.convert=y(t,e),p.placeholder[t]&&(W=!0,r.placeholder=e.placeholder=O),r}var W,R="function"==typeof e,A=e===Object(e);if(A&&(d=r,r=e,e=void 0),null==r)throw new TypeError;d||(d={});var I={cap:"cap"in d?d.cap:!0,curry:"curry"in d?d.curry:!0,fixed:"fixed"in d?d.fixed:!0,immutable:"immutable"in d?d.immutable:!0,rearg:"rearg"in d?d.rearg:!0 +},b="curry"in d&&d.curry,k="fixed"in d&&d.fixed,E="rearg"in d&&d.rearg,O=R?r:c,B=R?r.runInContext():void 0,j=R?r:{ary:t.ary,assign:t.assign,clone:t.clone,curry:t.curry,forEach:t.forEach,isArray:t.isArray,isFunction:t.isFunction,iteratee:t.iteratee,keys:t.keys,rearg:t.rearg,spread:t.spread,toPath:t.toPath},C=j.ary,w=j.assign,M=j.clone,q=j.curry,P=j.forEach,S=j.isArray,z=j.isFunction,K=j.keys,L=j.rearg,D=j.spread,F=j.toPath,T=K(p.aryMethod),_={castArray:function(t){return function(){var e=arguments[0]; return S(e)?t(a(e)):t.apply(void 0,arguments)}},iteratee:function(t){return function(){var e=arguments[0],r=arguments[1],n=t(e,r),a=n.length;return I.cap&&"number"==typeof r?(r=r>2?r-2:1,a&&r>=a?n:i(n,r)):n}},mixin:function(t){return function(e){var r=this;if(!z(r))return t(r,Object(e));var n=[],i=[];return P(K(e),function(t){var a=e[t];z(a)&&(i.push(t),n.push(r.prototype[t]))}),t(r,Object(e)),P(i,function(t,e){var i=n[e];z(i)?r.prototype[t]=i:delete r.prototype[t]}),r}},runInContext:function(e){ -return function(r){return u(t,e(r),d)}}};if(!A)return x(e,r);var N=r,V=[];return P(T,function(t){P(p.aryMethod[t],function(t){var e=N[p.remap[t]||t];e&&V.push([t,x(t,e)])})}),P(K(N),function(t){var e=N[t];if("function"==typeof e){for(var r=V.length;r--;)if(V[r][0]==t)return;e.convert=y(t,e),V.push([t,e])}}),P(V,function(t){N[t[0]]=t[1]}),N.convert=h,W&&(N.placeholder=E),P(K(N),function(t){P(p.realToAlias[t]||[],function(e){N[e]=N[t]})}),N}var p=r(2),l=p.mutate,c=r(3);t.exports=u},function(t,e){e.aliasToReal={ -each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendWith:"assignInWith",first:"head",__:"placeholder",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",equals:"isEqual",identical:"eq",init:"initial",invertObj:"invert",juxt:"over",mapObj:"mapValues",omitAll:"omit",nAry:"ary",path:"get", -pathEq:"matchesProperty",pathOr:"getOr",pickAll:"pick",pipe:"flow",prop:"get",propOf:"propertyOf",propOr:"getOr",unapply:"rest",unnest:"flatten",useWith:"overArgs",whereEq:"filter",zipObj:"zipObject"},e.aryMethod={1:["attempt","castArray","ceil","create","curry","curryRight","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","methodOf","mixin","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words"], +return function(r){return u(t,e(r),d)}}};if(!A)return x(e,r);var N=r,V=[];return P(T,function(t){P(p.aryMethod[t],function(t){var e=N[p.remap[t]||t];e&&V.push([t,x(t,e)])})}),P(K(N),function(t){var e=N[t];if("function"==typeof e){for(var r=V.length;r--;)if(V[r][0]==t)return;e.convert=y(t,e),V.push([t,e])}}),P(V,function(t){N[t[0]]=t[1]}),N.convert=h,W&&(N.placeholder=O),P(K(N),function(t){P(p.realToAlias[t]||[],function(e){N[e]=N[t]})}),N}var p=r(2),l=p.mutate,c=r(3);t.exports=u},function(t,e){e.aliasToReal={ +each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendWith:"assignInWith",first:"head",__:"placeholder",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",equals:"isEqual",identical:"eq",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty", +pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",unapply:"rest",unnest:"flatten",useWith:"overArgs",whereEq:"filter",zipObj:"zipObject"},e.aryMethod={1:["attempt","castArray","ceil","create","curry","curryRight","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","methodOf","mixin","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words"], 2:["add","after","ary","assign","assignIn","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","minBy","multiply","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"], 3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","getOr","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},e.aryRearg={2:[1,0],3:[2,0,1], 4:[3,2,0,1]},e.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findIndex:1,findKey:1,findLast:1,findLastIndex:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},e.iterateeRearg={mapKeys:[1]},e.methodRearg={assignInWith:[1,2,0],assignWith:[1,2,0],getOr:[2,1,0],isEqualWith:[1,2,0], diff --git a/dist/lodash.js b/dist/lodash.js index 8baebf082a..528b744858 100644 --- a/dist/lodash.js +++ b/dist/lodash.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.9.0 (Custom Build) + * lodash 4.10.0 (Custom Build) * Build: `lodash -o ./dist/lodash.js` * Copyright jQuery Foundation and other contributors * Released under MIT license @@ -13,7 +13,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.9.0'; + var VERSION = '4.10.0'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -131,6 +131,9 @@ reTrimStart = /^\s+/, reTrimEnd = /\s+$/; + /** Used to match non-compound words composed of alphanumeric characters. */ + var reBasicWord = /[a-zA-Z0-9]+/g; + /** Used to match backslashes in property paths. */ var reEscapeChar = /\\(\\)?/g; @@ -219,12 +222,6 @@ /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); - - /** Used to match non-compound words composed of alphanumeric characters. */ - var reBasicWord = /[a-zA-Z0-9]+/g; - /** Used to match complex or compound words. */ var reComplexWord = RegExp([ rsUpper + '?' + rsLower + '+(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', @@ -235,6 +232,9 @@ rsEmoji ].join('|'), 'g'); + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); + /** Used to detect strings that need a more robust regexp to match words. */ var reHasComplexWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; @@ -2357,50 +2357,6 @@ return result; } - /** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ - function baseCastArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function baseCastFunction(value) { - return typeof value == 'function' ? value : identity; - } - - /** - * Casts `value` to a string if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the cast key. - */ - function baseCastKey(key) { - return (typeof key == 'string' || isSymbol(key)) ? key : (key + ''); - } - - /** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast property path array. - */ - function baseCastPath(value) { - return isArray(value) ? value : stringToPath(value); - } - /** * The base implementation of `_.clamp` which doesn't coerce arguments to numbers. * @@ -2731,7 +2687,7 @@ /** * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` invoking `iteratee` for each property. + * properties returned by `keysFunc` and invokes `iteratee` for each property. * Iteratee functions may exit iteration early by explicitly returning `false`. * * @private @@ -2802,7 +2758,7 @@ * @returns {*} Returns the resolved value. */ function baseGet(object, path) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var index = 0, length = path.length; @@ -2964,7 +2920,7 @@ */ function baseInvoke(object, path, args) { if (!isKey(path, object)) { - path = baseCastPath(path); + path = castPath(path); object = parent(object, path); path = last(path); } @@ -3486,7 +3442,7 @@ splice.call(array, index, 1); } else if (!isKey(index, array)) { - var path = baseCastPath(index), + var path = castPath(index), object = parent(array, path); if (object != null) { @@ -3576,7 +3532,7 @@ * @returns {Object} Returns `object`. */ function baseSet(object, path, value, customizer) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var index = -1, length = path.length, @@ -3855,7 +3811,7 @@ * @returns {boolean} Returns `true` if the property is deleted, else `false`. */ function baseUnset(object, path) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); object = parent(object, path); var key = last(path); return (object != null && has(object, key)) ? delete object[key] : true; @@ -3965,6 +3921,54 @@ return result; } + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value) { + return isArray(value) ? value : stringToPath(value); + } + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + /** * Creates a clone of `buffer`. * @@ -4358,8 +4362,13 @@ ? stringToArray(string) : undefined; - var chr = strSymbols ? strSymbols[0] : string.charAt(0), - trailing = strSymbols ? strSymbols.slice(1).join('') : string.slice(1); + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); return chr[methodName]() + trailing; }; @@ -4638,7 +4647,7 @@ } var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); return reHasComplexSymbol.test(chars) - ? stringToArray(result).slice(0, length).join('') + ? castSlice(stringToArray(result), 0, length).join('') : result.slice(0, length); } @@ -5346,7 +5355,7 @@ * @returns {boolean} Returns `true` if `path` exists, else `false`. */ function hasPath(object, path, hasFunc) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var result, index = -1, @@ -5784,6 +5793,17 @@ return result; }); + /** + * 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(key) { + return (typeof key == 'string' || isSymbol(key)) ? key : (key + ''); + } + /** * Converts `func` to its source code. * @@ -6482,7 +6502,7 @@ * // => [2] */ var intersection = rest(function(arrays) { - var mapped = arrayMap(arrays, baseCastArrayLikeObject); + var mapped = arrayMap(arrays, castArrayLikeObject); return (mapped.length && mapped[0] === arrays[0]) ? baseIntersection(mapped) : []; @@ -6513,7 +6533,7 @@ */ var intersectionBy = rest(function(arrays) { var iteratee = last(arrays), - mapped = arrayMap(arrays, baseCastArrayLikeObject); + mapped = arrayMap(arrays, castArrayLikeObject); if (iteratee === last(mapped)) { iteratee = undefined; @@ -6548,7 +6568,7 @@ */ var intersectionWith = rest(function(arrays) { var comparator = last(arrays), - mapped = arrayMap(arrays, baseCastArrayLikeObject); + mapped = arrayMap(arrays, castArrayLikeObject); if (comparator === last(mapped)) { comparator = undefined; @@ -6765,8 +6785,7 @@ * @since 3.0.0 * @category Array * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove, - * specified individually or in arrays. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. * @returns {Array} Returns the new array of removed elements. * @example * @@ -7774,8 +7793,7 @@ * @memberOf _ * @since 1.0.0 * @category Seq - * @param {...(string|string[])} [paths] The property paths of elements to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [paths] The property paths of elements to pick. * @returns {Object} Returns the new `lodash` wrapper instance. * @example * @@ -8292,7 +8310,7 @@ } /** - * Iterates over elements of `collection` invoking `iteratee` for each element. + * Iterates over elements of `collection` and invokes `iteratee` for each element. * The iteratee is invoked with three arguments: (value, index|key, collection). * Iteratee functions may exit iteration early by explicitly returning `false`. * @@ -8506,8 +8524,8 @@ * The guarded methods are: * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`, - * `trim`, `trimEnd`, `trimStart`, and `words` + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` * * @static * @memberOf _ @@ -8917,8 +8935,7 @@ * @category Collection * @param {Array|Object} collection The collection to iterate over. * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} - * [iteratees=[_.identity]] The iteratees to sort by, specified individually - * or in arrays. + * [iteratees=[_.identity]] The iteratees to sort by. * @returns {Array} Returns the new sorted array. * @example * @@ -8948,7 +8965,7 @@ if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { iteratees = []; } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees.length = 1; + iteratees = [iteratees[0]]; } return baseOrderBy(collection, baseFlatten(iteratees, 1), []); }); @@ -9420,6 +9437,9 @@ timerId = setTimeout(timerExpired, wait); return invokeFunc(lastCallTime); } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } return result; } debounced.cancel = cancel; @@ -9621,8 +9641,8 @@ * @memberOf _ * @category Function * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms] The functions to transform. - * arguments, specified individually or in arrays. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [transforms[_.identity]] The functions to transform. * @returns {Function} Returns the new function. * @example * @@ -9744,8 +9764,7 @@ * @since 3.0.0 * @category Function * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes, - * specified individually or in arrays. + * @param {...(number|number[])} indexes The arranged argument indexes. * @returns {Function} Returns the new function. * @example * @@ -9855,7 +9874,7 @@ start = start === undefined ? 0 : nativeMax(toInteger(start), 0); return rest(function(args) { var array = args[start], - otherArgs = args.slice(0, start); + otherArgs = castSlice(args, 0, start); if (array) { arrayPush(otherArgs, array); @@ -11503,8 +11522,8 @@ } /** - * Converts `value` to a string if it's not one. An empty string is returned - * for `null` and `undefined` values. The sign of `-0` is preserved. + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. * * @static * @memberOf _ @@ -11694,8 +11713,7 @@ * @since 1.0.0 * @category Object * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths of elements to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [paths] The property paths of elements to pick. * @returns {Array} Returns the new array of picked elements. * @example * @@ -11881,9 +11899,9 @@ /** * Iterates over own and inherited enumerable string keyed properties of an - * object invoking `iteratee` for each property. The iteratee is invoked with - * three arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. * * @static * @memberOf _ @@ -11944,10 +11962,10 @@ } /** - * Iterates over own enumerable string keyed properties of an object invoking - * `iteratee` for each property. The iteratee is invoked with three arguments: - * (value, key, object). Iteratee functions may exit iteration early by - * explicitly returning `false`. + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. * * @static * @memberOf _ @@ -12470,8 +12488,7 @@ * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [props] The property identifiers to omit, - * specified individually or in arrays. + * @param {...(string|string[])} [props] The property identifiers to omit. * @returns {Object} Returns the new object. * @example * @@ -12484,7 +12501,7 @@ if (object == null) { return {}; } - props = arrayMap(baseFlatten(props, 1), baseCastKey); + props = arrayMap(baseFlatten(props, 1), toKey); return basePick(object, baseDifference(getAllKeysIn(object), props)); }); @@ -12524,8 +12541,7 @@ * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [props] The property identifiers to pick, - * specified individually or in arrays. + * @param {...(string|string[])} [props] The property identifiers to pick. * @returns {Object} Returns the new object. * @example * @@ -12591,7 +12607,7 @@ * // => 'default' */ function result(object, path, defaultValue) { - path = isKey(path, object) ? [path] : baseCastPath(path); + path = isKey(path, object) ? [path] : castPath(path); var index = -1, length = path.length; @@ -12837,7 +12853,7 @@ * // => 0 */ function update(object, path, updater) { - return object == null ? object : baseUpdate(object, path, baseCastFunction(updater)); + return object == null ? object : baseUpdate(object, path, castFunction(updater)); } /** @@ -12866,7 +12882,7 @@ */ function updateWith(object, path, updater, customizer) { customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseUpdate(object, path, baseCastFunction(updater), customizer); + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); } /** @@ -13561,6 +13577,13 @@ * // => ['a', 'b'] */ function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } string = toString(string); if (string && ( typeof separator == 'string' || @@ -13568,8 +13591,7 @@ )) { separator += ''; if (separator == '' && reHasComplexSymbol.test(string)) { - var strSymbols = stringToArray(string); - return limit === undefined ? strSymbols : strSymbols.slice(0, limit < 0 ? 0 : limit); + return castSlice(stringToArray(string), 0, limit); } } return string.split(separator, limit); @@ -13920,16 +13942,15 @@ if (guard || chars === undefined) { return string.replace(reTrim, ''); } - chars = (chars + ''); - if (!chars) { + if (!(chars += '')) { return string; } var strSymbols = stringToArray(string), - chrSymbols = stringToArray(chars); + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; - return strSymbols - .slice(charsStartIndex(strSymbols, chrSymbols), charsEndIndex(strSymbols, chrSymbols) + 1) - .join(''); + return castSlice(strSymbols, start, end).join(''); } /** @@ -13959,14 +13980,13 @@ if (guard || chars === undefined) { return string.replace(reTrimEnd, ''); } - chars = (chars + ''); - if (!chars) { + if (!(chars += '')) { return string; } - var strSymbols = stringToArray(string); - return strSymbols - .slice(0, charsEndIndex(strSymbols, stringToArray(chars)) + 1) - .join(''); + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); } /** @@ -13996,14 +14016,13 @@ if (guard || chars === undefined) { return string.replace(reTrimStart, ''); } - chars = (chars + ''); - if (!chars) { + if (!(chars += '')) { return string; } - var strSymbols = stringToArray(string); - return strSymbols - .slice(charsStartIndex(strSymbols, stringToArray(chars))) - .join(''); + var strSymbols = stringToArray(string), + start = charsStartIndex(strSymbols, stringToArray(chars)); + + return castSlice(strSymbols, start).join(''); } /** @@ -14067,7 +14086,7 @@ return omission; } var result = strSymbols - ? strSymbols.slice(0, end).join('') + ? castSlice(strSymbols, 0, end).join('') : string.slice(0, end); if (separator === undefined) { @@ -14240,8 +14259,7 @@ * @memberOf _ * @category Util * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} methodNames The object method names to bind, - * specified individually or in arrays. + * @param {...(string|string[])} methodNames The object method names to bind. * @returns {Object} Returns `object`. * @example * @@ -14264,7 +14282,7 @@ }); /** - * Creates a function that iterates over `pairs` invoking the corresponding + * Creates a function that iterates over `pairs` and invokes the corresponding * function of the first predicate to return truthy. The predicate-function * pairs are invoked with the `this` binding and arguments of the created * function. @@ -14730,7 +14748,8 @@ * @memberOf _ * @since 4.0.0 * @category Util - * @param {...(Function|Function[])} iteratees The iteratees to invoke. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [iteratees=[_.identity]] The iteratees to invoke. * @returns {Function} Returns the new function. * @example * @@ -14749,7 +14768,8 @@ * @memberOf _ * @since 4.0.0 * @category Util - * @param {...(Function|Function[])} predicates The predicates to check. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [predicates=[_.identity]] The predicates to check. * @returns {Function} Returns the new function. * @example * @@ -14774,7 +14794,8 @@ * @memberOf _ * @since 4.0.0 * @category Util - * @param {...(Function|Function[])} predicates The predicates to check. + * @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])} + * [predicates=[_.identity]] The predicates to check. * @returns {Function} Returns the new function. * @example * @@ -14988,7 +15009,7 @@ */ function toPath(value) { if (isArray(value)) { - return arrayMap(value, baseCastKey); + return arrayMap(value, toKey); } return isSymbol(value) ? [value] : copyArray(stringToPath(value)); } diff --git a/dist/lodash.min.js b/dist/lodash.min.js index e941d665ff..a2a34a22e8 100644 --- a/dist/lodash.min.js +++ b/dist/lodash.min.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.9.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + * lodash 4.10.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE * Build: `lodash -o ./dist/lodash.js` */ ;(function(){function t(t,n){return t.set(n[0],n[1]),t}function n(t,n){return t.add(n),t}function r(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}function e(t,n,r,e){for(var u=-1,o=t.length;++un&&!o||!u||r&&!i&&f||e&&f)return 1;if(n>t&&!r||!f||o&&!e&&u||i&&u)return-1}return 0}function W(t){return function(n,r){var e; -return n===T&&r===T?0:(n!==T&&(e=n),r!==T&&(e=e===T?r:t(e,r)),e)}}function B(t){return Mt[t]}function C(t){return Lt[t]}function z(t){return"\\"+Ft[t]}function U(t,n,r){var e=t.length;for(n+=r?0:-1;r?n--:++n-1&&0==t%1&&(null==n?9007199254740991:n)>t}function $(t){for(var n,r=[];!(n=t.next()).done;)r.push(n.value); -return r}function D(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}function F(t,n){for(var r=-1,e=t.length,u=0,o=[];++rr?false:(r==t.length-1?t.pop():zu.call(t,r,1),true)}function qt(t,n){var r=Vt(t,n);return 0>r?T:t[r][1]}function Vt(t,n){for(var r=t.length;r--;)if(je(t[r][0],n))return r;return-1}function Kt(t,n,r){ -var e=Vt(t,n);0>e?t.push([n,r]):t[e][1]=r}function Gt(t,n,r,e){return t===T||je(t,vu[r])&&!du.call(e,r)?n:t}function Ht(t,n,r){(r===T||je(t[n],r))&&(typeof n!="number"||r!==T||n in t)||(t[n]=r)}function Qt(t,n,r){var e=t[n];du.call(t,n)&&je(e,r)&&(r!==T||n in t)||(t[n]=r)}function Xt(t,n,r,e){return ao(t,function(t,u,o){n(e,t,r(t),o)}),e}function tn(t,n){return t&&ur(n,Je(n),t)}function nn(t,n){for(var r=-1,e=null==t,u=n.length,o=Array(u);++rr?r:t),n!==T&&(t=n>t?n:t)),t}function fn(t,n,r,e,o,i,f){var c;if(e&&(c=i?e(t,o,i,f):e(t)),c!==T)return c;if(!Re(t))return t;if(o=ti(t)){if(c=Mr(t),!n)return er(t,c)}else{var a=zr(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ni(t))return Xn(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!i){if(M(t))return i?t:{};if(c=Lr(l?{}:t),!n)return ir(t,tn(c,t)); -}else{if(!Ut[a])return i?t:{};c=$r(t,a,fn,n)}}if(f||(f=new Ft),i=f.get(t))return i;if(f.set(t,c),!o)var s=r?bn(t,Je,Cr):Je(t);return u(s||t,function(u,o){s&&(o=u,u=t[o]),Qt(c,o,fn(u,n,r,e,o,t,f))}),c}function cn(t){var n=Je(t),r=n.length;return function(e){if(null==e)return!r;for(var u=r;u--;){var o=n[u],i=t[o],f=e[o];if(f===T&&!(o in Object(e))||!i(f))return false}return true}}function an(t){return Re(t)?Wu(t):{}}function ln(t,n,r){if(typeof t!="function")throw new pu("Expected a function");return Cu(function(){ -t.apply(T,r)},n)}function sn(t,n,r,e){var u=-1,o=f,i=true,l=t.length,s=[],h=n.length;if(!l)return s;r&&(n=a(n,O(r))),e?(o=c,i=false):n.length>=200&&(o=Dt,i=false,n=new $t(n));t:for(;++u0&&r(f)?n>1?_n(f,n-1,r,e,u):l(u,f):e||(u[u.length]=f)}return u}function vn(t,n){return t&&so(t,n,Je)}function gn(t,n){return t&&ho(t,n,Je)}function dn(t,n){return i(n,function(n){return Ee(t[n])})}function yn(t,n){n=Zr(n,t)?[n]:un(n);for(var r=0,e=n.length;null!=t&&e>r;)t=t[n[r++]];return r&&r==e?t:T}function bn(t,n,r){return n=n(t),ti(t)?n:l(n,r(t))}function xn(t,n){return du.call(t,n)||typeof t=="object"&&n in t&&null===Lu(Object(t))}function jn(t,n){return n in Object(t); -}function mn(t,n,r){for(var e=r?c:f,u=t[0].length,o=t.length,i=o,l=Array(o),s=1/0,h=[];i--;){var p=t[i];i&&n&&(p=a(p,O(n))),s=Pu(p.length,s),l[i]=r||!n&&(120>u||120>p.length)?T:new $t(i&&p)}var p=t[0],_=-1,v=l[0];t:for(;++_h.length;){var g=p[_],d=n?n(g):g;if(v?!Dt(v,d):!e(h,d,r)){for(i=o;--i;){var y=l[i];if(y?!Dt(y,d):!e(t[i],d,r))continue t}v&&v.push(d),h.push(g)}}return h}function wn(t,n,r){var e={};return vn(t,function(t,u,o){n(e,r(t),u,o)}),e}function An(t,n,e){return Zr(n,t)||(n=un(n), -t=Jr(t,n),n=ne(n)),n=null==t?t:t[n],null==n?T:r(n,t,e)}function On(t,n,r,e,u){if(t===n)n=true;else if(null==t||null==n||!Re(t)&&!We(n))n=t!==t&&n!==n;else t:{var o=ti(t),i=ti(n),f="[object Array]",c="[object Array]";o||(f=zr(t),f="[object Arguments]"==f?"[object Object]":f),i||(c=zr(n),c="[object Arguments]"==c?"[object Object]":c);var a="[object Object]"==f&&!M(t),i="[object Object]"==c&&!M(n);if((c=f==c)&&!a)u||(u=new Ft),n=o||$e(t)?kr(t,n,On,r,e,u):Er(t,n,f,On,r,e,u);else{if(!(2&e)&&(o=a&&du.call(t,"__wrapped__"), -f=i&&du.call(n,"__wrapped__"),o||f)){t=o?t.value():t,n=f?n.value():n,u||(u=new Ft),n=On(t,n,r,e,u);break t}if(c)n:if(u||(u=new Ft),o=2&e,f=Je(t),i=f.length,c=Je(n).length,i==c||o){for(a=i;a--;){var l=f[a];if(!(o?l in n:xn(n,l))){n=false;break n}}if(c=u.get(t))n=c==n;else{c=true,u.set(t,n);for(var s=o;++ae?c*("desc"==r[e]?-1:1):c;break t}}e=t.b-n.b}return e})}function zn(t,n){return t=Object(t),s(n,function(n,r){return r in t&&(n[r]=t[r]),n},{})}function Un(t,n){for(var r=-1,e=bn(t,Ye,yo),u=e.length,o={};++rn||n>9007199254740991)return r;do n%2&&(r+=t),(n=Mu(n/2))&&(t+=t);while(n);return r}function Pn(t,n,r,e){n=Zr(n,t)?[n]:un(n);for(var u=-1,o=n.length,i=o-1,f=t;null!=f&&++un&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Array(u);++e=u){for(;u>e;){var o=e+u>>>1,i=t[o];(r?n>=i:n>i)&&null!==i?e=o+1:u=o}return u}return Vn(t,n,uu,r)}function Vn(t,n,r,e){ -n=r(n);for(var u=0,o=t?t.length:0,i=n!==n,f=null===n,c=n===T;o>u;){var a=Mu((u+o)/2),l=r(t[a]),s=l!==T,h=l===l;(i?h||e:f?h&&s&&(e||null!=l):c?h&&(e||s):null==l?0:e?n>=l:n>l)?u=a+1:o=a}return Pu(o,4294967294)}function Kn(t,n){for(var r=0,e=t.length,u=t[0],o=n?n(u):u,i=o,f=1,c=[u];++re?n[e]:T);return i}function Xn(t,n){if(n)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}function tr(t){var n=new t.constructor(t.byteLength);return new ku(n).set(new ku(t)),n}function nr(t,n,r,e){var u=-1,o=t.length,i=r.length,f=-1,c=n.length,a=Nu(o-i,0),l=Array(c+a);for(e=!e;++fu)&&(l[r[u]]=t[u]);for(;a--;)l[f++]=t[u++];return l}function rr(t,n,r,e){ -var u=-1,o=t.length,i=-1,f=r.length,c=-1,a=n.length,l=Nu(o-f,0),s=Array(l+a);for(e=!e;++uu)&&(s[l+r[i]]=t[u++]);return s}function er(t,n){var r=-1,e=t.length;for(n||(n=Array(e));++r1?r[u-1]:T,i=u>2?r[2]:T,o=typeof o=="function"?(u--,o):T;for(i&&Pr(r[0],r[1],i)&&(o=3>u?T:o,u=1),n=Object(n);++ei&&f[0]!==a&&f[i-1]!==a?[]:F(f,a),i-=c.length,e>i?wr(t,n,dr,u.placeholder,T,f,c,T,T,e-i):r(this&&this!==Jt&&this instanceof u?o:t,this,f); -}var o=_r(t);return u}function gr(t){return be(function(n){n=_n(n,1);var r=n.length,e=r,u=Ot.prototype.thru;for(t&&n.reverse();e--;){var o=n[e];if(typeof o!="function")throw new pu("Expected a function");if(u&&!i&&"wrapper"==Ir(o))var i=new Ot([],true)}for(e=i?e:r;++e=200)return i.plant(e).value(); -for(var u=0,t=r?n[u].apply(this,t):e;++ud)return j=F(b,j),wr(t,n,dr,l.placeholder,r,b,j,f,c,a-d);if(j=h?r:this,y=p?j[t]:t,d=b.length,f){x=b.length;for(var m=Pu(f.length,x),w=er(b);m--;){var A=f[m];b[m]=L(A,x)?w[A]:T}}else v&&d>1&&b.reverse();return s&&d>c&&(b.length=c), -this&&this!==Jt&&this instanceof l&&(y=g||_r(y)),y.apply(j,b)}var s=128&n,h=1&n,p=2&n,_=24&n,v=512&n,g=p?T:_r(t);return l}function yr(t,n){return function(r,e){return wn(r,t,n(e))}}function br(t){return be(function(n){return n=a(_n(n,1,Nr),Sr()),be(function(e){var u=this;return t(n,function(t){return r(t,u,e)})})})}function xr(t,n){n=n===T?" ":n+"";var r=n.length;return 2>r?r?Nn(n,t):n:(r=Nn(n,Uu(t/P(n))),St.test(n)?r.match(It).slice(0,t).join(""):r.slice(0,t))}function jr(t,n,e,u){function o(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Array(l+c),h=this&&this!==Jt&&this instanceof o?f:t;++an?1:-1:Ze(e)||0;var u=-1;r=Nu(Uu((r-n)/(e||1)),0);for(var o=Array(r);r--;)o[t?r:++u]=n,n+=e;return o}}function wr(t,n,r,e,u,o,i,f,c,a){var l=8&n;f=f?er(f):T;var s=l?i:T;i=l?T:i;var h=l?o:T;return o=l?T:o,n=(n|(l?32:64))&~(l?64:32),4&n||(n&=-4),n=[t,n,u,h,s,o,i,f,c,a],r=r.apply(T,n), -Tr(t)&&bo(r,n),r.placeholder=e,r}function Ar(t){var n=su[t];return function(t,r){if(t=Ze(t),r=Ne(r)){var e=(Te(t)+"e").split("e"),e=n(e[0]+"e"+(+e[1]+r)),e=(Te(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return n(t)}}function Or(t,n,r,e,u,o,i,f){var c=2&n;if(!c&&typeof t!="function")throw new pu("Expected a function");var a=e?e.length:0;if(a||(n&=-97,e=u=T),i=i===T?i:Nu(Ne(i),0),f=f===T?f:Ne(f),a-=u?u.length:0,64&n){var l=e,s=u;e=u=T}var h=c?T:vo(t);return o=[t,n,r,e,u,l,s,o,i,f],h&&(r=o[1],t=h[1], -n=r|t,e=128==t&&8==r||128==t&&256==r&&h[8]>=o[7].length||384==t&&h[8]>=h[7].length&&8==r,131>n||e)&&(1&t&&(o[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=o[3],o[3]=e?nr(e,r,h[4]):er(r),o[4]=e?F(o[3],"__lodash_placeholder__"):er(h[4])),(r=h[5])&&(e=o[5],o[5]=e?rr(e,r,h[6]):er(r),o[6]=e?F(o[5],"__lodash_placeholder__"):er(h[6])),(r=h[7])&&(o[7]=er(r)),128&t&&(o[8]=null==o[8]?h[8]:Pu(o[8],h[8])),null==o[9]&&(o[9]=h[9]),o[0]=h[0],o[1]=n),t=o[0],n=o[1],r=o[2],e=o[3],u=o[4],f=o[9]=null==o[9]?c?0:t.length:Nu(o[9]-a,0), -!f&&24&n&&(n&=-25),(h?po:bo)(n&&1!=n?8==n||16==n?vr(t,n,f):32!=n&&33!=n||u.length?dr.apply(T,o):jr(t,n,r,e):sr(t,n,r),o)}function kr(t,n,r,e,u,o){var i=-1,f=2&u,c=1&u,a=t.length,l=n.length;if(!(a==l||f&&l>a))return false;if(l=o.get(t))return l==n;for(l=true,o.set(t,n);++in?0:n,e)):[]}function Xr(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Ne(n),n=e-n,Zn(t,0,0>n?0:n)):[]}function te(t){return t?t[0]:T}function ne(t){var n=t?t.length:0;return n?t[n-1]:T}function re(t,n){return t&&t.length&&n&&n.length?$n(t,n):t; -}function ee(t){return t?Tu.call(t):t}function ue(t){if(!t||!t.length)return[];var n=0;return t=i(t,function(t){return Oe(t)?(n=Nu(t.length,n),true):void 0}),w(n,function(n){return a(t,Mn(n))})}function oe(t,n){if(!t||!t.length)return[];var e=ue(t);return null==n?e:a(e,function(t){return r(n,T,t)})}function ie(t){return t=xt(t),t.__chain__=true,t}function fe(t,n){return n(t)}function ce(){return this}function ae(t,n){return typeof n=="function"&&ti(t)?u(t,n):ao(t,Sr(n))}function le(t,n){var r;if(typeof n=="function"&&ti(t)){ -for(r=t.length;r--&&false!==n(t[r],r,t););r=t}else r=lo(t,Sr(n));return r}function se(t,n){return(ti(t)?a:Sn)(t,Sr(n,3))}function he(t,n,r){var e=-1,u=Fe(t),o=u.length,i=o-1;for(n=(r?Pr(t,n,r):n===T)?1:on(Ne(n),0,o);++e=t&&(n=T),r}}function ve(t,n,r){return n=r?T:n,t=Or(t,8,T,T,T,T,T,n),t.placeholder=ve.placeholder,t}function ge(t,n,r){return n=r?T:n,t=Or(t,16,T,T,T,T,T,n),t.placeholder=ge.placeholder,t}function de(t,n,r){function e(n){var r=c,e=a;return c=a=T,p=n,l=t.apply(e,r)}function u(t){var r=t-h;return t-=p,!h||r>=n||0>r||false!==v&&t>=v}function o(){var t=To();if(u(t))return i(t);var r;r=t-p,t=n-(t-h),r=false===v?t:Pu(t,v-r),s=Cu(o,r)}function i(t){return Eu(s),s=T,g&&c?e(t):(c=a=T,l)}function f(){var t=To(),r=u(t); -return c=arguments,a=this,h=t,r?s===T?(p=t=h,s=Cu(o,n),_?e(t):l):(Eu(s),s=Cu(o,n),e(h)):l}var c,a,l,s,h=0,p=0,_=false,v=false,g=true;if(typeof t!="function")throw new pu("Expected a function");return n=Ze(n)||0,Re(r)&&(_=!!r.leading,v="maxWait"in r&&Nu(Ze(r.maxWait)||0,n),g="trailing"in r?!!r.trailing:g),f.cancel=function(){s!==T&&Eu(s),h=p=0,c=a=s=T},f.flush=function(){return s===T?l:i(To())},f}function ye(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=t.apply(this,e), -r.cache=o.set(u,e),e)}if(typeof t!="function"||n&&typeof n!="function")throw new pu("Expected a function");return r.cache=new(ye.Cache||Lt),r}function be(t,n){if(typeof t!="function")throw new pu("Expected a function");return n=Nu(n===T?t.length-1:Ne(n),0),function(){for(var e=arguments,u=-1,o=Nu(e.length-n,0),i=Array(o);++un}function we(t){return Oe(t)&&du.call(t,"callee")&&(!Bu.call(t,"callee")||"[object Arguments]"==xu.call(t))}function Ae(t){return null!=t&&Se(go(t))&&!Ee(t)}function Oe(t){return We(t)&&Ae(t)}function ke(t){return We(t)?"[object Error]"==xu.call(t)||typeof t.message=="string"&&typeof t.name=="string":false}function Ee(t){return t=Re(t)?xu.call(t):"", -"[object Function]"==t||"[object GeneratorFunction]"==t}function Ie(t){return typeof t=="number"&&t==Ne(t)}function Se(t){return typeof t=="number"&&t>-1&&0==t%1&&9007199254740991>=t}function Re(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function We(t){return!!t&&typeof t=="object"}function Be(t){return Re(t)?(Ee(t)||M(t)?mu:yt).test(Yr(t)):false}function Ce(t){return typeof t=="number"||We(t)&&"[object Number]"==xu.call(t)}function ze(t){return!We(t)||"[object Object]"!=xu.call(t)||M(t)?false:(t=Lu(Object(t)), -null===t?true:(t=du.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&gu.call(t)==bu))}function Ue(t){return Re(t)&&"[object RegExp]"==xu.call(t)}function Me(t){return typeof t=="string"||!ti(t)&&We(t)&&"[object String]"==xu.call(t)}function Le(t){return typeof t=="symbol"||We(t)&&"[object Symbol]"==xu.call(t)}function $e(t){return We(t)&&Se(t.length)&&!!zt[xu.call(t)]}function De(t,n){return n>t}function Fe(t){if(!t)return[];if(Ae(t))return Me(t)?t.match(It):er(t);if(Ru&&t[Ru])return $(t[Ru]()); -var n=zr(t);return("[object Map]"==n?D:"[object Set]"==n?N:Xe)(t)}function Ne(t){if(!t)return 0===t?t:0;if(t=Ze(t),t===V||t===-V)return 1.7976931348623157e308*(0>t?-1:1);var n=t%1;return t===t?n?t-n:t:0}function Pe(t){return t?on(Ne(t),0,4294967295):0}function Ze(t){if(typeof t=="number")return t;if(Le(t))return K;if(Re(t)&&(t=Ee(t.valueOf)?t.valueOf():t,t=Re(t)?t+"":t),typeof t!="string")return 0===t?t:+t;t=t.replace(at,"");var n=dt.test(t);return n||bt.test(t)?Pt(t.slice(2),n?2:8):gt.test(t)?K:+t; -}function qe(t){return ur(t,Ye(t))}function Te(t){if(typeof t=="string")return t;if(null==t)return"";if(Le(t))return co?co.call(t):"";var n=t+"";return"0"==n&&1/t==-V?"-0":n}function Ve(t,n,r){return t=null==t?T:yn(t,n),t===T?r:t}function Ke(t,n){return null!=t&&Ur(t,n,xn)}function Ge(t,n){return null!=t&&Ur(t,n,jn)}function Je(t){var n=Vr(t);if(!n&&!Ae(t))return Fu(Object(t));var r,e=Dr(t),u=!!e,e=e||[],o=e.length;for(r in t)!xn(t,r)||u&&("length"==r||L(r,o))||n&&"constructor"==r||e.push(r);return e; -}function Ye(t){for(var n=-1,r=Vr(t),e=In(t),u=e.length,o=Dr(t),i=!!o,o=o||[],f=o.length;++ne.length?Kt(e,t,n):(r.array=null,r.map=new Lt(e))),(r=r.map)&&r.set(t,n),this};var ao=ar(vn),lo=ar(gn,true),so=lr(),ho=lr(true);Iu&&!Bu.call({valueOf:1},"valueOf")&&(In=function(t){return $(Iu(t))});var po=Qu?function(t,n){return Qu.set(t,n),t}:uu,_o=Ju&&2===new Ju([1,2]).size?function(t){ -return new Ju(t)}:fu,vo=Qu?function(t){return Qu.get(t)}:fu,go=Mn("length");Su||(Cr=function(){return[]});var yo=Su?function(t){for(var n=[];t;)l(n,Cr(t)),t=Lu(Object(t));return n}:Cr;(Vu&&"[object DataView]"!=zr(new Vu(new ArrayBuffer(1)))||Ku&&"[object Map]"!=zr(new Ku)||Gu&&"[object Promise]"!=zr(Gu.resolve())||Ju&&"[object Set]"!=zr(new Ju)||Yu&&"[object WeakMap]"!=zr(new Yu))&&(zr=function(t){var n=xu.call(t);if(t=(t="[object Object]"==n?t.constructor:T)?Yr(t):T)switch(t){case no:return"[object DataView]"; -case ro:return"[object Map]";case eo:return"[object Promise]";case uo:return"[object Set]";case oo:return"[object WeakMap]"}return n});var bo=function(){var t=0,n=0;return function(r,e){var u=To(),o=16-(u-n);if(n=u,o>0){if(150<=++t)return r}else t=0;return po(r,e)}}(),xo=ye(function(t){var n=[];return Te(t).replace(it,function(t,r,e,u){n.push(e?u.replace(ht,"$1"):r||t)}),n}),jo=be(function(t,n){return Oe(t)?sn(t,_n(n,1,Oe,true)):[]}),mo=be(function(t,n){var r=ne(n);return Oe(r)&&(r=T),Oe(t)?sn(t,_n(n,1,Oe,true),Sr(r)):[]; -}),wo=be(function(t,n){var r=ne(n);return Oe(r)&&(r=T),Oe(t)?sn(t,_n(n,1,Oe,true),T,r):[]}),Ao=be(function(t){var n=a(t,rn);return n.length&&n[0]===t[0]?mn(n):[]}),Oo=be(function(t){var n=ne(t),r=a(t,rn);return n===ne(r)?n=T:r.pop(),r.length&&r[0]===t[0]?mn(r,Sr(n)):[]}),ko=be(function(t){var n=ne(t),r=a(t,rn);return n===ne(r)?n=T:r.pop(),r.length&&r[0]===t[0]?mn(r,T,n):[]}),Eo=be(re),Io=be(function(t,n){n=a(_n(n,1),String);var r=nn(t,n);return Dn(t,n.sort(R)),r}),So=be(function(t){return Gn(_n(t,1,Oe,true)); -}),Ro=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Gn(_n(t,1,Oe,true),Sr(n))}),Wo=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Gn(_n(t,1,Oe,true),T,n)}),Bo=be(function(t,n){return Oe(t)?sn(t,n):[]}),Co=be(function(t){return Hn(i(t,Oe))}),zo=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Hn(i(t,Oe),Sr(n))}),Uo=be(function(t){var n=ne(t);return Oe(n)&&(n=T),Hn(i(t,Oe),T,n)}),Mo=be(ue),Lo=be(function(t){var n=t.length,n=n>1?t[n-1]:T,n=typeof n=="function"?(t.pop(),n):T;return oe(t,n)}),$o=be(function(t){ -function n(n){return nn(n,t)}t=_n(t,1);var r=t.length,e=r?t[0]:0,u=this.__wrapped__;return 1>=r&&!this.__actions__.length&&u instanceof kt&&L(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:fe,args:[n],thisArg:T}),new Ot(u,this.__chain__).thru(function(t){return r&&!t.length&&t.push(T),t})):this.thru(n)}),Do=fr(function(t,n,r){du.call(t,r)?++t[r]:t[r]=1}),Fo=fr(function(t,n,r){du.call(t,r)?t[r].push(n):t[r]=[n]}),No=be(function(t,n,e){var u=-1,o=typeof n=="function",i=Zr(n),f=Ae(t)?Array(t.length):[]; -return ao(t,function(t){var c=o?n:i&&null!=t?t[n]:T;f[++u]=c?r(c,t,e):An(t,n,e)}),f}),Po=fr(function(t,n,r){t[r]=n}),Zo=fr(function(t,n,r){t[r?0:1].push(n)},function(){return[[],[]]}),qo=be(function(t,n){if(null==t)return[];var r=n.length;return r>1&&Pr(t,n[0],n[1])?n=[]:r>2&&Pr(n[0],n[1],n[2])&&(n.length=1),Cn(t,_n(n,1),[])}),To=au.now,Vo=be(function(t,n,r){var e=1;if(r.length)var u=F(r,Br(Vo)),e=32|e;return Or(t,e,n,r,u)}),Ko=be(function(t,n,r){var e=3;if(r.length)var u=F(r,Br(Ko)),e=32|e;return Or(n,e,t,r,u); -}),Go=be(function(t,n){return ln(t,1,n)}),Jo=be(function(t,n,r){return ln(t,Ze(n)||0,r)});ye.Cache=Lt;var Yo=be(function(t,n){n=a(_n(n,1,Nr),Sr());var e=n.length;return be(function(u){for(var o=-1,i=Pu(u.length,e);++o--t?n.apply(this,arguments):void 0}},xt.ary=pe,xt.assign=ri,xt.assignIn=ei,xt.assignInWith=ui,xt.assignWith=oi,xt.at=ii,xt.before=_e,xt.bind=Vo,xt.bindAll=Oi,xt.bindKey=Ko,xt.castArray=xe,xt.chain=ie,xt.chunk=function(t,n,r){if(n=(r?Pr(t,n,r):n===T)?1:Nu(Ne(n),0),r=t?t.length:0, -!r||1>n)return[];for(var e=0,u=0,o=Array(Uu(r/n));r>e;)o[u++]=Zn(t,e,e+=n);return o},xt.compact=function(t){for(var n=-1,r=t?t.length:0,e=0,u=[];++nt)return t?er(n):[];for(var r=Array(t-1);t--;)r[t-1]=arguments[t];for(var t=_n(r,1),r=-1,e=n.length,u=-1,o=t.length,i=Array(e+o);++rr&&(r=-r>u?0:u+r),e=e===T||e>u?u:Ne(e),0>e&&(e+=u),e=r>e?0:Pe(e);e>r;)t[r++]=n;return t},xt.filter=function(t,n){return(ti(t)?i:pn)(t,Sr(n,3))},xt.flatMap=function(t,n){return _n(se(t,n),1)},xt.flatMapDeep=function(t,n){return _n(se(t,n),V)},xt.flatMapDepth=function(t,n,r){ -return r=r===T?1:Ne(r),_n(se(t,n),r)},xt.flatten=function(t){return t&&t.length?_n(t,1):[]},xt.flattenDeep=function(t){return t&&t.length?_n(t,V):[]},xt.flattenDepth=function(t,n){return t&&t.length?(n=n===T?1:Ne(n),_n(t,n)):[]},xt.flip=function(t){return Or(t,512)},xt.flow=ki,xt.flowRight=Ei,xt.fromPairs=function(t){for(var n=-1,r=t?t.length:0,e={};++nr?0:r)):t.split(n,r)},xt.spread=function(t,n){if(typeof t!="function")throw new pu("Expected a function"); -return n=n===T?0:Nu(Ne(n),0),be(function(e){var u=e[n];return e=e.slice(0,n),u&&l(e,u),r(t,this,e)})},xt.tail=function(t){return Qr(t,1)},xt.take=function(t,n,r){return t&&t.length?(n=r||n===T?1:Ne(n),Zn(t,0,0>n?0:n)):[]},xt.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Ne(n),n=e-n,Zn(t,0>n?0:n,e)):[]},xt.takeRightWhile=function(t,n){return t&&t.length?Jn(t,Sr(n,3),false,true):[]},xt.takeWhile=function(t,n){return t&&t.length?Jn(t,Sr(n,3)):[]},xt.tap=function(t,n){return n(t),t}, -xt.throttle=function(t,n,r){var e=true,u=true;if(typeof t!="function")throw new pu("Expected a function");return Re(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),de(t,n,{leading:e,maxWait:n,trailing:u})},xt.thru=fe,xt.toArray=Fe,xt.toPairs=He,xt.toPairsIn=Qe,xt.toPath=function(t){return ti(t)?a(t,en):Le(t)?[t]:er(xo(t))},xt.toPlainObject=qe,xt.transform=function(t,n,r){var e=ti(t)||$e(t);if(n=Sr(n,4),null==r)if(e||Re(t)){var o=t.constructor;r=e?ti(t)?new o:[]:Ee(o)?an(Lu(Object(t))):{}; -}else r={};return(e?u:vn)(t,function(t,e,u){return n(r,t,e,u)}),r},xt.unary=function(t){return pe(t,1)},xt.union=So,xt.unionBy=Ro,xt.unionWith=Wo,xt.uniq=function(t){return t&&t.length?Gn(t):[]},xt.uniqBy=function(t,n){return t&&t.length?Gn(t,Sr(n)):[]},xt.uniqWith=function(t,n){return t&&t.length?Gn(t,T,n):[]},xt.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=Zr(e,r)?[e]:un(e);r=Jr(r,e),e=ne(e),r=null!=r&&Ke(r,e)?delete r[e]:true}return r},xt.unzip=ue,xt.unzipWith=oe,xt.update=function(t,n,r){ -return null==t?t:Pn(t,n,(typeof r=="function"?r:uu)(yn(t,n)),void 0)},xt.updateWith=function(t,n,r,e){return e=typeof e=="function"?e:T,null!=t&&(t=Pn(t,n,(typeof r=="function"?r:uu)(yn(t,n)),e)),t},xt.values=Xe,xt.valuesIn=function(t){return null==t?[]:k(t,Ye(t))},xt.without=Bo,xt.words=ru,xt.wrap=function(t,n){return n=null==n?uu:n,Ho(n,t)},xt.xor=Co,xt.xorBy=zo,xt.xorWith=Uo,xt.zip=Mo,xt.zipObject=function(t,n){return Qn(t||[],n||[],Qt)},xt.zipObjectDeep=function(t,n){return Qn(t||[],n||[],Pn); -},xt.zipWith=Lo,xt.entries=He,xt.entriesIn=Qe,xt.extend=ei,xt.extendWith=ui,iu(xt,xt),xt.add=Ui,xt.attempt=Ai,xt.camelCase=gi,xt.capitalize=tu,xt.ceil=Mi,xt.clamp=function(t,n,r){return r===T&&(r=n,n=T),r!==T&&(r=Ze(r),r=r===r?r:0),n!==T&&(n=Ze(n),n=n===n?n:0),on(Ze(t),n,r)},xt.clone=function(t){return fn(t,false,true)},xt.cloneDeep=function(t){return fn(t,true,true)},xt.cloneDeepWith=function(t,n){return fn(t,true,true,n)},xt.cloneWith=function(t,n){return fn(t,false,true,n)},xt.deburr=nu,xt.divide=Li,xt.endsWith=function(t,n,r){ -t=Te(t),n=typeof n=="string"?n:n+"";var e=t.length;return r=r===T?e:on(Ne(r),0,e),r-=n.length,r>=0&&t.indexOf(n,r)==r},xt.eq=je,xt.escape=function(t){return(t=Te(t))&&tt.test(t)?t.replace(Q,C):t},xt.escapeRegExp=function(t){return(t=Te(t))&&ct.test(t)?t.replace(ft,"\\$&"):t},xt.every=function(t,n,r){var e=ti(t)?o:hn;return r&&Pr(t,n,r)&&(n=T),e(t,Sr(n,3))},xt.find=function(t,n){if(n=Sr(n,3),ti(t)){var r=g(t,n);return r>-1?t[r]:T}return v(t,n,ao)},xt.findIndex=function(t,n){return t&&t.length?g(t,Sr(n,3)):-1; -},xt.findKey=function(t,n){return v(t,Sr(n,3),vn,true)},xt.findLast=function(t,n){if(n=Sr(n,3),ti(t)){var r=g(t,n,true);return r>-1?t[r]:T}return v(t,n,lo)},xt.findLastIndex=function(t,n){return t&&t.length?g(t,Sr(n,3),true):-1},xt.findLastKey=function(t,n){return v(t,Sr(n,3),gn,true)},xt.floor=$i,xt.forEach=ae,xt.forEachRight=le,xt.forIn=function(t,n){return null==t?t:so(t,Sr(n),Ye)},xt.forInRight=function(t,n){return null==t?t:ho(t,Sr(n),Ye)},xt.forOwn=function(t,n){return t&&vn(t,Sr(n))},xt.forOwnRight=function(t,n){ -return t&&gn(t,Sr(n))},xt.get=Ve,xt.gt=me,xt.gte=function(t,n){return t>=n},xt.has=Ke,xt.hasIn=Ge,xt.head=te,xt.identity=uu,xt.includes=function(t,n,r,e){return t=Ae(t)?t:Xe(t),r=r&&!e?Ne(r):0,e=t.length,0>r&&(r=Nu(e+r,0)),Me(t)?e>=r&&-1r&&(r=Nu(e+r,0)),d(t,n,r)):-1},xt.inRange=function(t,n,r){return n=Ze(n)||0,r===T?(r=n,n=0):r=Ze(r)||0,t=Ze(t),t>=Pu(n,r)&&t=-9007199254740991&&9007199254740991>=t},xt.isSet=function(t){return We(t)&&"[object Set]"==zr(t)},xt.isString=Me,xt.isSymbol=Le,xt.isTypedArray=$e,xt.isUndefined=function(t){return t===T},xt.isWeakMap=function(t){return We(t)&&"[object WeakMap]"==zr(t); -},xt.isWeakSet=function(t){return We(t)&&"[object WeakSet]"==xu.call(t)},xt.join=function(t,n){return t?Du.call(t,n):""},xt.kebabCase=di,xt.last=ne,xt.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==T&&(u=Ne(r),u=(0>u?Nu(e+u,0):Pu(u,e-1))+1),n!==n)return U(t,u,true);for(;u--;)if(t[u]===n)return u;return-1},xt.lowerCase=yi,xt.lowerFirst=bi,xt.lt=De,xt.lte=function(t,n){return n>=t},xt.max=function(t){return t&&t.length?_(t,uu,me):T},xt.maxBy=function(t,n){return t&&t.length?_(t,Sr(n),me):T; -},xt.mean=function(t){return b(t,uu)},xt.meanBy=function(t,n){return b(t,Sr(n))},xt.min=function(t){return t&&t.length?_(t,uu,De):T},xt.minBy=function(t,n){return t&&t.length?_(t,Sr(n),De):T},xt.multiply=Di,xt.noConflict=function(){return Jt._===this&&(Jt._=ju),this},xt.noop=fu,xt.now=To,xt.pad=function(t,n,r){t=Te(t);var e=(n=Ne(n))?P(t):0;return n&&n>e?(n=(n-e)/2,xr(Mu(n),r)+t+xr(Uu(n),r)):t},xt.padEnd=function(t,n,r){t=Te(t);var e=(n=Ne(n))?P(t):0;return n&&n>e?t+xr(n-e,r):t},xt.padStart=function(t,n,r){ -t=Te(t);var e=(n=Ne(n))?P(t):0;return n&&n>e?xr(n-e,r)+t:t},xt.parseInt=function(t,n,r){return r||null==n?n=0:n&&(n=+n),t=Te(t).replace(at,""),Zu(t,n||(vt.test(t)?16:10))},xt.random=function(t,n,r){if(r&&typeof r!="boolean"&&Pr(t,n,r)&&(n=r=T),r===T&&(typeof n=="boolean"?(r=n,n=T):typeof t=="boolean"&&(r=t,t=T)),t===T&&n===T?(t=0,n=1):(t=Ze(t)||0,n===T?(n=t,t=0):n=Ze(n)||0),t>n){var e=t;t=n,n=e}return r||t%1||n%1?(r=qu(),Pu(t+r*(n-t+Nt("1e-"+((r+"").length-1))),n)):Fn(t,n)},xt.reduce=function(t,n,r){ -var e=ti(t)?s:x,u=3>arguments.length;return e(t,Sr(n,4),r,u,ao)},xt.reduceRight=function(t,n,r){var e=ti(t)?h:x,u=3>arguments.length;return e(t,Sr(n,4),r,u,lo)},xt.repeat=function(t,n,r){return n=(r?Pr(t,n,r):n===T)?1:Ne(n),Nn(Te(t),n)},xt.replace=function(){var t=arguments,n=Te(t[0]);return 3>t.length?n:n.replace(t[1],t[2])},xt.result=function(t,n,r){n=Zr(n,t)?[n]:un(n);var e=-1,u=n.length;for(u||(t=T,u=1);++e0?t[Fn(0,n-1)]:T},xt.size=function(t){if(null==t)return 0;if(Ae(t)){var n=t.length;return n&&Me(t)?P(t):n}return We(t)&&(n=zr(t),"[object Map]"==n||"[object Set]"==n)?t.size:Je(t).length},xt.snakeCase=xi,xt.some=function(t,n,r){var e=ti(t)?p:qn;return r&&Pr(t,n,r)&&(n=T),e(t,Sr(n,3))},xt.sortedIndex=function(t,n){return Tn(t,n)},xt.sortedIndexBy=function(t,n,r){return Vn(t,n,Sr(r))},xt.sortedIndexOf=function(t,n){var r=t?t.length:0; -if(r){var e=Tn(t,n);if(r>e&&je(t[e],n))return e}return-1},xt.sortedLastIndex=function(t,n){return Tn(t,n,true)},xt.sortedLastIndexBy=function(t,n,r){return Vn(t,n,Sr(r),true)},xt.sortedLastIndexOf=function(t,n){if(t&&t.length){var r=Tn(t,n,true)-1;if(je(t[r],n))return r}return-1},xt.startCase=ji,xt.startsWith=function(t,n,r){return t=Te(t),r=on(Ne(r),0,t.length),t.lastIndexOf(n,r)==r},xt.subtract=Ni,xt.sum=function(t){return t&&t.length?m(t,uu):0},xt.sumBy=function(t,n){return t&&t.length?m(t,Sr(n)):0}, -xt.template=function(t,n,r){var e=xt.templateSettings;r&&Pr(t,n,r)&&(n=T),t=Te(t),n=ui({},n,e,Gt),r=ui({},n.imports,e.imports,Gt);var u,o,i=Je(r),f=k(r,i),c=0;r=n.interpolate||mt;var a="__p+='";r=hu((n.escape||mt).source+"|"+r.source+"|"+(r===et?pt:mt).source+"|"+(n.evaluate||mt).source+"|$","g");var l="sourceURL"in n?"//# sourceURL="+n.sourceURL+"\n":"";if(t.replace(r,function(n,r,e,i,f,l){return e||(e=i),a+=t.slice(c,l).replace(wt,z),r&&(u=true,a+="'+__e("+r+")+'"),f&&(o=true,a+="';"+f+";\n__p+='"), -e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+n.length,n}),a+="';",(n=n.variable)||(a="with(obj){"+a+"}"),a=(o?a.replace(G,""):a).replace(J,"$1").replace(Y,"$1;"),a="function("+(n||"obj")+"){"+(n?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",n=Ai(function(){return Function(i,l+"return "+a).apply(T,f)}),n.source=a,ke(n))throw n;return n},xt.times=function(t,n){if(t=Ne(t),1>t||t>9007199254740991)return[]; -var r=4294967295,e=Pu(t,4294967295);for(n=Sr(n),t-=4294967295,e=w(e,n);++r=o)return t;if(o=r-P(e),1>o)return e; -if(r=i?i.slice(0,o).join(""):t.slice(0,o),u===T)return r+e;if(i&&(o+=r.length-o),Ue(u)){if(t.slice(o).search(u)){var f=r;for(u.global||(u=hu(u.source,Te(_t.exec(u))+"g")),u.lastIndex=0;i=u.exec(f);)var c=i.index;r=r.slice(0,c===T?o:c)}}else t.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),u>-1&&(r=r.slice(0,u)));return r+e},xt.unescape=function(t){return(t=Te(t))&&X.test(t)?t.replace(H,Z):t},xt.uniqueId=function(t){var n=++yu;return Te(t)+n},xt.upperCase=mi,xt.upperFirst=wi,xt.each=ae,xt.eachRight=le,xt.first=te, -iu(xt,function(){var t={};return vn(xt,function(n,r){du.call(xt.prototype,r)||(t[r]=n)}),t}(),{chain:false}),xt.VERSION="4.9.0",u("bind bindKey curry curryRight partial partialRight".split(" "),function(t){xt[t].placeholder=xt}),u(["drop","take"],function(t,n){kt.prototype[t]=function(r){var e=this.__filtered__;if(e&&!n)return new kt(this);r=r===T?1:Nu(Ne(r),0);var u=this.clone();return e?u.__takeCount__=Pu(r,u.__takeCount__):u.__views__.push({size:Pu(r,4294967295),type:t+(0>u.__dir__?"Right":"")}), -u},kt.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){var r=n+1,e=1==r||3==r;kt.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Sr(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");kt.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right");kt.prototype[t]=function(){return this.__filtered__?new kt(this):this[r](1); -}}),kt.prototype.compact=function(){return this.filter(uu)},kt.prototype.find=function(t){return this.filter(t).head()},kt.prototype.findLast=function(t){return this.reverse().find(t)},kt.prototype.invokeMap=be(function(t,n){return typeof t=="function"?new kt(this):this.map(function(r){return An(r,t,n)})}),kt.prototype.reject=function(t){return t=Sr(t,3),this.filter(function(n){return!t(n)})},kt.prototype.slice=function(t,n){t=Ne(t);var r=this;return r.__filtered__&&(t>0||0>n)?new kt(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)), -n!==T&&(n=Ne(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},kt.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},kt.prototype.toArray=function(){return this.take(4294967295)},vn(kt.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=xt[e?"take"+("last"==n?"Right":""):n],o=e||/^find/.test(n);u&&(xt.prototype[n]=function(){function n(t){return t=u.apply(xt,l([t],f)),e&&h?t[0]:t}var i=this.__wrapped__,f=e?[1]:arguments,c=i instanceof kt,a=f[0],s=c||ti(i); -s&&r&&typeof a=="function"&&1!=a.length&&(c=s=false);var h=this.__chain__,p=!!this.__actions__.length,a=o&&!h,c=c&&!p;return!o&&s?(i=c?i:new kt(this),i=t.apply(i,f),i.__actions__.push({func:fe,args:[n],thisArg:T}),new Ot(i,h)):a&&c?t.apply(this,f):(i=this.thru(n),a?e?i.value()[0]:i.value():i)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=_u[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);xt.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){ -var u=this.value();return n.apply(ti(u)?u:[],t)}return this[r](function(r){return n.apply(ti(r)?r:[],t)})}}),vn(kt.prototype,function(t,n){var r=xt[n];if(r){var e=r.name+"";(to[e]||(to[e]=[])).push({name:n,func:r})}}),to[dr(T,2).name]=[{name:"wrapper",func:T}],kt.prototype.clone=function(){var t=new kt(this.__wrapped__);return t.__actions__=er(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=er(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=er(this.__views__), -t},kt.prototype.reverse=function(){if(this.__filtered__){var t=new kt(this);t.__dir__=-1,t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t},kt.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=ti(n),u=0>r,o=e?n.length:0;t=o;for(var i=this.__views__,f=0,c=-1,a=i.length;++co||o==t&&a==t)return Yn(n,this.__actions__);e=[];t:for(;t--&&a>c;){for(u+=r,o=-1,l=n[u];++o=this.__values__.length,n=t?T:this.__values__[this.__index__++];return{done:t,value:n}},xt.prototype.plant=function(t){for(var n,r=this;r instanceof At;){var e=Hr(r);e.__index__=0,e.__values__=T,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},xt.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof kt?(this.__actions__.length&&(t=new kt(this)),t=t.reverse(),t.__actions__.push({func:fe,args:[ee],thisArg:T}),new Ot(t,this.__chain__)):this.thru(ee); -},xt.prototype.toJSON=xt.prototype.valueOf=xt.prototype.value=function(){return Yn(this.__wrapped__,this.__actions__)},Ru&&(xt.prototype[Ru]=ce),xt}var T,V=1/0,K=NaN,G=/\b__p\+='';/g,J=/\b(__p\+=)''\+/g,Y=/(__e\(.*?\)|\b__t\))\+'';/g,H=/&(?:amp|lt|gt|quot|#39|#96);/g,Q=/[&<>"'`]/g,X=RegExp(H.source),tt=RegExp(Q.source),nt=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,et=/<%=([\s\S]+?)%>/g,ut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ot=/^\w*$/,it=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,ft=/[\\^$.*+?()[\]{}|]/g,ct=RegExp(ft.source),at=/^\s+|\s+$/g,lt=/^\s+/,st=/\s+$/,ht=/\\(\\)?/g,pt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_t=/\w*$/,vt=/^0x/i,gt=/^[-+]0x[0-9a-f]+$/i,dt=/^0b[01]+$/i,yt=/^\[object .+?Constructor\]$/,bt=/^0o[0-7]+$/i,xt=/^(?:0|[1-9]\d*)$/,jt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,At="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",Ot="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+At,kt="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",Et=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),It=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+kt+At,"g"),St=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Rt=/[a-zA-Z0-9]+/g,Wt=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|\\d+",Ot].join("|"),"g"),Bt=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ct="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),zt={}; +return n===T&&r===T?0:(n!==T&&(e=n),r!==T&&(e=e===T?r:t(e,r)),e)}}function B(t){return Mt[t]}function C(t){return Lt[t]}function z(t){return"\\"+Ft[t]}function U(t,n,r){var e=t.length;for(n+=r?0:-1;r?n--:++n-1&&0==t%1&&(null==n?9007199254740991:n)>t}function $(t){for(var n,r=[];!(n=t.next()).done;)r.push(n.value); +return r}function D(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}function F(t,n){for(var r=-1,e=t.length,u=0,o=[];++rr?false:(r==t.length-1?t.pop():Uu.call(t,r,1),true)}function qt(t,n){var r=Vt(t,n);return 0>r?T:t[r][1]}function Vt(t,n){for(var r=t.length;r--;)if(me(t[r][0],n))return r;return-1}function Kt(t,n,r){ +var e=Vt(t,n);0>e?t.push([n,r]):t[e][1]=r}function Gt(t,n,r,e){return t===T||me(t,gu[r])&&!yu.call(e,r)?n:t}function Ht(t,n,r){(r===T||me(t[n],r))&&(typeof n!="number"||r!==T||n in t)||(t[n]=r)}function Qt(t,n,r){var e=t[n];yu.call(t,n)&&me(e,r)&&(r!==T||n in t)||(t[n]=r)}function Xt(t,n,r,e){return lo(t,function(t,u,o){n(e,t,r(t),o)}),e}function tn(t,n){return t&&ur(n,Ye(n),t)}function nn(t,n){for(var r=-1,e=null==t,u=n.length,o=Array(u);++rr?r:t), +n!==T&&(t=n>t?n:t)),t}function en(t,n,r,e,o,i,f){var c;if(e&&(c=i?e(t,o,i,f):e(t)),c!==T)return c;if(!We(t))return t;if(o=ni(t)){if(c=Mr(t),!n)return er(t,c)}else{var a=zr(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ri(t))return Xn(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!i){if(M(t))return i?t:{};if(c=Lr(l?{}:t),!n)return ir(t,tn(c,t))}else{if(!Ut[a])return i?t:{};c=$r(t,a,en,n)}}if(f||(f=new Ft),i=f.get(t))return i;if(f.set(t,c),!o)var s=r?gn(t,Ye,Cr):Ye(t);return u(s||t,function(u,o){ +s&&(o=u,u=t[o]),Qt(c,o,en(u,n,r,e,o,t,f))}),c}function un(t){var n=Ye(t),r=n.length;return function(e){if(null==e)return!r;for(var u=r;u--;){var o=n[u],i=t[o],f=e[o];if(f===T&&!(o in Object(e))||!i(f))return false}return true}}function on(t){return We(t)?Bu(t):{}}function fn(t,n,r){if(typeof t!="function")throw new _u("Expected a function");return zu(function(){t.apply(T,r)},n)}function cn(t,n,r,e){var u=-1,o=f,i=true,l=t.length,s=[],h=n.length;if(!l)return s;r&&(n=a(n,O(r))),e?(o=c,i=false):n.length>=200&&(o=Dt, +i=false,n=new $t(n));t:for(;++u0&&r(f)?n>1?sn(f,n-1,r,e,u):l(u,f):e||(u[u.length]=f)}return u}function hn(t,n){return t&&ho(t,n,Ye)}function pn(t,n){ +return t&&po(t,n,Ye)}function _n(t,n){return i(n,function(n){return Ie(t[n])})}function vn(t,n){n=Zr(n,t)?[n]:Hn(n);for(var r=0,e=n.length;null!=t&&e>r;)t=t[n[r++]];return r&&r==e?t:T}function gn(t,n,r){return n=n(t),ni(t)?n:l(n,r(t))}function dn(t,n){return yu.call(t,n)||typeof t=="object"&&n in t&&null===$u(Object(t))}function yn(t,n){return n in Object(t)}function bn(t,n,r){for(var e=r?c:f,u=t[0].length,o=t.length,i=o,l=Array(o),s=1/0,h=[];i--;){var p=t[i];i&&n&&(p=a(p,O(n))),s=Zu(p.length,s), +l[i]=r||!n&&(120>u||120>p.length)?T:new $t(i&&p)}var p=t[0],_=-1,v=l[0];t:for(;++_h.length;){var g=p[_],d=n?n(g):g;if(v?!Dt(v,d):!e(h,d,r)){for(i=o;--i;){var y=l[i];if(y?!Dt(y,d):!e(t[i],d,r))continue t}v&&v.push(d),h.push(g)}}return h}function xn(t,n,r){var e={};return hn(t,function(t,u,o){n(e,r(t),u,o)}),e}function jn(t,n,e){return Zr(n,t)||(n=Hn(n),t=Jr(t,n),n=re(n)),n=null==t?t:t[n],null==n?T:r(n,t,e)}function mn(t,n,r,e,u){if(t===n)n=true;else if(null==t||null==n||!We(t)&&!Be(n))n=t!==t&&n!==n;else t:{ +var o=ni(t),i=ni(n),f="[object Array]",c="[object Array]";o||(f=zr(t),f="[object Arguments]"==f?"[object Object]":f),i||(c=zr(n),c="[object Arguments]"==c?"[object Object]":c);var a="[object Object]"==f&&!M(t),i="[object Object]"==c&&!M(n);if((c=f==c)&&!a)u||(u=new Ft),n=o||De(t)?kr(t,n,mn,r,e,u):Er(t,n,f,mn,r,e,u);else{if(!(2&e)&&(o=a&&yu.call(t,"__wrapped__"),f=i&&yu.call(n,"__wrapped__"),o||f)){t=o?t.value():t,n=f?n.value():n,u||(u=new Ft),n=mn(t,n,r,e,u);break t}if(c)n:if(u||(u=new Ft),o=2&e, +f=Ye(t),i=f.length,c=Ye(n).length,i==c||o){for(a=i;a--;){var l=f[a];if(!(o?l in n:dn(n,l))){n=false;break n}}if(c=u.get(t))n=c==n;else{c=true,u.set(t,n);for(var s=o;++ae?c*("desc"==r[e]?-1:1):c;break t}}e=t.b-n.b}return e})}function Wn(t,n){return t=Object(t),s(n,function(n,r){return r in t&&(n[r]=t[r]),n},{})}function Bn(t,n){for(var r=-1,e=gn(t,He,bo),u=e.length,o={};++rn||n>9007199254740991)return r;do n%2&&(r+=t),(n=Lu(n/2))&&(t+=t);while(n);return r}function Dn(t,n,r,e){n=Zr(n,t)?[n]:Hn(n);for(var u=-1,o=n.length,i=o-1,f=t;null!=f&&++un&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Array(u);++e=u){for(;u>e;){var o=e+u>>>1,i=t[o];(r?n>=i:n>i)&&null!==i?e=o+1:u=o}return u}return Zn(t,n,ou,r)}function Zn(t,n,r,e){ +n=r(n);for(var u=0,o=t?t.length:0,i=n!==n,f=null===n,c=n===T;o>u;){var a=Lu((u+o)/2),l=r(t[a]),s=l!==T,h=l===l;(i?h||e:f?h&&s&&(e||null!=l):c?h&&(e||s):null==l?0:e?n>=l:n>l)?u=a+1:o=a}return Zu(o,4294967294)}function qn(t,n){for(var r=0,e=t.length,u=t[0],o=n?n(u):u,i=o,f=1,c=[u];++re?n[e]:T);return i}function Yn(t){return ke(t)?t:[]}function Hn(t){return ni(t)?t:jo(t)}function Qn(t,n,r){var e=t.length;return r=r===T?e:r,n||e>r?Fn(t,n,r):t}function Xn(t,n){if(n)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}function tr(t){var n=new t.constructor(t.byteLength);return new Eu(n).set(new Eu(t)),n}function nr(t,n,r,e){var u=-1,o=t.length,i=r.length,f=-1,c=n.length,a=Pu(o-i,0),l=Array(c+a); +for(e=!e;++fu)&&(l[r[u]]=t[u]);for(;a--;)l[f++]=t[u++];return l}function rr(t,n,r,e){var u=-1,o=t.length,i=-1,f=r.length,c=-1,a=n.length,l=Pu(o-f,0),s=Array(l+a);for(e=!e;++uu)&&(s[l+r[i]]=t[u++]);return s}function er(t,n){var r=-1,e=t.length;for(n||(n=Array(e));++r1?r[u-1]:T,i=u>2?r[2]:T,o=typeof o=="function"?(u--,o):T;for(i&&Pr(r[0],r[1],i)&&(o=3>u?T:o,u=1),n=Object(n);++ei&&f[0]!==a&&f[i-1]!==a?[]:F(f,a),i-=c.length,e>i?wr(t,n,dr,u.placeholder,T,f,c,T,T,e-i):r(this&&this!==Jt&&this instanceof u?o:t,this,f)}var o=_r(t);return u}function gr(t){return xe(function(n){n=sn(n,1);var r=n.length,e=r,u=kt.prototype.thru;for(t&&n.reverse();e--;){var o=n[e];if(typeof o!="function")throw new _u("Expected a function");if(u&&!i&&"wrapper"==Ir(o))var i=new kt([],true)}for(e=i?e:r;++e=200)return i.plant(e).value();for(var u=0,t=r?n[u].apply(this,t):e;++ud)return j=F(b,j),wr(t,n,dr,l.placeholder,r,b,j,f,c,a-d);if(j=h?r:this,y=p?j[t]:t,d=b.length,f){x=b.length; +for(var m=Zu(f.length,x),w=er(b);m--;){var A=f[m];b[m]=L(A,x)?w[A]:T}}else v&&d>1&&b.reverse();return s&&d>c&&(b.length=c),this&&this!==Jt&&this instanceof l&&(y=g||_r(y)),y.apply(j,b)}var s=128&n,h=1&n,p=2&n,_=24&n,v=512&n,g=p?T:_r(t);return l}function yr(t,n){return function(r,e){return xn(r,t,n(e))}}function br(t){return xe(function(n){return n=a(sn(n,1,Nr),Sr()),xe(function(e){var u=this;return t(n,function(t){return r(t,u,e)})})})}function xr(t,n){n=n===T?" ":n+"";var r=n.length;return 2>r?r?$n(n,t):n:(r=$n(n,Mu(t/P(n))), +Wt.test(n)?Qn(r.match(St),0,t).join(""):r.slice(0,t))}function jr(t,n,e,u){function o(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Array(l+c),h=this&&this!==Jt&&this instanceof o?f:t;++an?1:-1:qe(e)||0;var u=-1;r=Pu(Mu((r-n)/(e||1)),0);for(var o=Array(r);r--;)o[t?r:++u]=n, +n+=e;return o}}function wr(t,n,r,e,u,o,i,f,c,a){var l=8&n;f=f?er(f):T;var s=l?i:T;i=l?T:i;var h=l?o:T;return o=l?T:o,n=(n|(l?32:64))&~(l?64:32),4&n||(n&=-4),n=[t,n,u,h,s,o,i,f,c,a],r=r.apply(T,n),Tr(t)&&xo(r,n),r.placeholder=e,r}function Ar(t){var n=hu[t];return function(t,r){if(t=qe(t),r=Pe(r)){var e=(Ve(t)+"e").split("e"),e=n(e[0]+"e"+(+e[1]+r)),e=(Ve(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return n(t)}}function Or(t,n,r,e,u,o,i,f){var c=2&n;if(!c&&typeof t!="function")throw new _u("Expected a function"); +var a=e?e.length:0;if(a||(n&=-97,e=u=T),i=i===T?i:Pu(Pe(i),0),f=f===T?f:Pe(f),a-=u?u.length:0,64&n){var l=e,s=u;e=u=T}var h=c?T:go(t);return o=[t,n,r,e,u,l,s,o,i,f],h&&(r=o[1],t=h[1],n=r|t,e=128==t&&8==r||128==t&&256==r&&h[8]>=o[7].length||384==t&&h[8]>=h[7].length&&8==r,131>n||e)&&(1&t&&(o[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=o[3],o[3]=e?nr(e,r,h[4]):er(r),o[4]=e?F(o[3],"__lodash_placeholder__"):er(h[4])),(r=h[5])&&(e=o[5],o[5]=e?rr(e,r,h[6]):er(r),o[6]=e?F(o[5],"__lodash_placeholder__"):er(h[6])),(r=h[7])&&(o[7]=er(r)), +128&t&&(o[8]=null==o[8]?h[8]:Zu(o[8],h[8])),null==o[9]&&(o[9]=h[9]),o[0]=h[0],o[1]=n),t=o[0],n=o[1],r=o[2],e=o[3],u=o[4],f=o[9]=null==o[9]?c?0:t.length:Pu(o[9]-a,0),!f&&24&n&&(n&=-25),(h?_o:xo)(n&&1!=n?8==n||16==n?vr(t,n,f):32!=n&&33!=n||u.length?dr.apply(T,o):jr(t,n,r,e):sr(t,n,r),o)}function kr(t,n,r,e,u,o){var i=-1,f=2&u,c=1&u,a=t.length,l=n.length;if(!(a==l||f&&l>a))return false;if(l=o.get(t))return l==n;for(l=true,o.set(t,n);++in?0:n,e)):[]}function te(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Pe(n),n=e-n,Fn(t,0,0>n?0:n)):[]}function ne(t){ +return t?t[0]:T}function re(t){var n=t?t.length:0;return n?t[n-1]:T}function ee(t,n){return t&&t.length&&n&&n.length?Un(t,n):t}function ue(t){return t?Vu.call(t):t}function oe(t){if(!t||!t.length)return[];var n=0;return t=i(t,function(t){return ke(t)?(n=Pu(t.length,n),true):void 0}),w(n,function(n){return a(t,Cn(n))})}function ie(t,n){if(!t||!t.length)return[];var e=oe(t);return null==n?e:a(e,function(t){return r(n,T,t)})}function fe(t){return t=jt(t),t.__chain__=true,t}function ce(t,n){return n(t)}function ae(){ +return this}function le(t,n){return typeof n=="function"&&ni(t)?u(t,n):lo(t,Sr(n))}function se(t,n){var r;if(typeof n=="function"&&ni(t)){for(r=t.length;r--&&false!==n(t[r],r,t););r=t}else r=so(t,Sr(n));return r}function he(t,n){return(ni(t)?a:kn)(t,Sr(n,3))}function pe(t,n,r){var e=-1,u=Ne(t),o=u.length,i=o-1;for(n=(r?Pr(t,n,r):n===T)?1:rn(Pe(n),0,o);++e=t&&(n=T),r}}function ge(t,n,r){return n=r?T:n,t=Or(t,8,T,T,T,T,T,n),t.placeholder=ge.placeholder,t}function de(t,n,r){return n=r?T:n,t=Or(t,16,T,T,T,T,T,n),t.placeholder=de.placeholder,t}function ye(t,n,r){function e(n){var r=c,e=a;return c=a=T,p=n,l=t.apply(e,r)}function u(t){var r=t-h;return t-=p,!h||r>=n||0>r||false!==v&&t>=v}function o(){var t=Vo();if(u(t))return i(t); +var r;r=t-p,t=n-(t-h),r=false===v?t:Zu(t,v-r),s=zu(o,r)}function i(t){return Iu(s),s=T,g&&c?e(t):(c=a=T,l)}function f(){var t=Vo(),r=u(t);return c=arguments,a=this,h=t,r?s===T?(p=t=h,s=zu(o,n),_?e(t):l):(Iu(s),s=zu(o,n),e(h)):(s===T&&(s=zu(o,n)),l)}var c,a,l,s,h=0,p=0,_=false,v=false,g=true;if(typeof t!="function")throw new _u("Expected a function");return n=qe(n)||0,We(r)&&(_=!!r.leading,v="maxWait"in r&&Pu(qe(r.maxWait)||0,n),g="trailing"in r?!!r.trailing:g),f.cancel=function(){s!==T&&Iu(s),h=p=0,c=a=s=T}, +f.flush=function(){return s===T?l:i(Vo())},f}function be(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=t.apply(this,e),r.cache=o.set(u,e),e)}if(typeof t!="function"||n&&typeof n!="function")throw new _u("Expected a function");return r.cache=new(be.Cache||Lt),r}function xe(t,n){if(typeof t!="function")throw new _u("Expected a function");return n=Pu(n===T?t.length-1:Pe(n),0),function(){for(var e=arguments,u=-1,o=Pu(e.length-n,0),i=Array(o);++un}function Ae(t){return ke(t)&&yu.call(t,"callee")&&(!Cu.call(t,"callee")||"[object Arguments]"==ju.call(t))}function Oe(t){return null!=t&&Re(yo(t))&&!Ie(t)}function ke(t){ +return Be(t)&&Oe(t)}function Ee(t){return Be(t)?"[object Error]"==ju.call(t)||typeof t.message=="string"&&typeof t.name=="string":false}function Ie(t){return t=We(t)?ju.call(t):"","[object Function]"==t||"[object GeneratorFunction]"==t}function Se(t){return typeof t=="number"&&t==Pe(t)}function Re(t){return typeof t=="number"&&t>-1&&0==t%1&&9007199254740991>=t}function We(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function Be(t){return!!t&&typeof t=="object"}function Ce(t){return We(t)?(Ie(t)||M(t)?wu:bt).test(Hr(t)):false; +}function ze(t){return typeof t=="number"||Be(t)&&"[object Number]"==ju.call(t)}function Ue(t){return!Be(t)||"[object Object]"!=ju.call(t)||M(t)?false:(t=$u(Object(t)),null===t?true:(t=yu.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&du.call(t)==xu))}function Me(t){return We(t)&&"[object RegExp]"==ju.call(t)}function Le(t){return typeof t=="string"||!ni(t)&&Be(t)&&"[object String]"==ju.call(t)}function $e(t){return typeof t=="symbol"||Be(t)&&"[object Symbol]"==ju.call(t)}function De(t){ +return Be(t)&&Re(t.length)&&!!zt[ju.call(t)]}function Fe(t,n){return n>t}function Ne(t){if(!t)return[];if(Oe(t))return Le(t)?t.match(St):er(t);if(Wu&&t[Wu])return $(t[Wu]());var n=zr(t);return("[object Map]"==n?D:"[object Set]"==n?N:tu)(t)}function Pe(t){if(!t)return 0===t?t:0;if(t=qe(t),t===V||t===-V)return 1.7976931348623157e308*(0>t?-1:1);var n=t%1;return t===t?n?t-n:t:0}function Ze(t){return t?rn(Pe(t),0,4294967295):0}function qe(t){if(typeof t=="number")return t;if($e(t))return K;if(We(t)&&(t=Ie(t.valueOf)?t.valueOf():t, +t=We(t)?t+"":t),typeof t!="string")return 0===t?t:+t;t=t.replace(at,"");var n=yt.test(t);return n||xt.test(t)?Pt(t.slice(2),n?2:8):dt.test(t)?K:+t}function Te(t){return ur(t,He(t))}function Ve(t){if(typeof t=="string")return t;if(null==t)return"";if($e(t))return ao?ao.call(t):"";var n=t+"";return"0"==n&&1/t==-V?"-0":n}function Ke(t,n,r){return t=null==t?T:vn(t,n),t===T?r:t}function Ge(t,n){return null!=t&&Ur(t,n,dn)}function Je(t,n){return null!=t&&Ur(t,n,yn)}function Ye(t){var n=Vr(t);if(!n&&!Oe(t))return Nu(Object(t)); +var r,e=Dr(t),u=!!e,e=e||[],o=e.length;for(r in t)!dn(t,r)||u&&("length"==r||L(r,o))||n&&"constructor"==r||e.push(r);return e}function He(t){for(var n=-1,r=Vr(t),e=On(t),u=e.length,o=Dr(t),i=!!o,o=o||[],f=o.length;++ne.length?Kt(e,t,n):(r.array=null,r.map=new Lt(e))),(r=r.map)&&r.set(t,n),this};var lo=ar(hn),so=ar(pn,true),ho=lr(),po=lr(true);Su&&!Cu.call({valueOf:1},"valueOf")&&(On=function(t){return $(Su(t))});var _o=Xu?function(t,n){return Xu.set(t,n),t}:ou,vo=Yu&&2===new Yu([1,2]).size?function(t){ +return new Yu(t)}:cu,go=Xu?function(t){return Xu.get(t)}:cu,yo=Cn("length");Ru||(Cr=function(){return[]});var bo=Ru?function(t){for(var n=[];t;)l(n,Cr(t)),t=$u(Object(t));return n}:Cr;(Ku&&"[object DataView]"!=zr(new Ku(new ArrayBuffer(1)))||Gu&&"[object Map]"!=zr(new Gu)||Ju&&"[object Promise]"!=zr(Ju.resolve())||Yu&&"[object Set]"!=zr(new Yu)||Hu&&"[object WeakMap]"!=zr(new Hu))&&(zr=function(t){var n=ju.call(t);if(t=(t="[object Object]"==n?t.constructor:T)?Hr(t):T)switch(t){case ro:return"[object DataView]"; +case eo:return"[object Map]";case uo:return"[object Promise]";case oo:return"[object Set]";case io:return"[object WeakMap]"}return n});var xo=function(){var t=0,n=0;return function(r,e){var u=Vo(),o=16-(u-n);if(n=u,o>0){if(150<=++t)return r}else t=0;return _o(r,e)}}(),jo=be(function(t){var n=[];return Ve(t).replace(it,function(t,r,e,u){n.push(e?u.replace(pt,"$1"):r||t)}),n}),mo=xe(function(t,n){return ke(t)?cn(t,sn(n,1,ke,true)):[]}),wo=xe(function(t,n){var r=re(n);return ke(r)&&(r=T),ke(t)?cn(t,sn(n,1,ke,true),Sr(r)):[]; +}),Ao=xe(function(t,n){var r=re(n);return ke(r)&&(r=T),ke(t)?cn(t,sn(n,1,ke,true),T,r):[]}),Oo=xe(function(t){var n=a(t,Yn);return n.length&&n[0]===t[0]?bn(n):[]}),ko=xe(function(t){var n=re(t),r=a(t,Yn);return n===re(r)?n=T:r.pop(),r.length&&r[0]===t[0]?bn(r,Sr(n)):[]}),Eo=xe(function(t){var n=re(t),r=a(t,Yn);return n===re(r)?n=T:r.pop(),r.length&&r[0]===t[0]?bn(r,T,n):[]}),Io=xe(ee),So=xe(function(t,n){n=a(sn(n,1),String);var r=nn(t,n);return Mn(t,n.sort(R)),r}),Ro=xe(function(t){return Tn(sn(t,1,ke,true)); +}),Wo=xe(function(t){var n=re(t);return ke(n)&&(n=T),Tn(sn(t,1,ke,true),Sr(n))}),Bo=xe(function(t){var n=re(t);return ke(n)&&(n=T),Tn(sn(t,1,ke,true),T,n)}),Co=xe(function(t,n){return ke(t)?cn(t,n):[]}),zo=xe(function(t){return Gn(i(t,ke))}),Uo=xe(function(t){var n=re(t);return ke(n)&&(n=T),Gn(i(t,ke),Sr(n))}),Mo=xe(function(t){var n=re(t);return ke(n)&&(n=T),Gn(i(t,ke),T,n)}),Lo=xe(oe),$o=xe(function(t){var n=t.length,n=n>1?t[n-1]:T,n=typeof n=="function"?(t.pop(),n):T;return ie(t,n)}),Do=xe(function(t){ +function n(n){return nn(n,t)}t=sn(t,1);var r=t.length,e=r?t[0]:0,u=this.__wrapped__;return 1>=r&&!this.__actions__.length&&u instanceof Et&&L(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:ce,args:[n],thisArg:T}),new kt(u,this.__chain__).thru(function(t){return r&&!t.length&&t.push(T),t})):this.thru(n)}),Fo=fr(function(t,n,r){yu.call(t,r)?++t[r]:t[r]=1}),No=fr(function(t,n,r){yu.call(t,r)?t[r].push(n):t[r]=[n]}),Po=xe(function(t,n,e){var u=-1,o=typeof n=="function",i=Zr(n),f=Oe(t)?Array(t.length):[]; +return lo(t,function(t){var c=o?n:i&&null!=t?t[n]:T;f[++u]=c?r(c,t,e):jn(t,n,e)}),f}),Zo=fr(function(t,n,r){t[r]=n}),qo=fr(function(t,n,r){t[r?0:1].push(n)},function(){return[[],[]]}),To=xe(function(t,n){if(null==t)return[];var r=n.length;return r>1&&Pr(t,n[0],n[1])?n=[]:r>2&&Pr(n[0],n[1],n[2])&&(n=[n[0]]),Rn(t,sn(n,1),[])}),Vo=lu.now,Ko=xe(function(t,n,r){var e=1;if(r.length)var u=F(r,Br(Ko)),e=32|e;return Or(t,e,n,r,u)}),Go=xe(function(t,n,r){var e=3;if(r.length)var u=F(r,Br(Go)),e=32|e;return Or(n,e,t,r,u); +}),Jo=xe(function(t,n){return fn(t,1,n)}),Yo=xe(function(t,n,r){return fn(t,qe(n)||0,r)});be.Cache=Lt;var Ho=xe(function(t,n){n=a(sn(n,1,Nr),Sr());var e=n.length;return xe(function(u){for(var o=-1,i=Zu(u.length,e);++o--t?n.apply(this,arguments):void 0}},jt.ary=_e,jt.assign=ei,jt.assignIn=ui,jt.assignInWith=oi,jt.assignWith=ii,jt.at=fi,jt.before=ve,jt.bind=Ko,jt.bindAll=ki,jt.bindKey=Go,jt.castArray=je,jt.chain=fe,jt.chunk=function(t,n,r){if(n=(r?Pr(t,n,r):n===T)?1:Pu(Pe(n),0),r=t?t.length:0, +!r||1>n)return[];for(var e=0,u=0,o=Array(Mu(r/n));r>e;)o[u++]=Fn(t,e,e+=n);return o},jt.compact=function(t){for(var n=-1,r=t?t.length:0,e=0,u=[];++nt)return t?er(n):[];for(var r=Array(t-1);t--;)r[t-1]=arguments[t];for(var t=sn(r,1),r=-1,e=n.length,u=-1,o=t.length,i=Array(e+o);++rr&&(r=-r>u?0:u+r),e=e===T||e>u?u:Pe(e),0>e&&(e+=u),e=r>e?0:Ze(e);e>r;)t[r++]=n;return t},jt.filter=function(t,n){return(ni(t)?i:ln)(t,Sr(n,3))},jt.flatMap=function(t,n){return sn(he(t,n),1)},jt.flatMapDeep=function(t,n){return sn(he(t,n),V)},jt.flatMapDepth=function(t,n,r){ +return r=r===T?1:Pe(r),sn(he(t,n),r)},jt.flatten=function(t){return t&&t.length?sn(t,1):[]},jt.flattenDeep=function(t){return t&&t.length?sn(t,V):[]},jt.flattenDepth=function(t,n){return t&&t.length?(n=n===T?1:Pe(n),sn(t,n)):[]},jt.flip=function(t){return Or(t,512)},jt.flow=Ei,jt.flowRight=Ii,jt.fromPairs=function(t){for(var n=-1,r=t?t.length:0,e={};++n>>0,r?(t=Ve(t))&&(typeof n=="string"||null!=n&&!Me(n))&&(n+="",""==n&&Wt.test(t))?Qn(t.match(St),0,r):t.split(n,r):[]},jt.spread=function(t,n){if(typeof t!="function")throw new _u("Expected a function"); +return n=n===T?0:Pu(Pe(n),0),xe(function(e){var u=e[n];return e=Qn(e,0,n),u&&l(e,u),r(t,this,e)})},jt.tail=function(t){return Xr(t,1)},jt.take=function(t,n,r){return t&&t.length?(n=r||n===T?1:Pe(n),Fn(t,0,0>n?0:n)):[]},jt.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===T?1:Pe(n),n=e-n,Fn(t,0>n?0:n,e)):[]},jt.takeRightWhile=function(t,n){return t&&t.length?Vn(t,Sr(n,3),false,true):[]},jt.takeWhile=function(t,n){return t&&t.length?Vn(t,Sr(n,3)):[]},jt.tap=function(t,n){return n(t),t},jt.throttle=function(t,n,r){ +var e=true,u=true;if(typeof t!="function")throw new _u("Expected a function");return We(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),ye(t,n,{leading:e,maxWait:n,trailing:u})},jt.thru=ce,jt.toArray=Ne,jt.toPairs=Qe,jt.toPairsIn=Xe,jt.toPath=function(t){return ni(t)?a(t,Yr):$e(t)?[t]:er(jo(t))},jt.toPlainObject=Te,jt.transform=function(t,n,r){var e=ni(t)||De(t);if(n=Sr(n,4),null==r)if(e||We(t)){var o=t.constructor;r=e?ni(t)?new o:[]:Ie(o)?on($u(Object(t))):{}}else r={};return(e?u:hn)(t,function(t,e,u){ +return n(r,t,e,u)}),r},jt.unary=function(t){return _e(t,1)},jt.union=Ro,jt.unionBy=Wo,jt.unionWith=Bo,jt.uniq=function(t){return t&&t.length?Tn(t):[]},jt.uniqBy=function(t,n){return t&&t.length?Tn(t,Sr(n)):[]},jt.uniqWith=function(t,n){return t&&t.length?Tn(t,T,n):[]},jt.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=Zr(e,r)?[e]:Hn(e);r=Jr(r,e),e=re(e),r=null!=r&&Ge(r,e)?delete r[e]:true}return r},jt.unzip=oe,jt.unzipWith=ie,jt.update=function(t,n,r){return null==t?t:Dn(t,n,(typeof r=="function"?r:ou)(vn(t,n)),void 0); +},jt.updateWith=function(t,n,r,e){return e=typeof e=="function"?e:T,null!=t&&(t=Dn(t,n,(typeof r=="function"?r:ou)(vn(t,n)),e)),t},jt.values=tu,jt.valuesIn=function(t){return null==t?[]:k(t,He(t))},jt.without=Co,jt.words=eu,jt.wrap=function(t,n){return n=null==n?ou:n,Qo(n,t)},jt.xor=zo,jt.xorBy=Uo,jt.xorWith=Mo,jt.zip=Lo,jt.zipObject=function(t,n){return Jn(t||[],n||[],Qt)},jt.zipObjectDeep=function(t,n){return Jn(t||[],n||[],Dn)},jt.zipWith=$o,jt.entries=Qe,jt.entriesIn=Xe,jt.extend=ui,jt.extendWith=oi, +fu(jt,jt),jt.add=Mi,jt.attempt=Oi,jt.camelCase=di,jt.capitalize=nu,jt.ceil=Li,jt.clamp=function(t,n,r){return r===T&&(r=n,n=T),r!==T&&(r=qe(r),r=r===r?r:0),n!==T&&(n=qe(n),n=n===n?n:0),rn(qe(t),n,r)},jt.clone=function(t){return en(t,false,true)},jt.cloneDeep=function(t){return en(t,true,true)},jt.cloneDeepWith=function(t,n){return en(t,true,true,n)},jt.cloneWith=function(t,n){return en(t,false,true,n)},jt.deburr=ru,jt.divide=$i,jt.endsWith=function(t,n,r){t=Ve(t),n=typeof n=="string"?n:n+"";var e=t.length;return r=r===T?e:rn(Pe(r),0,e), +r-=n.length,r>=0&&t.indexOf(n,r)==r},jt.eq=me,jt.escape=function(t){return(t=Ve(t))&&tt.test(t)?t.replace(Q,C):t},jt.escapeRegExp=function(t){return(t=Ve(t))&&ct.test(t)?t.replace(ft,"\\$&"):t},jt.every=function(t,n,r){var e=ni(t)?o:an;return r&&Pr(t,n,r)&&(n=T),e(t,Sr(n,3))},jt.find=function(t,n){if(n=Sr(n,3),ni(t)){var r=g(t,n);return r>-1?t[r]:T}return v(t,n,lo)},jt.findIndex=function(t,n){return t&&t.length?g(t,Sr(n,3)):-1},jt.findKey=function(t,n){return v(t,Sr(n,3),hn,true)},jt.findLast=function(t,n){ +if(n=Sr(n,3),ni(t)){var r=g(t,n,true);return r>-1?t[r]:T}return v(t,n,so)},jt.findLastIndex=function(t,n){return t&&t.length?g(t,Sr(n,3),true):-1},jt.findLastKey=function(t,n){return v(t,Sr(n,3),pn,true)},jt.floor=Di,jt.forEach=le,jt.forEachRight=se,jt.forIn=function(t,n){return null==t?t:ho(t,Sr(n),He)},jt.forInRight=function(t,n){return null==t?t:po(t,Sr(n),He)},jt.forOwn=function(t,n){return t&&hn(t,Sr(n))},jt.forOwnRight=function(t,n){return t&&pn(t,Sr(n))},jt.get=Ke,jt.gt=we,jt.gte=function(t,n){return t>=n; +},jt.has=Ge,jt.hasIn=Je,jt.head=ne,jt.identity=ou,jt.includes=function(t,n,r,e){return t=Oe(t)?t:tu(t),r=r&&!e?Pe(r):0,e=t.length,0>r&&(r=Pu(e+r,0)),Le(t)?e>=r&&-1r&&(r=Pu(e+r,0)),d(t,n,r)):-1},jt.inRange=function(t,n,r){return n=qe(n)||0,r===T?(r=n,n=0):r=qe(r)||0,t=qe(t),t>=Zu(n,r)&&t=-9007199254740991&&9007199254740991>=t},jt.isSet=function(t){return Be(t)&&"[object Set]"==zr(t)},jt.isString=Le,jt.isSymbol=$e,jt.isTypedArray=De,jt.isUndefined=function(t){return t===T},jt.isWeakMap=function(t){return Be(t)&&"[object WeakMap]"==zr(t)},jt.isWeakSet=function(t){return Be(t)&&"[object WeakSet]"==ju.call(t); +},jt.join=function(t,n){return t?Fu.call(t,n):""},jt.kebabCase=yi,jt.last=re,jt.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==T&&(u=Pe(r),u=(0>u?Pu(e+u,0):Zu(u,e-1))+1),n!==n)return U(t,u,true);for(;u--;)if(t[u]===n)return u;return-1},jt.lowerCase=bi,jt.lowerFirst=xi,jt.lt=Fe,jt.lte=function(t,n){return n>=t},jt.max=function(t){return t&&t.length?_(t,ou,we):T},jt.maxBy=function(t,n){return t&&t.length?_(t,Sr(n),we):T},jt.mean=function(t){return b(t,ou)},jt.meanBy=function(t,n){ +return b(t,Sr(n))},jt.min=function(t){return t&&t.length?_(t,ou,Fe):T},jt.minBy=function(t,n){return t&&t.length?_(t,Sr(n),Fe):T},jt.multiply=Fi,jt.noConflict=function(){return Jt._===this&&(Jt._=mu),this},jt.noop=cu,jt.now=Vo,jt.pad=function(t,n,r){t=Ve(t);var e=(n=Pe(n))?P(t):0;return n&&n>e?(n=(n-e)/2,xr(Lu(n),r)+t+xr(Mu(n),r)):t},jt.padEnd=function(t,n,r){t=Ve(t);var e=(n=Pe(n))?P(t):0;return n&&n>e?t+xr(n-e,r):t},jt.padStart=function(t,n,r){t=Ve(t);var e=(n=Pe(n))?P(t):0;return n&&n>e?xr(n-e,r)+t:t; +},jt.parseInt=function(t,n,r){return r||null==n?n=0:n&&(n=+n),t=Ve(t).replace(at,""),qu(t,n||(gt.test(t)?16:10))},jt.random=function(t,n,r){if(r&&typeof r!="boolean"&&Pr(t,n,r)&&(n=r=T),r===T&&(typeof n=="boolean"?(r=n,n=T):typeof t=="boolean"&&(r=t,t=T)),t===T&&n===T?(t=0,n=1):(t=qe(t)||0,n===T?(n=t,t=0):n=qe(n)||0),t>n){var e=t;t=n,n=e}return r||t%1||n%1?(r=Tu(),Zu(t+r*(n-t+Nt("1e-"+((r+"").length-1))),n)):Ln(t,n)},jt.reduce=function(t,n,r){var e=ni(t)?s:x,u=3>arguments.length;return e(t,Sr(n,4),r,u,lo); +},jt.reduceRight=function(t,n,r){var e=ni(t)?h:x,u=3>arguments.length;return e(t,Sr(n,4),r,u,so)},jt.repeat=function(t,n,r){return n=(r?Pr(t,n,r):n===T)?1:Pe(n),$n(Ve(t),n)},jt.replace=function(){var t=arguments,n=Ve(t[0]);return 3>t.length?n:n.replace(t[1],t[2])},jt.result=function(t,n,r){n=Zr(n,t)?[n]:Hn(n);var e=-1,u=n.length;for(u||(t=T,u=1);++e0?t[Ln(0,n-1)]:T},jt.size=function(t){if(null==t)return 0;if(Oe(t)){var n=t.length;return n&&Le(t)?P(t):n}return Be(t)&&(n=zr(t),"[object Map]"==n||"[object Set]"==n)?t.size:Ye(t).length},jt.snakeCase=ji,jt.some=function(t,n,r){var e=ni(t)?p:Nn;return r&&Pr(t,n,r)&&(n=T),e(t,Sr(n,3))},jt.sortedIndex=function(t,n){return Pn(t,n)},jt.sortedIndexBy=function(t,n,r){return Zn(t,n,Sr(r))},jt.sortedIndexOf=function(t,n){var r=t?t.length:0;if(r){var e=Pn(t,n);if(r>e&&me(t[e],n))return e}return-1; +},jt.sortedLastIndex=function(t,n){return Pn(t,n,true)},jt.sortedLastIndexBy=function(t,n,r){return Zn(t,n,Sr(r),true)},jt.sortedLastIndexOf=function(t,n){if(t&&t.length){var r=Pn(t,n,true)-1;if(me(t[r],n))return r}return-1},jt.startCase=mi,jt.startsWith=function(t,n,r){return t=Ve(t),r=rn(Pe(r),0,t.length),t.lastIndexOf(n,r)==r},jt.subtract=Pi,jt.sum=function(t){return t&&t.length?m(t,ou):0},jt.sumBy=function(t,n){return t&&t.length?m(t,Sr(n)):0},jt.template=function(t,n,r){var e=jt.templateSettings;r&&Pr(t,n,r)&&(n=T), +t=Ve(t),n=oi({},n,e,Gt),r=oi({},n.imports,e.imports,Gt);var u,o,i=Ye(r),f=k(r,i),c=0;r=n.interpolate||wt;var a="__p+='";r=pu((n.escape||wt).source+"|"+r.source+"|"+(r===et?_t:wt).source+"|"+(n.evaluate||wt).source+"|$","g");var l="sourceURL"in n?"//# sourceURL="+n.sourceURL+"\n":"";if(t.replace(r,function(n,r,e,i,f,l){return e||(e=i),a+=t.slice(c,l).replace(At,z),r&&(u=true,a+="'+__e("+r+")+'"),f&&(o=true,a+="';"+f+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+n.length,n}),a+="';",(n=n.variable)||(a="with(obj){"+a+"}"), +a=(o?a.replace(G,""):a).replace(J,"$1").replace(Y,"$1;"),a="function("+(n||"obj")+"){"+(n?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",n=Oi(function(){return Function(i,l+"return "+a).apply(T,f)}),n.source=a,Ee(n))throw n;return n},jt.times=function(t,n){if(t=Pe(t),1>t||t>9007199254740991)return[];var r=4294967295,e=Zu(t,4294967295);for(n=Sr(n),t-=4294967295,e=w(e,n);++r=o)return t;if(o=r-P(e),1>o)return e;if(r=i?Qn(i,0,o).join(""):t.slice(0,o),u===T)return r+e;if(i&&(o+=r.length-o),Me(u)){if(t.slice(o).search(u)){ +var f=r;for(u.global||(u=pu(u.source,Ve(vt.exec(u))+"g")),u.lastIndex=0;i=u.exec(f);)var c=i.index;r=r.slice(0,c===T?o:c)}}else t.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),u>-1&&(r=r.slice(0,u)));return r+e},jt.unescape=function(t){return(t=Ve(t))&&X.test(t)?t.replace(H,Z):t},jt.uniqueId=function(t){var n=++bu;return Ve(t)+n},jt.upperCase=wi,jt.upperFirst=Ai,jt.each=le,jt.eachRight=se,jt.first=ne,fu(jt,function(){var t={};return hn(jt,function(n,r){yu.call(jt.prototype,r)||(t[r]=n)}),t}(),{chain:false}), +jt.VERSION="4.10.0",u("bind bindKey curry curryRight partial partialRight".split(" "),function(t){jt[t].placeholder=jt}),u(["drop","take"],function(t,n){Et.prototype[t]=function(r){var e=this.__filtered__;if(e&&!n)return new Et(this);r=r===T?1:Pu(Pe(r),0);var u=this.clone();return e?u.__takeCount__=Zu(r,u.__takeCount__):u.__views__.push({size:Zu(r,4294967295),type:t+(0>u.__dir__?"Right":"")}),u},Et.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){ +var r=n+1,e=1==r||3==r;Et.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Sr(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");Et.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right");Et.prototype[t]=function(){return this.__filtered__?new Et(this):this[r](1)}}),Et.prototype.compact=function(){return this.filter(ou)},Et.prototype.find=function(t){ +return this.filter(t).head()},Et.prototype.findLast=function(t){return this.reverse().find(t)},Et.prototype.invokeMap=xe(function(t,n){return typeof t=="function"?new Et(this):this.map(function(r){return jn(r,t,n)})}),Et.prototype.reject=function(t){return t=Sr(t,3),this.filter(function(n){return!t(n)})},Et.prototype.slice=function(t,n){t=Pe(t);var r=this;return r.__filtered__&&(t>0||0>n)?new Et(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),n!==T&&(n=Pe(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},Et.prototype.takeRightWhile=function(t){ +return this.reverse().takeWhile(t).reverse()},Et.prototype.toArray=function(){return this.take(4294967295)},hn(Et.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=jt[e?"take"+("last"==n?"Right":""):n],o=e||/^find/.test(n);u&&(jt.prototype[n]=function(){function n(t){return t=u.apply(jt,l([t],f)),e&&h?t[0]:t}var i=this.__wrapped__,f=e?[1]:arguments,c=i instanceof Et,a=f[0],s=c||ni(i);s&&r&&typeof a=="function"&&1!=a.length&&(c=s=false);var h=this.__chain__,p=!!this.__actions__.length,a=o&&!h,c=c&&!p; +return!o&&s?(i=c?i:new Et(this),i=t.apply(i,f),i.__actions__.push({func:ce,args:[n],thisArg:T}),new kt(i,h)):a&&c?t.apply(this,f):(i=this.thru(n),a?e?i.value()[0]:i.value():i)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=vu[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);jt.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){var u=this.value();return n.apply(ni(u)?u:[],t)}return this[r](function(r){return n.apply(ni(r)?r:[],t)}); +}}),hn(Et.prototype,function(t,n){var r=jt[n];if(r){var e=r.name+"";(no[e]||(no[e]=[])).push({name:n,func:r})}}),no[dr(T,2).name]=[{name:"wrapper",func:T}],Et.prototype.clone=function(){var t=new Et(this.__wrapped__);return t.__actions__=er(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=er(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=er(this.__views__),t},Et.prototype.reverse=function(){if(this.__filtered__){var t=new Et(this);t.__dir__=-1, +t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t},Et.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=ni(n),u=0>r,o=e?n.length:0;t=o;for(var i=this.__views__,f=0,c=-1,a=i.length;++co||o==t&&a==t)return Kn(n,this.__actions__); +e=[];t:for(;t--&&a>c;){for(u+=r,o=-1,l=n[u];++o=this.__values__.length,n=t?T:this.__values__[this.__index__++];return{done:t,value:n}},jt.prototype.plant=function(t){ +for(var n,r=this;r instanceof Ot;){var e=Qr(r);e.__index__=0,e.__values__=T,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},jt.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof Et?(this.__actions__.length&&(t=new Et(this)),t=t.reverse(),t.__actions__.push({func:ce,args:[ue],thisArg:T}),new kt(t,this.__chain__)):this.thru(ue)},jt.prototype.toJSON=jt.prototype.valueOf=jt.prototype.value=function(){return Kn(this.__wrapped__,this.__actions__)},Wu&&(jt.prototype[Wu]=ae), +jt}var T,V=1/0,K=NaN,G=/\b__p\+='';/g,J=/\b(__p\+=)''\+/g,Y=/(__e\(.*?\)|\b__t\))\+'';/g,H=/&(?:amp|lt|gt|quot|#39|#96);/g,Q=/[&<>"'`]/g,X=RegExp(H.source),tt=RegExp(Q.source),nt=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,et=/<%=([\s\S]+?)%>/g,ut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ot=/^\w*$/,it=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,ft=/[\\^$.*+?()[\]{}|]/g,ct=RegExp(ft.source),at=/^\s+|\s+$/g,lt=/^\s+/,st=/\s+$/,ht=/[a-zA-Z0-9]+/g,pt=/\\(\\)?/g,_t=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,vt=/\w*$/,gt=/^0x/i,dt=/^[-+]0x[0-9a-f]+$/i,yt=/^0b[01]+$/i,bt=/^\[object .+?Constructor\]$/,xt=/^0o[0-7]+$/i,jt=/^(?:0|[1-9]\d*)$/,mt=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,wt=/($^)/,At=/['\n\r\u2028\u2029\\]/g,Ot="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",kt="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+Ot,Et="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",It=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),St=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Et+Ot,"g"),Rt=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|\\d+",kt].join("|"),"g"),Wt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Bt=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ct="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),zt={}; zt["[object Float32Array]"]=zt["[object Float64Array]"]=zt["[object Int8Array]"]=zt["[object Int16Array]"]=zt["[object Int32Array]"]=zt["[object Uint8Array]"]=zt["[object Uint8ClampedArray]"]=zt["[object Uint16Array]"]=zt["[object Uint32Array]"]=true,zt["[object Arguments]"]=zt["[object Array]"]=zt["[object ArrayBuffer]"]=zt["[object Boolean]"]=zt["[object DataView]"]=zt["[object Date]"]=zt["[object Error]"]=zt["[object Function]"]=zt["[object Map]"]=zt["[object Number]"]=zt["[object Object]"]=zt["[object RegExp]"]=zt["[object Set]"]=zt["[object String]"]=zt["[object WeakMap]"]=false; var Ut={};Ut["[object Arguments]"]=Ut["[object Array]"]=Ut["[object ArrayBuffer]"]=Ut["[object DataView]"]=Ut["[object Boolean]"]=Ut["[object Date]"]=Ut["[object Float32Array]"]=Ut["[object Float64Array]"]=Ut["[object Int8Array]"]=Ut["[object Int16Array]"]=Ut["[object Int32Array]"]=Ut["[object Map]"]=Ut["[object Number]"]=Ut["[object Object]"]=Ut["[object RegExp]"]=Ut["[object Set]"]=Ut["[object String]"]=Ut["[object Symbol]"]=Ut["[object Uint8Array]"]=Ut["[object Uint8ClampedArray]"]=Ut["[object Uint16Array]"]=Ut["[object Uint32Array]"]=true, Ut["[object Error]"]=Ut["[object Function]"]=Ut["[object WeakMap]"]=false;var Mt={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O", diff --git a/dist/mapping.fp.js b/dist/mapping.fp.js index 58718bfb7f..07af92c2a8 100644 --- a/dist/mapping.fp.js +++ b/dist/mapping.fp.js @@ -86,17 +86,18 @@ return /******/ (function(modules) { // webpackBootstrap 'init': 'initial', 'invertObj': 'invert', 'juxt': 'over', - 'mapObj': 'mapValues', 'omitAll': 'omit', 'nAry': 'ary', 'path': 'get', 'pathEq': 'matchesProperty', 'pathOr': 'getOr', + 'paths': 'at', 'pickAll': 'pick', 'pipe': 'flow', 'prop': 'get', - 'propOf': 'propertyOf', + 'propEq': 'matchesProperty', 'propOr': 'getOr', + 'props': 'at', 'unapply': 'rest', 'unnest': 'flatten', 'useWith': 'overArgs', diff --git a/doc/README.md b/doc/README.md index 5bc9f70973..bb532bf128 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,4 +1,4 @@ -# lodash v4.9.0 +# lodash v4.10.0 @@ -130,7 +130,7 @@ * `_.memoize` * `_.negate` * `_.once` -* `_.overArgs` +* `_.overArgs` * `_.partial` * `_.partialRight` * `_.rearg` @@ -361,9 +361,9 @@ * `_.noConflict` * `_.noop` * `_.nthArg` -* `_.over` -* `_.overEvery` -* `_.overSome` +* `_.over` +* `_.overEvery` +* `_.overSome` * `_.property` * `_.propertyOf` * `_.range` @@ -406,7 +406,7 @@ ### `_.chunk(array, [size=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L5846 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.chunk "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L5866 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.chunk "See the npm package") Creates an array of elements split into groups the length of `size`. If `array` can't be split evenly, the final chunk will be the remaining @@ -436,7 +436,7 @@ _.chunk(['a', 'b', 'c', 'd'], 3); ### `_.compact(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L5881 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.compact "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L5901 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.compact "See the npm package") Creates an array with all falsey values removed. The values `false`, `null`, `0`, `""`, `undefined`, and `NaN` are falsey. @@ -461,7 +461,7 @@ _.compact([0, 1, false, 2, '', 3]); ### `_.concat(array, [values])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L5918 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.concat "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L5938 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.concat "See the npm package") Creates a new array concatenating `array` with any additional arrays and/or values. @@ -493,7 +493,7 @@ console.log(array); ### `_.difference(array, [values])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L5950 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.difference "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L5970 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.difference "See the npm package") Creates an array of unique `array` values not included in the other given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -521,7 +521,7 @@ _.difference([3, 2, 1], [4, 2]); ### `_.differenceBy(array, [values], [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L5980 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.differenceby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6000 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.differenceby "See the npm package") This method is like `_.difference` except that it accepts `iteratee` which is invoked for each element of `array` and `values` to generate the criterion @@ -554,7 +554,7 @@ _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); ### `_.differenceWith(array, [values], [comparator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6011 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.differencewith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6031 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.differencewith "See the npm package") This method is like `_.difference` except that it accepts `comparator` which is invoked to compare elements of `array` to `values`. Result values @@ -585,7 +585,7 @@ _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); ### `_.drop(array, [n=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6046 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.drop "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6066 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.drop "See the npm package") Creates a slice of `array` with `n` elements dropped from the beginning. @@ -619,7 +619,7 @@ _.drop([1, 2, 3], 0); ### `_.dropRight(array, [n=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6080 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.dropright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6100 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.dropright "See the npm package") Creates a slice of `array` with `n` elements dropped from the end. @@ -653,7 +653,7 @@ _.dropRight([1, 2, 3], 0); ### `_.dropRightWhile(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6126 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6146 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") Creates a slice of `array` excluding elements dropped from the end. Elements are dropped until `predicate` returns falsey. The predicate is @@ -698,7 +698,7 @@ _.dropRightWhile(users, 'active'); ### `_.dropWhile(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6168 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6188 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") Creates a slice of `array` excluding elements dropped from the beginning. Elements are dropped until `predicate` returns falsey. The predicate is @@ -743,7 +743,7 @@ _.dropWhile(users, 'active'); ### `_.fill(array, value, [start=0], [end=array.length])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6203 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.fill "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6223 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.fill "See the npm package") Fills elements of `array` with `value` from `start` up to, but not including, `end`. @@ -783,7 +783,7 @@ _.fill([4, 6, 8, 10], '*', 1, 3); ### `_.findIndex(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6250 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findindex "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6270 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findindex "See the npm package") This method is like `_.find` except that it returns the index of the first element `predicate` returns truthy for instead of the element itself. @@ -827,7 +827,7 @@ _.findIndex(users, 'active'); ### `_.findLastIndex(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6291 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6311 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") This method is like `_.findIndex` except that it iterates over elements of `collection` from right to left. @@ -871,7 +871,7 @@ _.findLastIndex(users, 'active'); ### `_.flatten(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6311 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatten "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6331 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatten "See the npm package") Flattens `array` a single level deep. @@ -895,7 +895,7 @@ _.flatten([1, [2, [3, [4]], 5]]); ### `_.flattenDeep(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6330 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6350 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") Recursively flattens `array`. @@ -919,7 +919,7 @@ _.flattenDeep([1, [2, [3, [4]], 5]]); ### `_.flattenDepth(array, [depth=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6355 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6375 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") Recursively flatten `array` up to `depth` times. @@ -949,7 +949,7 @@ _.flattenDepth(array, 2); ### `_.fromPairs(pairs)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6379 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.frompairs "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6399 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.frompairs "See the npm package") The inverse of `_.toPairs`; this method returns an object composed from key-value `pairs`. @@ -974,7 +974,7 @@ _.fromPairs([['fred', 30], ['barney', 40]]); ### `_.head(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6409 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.head "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6429 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.head "See the npm package") Gets the first element of `array`. @@ -1004,7 +1004,7 @@ _.head([]); ### `_.indexOf(array, value, [fromIndex=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6436 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.indexof "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6456 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.indexof "See the npm package") Gets the index at which the first occurrence of `value` is found in `array` using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -1037,7 +1037,7 @@ _.indexOf([1, 2, 1, 2], 2, 2); ### `_.initial(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6462 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.initial "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6482 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.initial "See the npm package") Gets all but the last element of `array`. @@ -1061,7 +1061,7 @@ _.initial([1, 2, 3]); ### `_.intersection([arrays])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6483 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.intersection "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6503 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.intersection "See the npm package") Creates an array of unique values that are included in all given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -1088,7 +1088,7 @@ _.intersection([2, 1], [4, 2], [1, 2]); ### `_.intersectionBy([arrays], [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6513 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6533 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") This method is like `_.intersection` except that it accepts `iteratee` which is invoked for each element of each `arrays` to generate the criterion @@ -1120,7 +1120,7 @@ _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); ### `_.intersectionWith([arrays], [comparator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6548 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6568 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") This method is like `_.intersection` except that it accepts `comparator` which is invoked to compare elements of `arrays`. Result values are chosen @@ -1151,7 +1151,7 @@ _.intersectionWith(objects, others, _.isEqual); ### `_.join(array, [separator=','])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6577 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.join "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6597 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.join "See the npm package") Converts all elements in `array` into a string separated by `separator`. @@ -1176,7 +1176,7 @@ _.join(['a', 'b', 'c'], '~'); ### `_.last(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6595 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.last "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6615 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.last "See the npm package") Gets the last element of `array`. @@ -1200,7 +1200,7 @@ _.last([1, 2, 3]); ### `_.lastIndexOf(array, value, [fromIndex=array.length-1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6621 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6641 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") This method is like `_.indexOf` except that it iterates over elements of `array` from right to left. @@ -1231,7 +1231,7 @@ _.lastIndexOf([1, 2, 1, 2], 2, 2); ### `_.pull(array, [values])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6669 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pull "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6689 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pull "See the npm package") Removes all given values from `array` using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -1265,7 +1265,7 @@ console.log(array); ### `_.pullAll(array, values)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6691 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullall "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6711 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullall "See the npm package") This method is like `_.pull` except that it accepts an array of values to remove.
@@ -1296,7 +1296,7 @@ console.log(array); ### `_.pullAllBy(array, values, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6721 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullallby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6741 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullallby "See the npm package") This method is like `_.pullAll` except that it accepts `iteratee` which is invoked for each element of `array` and `values` to generate the criterion @@ -1330,7 +1330,7 @@ console.log(array); ### `_.pullAllWith(array, values, [comparator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6750 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6770 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") This method is like `_.pullAll` except that it accepts `comparator` which is invoked to compare elements of `array` to `values`. The comparator is @@ -1364,7 +1364,7 @@ console.log(array); ### `_.pullAt(array, [indexes])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6781 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullat "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6800 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pullat "See the npm package") Removes elements from `array` corresponding to `indexes` and returns an array of removed elements. @@ -1376,7 +1376,7 @@ array of removed elements. 3.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. -2. `[indexes]` *(...(number|number[]))*: The indexes of elements to remove, specified individually or in arrays. +2. `[indexes]` *(...(number|number[]))*: The indexes of elements to remove. #### Returns *(Array)*: Returns the new array of removed elements. @@ -1399,7 +1399,7 @@ console.log(evens); ### `_.remove(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6818 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.remove "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6837 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.remove "See the npm package") Removes all elements from `array` that `predicate` returns truthy for and returns an array of the removed elements. The predicate is invoked @@ -1438,7 +1438,7 @@ console.log(evens); ### `_.reverse(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6862 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reverse "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6881 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reverse "See the npm package") Reverses `array` so that the first element becomes the last, the second element becomes the second to last, and so on. @@ -1472,7 +1472,7 @@ console.log(array); ### `_.slice(array, [start=0], [end=array.length])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6882 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.slice "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6901 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.slice "See the npm package") Creates a slice of `array` from `start` up to, but not including, `end`.
@@ -1498,7 +1498,7 @@ returned. ### `_.sortedIndex(array, value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6918 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedindex "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6937 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedindex "See the npm package") Uses a binary search to determine the lowest index at which `value` should be inserted into `array` in order to maintain its sort order. @@ -1527,7 +1527,7 @@ _.sortedIndex([4, 5], 4); ### `_.sortedIndexBy(array, value, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6948 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6967 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexby "See the npm package") This method is like `_.sortedIndex` except that it accepts `iteratee` which is invoked for `value` and each element of `array` to compute their @@ -1561,7 +1561,7 @@ _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); ### `_.sortedIndexOf(array, value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6968 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexof "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L6987 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexof "See the npm package") This method is like `_.indexOf` except that it performs a binary search on a sorted `array`. @@ -1587,7 +1587,7 @@ _.sortedIndexOf([1, 1, 2, 2], 2); ### `_.sortedLastIndex(array, value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L6997 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindex "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7016 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindex "See the npm package") This method is like `_.sortedIndex` except that it returns the highest index at which `value` should be inserted into `array` in order to @@ -1614,7 +1614,7 @@ _.sortedLastIndex([4, 5], 4); ### `_.sortedLastIndexBy(array, value, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7022 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7041 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexby "See the npm package") This method is like `_.sortedLastIndex` except that it accepts `iteratee` which is invoked for `value` and each element of `array` to compute their @@ -1643,7 +1643,7 @@ _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); ### `_.sortedLastIndexOf(array, value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7042 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexof "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7061 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexof "See the npm package") This method is like `_.lastIndexOf` except that it performs a binary search on a sorted `array`. @@ -1669,7 +1669,7 @@ _.sortedLastIndexOf([1, 1, 2, 2], 2); ### `_.sortedUniq(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7068 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniq "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7087 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniq "See the npm package") This method is like `_.uniq` except that it's designed and optimized for sorted arrays. @@ -1694,7 +1694,7 @@ _.sortedUniq([1, 1, 2]); ### `_.sortedUniqBy(array, [iteratee])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7090 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniqby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7109 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniqby "See the npm package") This method is like `_.uniqBy` except that it's designed and optimized for sorted arrays. @@ -1720,7 +1720,7 @@ _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); ### `_.tail(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7110 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tail "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7129 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tail "See the npm package") Gets all but the first element of `array`. @@ -1744,7 +1744,7 @@ _.tail([1, 2, 3]); ### `_.take(array, [n=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7139 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.take "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7158 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.take "See the npm package") Creates a slice of `array` with `n` elements taken from the beginning. @@ -1778,7 +1778,7 @@ _.take([1, 2, 3], 0); ### `_.takeRight(array, [n=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7172 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.takeright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7191 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.takeright "See the npm package") Creates a slice of `array` with `n` elements taken from the end. @@ -1812,7 +1812,7 @@ _.takeRight([1, 2, 3], 0); ### `_.takeRightWhile(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7218 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.takerightwhile "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7237 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.takerightwhile "See the npm package") Creates a slice of `array` with elements taken from the end. Elements are taken until `predicate` returns falsey. The predicate is invoked with @@ -1857,7 +1857,7 @@ _.takeRightWhile(users, 'active'); ### `_.takeWhile(array, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7260 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.takewhile "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7279 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.takewhile "See the npm package") Creates a slice of `array` with elements taken from the beginning. Elements are taken until `predicate` returns falsey. The predicate is invoked with @@ -1902,7 +1902,7 @@ _.takeWhile(users, 'active'); ### `_.union([arrays])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7282 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.union "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7301 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.union "See the npm package") Creates an array of unique values, in order, from all given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -1928,7 +1928,7 @@ _.union([2, 1], [4, 2], [1, 2]); ### `_.unionBy([arrays], [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7309 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unionby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7328 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unionby "See the npm package") This method is like `_.union` except that it accepts `iteratee` which is invoked for each element of each `arrays` to generate the criterion by @@ -1960,7 +1960,7 @@ _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); ### `_.unionWith([arrays], [comparator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7337 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unionwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7356 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unionwith "See the npm package") This method is like `_.union` except that it accepts `comparator` which is invoked to compare elements of `arrays`. The comparator is invoked @@ -1990,7 +1990,7 @@ _.unionWith(objects, others, _.isEqual); ### `_.uniq(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7362 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniq "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7381 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniq "See the npm package") Creates a duplicate-free version of an array, using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -2017,7 +2017,7 @@ _.uniq([2, 1, 2]); ### `_.uniqBy(array, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7390 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniqby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7409 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniqby "See the npm package") This method is like `_.uniq` except that it accepts `iteratee` which is invoked for each element in `array` to generate the criterion by which @@ -2048,7 +2048,7 @@ _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); ### `_.uniqWith(array, [comparator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7415 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniqwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7434 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniqwith "See the npm package") This method is like `_.uniq` except that it accepts `comparator` which is invoked to compare elements of `array`. The comparator is invoked with @@ -2077,7 +2077,7 @@ _.uniqWith(objects, _.isEqual); ### `_.unzip(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7440 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unzip "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7459 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unzip "See the npm package") This method is like `_.zip` except that it accepts an array of grouped elements and creates an array regrouping the elements to their pre-zip @@ -2106,7 +2106,7 @@ _.unzip(zipped); ### `_.unzipWith(array, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7477 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unzipwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7496 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unzipwith "See the npm package") This method is like `_.unzip` except that it accepts `iteratee` to specify how regrouped values should be combined. The iteratee is invoked with the @@ -2136,7 +2136,7 @@ _.unzipWith(zipped, _.add); ### `_.without(array, [values])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7507 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.without "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7526 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.without "See the npm package") Creates an array excluding all given values using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -2163,7 +2163,7 @@ _.without([1, 2, 1, 3], 1, 2); ### `_.xor([arrays])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7530 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.xor "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7549 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.xor "See the npm package") Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) @@ -2190,7 +2190,7 @@ _.xor([2, 1], [4, 2]); ### `_.xorBy([arrays], [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7557 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.xorby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7576 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.xorby "See the npm package") This method is like `_.xor` except that it accepts `iteratee` which is invoked for each element of each `arrays` to generate the criterion by @@ -2222,7 +2222,7 @@ _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); ### `_.xorWith([arrays], [comparator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7585 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.xorwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7604 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.xorwith "See the npm package") This method is like `_.xor` except that it accepts `comparator` which is invoked to compare elements of `arrays`. The comparator is invoked with @@ -2252,7 +2252,7 @@ _.xorWith(objects, others, _.isEqual); ### `_.zip([arrays])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7609 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zip "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7628 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zip "See the npm package") Creates an array of grouped elements, the first of which contains the first elements of the given arrays, the second of which contains the @@ -2278,7 +2278,7 @@ _.zip(['fred', 'barney'], [30, 40], [true, false]); ### `_.zipObject([props=[]], [values=[]])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7627 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zipobject "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7646 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zipobject "See the npm package") This method is like `_.fromPairs` except that it accepts two arrays, one of property identifiers and one of corresponding values. @@ -2304,7 +2304,7 @@ _.zipObject(['a', 'b'], [1, 2]); ### `_.zipObjectDeep([props=[]], [values=[]])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7646 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zipobjectdeep "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7665 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zipobjectdeep "See the npm package") This method is like `_.zipObject` except that it supports property paths. @@ -2329,7 +2329,7 @@ _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); ### `_.zipWith([arrays], [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7669 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zipwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7688 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.zipwith "See the npm package") This method is like `_.zip` except that it accepts `iteratee` to specify how grouped values should be combined. The iteratee is invoked with the @@ -2364,7 +2364,7 @@ _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { ### `_.countBy(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8053 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.countby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8071 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.countby "See the npm package") Creates an object composed of keys generated from the results of running each element of `collection` thru `iteratee`. The corresponding value of @@ -2395,7 +2395,7 @@ _.countBy(['one', 'two', 'three'], 'length'); ### `_.every(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8094 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.every "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8112 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.every "See the npm package") Checks if `predicate` returns truthy for **all** elements of `collection`. Iteration is stopped once `predicate` returns falsey. The predicate is @@ -2439,7 +2439,7 @@ _.every(users, 'active'); ### `_.filter(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8137 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.filter "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8155 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.filter "See the npm package") Iterates over elements of `collection`, returning an array of all elements `predicate` returns truthy for. The predicate is invoked with three @@ -2483,7 +2483,7 @@ _.filter(users, 'active'); ### `_.find(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8178 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.find "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8196 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.find "See the npm package") Iterates over elements of `collection`, returning the first element `predicate` returns truthy for. The predicate is invoked with three @@ -2528,7 +2528,7 @@ _.find(users, 'active'); ### `_.findLast(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8206 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findlast "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8224 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findlast "See the npm package") This method is like `_.find` except that it iterates over elements of `collection` from right to left. @@ -2556,7 +2556,7 @@ _.findLast([1, 2, 3, 4], function(n) { ### `_.flatMap(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8237 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatmap "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8255 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatmap "See the npm package") Creates a flattened array of values by running each element in `collection` thru `iteratee` and flattening the mapped results. The iteratee is invoked @@ -2587,7 +2587,7 @@ _.flatMap([1, 2], duplicate); ### `_.flatMapDeep(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8262 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdeep "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8280 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdeep "See the npm package") This method is like `_.flatMap` except that it recursively flattens the mapped results. @@ -2617,7 +2617,7 @@ _.flatMapDeep([1, 2], duplicate); ### `_.flatMapDepth(collection, [iteratee=_.identity], [depth=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8288 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdepth "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8306 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdepth "See the npm package") This method is like `_.flatMap` except that it recursively flattens the mapped results up to `depth` times. @@ -2648,9 +2648,9 @@ _.flatMapDepth([1, 2], duplicate, 2); ### `_.forEach(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8322 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.foreach "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8340 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.foreach "See the npm package") -Iterates over elements of `collection` invoking `iteratee` for each element. +Iterates over elements of `collection` and invokes `iteratee` for each element. The iteratee is invoked with three arguments: *(value, index|key, collection)*. Iteratee functions may exit iteration early by explicitly returning `false`.
@@ -2690,7 +2690,7 @@ _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { ### `_.forEachRight(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8347 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.foreachright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8365 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.foreachright "See the npm package") This method is like `_.forEach` except that it iterates over elements of `collection` from right to left. @@ -2721,7 +2721,7 @@ _.forEachRight([1, 2], function(value) { ### `_.groupBy(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8377 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.groupby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8395 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.groupby "See the npm package") Creates an object composed of keys generated from the results of running each element of `collection` thru `iteratee`. The order of grouped values @@ -2754,7 +2754,7 @@ _.groupBy(['one', 'two', 'three'], 'length'); ### `_.includes(collection, value, [fromIndex=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8415 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.includes "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8433 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.includes "See the npm package") Checks if `value` is in `collection`. If `collection` is a string, it's checked for a substring of `value`, otherwise @@ -2793,7 +2793,7 @@ _.includes('pebbles', 'eb'); ### `_.invokeMap(collection, path, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8451 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invokemap "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8469 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invokemap "See the npm package") Invokes the method at `path` of each element in `collection`, returning an array of the results of each invoked method. Any additional arguments @@ -2825,7 +2825,7 @@ _.invokeMap([123, 456], String.prototype.split, ''); ### `_.keyBy(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8493 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.keyby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8511 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.keyby "See the npm package") Creates an object composed of keys generated from the results of running each element of `collection` thru `iteratee`. The corresponding value of @@ -2863,7 +2863,7 @@ _.keyBy(array, 'dir'); ### `_.map(collection, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8540 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.map "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8558 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.map "See the npm package") Creates an array of values by running each element in `collection` thru `iteratee`. The iteratee is invoked with three arguments:
@@ -2877,8 +2877,8 @@ Many lodash methods are guarded to work as iteratees for methods like The guarded methods are:
`ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, -`sampleSize`, `slice`, `some`, `sortBy`, `take`, `takeRight`, `template`, -`trim`, `trimEnd`, `trimStart`, and `words` +`sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, +`template`, `trim`, `trimEnd`, `trimStart`, and `words` #### Since 0.1.0 @@ -2917,7 +2917,7 @@ _.map(users, 'user'); ### `_.orderBy(collection, [iteratees=[_.identity]], [orders])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8574 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.orderby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8592 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.orderby "See the npm package") This method is like `_.sortBy` except that it allows specifying the sort orders of the iteratees to sort by. If `orders` is unspecified, all values @@ -2954,7 +2954,7 @@ _.orderBy(users, ['user', 'age'], ['asc', 'desc']); ### `_.partition(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8625 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.partition "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8643 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.partition "See the npm package") Creates an array of elements split into two groups, the first of which contains elements `predicate` returns truthy for, the second of which @@ -3000,7 +3000,7 @@ _.partition(users, 'active'); ### `_.reduce(collection, [iteratee=_.identity], [accumulator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8665 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reduce "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8683 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reduce "See the npm package") Reduces `collection` to a value which is the accumulated result of running each element in `collection` thru `iteratee`, where each successive @@ -3048,7 +3048,7 @@ _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { ### `_.reduceRight(collection, [iteratee=_.identity], [accumulator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8693 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reduceright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8711 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reduceright "See the npm package") This method is like `_.reduce` except that it iterates over elements of `collection` from right to left. @@ -3079,7 +3079,7 @@ _.reduceRight(array, function(flattened, other) { ### `_.reject(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8734 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reject "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8752 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.reject "See the npm package") The opposite of `_.filter`; this method returns the elements of `collection` that `predicate` does **not** return truthy for. @@ -3122,7 +3122,7 @@ _.reject(users, 'active'); ### `_.sample(collection)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8756 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sample "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8774 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sample "See the npm package") Gets a random element from `collection`. @@ -3146,7 +3146,7 @@ _.sample([1, 2, 3, 4]); ### `_.sampleSize(collection, [n=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8783 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.samplesize "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8801 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.samplesize "See the npm package") Gets `n` random elements at unique keys from `collection` up to the size of `collection`. @@ -3175,7 +3175,7 @@ _.sampleSize([1, 2, 3], 4); ### `_.shuffle(collection)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8820 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.shuffle "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8838 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.shuffle "See the npm package") Creates an array of shuffled values, using a version of the [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). @@ -3200,7 +3200,7 @@ _.shuffle([1, 2, 3, 4]); ### `_.size(collection)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8845 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.size "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8863 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.size "See the npm package") Gets the size of `collection` by returning its length for array-like values or the number of own enumerable string keyed properties for objects. @@ -3231,7 +3231,7 @@ _.size('pebbles'); ### `_.some(collection, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8899 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.some "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8917 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.some "See the npm package") Checks if `predicate` returns truthy for **any** element of `collection`. Iteration is stopped once `predicate` returns truthy. The predicate is @@ -3275,7 +3275,7 @@ _.some(users, 'active'); ### `_.sortBy(collection, [iteratees=[_.identity]])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8942 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8959 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sortby "See the npm package") Creates an array of elements, sorted in ascending order by the results of running each element in a collection thru each iteratee. This method @@ -3286,7 +3286,7 @@ equal elements. The iteratees are invoked with one argument: *(value)*. 0.1.0 #### Arguments 1. `collection` *(Array|Object)*: The collection to iterate over. -2. `[iteratees=[_.identity]]` *(...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[]))*: The iteratees to sort by, specified individually or in arrays. +2. `[iteratees=[_.identity]]` *(...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[]))*: The iteratees to sort by. #### Returns *(Array)*: Returns the new sorted array. @@ -3324,7 +3324,7 @@ _.sortBy(users, 'user', function(o) { ### `_.now()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8974 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.now "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8991 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.now "See the npm package") Gets the timestamp of the number of milliseconds that have elapsed since the Unix epoch *(1 January `1970 00`:00:00 UTC)*. @@ -3354,7 +3354,7 @@ _.defer(function(stamp) { ### `_.after(n, func)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9002 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.after "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9019 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.after "See the npm package") The opposite of `_.before`; this method creates a function that invokes `func` once it's called `n` or more times. @@ -3388,7 +3388,7 @@ _.forEach(saves, function(type) { ### `_.ary(func, [n=func.length])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9031 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ary "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9048 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ary "See the npm package") Creates a function that invokes `func`, with up to `n` arguments, ignoring any additional arguments. @@ -3414,7 +3414,7 @@ _.map(['6', '8', '10'], _.ary(parseInt, 1)); ### `_.before(n, func)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9054 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.before "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9071 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.before "See the npm package") Creates a function that invokes `func`, with the `this` binding and arguments of the created function, while it's called less than `n` times. Subsequent @@ -3441,7 +3441,7 @@ jQuery(element).on('click', _.before(5, addContactToList)); ### `_.bind(func, thisArg, [partials])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9106 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.bind "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9123 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.bind "See the npm package") Creates a function that invokes `func` with the `this` binding of `thisArg` and `partials` prepended to the arguments it receives. @@ -3488,7 +3488,7 @@ bound('hi'); ### `_.bindKey(object, key, [partials])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9160 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.bindkey "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9177 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.bindkey "See the npm package") Creates a function that invokes the method at `object[key]` with `partials` prepended to the arguments it receives. @@ -3545,7 +3545,7 @@ bound('hi'); ### `_.curry(func, [arity=func.length])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9210 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.curry "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9227 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.curry "See the npm package") Creates a function that accepts arguments of `func` and either invokes `func` returning its result, if at least `arity` number of arguments have @@ -3597,7 +3597,7 @@ curried(1)(_, 3)(2); ### `_.curryRight(func, [arity=func.length])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9255 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.curryright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9272 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.curryright "See the npm package") This method is like `_.curry` except that arguments are applied to `func` in the manner of `_.partialRight` instead of `_.partial`. @@ -3646,7 +3646,7 @@ curried(3)(1, _)(2); ### `_.debounce(func, [wait=0], [options={}], [options.leading=false], [options.maxWait], [options.trailing=true])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9312 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.debounce "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9329 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.debounce "See the npm package") Creates a debounced function that delays invoking `func` until after `wait` milliseconds have elapsed since the last time the debounced function was @@ -3705,7 +3705,7 @@ jQuery(window).on('popstate', debounced.cancel); ### `_.defer(func, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9447 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.defer "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9467 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.defer "See the npm package") Defers invoking the `func` until the current call stack has cleared. Any additional arguments are provided to `func` when it's invoked. @@ -3733,7 +3733,7 @@ _.defer(function(text) { ### `_.delay(func, wait, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9470 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.delay "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9490 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.delay "See the npm package") Invokes `func` after `wait` milliseconds. Any additional arguments are provided to `func` when it's invoked. @@ -3762,7 +3762,7 @@ _.delay(function(text) { ### `_.flip(func)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9492 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flip "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9512 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flip "See the npm package") Creates a function that invokes `func` with arguments reversed. @@ -3790,7 +3790,7 @@ flipped('a', 'b', 'c', 'd'); ### `_.memoize(func, [resolver])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9540 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.memoize "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9560 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.memoize "See the npm package") Creates a function that memoizes the result of `func`. If `resolver` is provided, it determines the cache key for storing the result based on the @@ -3845,7 +3845,7 @@ _.memoize.Cache = WeakMap; ### `_.negate(predicate)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9583 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.negate "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9603 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.negate "See the npm package") Creates a function that negates the result of the predicate `func`. The `func` predicate is invoked with the `this` binding and arguments of the @@ -3875,7 +3875,7 @@ _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); ### `_.once(func)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9610 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.once "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9630 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.once "See the npm package") Creates a function that is restricted to invoking `func` once. Repeat calls to the function return the value of the first invocation. The `func` is @@ -3902,8 +3902,8 @@ initialize(); -### `_.overArgs(func, [transforms])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9646 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.overargs "See the npm package") +### `_.overArgs(func)` +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9666 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.overargs "See the npm package") Creates a function that invokes `func` with arguments transformed by corresponding `transforms`. @@ -3912,8 +3912,6 @@ corresponding `transforms`. 4.0.0 #### Arguments 1. `func` *(Function)*: The function to wrap. -2. `[transforms]` *(...(Function|Function[]))*: The functions to transform. -arguments, specified individually or in arrays. #### Returns *(Function)*: Returns the new function. @@ -3945,7 +3943,7 @@ func(10, 5); ### `_.partial(func, [partials])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9693 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.partial "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9713 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.partial "See the npm package") Creates a function that invokes `func` with `partials` prepended to the arguments it receives. This method is like `_.bind` except it does **not** @@ -3990,7 +3988,7 @@ greetFred('hi'); ### `_.partialRight(func, [partials])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9730 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.partialright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9750 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.partialright "See the npm package") This method is like `_.partial` except that partially applied arguments are appended to the arguments it receives. @@ -4034,7 +4032,7 @@ sayHelloTo('fred'); ### `_.rearg(func, indexes)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9758 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.rearg "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9777 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.rearg "See the npm package") Creates a function that invokes `func` with arguments arranged according to the specified `indexes` where the argument value at the first index is @@ -4045,7 +4043,7 @@ provided as the second argument, and so on. 3.0.0 #### Arguments 1. `func` *(Function)*: The function to rearrange arguments for. -2. `indexes` *(...(number|number[]))*: The arranged argument indexes, specified individually or in arrays. +2. `indexes` *(...(number|number[]))*: The arranged argument indexes. #### Returns *(Function)*: Returns the new function. @@ -4066,7 +4064,7 @@ rearged('b', 'c', 'a') ### `_.rest(func, [start=func.length-1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9787 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.rest "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9806 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.rest "See the npm package") Creates a function that invokes `func` with the `this` binding of the created function and arguments from `start` and beyond provided as @@ -4102,7 +4100,7 @@ say('hello', 'fred', 'barney', 'pebbles'); ### `_.spread(func, [start=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9850 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.spread "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9869 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.spread "See the npm package") Creates a function that invokes `func` with the `this` binding of the create function and an array of arguments much like @@ -4147,7 +4145,7 @@ numbers.then(_.spread(function(x, y) { ### `_.throttle(func, [wait=0], [options={}], [options.leading=true], [options.trailing=true])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9907 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.throttle "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9926 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.throttle "See the npm package") Creates a throttled function that only invokes `func` at most once per every `wait` milliseconds. The throttled function comes with a `cancel` @@ -4198,7 +4196,7 @@ jQuery(window).on('popstate', throttled.cancel); ### `_.unary(func)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9940 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unary "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9959 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unary "See the npm package") Creates a function that accepts up to one argument, ignoring any additional arguments. @@ -4223,7 +4221,7 @@ _.map(['6', '8', '10'], _.unary(parseInt)); ### `_.wrap(value, [wrapper=identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L9966 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.wrap "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L9985 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.wrap "See the npm package") Creates a function that provides `value` to the wrapper function as its first argument. Any additional arguments provided to the function are @@ -4261,7 +4259,7 @@ p('fred, barney, & pebbles'); ### `_.castArray(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10006 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.castarray "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10025 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.castarray "See the npm package") Casts `value` as an array if it's not one. @@ -4304,7 +4302,7 @@ console.log(_.castArray(array) === array); ### `_.clone(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10039 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clone "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10058 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clone "See the npm package") Creates a shallow clone of `value`.
@@ -4340,7 +4338,7 @@ console.log(shallow[0] === objects[0]); ### `_.cloneDeep(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10094 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clonedeep "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10113 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clonedeep "See the npm package") This method is like `_.clone` except that it recursively clones `value`. @@ -4367,7 +4365,7 @@ console.log(deep[0] === objects[0]); ### `_.cloneDeepWith(value, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10125 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clonedeepwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10144 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clonedeepwith "See the npm package") This method is like `_.cloneWith` except that it recursively clones `value`. @@ -4404,7 +4402,7 @@ console.log(el.childNodes.length); ### `_.cloneWith(value, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10073 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clonewith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10092 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clonewith "See the npm package") This method is like `_.clone` except that it accepts `customizer` which is invoked to produce the cloned value. If `customizer` returns `undefined`, @@ -4444,7 +4442,7 @@ console.log(el.childNodes.length); ### `_.eq(value, other)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10161 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.eq "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10180 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.eq "See the npm package") Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) @@ -4486,7 +4484,7 @@ _.eq(NaN, NaN); ### `_.gt(value, other)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10187 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.gt "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10206 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.gt "See the npm package") Checks if `value` is greater than `other`. @@ -4517,7 +4515,7 @@ _.gt(1, 3); ### `_.gte(value, other)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10213 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.gte "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10232 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.gte "See the npm package") Checks if `value` is greater than or equal to `other`. @@ -4548,7 +4546,7 @@ _.gte(1, 3); ### `_.isArguments(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10235 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarguments "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10254 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarguments "See the npm package") Checks if `value` is likely an `arguments` object. @@ -4575,7 +4573,7 @@ _.isArguments([1, 2, 3]); ### `_.isArray(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10266 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarray "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10285 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarray "See the npm package") Checks if `value` is classified as an `Array` object. @@ -4608,7 +4606,7 @@ _.isArray(_.noop); ### `_.isArrayBuffer(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10286 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarraybuffer "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10305 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarraybuffer "See the npm package") Checks if `value` is classified as an `ArrayBuffer` object. @@ -4635,7 +4633,7 @@ _.isArrayBuffer(new Array(2)); ### `_.isArrayLike(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10315 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarraylike "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10334 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarraylike "See the npm package") Checks if `value` is array-like. A value is considered array-like if it's not a function and has a `value.length` that's an integer greater than or @@ -4670,7 +4668,7 @@ _.isArrayLike(_.noop); ### `_.isArrayLikeObject(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10344 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarraylikeobject "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10363 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isarraylikeobject "See the npm package") This method is like `_.isArrayLike` except that it also checks if `value` is an object. @@ -4704,7 +4702,7 @@ _.isArrayLikeObject(_.noop); ### `_.isBoolean(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10366 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isboolean "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10385 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isboolean "See the npm package") Checks if `value` is classified as a boolean primitive or object. @@ -4731,7 +4729,7 @@ _.isBoolean(null); ### `_.isBuffer(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10388 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isbuffer "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10407 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isbuffer "See the npm package") Checks if `value` is a buffer. @@ -4758,7 +4756,7 @@ _.isBuffer(new Uint8Array(2)); ### `_.isDate(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10410 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isdate "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10429 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isdate "See the npm package") Checks if `value` is classified as a `Date` object. @@ -4785,7 +4783,7 @@ _.isDate('Mon April 23 2012'); ### `_.isElement(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10432 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.iselement "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10451 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.iselement "See the npm package") Checks if `value` is likely a DOM element. @@ -4812,7 +4810,7 @@ _.isElement(''); ### `_.isEmpty(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10469 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isempty "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10488 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isempty "See the npm package") Checks if `value` is an empty object, collection, map, or set.
@@ -4857,7 +4855,7 @@ _.isEmpty({ 'a': 1 }); ### `_.isEqual(value, other)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10518 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isequal "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10537 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isequal "See the npm package") Performs a deep comparison between two values to determine if they are equivalent. @@ -4896,7 +4894,7 @@ object === other; ### `_.isEqualWith(value, other, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10555 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isequalwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10574 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isequalwith "See the npm package") This method is like `_.isEqual` except that it accepts `customizer` which is invoked to compare values. If `customizer` returns `undefined`, comparisons @@ -4938,7 +4936,7 @@ _.isEqualWith(array, other, customizer); ### `_.isError(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10580 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.iserror "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10599 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.iserror "See the npm package") Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, `SyntaxError`, `TypeError`, or `URIError` object. @@ -4966,7 +4964,7 @@ _.isError(Error); ### `_.isFinite(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10615 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isfinite "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10634 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isfinite "See the npm package") Checks if `value` is a finite primitive number.
@@ -5003,7 +5001,7 @@ _.isFinite(Infinity); ### `_.isFunction(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10637 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isfunction "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10656 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isfunction "See the npm package") Checks if `value` is classified as a `Function` object. @@ -5030,7 +5028,7 @@ _.isFunction(/abc/); ### `_.isInteger(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10671 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isinteger "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10690 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isinteger "See the npm package") Checks if `value` is an integer.
@@ -5067,7 +5065,7 @@ _.isInteger('3'); ### `_.isLength(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10702 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.islength "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10721 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.islength "See the npm package") Checks if `value` is a valid array-like length.
@@ -5104,7 +5102,7 @@ _.isLength('3'); ### `_.isMap(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10783 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ismap "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10802 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ismap "See the npm package") Checks if `value` is classified as a `Map` object. @@ -5131,7 +5129,7 @@ _.isMap(new WeakMap); ### `_.isMatch(object, source)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10811 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ismatch "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10830 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ismatch "See the npm package") Performs a partial deep comparison between `object` and `source` to determine if `object` contains equivalent property values. This method is @@ -5166,7 +5164,7 @@ _.isMatch(object, { 'age': 36 }); ### `_.isMatchWith(object, source, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10847 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ismatchwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10866 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ismatchwith "See the npm package") This method is like `_.isMatch` except that it accepts `customizer` which is invoked to compare values. If `customizer` returns `undefined`, comparisons @@ -5208,7 +5206,7 @@ _.isMatchWith(object, source, customizer); ### `_.isNaN(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10880 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnan "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10899 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnan "See the npm package") Checks if `value` is `NaN`.
@@ -5247,7 +5245,7 @@ _.isNaN(undefined); ### `_.isNative(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10905 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnative "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10924 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnative "See the npm package") Checks if `value` is a native function. @@ -5274,7 +5272,7 @@ _.isNative(_); ### `_.isNil(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10954 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnil "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10973 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnil "See the npm package") Checks if `value` is `null` or `undefined`. @@ -5304,7 +5302,7 @@ _.isNil(NaN); ### `_.isNull(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10930 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnull "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10949 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnull "See the npm package") Checks if `value` is `null`. @@ -5331,7 +5329,7 @@ _.isNull(void 0); ### `_.isNumber(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10985 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnumber "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11004 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isnumber "See the npm package") Checks if `value` is classified as a `Number` primitive or object.
@@ -5368,7 +5366,7 @@ _.isNumber('3'); ### `_.isObject(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10732 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isobject "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10751 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isobject "See the npm package") Checks if `value` is the [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types) @@ -5403,7 +5401,7 @@ _.isObject(null); ### `_.isObjectLike(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L10761 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isobjectlike "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L10780 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isobjectlike "See the npm package") Checks if `value` is object-like. A value is object-like if it's not `null` and has a `typeof` result of "object". @@ -5437,7 +5435,7 @@ _.isObjectLike(null); ### `_.isPlainObject(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11019 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isplainobject "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11038 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isplainobject "See the npm package") Checks if `value` is a plain object, that is, an object created by the `Object` constructor or one with a `[[Prototype]]` of `null`. @@ -5475,7 +5473,7 @@ _.isPlainObject(Object.create(null)); ### `_.isRegExp(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11051 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isregexp "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11070 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isregexp "See the npm package") Checks if `value` is classified as a `RegExp` object. @@ -5502,7 +5500,7 @@ _.isRegExp('/abc/'); ### `_.isSafeInteger(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11083 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.issafeinteger "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11102 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.issafeinteger "See the npm package") Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 double precision number which isn't the result of a rounded unsafe integer. @@ -5540,7 +5538,7 @@ _.isSafeInteger('3'); ### `_.isSet(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11105 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isset "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11124 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isset "See the npm package") Checks if `value` is classified as a `Set` object. @@ -5567,7 +5565,7 @@ _.isSet(new WeakSet); ### `_.isString(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11127 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isstring "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11146 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isstring "See the npm package") Checks if `value` is classified as a `String` primitive or object. @@ -5594,7 +5592,7 @@ _.isString(1); ### `_.isSymbol(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11150 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.issymbol "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11169 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.issymbol "See the npm package") Checks if `value` is classified as a `Symbol` primitive or object. @@ -5621,7 +5619,7 @@ _.isSymbol('abc'); ### `_.isTypedArray(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11173 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.istypedarray "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11192 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.istypedarray "See the npm package") Checks if `value` is classified as a typed array. @@ -5648,7 +5646,7 @@ _.isTypedArray([]); ### `_.isUndefined(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11195 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isundefined "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11214 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isundefined "See the npm package") Checks if `value` is `undefined`. @@ -5675,7 +5673,7 @@ _.isUndefined(null); ### `_.isWeakMap(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11217 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isweakmap "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11236 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isweakmap "See the npm package") Checks if `value` is classified as a `WeakMap` object. @@ -5702,7 +5700,7 @@ _.isWeakMap(new Map); ### `_.isWeakSet(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11239 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isweakset "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11258 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.isweakset "See the npm package") Checks if `value` is classified as a `WeakSet` object. @@ -5729,7 +5727,7 @@ _.isWeakSet(new Set); ### `_.lt(value, other)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11265 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lt "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11284 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lt "See the npm package") Checks if `value` is less than `other`. @@ -5760,7 +5758,7 @@ _.lt(3, 1); ### `_.lte(value, other)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11291 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lte "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11310 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lte "See the npm package") Checks if `value` is less than or equal to `other`. @@ -5791,7 +5789,7 @@ _.lte(3, 1); ### `_.toArray(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11318 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.toarray "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11337 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.toarray "See the npm package") Converts `value` to an array. @@ -5824,7 +5822,7 @@ _.toArray(null); ### `_.toInteger(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11360 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tointeger "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11379 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tointeger "See the npm package") Converts `value` to an integer.
@@ -5861,7 +5859,7 @@ _.toInteger('3'); ### `_.toLength(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11400 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tolength "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11419 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tolength "See the npm package") Converts `value` to an integer suitable for use as the length of an array-like object. @@ -5899,7 +5897,7 @@ _.toLength('3'); ### `_.toNumber(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11427 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tonumber "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11446 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tonumber "See the npm package") Converts `value` to a number. @@ -5932,7 +5930,7 @@ _.toNumber('3'); ### `_.toPlainObject(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11472 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.toplainobject "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11491 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.toplainobject "See the npm package") Converts `value` to a plain object flattening inherited enumerable string keyed properties of `value` to own properties of the plain object. @@ -5966,7 +5964,7 @@ _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); ### `_.toSafeInteger(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11500 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tosafeinteger "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11519 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tosafeinteger "See the npm package") Converts `value` to a safe integer. A safe integer can be compared and represented correctly. @@ -6000,10 +5998,10 @@ _.toSafeInteger('3'); ### `_.toString(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11525 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tostring "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11544 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tostring "See the npm package") -Converts `value` to a string if it's not one. An empty string is returned -for `null` and `undefined` values. The sign of `-0` is preserved. +Converts `value` to a string. An empty string is returned for `null` +and `undefined` values. The sign of `-0` is preserved. #### Since 4.0.0 @@ -6037,7 +6035,7 @@ _.toString([1, 2, 3]); ### `_.add(augend, addend)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15034 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.add "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15055 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.add "See the npm package") Adds two numbers. @@ -6062,7 +6060,7 @@ _.add(6, 4); ### `_.ceil(number, [precision=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15059 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ceil "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15080 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ceil "See the npm package") Computes `number` rounded up to `precision`. @@ -6093,7 +6091,7 @@ _.ceil(6040, -2); ### `_.divide(dividend, divisor)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15076 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.divide "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15097 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.divide "See the npm package") Divide two numbers. @@ -6118,7 +6116,7 @@ _.divide(6, 4); ### `_.floor(number, [precision=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15101 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.floor "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15122 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.floor "See the npm package") Computes `number` rounded down to `precision`. @@ -6149,7 +6147,7 @@ _.floor(4060, -2); ### `_.max(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15121 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.max "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15142 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.max "See the npm package") Computes the maximum value of `array`. If `array` is empty or falsey, `undefined` is returned. @@ -6177,7 +6175,7 @@ _.max([]); ### `_.maxBy(array, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15151 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.maxby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15172 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.maxby "See the npm package") This method is like `_.max` except that it accepts `iteratee` which is invoked for each element in `array` to generate the criterion by which @@ -6210,7 +6208,7 @@ _.maxBy(objects, 'n'); ### `_.mean(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15171 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mean "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15192 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mean "See the npm package") Computes the mean of the values in `array`. @@ -6234,7 +6232,7 @@ _.mean([4, 2, 8, 6]); ### `_.meanBy(array, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15199 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.meanby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15220 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.meanby "See the npm package") This method is like `_.mean` except that it accepts `iteratee` which is invoked for each element in `array` to generate the value to be averaged. @@ -6267,7 +6265,7 @@ _.meanBy(objects, 'n'); ### `_.min(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15221 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.min "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15242 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.min "See the npm package") Computes the minimum value of `array`. If `array` is empty or falsey, `undefined` is returned. @@ -6295,7 +6293,7 @@ _.min([]); ### `_.minBy(array, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15251 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.minby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15272 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.minby "See the npm package") This method is like `_.min` except that it accepts `iteratee` which is invoked for each element in `array` to generate the criterion by which @@ -6328,7 +6326,7 @@ _.minBy(objects, 'n'); ### `_.multiply(multiplier, multiplicand)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15272 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.multiply "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15293 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.multiply "See the npm package") Multiply two numbers. @@ -6353,7 +6351,7 @@ _.multiply(6, 4); ### `_.round(number, [precision=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15297 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.round "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15318 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.round "See the npm package") Computes `number` rounded to `precision`. @@ -6384,7 +6382,7 @@ _.round(4060, -2); ### `_.subtract(minuend, subtrahend)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15314 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.subtract "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15335 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.subtract "See the npm package") Subtract two numbers. @@ -6409,7 +6407,7 @@ _.subtract(6, 4); ### `_.sum(array)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15332 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sum "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15353 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sum "See the npm package") Computes the sum of the values in `array`. @@ -6433,7 +6431,7 @@ _.sum([4, 2, 8, 6]); ### `_.sumBy(array, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15362 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sumby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15383 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.sumby "See the npm package") This method is like `_.sum` except that it accepts `iteratee` which is invoked for each element in `array` to generate the value to be summed. @@ -6472,7 +6470,7 @@ _.sumBy(objects, 'n'); ### `_.clamp(number, [lower], upper)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12950 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clamp "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12966 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.clamp "See the npm package") Clamps `number` within the inclusive `lower` and `upper` bounds. @@ -6501,7 +6499,7 @@ _.clamp(10, -5, 5); ### `_.inRange(number, [start=0], end)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13003 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.inrange "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13019 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.inrange "See the npm package") Checks if `n` is between `start` and up to but not including, `end`. If `end` is not specified, it's set to `start` with `start` then set to `0`. @@ -6548,7 +6546,7 @@ _.inRange(-3, -2, -6); ### `_.random([lower=0], [upper=1], [floating])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13046 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.random "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13062 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.random "See the npm package") Produces a random number between the inclusive `lower` and `upper` bounds. If only one argument is provided a number between `0` and the given number @@ -6596,7 +6594,7 @@ _.random(1.2, 5.2); ### `_.assign(object, [sources])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11573 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assign "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11592 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assign "See the npm package") Assigns own enumerable string keyed properties of source objects to the destination object. Source objects are applied from left to right. @@ -6638,7 +6636,7 @@ _.assign({ 'a': 1 }, new Foo, new Bar); ### `_.assignIn(object, [sources])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11615 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assignin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11634 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assignin "See the npm package") This method is like `_.assign` except that it iterates over own and inherited source properties. @@ -6681,7 +6679,7 @@ _.assignIn({ 'a': 1 }, new Foo, new Bar); ### `_.assignInWith(object, sources, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11653 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assigninwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11672 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assigninwith "See the npm package") This method is like `_.assignIn` except that it accepts `customizer` which is invoked to produce the assigned values. If `customizer` returns @@ -6722,7 +6720,7 @@ defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); ### `_.assignWith(object, sources, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11684 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assignwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11703 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.assignwith "See the npm package") This method is like `_.assign` except that it accepts `customizer` which is invoked to produce the assigned values. If `customizer` returns @@ -6760,7 +6758,7 @@ defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); ### `_.at(object, [paths])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11709 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.at "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11727 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.at "See the npm package") Creates an array of values corresponding to `paths` of `object`. @@ -6768,7 +6766,7 @@ Creates an array of values corresponding to `paths` of `object`. 1.0.0 #### Arguments 1. `object` *(Object)*: The object to iterate over. -2. `[paths]` *(...(string|string[]))*: The property paths of elements to pick, specified individually or in arrays. +2. `[paths]` *(...(string|string[]))*: The property paths of elements to pick. #### Returns *(Array)*: Returns the new array of picked elements. @@ -6790,7 +6788,7 @@ _.at(['a', 'b', 'c'], 0, 2); ### `_.create(prototype, [properties])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11747 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.create "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11765 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.create "See the npm package") Creates an object that inherits from the `prototype` object. If a `properties` object is given, its own enumerable string keyed properties @@ -6834,7 +6832,7 @@ circle instanceof Shape; ### `_.defaults(object, [sources])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11772 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.defaults "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11790 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.defaults "See the npm package") Assigns own and inherited enumerable string keyed properties of source objects to the destination object for all destination properties that @@ -6865,7 +6863,7 @@ _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' }); ### `_.defaultsDeep(object, [sources])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11796 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.defaultsdeep "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11814 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.defaultsdeep "See the npm package") This method is like `_.defaults` except that it recursively assigns default properties. @@ -6894,7 +6892,7 @@ _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'ag ### `_.findKey(object, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11837 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findkey "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11855 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findkey "See the npm package") This method is like `_.find` except that it returns the key of the first element `predicate` returns truthy for instead of the element itself. @@ -6938,7 +6936,7 @@ _.findKey(users, 'active'); ### `_.findLastKey(object, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11877 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findlastkey "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11895 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.findlastkey "See the npm package") This method is like `_.findKey` except that it iterates over elements of a collection in the opposite order. @@ -6982,12 +6980,12 @@ _.findLastKey(users, 'active'); ### `_.forIn(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11908 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11926 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forin "See the npm package") Iterates over own and inherited enumerable string keyed properties of an -object invoking `iteratee` for each property. The iteratee is invoked with -three arguments: *(value, key, object)*. Iteratee functions may exit iteration -early by explicitly returning `false`. +object and invokes `iteratee` for each property. The iteratee is invoked +with three arguments: *(value, key, object)*. Iteratee functions may exit +iteration early by explicitly returning `false`. #### Since 0.3.0 @@ -7019,7 +7017,7 @@ _.forIn(new Foo, function(value, key) { ### `_.forInRight(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11939 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forinright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11957 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forinright "See the npm package") This method is like `_.forIn` except that it iterates over properties of `object` in the opposite order. @@ -7054,12 +7052,12 @@ _.forInRight(new Foo, function(value, key) { ### `_.forOwn(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L11972 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forown "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L11990 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forown "See the npm package") -Iterates over own enumerable string keyed properties of an object invoking -`iteratee` for each property. The iteratee is invoked with three arguments:
-*(value, key, object)*. Iteratee functions may exit iteration early by -explicitly returning `false`. +Iterates over own enumerable string keyed properties of an object and +invokes `iteratee` for each property. The iteratee is invoked with three +arguments: *(value, key, object)*. Iteratee functions may exit iteration +early by explicitly returning `false`. #### Since 0.3.0 @@ -7091,7 +7089,7 @@ _.forOwn(new Foo, function(value, key) { ### `_.forOwnRight(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12001 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forownright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12019 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.forownright "See the npm package") This method is like `_.forOwn` except that it iterates over properties of `object` in the opposite order. @@ -7126,7 +7124,7 @@ _.forOwnRight(new Foo, function(value, key) { ### `_.functions(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12027 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.functions "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12045 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.functions "See the npm package") Creates an array of function property names from own enumerable properties of `object`. @@ -7158,7 +7156,7 @@ _.functions(new Foo); ### `_.functionsIn(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12053 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.functionsin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12071 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.functionsin "See the npm package") Creates an array of function property names from own and inherited enumerable properties of `object`. @@ -7190,7 +7188,7 @@ _.functionsIn(new Foo); ### `_.get(object, path, [defaultValue])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12082 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.get "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12100 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.get "See the npm package") Gets the value at `path` of `object`. If the resolved value is `undefined`, the `defaultValue` is used in its place. @@ -7225,7 +7223,7 @@ _.get(object, 'a.b.c', 'default'); ### `_.has(object, path)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12114 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.has "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12132 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.has "See the npm package") Checks if `path` is a direct property of `object`. @@ -7262,7 +7260,7 @@ _.has(other, 'a'); ### `_.hasIn(object, path)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12144 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.hasin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12162 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.hasin "See the npm package") Checks if `path` is a direct or inherited property of `object`. @@ -7298,7 +7296,7 @@ _.hasIn(object, 'b'); ### `_.invert(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12166 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invert "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12184 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invert "See the npm package") Creates an object composed of the inverted keys and values of `object`. If `object` contains duplicate values, subsequent values overwrite @@ -7326,7 +7324,7 @@ _.invert(object); ### `_.invertBy(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12197 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invertby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12215 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invertby "See the npm package") This method is like `_.invert` except that the inverted object is generated from the results of running each element of `object` thru `iteratee`. The @@ -7362,7 +7360,7 @@ _.invertBy(object, function(value) { ### `_.invoke(object, path, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12223 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invoke "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12241 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.invoke "See the npm package") Invokes the method at `path` of `object`. @@ -7390,7 +7388,7 @@ _.invoke(object, 'a[0].b.c.slice', 1, 3); ### `_.keys(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12253 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.keys "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12271 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.keys "See the npm package") Creates an array of the own enumerable property names of `object`.
@@ -7429,7 +7427,7 @@ _.keys('hi'); ### `_.keysIn(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12296 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.keysin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12314 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.keysin "See the npm package") Creates an array of the own and inherited enumerable property names of `object`.
@@ -7463,7 +7461,7 @@ _.keysIn(new Foo); ### `_.mapKeys(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12337 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mapkeys "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12355 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mapkeys "See the npm package") The opposite of `_.mapValues`; this method creates an object with the same values as `object` and keys generated by running each own enumerable @@ -7493,7 +7491,7 @@ _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { ### `_.mapValues(object, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12375 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mapvalues "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12393 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mapvalues "See the npm package") Creates an object with the same keys as `object` and values generated by running each own enumerable string keyed property of `object` thru @@ -7530,7 +7528,7 @@ _.mapValues(users, 'age'); ### `_.merge(object, [sources])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12416 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.merge "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12434 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.merge "See the npm package") This method is like `_.assign` except that it recursively merges own and inherited enumerable string keyed properties of source objects into the @@ -7572,7 +7570,7 @@ _.merge(users, ages); ### `_.mergeWith(object, sources, customizer)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12458 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mergewith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12476 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mergewith "See the npm package") This method is like `_.merge` except that it accepts `customizer` which is invoked to produce the merged values of the destination and source @@ -7621,7 +7619,7 @@ _.mergeWith(object, other, customizer); ### `_.omit(object, [props])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12482 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.omit "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12499 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.omit "See the npm package") The opposite of `_.pick`; this method creates an object composed of the own and inherited enumerable string keyed properties of `object` that are @@ -7631,7 +7629,7 @@ not omitted. 0.1.0 #### Arguments 1. `object` *(Object)*: The source object. -2. `[props]` *(...(string|string[]))*: The property identifiers to omit, specified individually or in arrays. +2. `[props]` *(...(string|string[]))*: The property identifiers to omit. #### Returns *(Object)*: Returns the new object. @@ -7650,7 +7648,7 @@ _.omit(object, ['a', 'c']); ### `_.omitBy(object, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12511 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.omitby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12528 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.omitby "See the npm package") The opposite of `_.pickBy`; this method creates an object composed of the own and inherited enumerable string keyed properties of `object` that @@ -7680,7 +7678,7 @@ _.omitBy(object, _.isNumber); ### `_.pick(object, [props])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12536 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pick "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12552 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pick "See the npm package") Creates an object composed of the picked `object` properties. @@ -7688,7 +7686,7 @@ Creates an object composed of the picked `object` properties. 0.1.0 #### Arguments 1. `object` *(Object)*: The source object. -2. `[props]` *(...(string|string[]))*: The property identifiers to pick, specified individually or in arrays. +2. `[props]` *(...(string|string[]))*: The property identifiers to pick. #### Returns *(Object)*: Returns the new object. @@ -7707,7 +7705,7 @@ _.pick(object, ['a', 'c']); ### `_.pickBy(object, [predicate=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12559 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pickby "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12575 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pickby "See the npm package") Creates an object composed of the `object` properties `predicate` returns truthy for. The predicate is invoked with two arguments: *(value, key)*. @@ -7735,7 +7733,7 @@ _.pickBy(object, _.isNumber); ### `_.result(object, path, [defaultValue])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12592 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.result "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12608 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.result "See the npm package") This method is like `_.get` except that if the resolved value is a function it's invoked with the `this` binding of its parent object and @@ -7774,7 +7772,7 @@ _.result(object, 'a[0].b.c3', _.constant('default')); ### `_.set(object, path, value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12642 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.set "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12658 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.set "See the npm package") Sets the value at `path` of `object`. If a portion of `path` doesn't exist, it's created. Arrays are created for missing index properties while objects @@ -7813,7 +7811,7 @@ console.log(object.x[0].y.z); ### `_.setWith(object, path, value, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12670 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.setwith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12686 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.setwith "See the npm package") This method is like `_.set` except that it accepts `customizer` which is invoked to produce the objects of `path`. If `customizer` returns `undefined` @@ -7848,7 +7846,7 @@ _.setWith(object, '[0][1]', 'a', Object); ### `_.toPairs(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12698 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.topairs "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12714 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.topairs "See the npm package") Creates an array of own enumerable string keyed-value pairs for `object` which can be consumed by `_.fromPairs`. @@ -7883,7 +7881,7 @@ _.toPairs(new Foo); ### `_.toPairsIn(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12725 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.topairsin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12741 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.topairsin "See the npm package") Creates an array of own and inherited enumerable string keyed-value pairs for `object` which can be consumed by `_.fromPairs`. @@ -7918,7 +7916,7 @@ _.toPairsIn(new Foo); ### `_.transform(object, [iteratee=_.identity], [accumulator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12758 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.transform "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12774 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.transform "See the npm package") An alternative to `_.reduce`; this method transforms `object` to a new `accumulator` object which is the result of running each of its own @@ -7957,7 +7955,7 @@ _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { ### `_.unset(object, path)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12807 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unset "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12823 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unset "See the npm package") Removes the property at `path` of `object`.
@@ -7995,7 +7993,7 @@ console.log(object); ### `_.update(object, path, updater)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12838 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.update "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12854 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.update "See the npm package") This method is like `_.set` except that accepts `updater` to produce the value to set. Use `_.updateWith` to customize `path` creation. The `updater` @@ -8033,7 +8031,7 @@ console.log(object.x[0].y.z); ### `_.updateWith(object, path, updater, [customizer])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12866 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.updatewith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12882 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.updatewith "See the npm package") This method is like `_.update` except that it accepts `customizer` which is invoked to produce the objects of `path`. If `customizer` returns `undefined` @@ -8068,7 +8066,7 @@ _.updateWith(object, '[0][1]', _.constant('a'), Object); ### `_.values(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12897 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.values "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12913 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.values "See the npm package") Creates an array of the own enumerable string keyed property values of `object`.
@@ -8105,7 +8103,7 @@ _.values('hi'); ### `_.valuesIn(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L12925 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.valuesin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L12941 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.valuesin "See the npm package") Creates an array of the own and inherited enumerable string keyed property values of `object`. @@ -8146,7 +8144,7 @@ _.valuesIn(new Foo); ### `_(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1587 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1587 "View in source") [Ⓣ][1] Creates a `lodash` object which wraps `value` to enable implicit method chain sequences. Methods that operate on and return arrays, collections, @@ -8280,7 +8278,7 @@ _.isArray(squares.value()); ### `_.chain(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7708 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7727 "View in source") [Ⓣ][1] Creates a `lodash` wrapper instance that wraps `value` with explicit method chain sequences enabled. The result of such sequences must be unwrapped @@ -8319,7 +8317,7 @@ var youngest = _ ### `_.tap(value, interceptor)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7737 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7756 "View in source") [Ⓣ][1] This method invokes `interceptor` and returns `value`. The interceptor is invoked with one argument; *(value)*. The purpose of this method is to @@ -8352,7 +8350,7 @@ _([1, 2, 3]) ### `_.thru(value, interceptor)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7765 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7784 "View in source") [Ⓣ][1] This method is like `_.tap` except that it returns the result of `interceptor`. The purpose of this method is to "pass thru" values replacing intermediate @@ -8385,7 +8383,7 @@ _(' abc ') ### `_.prototype[Symbol.iterator]()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7925 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7943 "View in source") [Ⓣ][1] Enables the wrapper to be iterable. @@ -8411,14 +8409,14 @@ Array.from(wrapped); ### `_.prototype.at([paths])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7789 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7807 "View in source") [Ⓣ][1] This method is the wrapper version of `_.at`. #### Since 1.0.0 #### Arguments -1. `[paths]` *(...(string|string[]))*: The property paths of elements to pick, specified individually or in arrays. +1. `[paths]` *(...(string|string[]))*: The property paths of elements to pick. #### Returns *(Object)*: Returns the new `lodash` wrapper instance. @@ -8440,7 +8438,7 @@ _(['a', 'b', 'c']).at(0, 2).value(); ### `_.prototype.chain()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7841 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7859 "View in source") [Ⓣ][1] Creates a `lodash` wrapper instance with explicit method chain sequences enabled. @@ -8475,7 +8473,7 @@ _(users) ### `_.prototype.commit()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7871 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7889 "View in source") [Ⓣ][1] Executes the chain sequence and returns the wrapped result. @@ -8509,7 +8507,7 @@ console.log(array); ### `_.prototype.next()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7897 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7915 "View in source") [Ⓣ][1] Gets the next value on a wrapped object following the [iterator protocol](https://mdn.io/iteration_protocols#iterator). @@ -8539,7 +8537,7 @@ wrapped.next(); ### `_.prototype.plant(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7953 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L7971 "View in source") [Ⓣ][1] Creates a clone of the chain sequence planting `value` as the wrapped value. @@ -8573,7 +8571,7 @@ wrapped.value(); ### `_.prototype.reverse()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L7993 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8011 "View in source") [Ⓣ][1] This method is the wrapper version of `_.reverse`.
@@ -8602,7 +8600,7 @@ console.log(array); ### `_.prototype.value()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L8025 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L8043 "View in source") [Ⓣ][1] Executes the chain sequence to resolve the unwrapped value. @@ -8632,7 +8630,7 @@ _([1, 2, 3]).value(); ### `_.camelCase([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13107 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.camelcase "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13123 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.camelcase "See the npm package") Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). @@ -8662,7 +8660,7 @@ _.camelCase('__FOO_BAR__'); ### `_.capitalize([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13127 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.capitalize "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13143 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.capitalize "See the npm package") Converts the first character of `string` to upper case and the remaining to lower case. @@ -8687,7 +8685,7 @@ _.capitalize('FRED'); ### `_.deburr([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13148 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.deburr "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13164 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.deburr "See the npm package") Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) @@ -8714,7 +8712,7 @@ _.deburr('déjà vu'); ### `_.endsWith([string=''], [target], [position=string.length])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13176 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.endswith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13192 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.endswith "See the npm package") Checks if `string` ends with the given target string. @@ -8746,7 +8744,7 @@ _.endsWith('abc', 'b', 2); ### `_.escape([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13223 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.escape "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13239 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.escape "See the npm package") Converts the characters "&", "<", ">", '"', "'", and "\`" in `string` to their corresponding HTML entities. @@ -8794,7 +8792,7 @@ _.escape('fred, barney, & pebbles'); ### `_.escapeRegExp([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13245 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.escaperegexp "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13261 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.escaperegexp "See the npm package") Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. @@ -8819,7 +8817,7 @@ _.escapeRegExp('[lodash](https://lodash.com/)'); ### `_.kebabCase([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13273 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.kebabcase "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13289 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.kebabcase "See the npm package") Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). @@ -8850,7 +8848,7 @@ _.kebabCase('__FOO_BAR__'); ### `_.lowerCase([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13297 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lowercase "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13313 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lowercase "See the npm package") Converts `string`, as space separated words, to lower case. @@ -8880,7 +8878,7 @@ _.lowerCase('__FOO_BAR__'); ### `_.lowerFirst([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13318 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lowerfirst "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13334 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.lowerfirst "See the npm package") Converts the first character of `string` to lower case. @@ -8907,7 +8905,7 @@ _.lowerFirst('FRED'); ### `_.pad([string=''], [length=0], [chars=' '])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13343 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pad "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13359 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.pad "See the npm package") Pads `string` on the left and right sides if it's shorter than `length`. Padding characters are truncated if they can't be evenly divided by `length`. @@ -8940,7 +8938,7 @@ _.pad('abc', 3); ### `_.padEnd([string=''], [length=0], [chars=' '])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13382 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.padend "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13398 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.padend "See the npm package") Pads `string` on the right side if it's shorter than `length`. Padding characters are truncated if they exceed `length`. @@ -8973,7 +8971,7 @@ _.padEnd('abc', 3); ### `_.padStart([string=''], [length=0], [chars=' '])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13415 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.padstart "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13431 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.padstart "See the npm package") Pads `string` on the left side if it's shorter than `length`. Padding characters are truncated if they exceed `length`. @@ -9006,7 +9004,7 @@ _.padStart('abc', 3); ### `_.parseInt(string, [radix=10])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13449 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.parseint "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13465 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.parseint "See the npm package") Converts `string` to an integer of the specified radix. If `radix` is `undefined` or `0`, a `radix` of `10` is used unless `value` is a @@ -9040,7 +9038,7 @@ _.map(['6', '08', '10'], _.parseInt); ### `_.repeat([string=''], [n=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13483 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.repeat "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13499 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.repeat "See the npm package") Repeats the given string `n` times. @@ -9071,7 +9069,7 @@ _.repeat('abc', 0); ### `_.replace([string=''], pattern, replacement)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13511 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.replace "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13527 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.replace "See the npm package") Replaces matches for `pattern` in `string` with `replacement`.
@@ -9101,7 +9099,7 @@ _.replace('Hi Fred', 'Fred', 'Barney'); ### `_.snakeCase([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13539 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.snakecase "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13555 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.snakecase "See the npm package") Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case). @@ -9132,7 +9130,7 @@ _.snakeCase('--FOO-BAR--'); ### `_.split([string=''], separator, [limit])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13562 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.split "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13578 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.split "See the npm package") Splits `string` by `separator`.
@@ -9162,7 +9160,7 @@ _.split('a-b-c', '-', 2); ### `_.startCase([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13598 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.startcase "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13620 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.startcase "See the npm package") Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). @@ -9193,7 +9191,7 @@ _.startCase('__FOO_BAR__'); ### `_.startsWith([string=''], [target], [position=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13625 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.startswith "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13647 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.startswith "See the npm package") Checks if `string` starts with the given target string. @@ -9225,7 +9223,7 @@ _.startsWith('abc', 'b', 1); ### `_.template([string=''], [options={}], [options.escape=_.templateSettings.escape], [options.evaluate=_.templateSettings.evaluate], [options.imports=_.templateSettings.imports], [options.interpolate=_.templateSettings.interpolate], [options.sourceURL='lodash.templateSources[n]'], [options.variable='obj'])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13734 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.template "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13756 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.template "See the npm package") Creates a compiled template function that can interpolate data properties in "interpolate" delimiters, HTML-escape interpolated data properties in @@ -9334,7 +9332,7 @@ fs.writeFileSync(path.join(cwd, 'jst.js'), '\ ### `_.toLower([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13863 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tolower "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13885 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.tolower "See the npm package") Converts `string`, as a whole, to lower case just like [String#toLowerCase](https://mdn.io/toLowerCase). @@ -9365,7 +9363,7 @@ _.toLower('__FOO_BAR__'); ### `_.toUpper([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13888 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.toupper "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13910 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.toupper "See the npm package") Converts `string`, as a whole, to upper case just like [String#toUpperCase](https://mdn.io/toUpperCase). @@ -9396,7 +9394,7 @@ _.toUpper('__foo_bar__'); ### `_.trim([string=''], [chars=whitespace])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13914 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.trim "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13936 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.trim "See the npm package") Removes leading and trailing whitespace or specified characters from `string`. @@ -9427,7 +9425,7 @@ _.map([' foo ', ' bar '], _.trim); ### `_.trimEnd([string=''], [chars=whitespace])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13953 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.trimend "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L13974 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.trimend "See the npm package") Removes trailing whitespace or specified characters from `string`. @@ -9455,7 +9453,7 @@ _.trimEnd('-_-abc-_-', '_-'); ### `_.trimStart([string=''], [chars=whitespace])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L13990 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.trimstart "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14010 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.trimstart "See the npm package") Removes leading whitespace or specified characters from `string`. @@ -9483,7 +9481,7 @@ _.trimStart('-_-abc-_-', '_-'); ### `_.truncate([string=''], [options={}], [options.length=30], [options.omission='...'], [options.separator])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14045 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.truncate "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14064 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.truncate "See the npm package") Truncates `string` if it's longer than the given maximum string length. The last characters of the truncated string are replaced with the omission @@ -9530,7 +9528,7 @@ _.truncate('hi-diddly-ho there, neighborino', { ### `_.unescape([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14120 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unescape "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14139 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.unescape "See the npm package") The inverse of `_.escape`; this method converts the HTML entities `&`, `<`, `>`, `"`, `'`, and ``` in `string` to @@ -9560,7 +9558,7 @@ _.unescape('fred, barney, & pebbles'); ### `_.upperCase([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14147 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uppercase "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14166 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uppercase "See the npm package") Converts `string`, as space separated words, to upper case. @@ -9590,7 +9588,7 @@ _.upperCase('__foo_bar__'); ### `_.upperFirst([string=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14168 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.upperfirst "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14187 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.upperfirst "See the npm package") Converts the first character of `string` to upper case. @@ -9617,7 +9615,7 @@ _.upperFirst('FRED'); ### `_.words([string=''], [pattern])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14189 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.words "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14208 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.words "See the npm package") Splits `string` into an array of its words. @@ -9651,7 +9649,7 @@ _.words('fred, barney, & pebbles', /[^, ]+/g); ### `_.attempt(func, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14223 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.attempt "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14242 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.attempt "See the npm package") Attempts to invoke `func`, returning either the result or the caught error object. Any additional arguments are provided to `func` when it's invoked. @@ -9683,7 +9681,7 @@ if (_.isError(elements)) { ### `_.bindAll(object, methodNames)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14258 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.bindall "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14276 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.bindall "See the npm package") Binds methods of an object to the object itself, overwriting the existing method. @@ -9695,7 +9693,7 @@ method. 0.1.0 #### Arguments 1. `object` *(Object)*: The object to bind and assign the bound methods to. -2. `methodNames` *(...(string|string[]))*: The object method names to bind, specified individually or in arrays. +2. `methodNames` *(...(string|string[]))*: The object method names to bind. #### Returns *(Object)*: Returns `object`. @@ -9720,9 +9718,9 @@ jQuery(element).on('click', view.onClick); ### `_.cond(pairs)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14294 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.cond "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14312 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.cond "See the npm package") -Creates a function that iterates over `pairs` invoking the corresponding +Creates a function that iterates over `pairs` and invokes the corresponding function of the first predicate to return truthy. The predicate-function pairs are invoked with the `this` binding and arguments of the created function. @@ -9759,7 +9757,7 @@ func({ 'a': '1', 'b': '2' }); ### `_.conforms(source)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14337 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.conforms "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14355 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.conforms "See the npm package") Creates a function that invokes the predicate properties of `source` with the corresponding property values of a given object, returning `true` if @@ -9790,7 +9788,7 @@ _.filter(users, _.conforms({ 'age': _.partial(_.gt, _, 38) })); ### `_.constant(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14358 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.constant "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14376 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.constant "See the npm package") Creates a function that returns `value`. @@ -9817,7 +9815,7 @@ getter() === object; ### `_.flow([funcs])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14385 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flow "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14403 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flow "See the npm package") Creates a function that returns the result of invoking the given functions with the `this` binding of the created function, where each successive @@ -9848,7 +9846,7 @@ addSquare(1, 2); ### `_.flowRight([funcs])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14407 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flowright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14425 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.flowright "See the npm package") This method is like `_.flow` except that it creates a function that invokes the given functions from right to left. @@ -9878,7 +9876,7 @@ addSquare(1, 2); ### `_.identity(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14425 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.identity "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14443 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.identity "See the npm package") This method returns the first argument given to it. @@ -9904,7 +9902,7 @@ _.identity(object) === object; ### `_.iteratee([func=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14471 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.iteratee "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14489 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.iteratee "See the npm package") Creates a function that invokes `func` with the arguments of the created function. If `func` is a property name, the created function returns the @@ -9956,7 +9954,7 @@ _.filter(['abc', 'def'], /ef/); ### `_.matches(source)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14499 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.matches "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14517 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.matches "See the npm package") Creates a function that performs a partial deep comparison between a given object and `source`, returning `true` if the given object has equivalent @@ -9991,7 +9989,7 @@ _.filter(users, _.matches({ 'age': 40, 'active': false })); ### `_.matchesProperty(path, srcValue)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14527 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.matchesproperty "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14545 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.matchesproperty "See the npm package") Creates a function that performs a partial deep comparison between the value at `path` of a given object to `srcValue`, returning `true` if the @@ -10026,7 +10024,7 @@ _.find(users, _.matchesProperty('user', 'fred')); ### `_.method(path, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14555 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.method "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14573 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.method "See the npm package") Creates a function that invokes the method at `path` of a given object. Any additional arguments are provided to the invoked method. @@ -10060,7 +10058,7 @@ _.map(objects, _.method(['a', 'b'])); ### `_.methodOf(object, [args])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14584 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.methodof "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14602 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.methodof "See the npm package") The opposite of `_.method`; this method creates a function that invokes the method at a given path of `object`. Any additional arguments are @@ -10093,7 +10091,7 @@ _.map([['a', '2'], ['c', '0']], _.methodOf(object)); ### `_.mixin([object=lodash], source, [options={}], [options.chain=true])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14626 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mixin "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14644 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.mixin "See the npm package") Adds all own enumerable string keyed function properties of a source object to the destination object. If `object` is a function, then methods @@ -10140,7 +10138,7 @@ _('fred').vowels(); ### `_.noConflict()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14675 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.noconflict "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14693 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.noconflict "See the npm package") Reverts the `_` variable to its previous value and returns a reference to the `lodash` function. @@ -10161,7 +10159,7 @@ var lodash = _.noConflict(); ### `_.noop()` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14697 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.noop "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14715 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.noop "See the npm package") A no-operation function that returns `undefined` regardless of the arguments it receives. @@ -10182,7 +10180,7 @@ _.noop(object) === undefined; ### `_.nthArg([n=0])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14717 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ntharg "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14735 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.ntharg "See the npm package") Creates a function that returns its nth argument. @@ -10207,8 +10205,8 @@ func('a', 'b', 'c'); -### `_.over(iteratees)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14741 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.over "See the npm package") +### `_.over([iteratees=[_.identity]])` +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14760 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.over "See the npm package") Creates a function that invokes `iteratees` with the arguments it receives and returns their results. @@ -10216,7 +10214,7 @@ and returns their results. #### Since 4.0.0 #### Arguments -1. `iteratees` *(...(Function|Function[]))*: The iteratees to invoke. +1. `[iteratees=[_.identity]]` *(...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[]))*: The iteratees to invoke. #### Returns *(Function)*: Returns the new function. @@ -10234,8 +10232,8 @@ func(1, 2, 3, 4); -### `_.overEvery(predicates)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14766 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.overevery "See the npm package") +### `_.overEvery([predicates=[_.identity]])` +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14786 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.overevery "See the npm package") Creates a function that checks if **all** of the `predicates` return truthy when invoked with the arguments it receives. @@ -10243,7 +10241,7 @@ truthy when invoked with the arguments it receives. #### Since 4.0.0 #### Arguments -1. `predicates` *(...(Function|Function[]))*: The predicates to check. +1. `[predicates=[_.identity]]` *(...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[]))*: The predicates to check. #### Returns *(Function)*: Returns the new function. @@ -10267,8 +10265,8 @@ func(NaN); -### `_.overSome(predicates)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14791 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.oversome "See the npm package") +### `_.overSome([predicates=[_.identity]])` +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14812 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.oversome "See the npm package") Creates a function that checks if **any** of the `predicates` return truthy when invoked with the arguments it receives. @@ -10276,7 +10274,7 @@ truthy when invoked with the arguments it receives. #### Since 4.0.0 #### Arguments -1. `predicates` *(...(Function|Function[]))*: The predicates to check. +1. `[predicates=[_.identity]]` *(...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[]))*: The predicates to check. #### Returns *(Function)*: Returns the new function. @@ -10301,7 +10299,7 @@ func(NaN); ### `_.property(path)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14815 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.property "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14836 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.property "See the npm package") Creates a function that returns the value at `path` of a given object. @@ -10333,7 +10331,7 @@ _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); ### `_.propertyOf(object)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14840 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.propertyof "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14861 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.propertyof "See the npm package") The opposite of `_.property`; this method creates a function that returns the value at a given path of `object`. @@ -10364,7 +10362,7 @@ _.map([['a', '2'], ['c', '0']], _.propertyOf(object)); ### `_.range([start=0], end, [step=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14886 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.range "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14907 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.range "See the npm package") Creates an array of numbers *(positive and/or negative)* progressing from `start` up to, but not including, `end`. A step of `-1` is used if a negative @@ -10415,7 +10413,7 @@ _.range(0); ### `_.rangeRight([start=0], end, [step=1])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14923 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.rangeright "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14944 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.rangeright "See the npm package") This method is like `_.range` except that it populates values in descending order. @@ -10460,7 +10458,7 @@ _.rangeRight(0); ### `_.runInContext([context=root])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1372 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.runincontext "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1372 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.runincontext "See the npm package") Create a new pristine `lodash` function using the `context` object. @@ -10506,7 +10504,7 @@ var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; ### `_.times(n, [iteratee=_.identity])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14944 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.times "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L14965 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.times "See the npm package") Invokes the iteratee `n` times, returning an array of the results of each invocation. The iteratee is invoked with one argument; *(index)*. @@ -10535,7 +10533,7 @@ _.times(3, String); ### `_.toPath(value)` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L14988 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.topath "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15009 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.topath "See the npm package") Converts `value` to a property path array. @@ -10571,7 +10569,7 @@ console.log(path === newPath); ### `_.uniqueId([prefix=''])` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15012 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniqueid "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15033 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.uniqueid "See the npm package") Generates a unique ID. If `prefix` is given, the ID is appended to it. @@ -10604,7 +10602,7 @@ _.uniqueId(); ### `_.VERSION` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L15698 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L15719 "View in source") [Ⓣ][1] (string): The semantic version number. @@ -10615,7 +10613,7 @@ _.uniqueId(); ### `_.templateSettings` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1632 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.templatesettings "See the npm package") +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1632 "View in source") [Ⓣ][1] [Ⓝ](https://www.npmjs.com/package/lodash.templatesettings "See the npm package") (Object): By default, the template delimiters used by lodash are like those in embedded Ruby *(ERB)*. Change the following template settings to use @@ -10628,7 +10626,7 @@ alternative delimiters. ### `_.templateSettings.escape` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1640 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1640 "View in source") [Ⓣ][1] (RegExp): Used to detect `data` property values to be HTML-escaped. @@ -10639,7 +10637,7 @@ alternative delimiters. ### `_.templateSettings.evaluate` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1648 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1648 "View in source") [Ⓣ][1] (RegExp): Used to detect code to be evaluated. @@ -10650,7 +10648,7 @@ alternative delimiters. ### `_.templateSettings.imports` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1672 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1672 "View in source") [Ⓣ][1] (Object): Used to import variables into the compiled template. @@ -10661,7 +10659,7 @@ alternative delimiters. ### `_.templateSettings.interpolate` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1656 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1656 "View in source") [Ⓣ][1] (RegExp): Used to detect `data` property values to inject. @@ -10672,7 +10670,7 @@ alternative delimiters. ### `_.templateSettings.variable` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1664 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1664 "View in source") [Ⓣ][1] (string): Used to reference the data object in the template text. @@ -10689,7 +10687,7 @@ alternative delimiters. ### `_.templateSettings.imports._` -# [Ⓢ](https://github.com/lodash/lodash/blob/4.9.0/lodash.js#L1680 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/lodash/lodash/blob/4.10.0/lodash.js#L1680 "View in source") [Ⓣ][1] A reference to the `lodash` function. diff --git a/lodash.js b/lodash.js index c468501b1f..f52b8220b5 100644 --- a/lodash.js +++ b/lodash.js @@ -1,6 +1,6 @@ /** * @license - * lodash 4.9.0 + * lodash 4.10.0 * Copyright jQuery Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 @@ -12,7 +12,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.9.0'; + var VERSION = '4.10.0'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; diff --git a/package.json b/package.json index a55e78d91b..7d8fa65d38 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lodash", - "version": "4.9.0", + "version": "4.10.0", "license": "MIT", "private": true, "main": "lodash.js", From a20b88d114c2871b5f1abc12a71c4b1fb8529188 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 10 Apr 2016 22:44:04 -0700 Subject: [PATCH 18/18] Bump to v4.10.0. --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index da8e224c0f..7fcddbc58c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# lodash v4.9.0 +# lodash v4.10.0 The [Lodash](https://lodash.com/) library exported as a [UMD](https://github.com/umdjs/umd) module. @@ -20,11 +20,11 @@ $ lodash core -o ./dist/lodash.core.js ## Download -Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.9.0/LICENSE) & supports [modern environments](#support).
+Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.10.0/LICENSE) & supports [modern environments](#support).
Review the [build differences](https://github.com/lodash/lodash/wiki/build-differences) & pick one that’s right for you. - * [Core build](https://raw.githubusercontent.com/lodash/lodash/4.9.0/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.9.0/dist/lodash.core.min.js)) - * [Full build](https://raw.githubusercontent.com/lodash/lodash/4.9.0/dist/lodash.js) ([~21 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.9.0/dist/lodash.min.js)) + * [Core build](https://raw.githubusercontent.com/lodash/lodash/4.10.0/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.10.0/dist/lodash.core.min.js)) + * [Full build](https://raw.githubusercontent.com/lodash/lodash/4.10.0/dist/lodash.js) ([~21 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.10.0/dist/lodash.min.js)) * [CDN copies](https://www.jsdelivr.com/projects/lodash) ## Why Lodash? @@ -43,10 +43,10 @@ Lodash is available in a [variety of builds](https://lodash.com/custom-builds) & * [lodash](https://www.npmjs.com/package/lodash) & [per method packages](https://www.npmjs.com/browse/keyword/lodash-modularized) * [lodash-amd](https://www.npmjs.com/package/lodash-amd) * [lodash-es](https://www.npmjs.com/package/lodash-es) & [babel-plugin-lodash](https://www.npmjs.com/package/babel-plugin-lodash) - * [lodash/fp](https://github.com/lodash/lodash/tree/4.9.0-npm/fp) + * [lodash/fp](https://github.com/lodash/lodash/tree/4.10.0-npm/fp) ## Further Reading - * [Contributing](https://github.com/lodash/lodash/blob/4.9.0/.github/CONTRIBUTING.md) + * [Contributing](https://github.com/lodash/lodash/blob/4.10.0/.github/CONTRIBUTING.md) * [Release Notes](https://github.com/lodash/lodash/releases/tag/4.0.0) * [Wiki (Changelog, Roadmap, etc.)](https://github.com/lodash/lodash/wiki)