diff --git a/README.md b/README.md
index 1ae47a6631..f4bb57b1bb 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# lodash v4.16.6
+# lodash v4.17.0
[Site](https://lodash.com/) |
[Docs](https://lodash.com/docs) |
@@ -20,11 +20,11 @@ $ lodash core -o ./dist/lodash.core.js
## Download
- * [Core build](https://raw.githubusercontent.com/lodash/lodash/4.16.6/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.6/dist/lodash.core.min.js))
- * [Full build](https://raw.githubusercontent.com/lodash/lodash/4.16.6/dist/lodash.js) ([~23 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.6/dist/lodash.min.js))
+ * [Core build](https://raw.githubusercontent.com/lodash/lodash/4.17.0/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.17.0/dist/lodash.core.min.js))
+ * [Full build](https://raw.githubusercontent.com/lodash/lodash/4.17.0/dist/lodash.js) ([~23 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.17.0/dist/lodash.min.js))
* [CDN copies](https://www.jsdelivr.com/projects/lodash)
-Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.16.6/LICENSE) & supports [modern environments](#support).
+Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.17.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.
## Installation
diff --git a/dist/lodash.core.js b/dist/lodash.core.js
index 3a13976cd4..f62b206c43 100644
--- a/dist/lodash.core.js
+++ b/dist/lodash.core.js
@@ -1,6 +1,6 @@
/**
* @license
- * lodash (Custom Build)
+ * Lodash (Custom Build)
* Build: `lodash core -o ./dist/lodash.core.js`
* Copyright JS Foundation and other contributors
* Released under MIT license
@@ -13,18 +13,18 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.16.6';
+ var VERSION = '4.17.0';
/** Error message constants. */
var FUNC_ERROR_TEXT = 'Expected a function';
- /** Used to compose bitmasks for function metadata. */
- var BIND_FLAG = 1,
- PARTIAL_FLAG = 32;
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG = 1,
+ COMPARE_UNORDERED_FLAG = 2;
- /** Used to compose bitmasks for comparison styles. */
- var UNORDERED_COMPARE_FLAG = 1,
- PARTIAL_COMPARE_FLAG = 2;
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG = 1,
+ WRAP_PARTIAL_FLAG = 32;
/** Used as references for various `Number` constants. */
var INFINITY = 1 / 0,
@@ -662,22 +662,21 @@
* @private
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
* @param {Function} [customizer] The function to customize comparisons.
- * @param {boolean} [bitmask] The bitmask of comparison flags.
- * The bitmask may be composed of the following flags:
- * 1 - Unordered comparison
- * 2 - Partial comparison
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
*/
- function baseIsEqual(value, other, customizer, bitmask, stack) {
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
if (value === other) {
return true;
}
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
return value !== value && other !== other;
}
- return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
}
/**
@@ -688,14 +687,13 @@
* @private
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
* @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
* @param {Object} [stack] Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
var objIsArr = isArray(object),
othIsArr = isArray(other),
objTag = arrayTag,
@@ -727,12 +725,12 @@
stack.push([other, object]);
if (isSameTag && !objIsObj) {
var result = (objIsArr)
- ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
- : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
stack.pop();
return result;
}
- if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
@@ -740,7 +738,7 @@
var objUnwrapped = objIsWrapped ? object.value() : object,
othUnwrapped = othIsWrapped ? other.value() : other;
- var result = equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
+ var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
stack.pop();
return result;
}
@@ -748,7 +746,7 @@
if (!isSameTag) {
return false;
}
- var result = equalObjects(object, other, equalFunc, customizer, bitmask, stack);
+ var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack);
stack.pop();
return result;
}
@@ -830,7 +828,7 @@
while (length--) {
var key = props[length];
if (!(key in object &&
- baseIsEqual(source[key], object[key], undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG)
+ baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG)
)) {
return false;
}
@@ -845,7 +843,7 @@
*
* @private
* @param {Object} object The source object.
- * @param {string[]} props The property identifiers to pick.
+ * @param {string[]} paths The property paths to pick.
* @returns {Object} Returns the new object.
*/
function basePick(object, props) {
@@ -1162,7 +1160,7 @@
if (typeof func != 'function') {
throw new TypeError(FUNC_ERROR_TEXT);
}
- var isBind = bitmask & BIND_FLAG,
+ var isBind = bitmask & WRAP_BIND_FLAG,
Ctor = createCtor(func);
function wrapper() {
@@ -1191,15 +1189,14 @@
* @private
* @param {Array} array The array to compare.
* @param {Array} other The other array to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `array` and `other` objects.
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
*/
- function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
arrLength = array.length,
othLength = other.length;
@@ -1208,7 +1205,7 @@
}
var index = -1,
result = true,
- seen = (bitmask & UNORDERED_COMPARE_FLAG) ? [] : undefined;
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined;
// Ignore non-index properties.
while (++index < arrLength) {
@@ -1227,7 +1224,7 @@
if (seen) {
if (!baseSome(other, function(othValue, othIndex) {
if (!indexOf(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
return seen.push(othIndex);
}
})) {
@@ -1236,7 +1233,7 @@
}
} else if (!(
arrValue === othValue ||
- equalFunc(arrValue, othValue, customizer, bitmask, stack)
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
)) {
result = false;
break;
@@ -1256,14 +1253,13 @@
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
* @param {string} tag The `toStringTag` of the objects to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
switch (tag) {
case boolTag:
@@ -1294,15 +1290,14 @@
* @private
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
objProps = keys(object),
objLength = objProps.length,
othProps = keys(other),
@@ -1329,7 +1324,7 @@
var compared;
// Recursively compare objects (susceptible to call stack limits).
if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
: compared
)) {
result = false;
@@ -2273,7 +2268,7 @@
* // => 'hi fred!'
*/
var bind = baseRest(function(func, thisArg, partials) {
- return createPartial(func, BIND_FLAG | PARTIAL_FLAG, thisArg, partials);
+ return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials);
});
/**
@@ -3307,7 +3302,7 @@
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to pick.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Object} Returns the new object.
* @example
*
@@ -3316,8 +3311,8 @@
* _.pick(object, ['a', 'c']);
* // => { 'a': 1, 'c': 3 }
*/
- var pick = flatRest(function(object, props) {
- return object == null ? {} : basePick(object, baseMap(props, toKey));
+ var pick = flatRest(function(object, paths) {
+ return object == null ? {} : basePick(object, baseMap(paths, toKey));
});
/**
diff --git a/dist/lodash.core.min.js b/dist/lodash.core.min.js
index 632c523ab4..43fae56bd8 100644
--- a/dist/lodash.core.min.js
+++ b/dist/lodash.core.min.js
@@ -1,17 +1,17 @@
/**
* @license
- * lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
+ * Lodash (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){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return d(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r,e){return n===nn||M(n,ln[r])&&!pn.call(e,r)?t:n}function f(n,t,r){
if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){n.apply(nn,r)},t)}function a(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function l(n,t,r){for(var e=-1,u=n.length;++et}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!K(t)?n!==n&&t!==t:g(n,t,b,r,e,u))}function g(n,t,r,e,u,o){var i=Sn(n),c=Sn(t),f="[object Array]",a="[object Array]";i||(f=hn.call(n),f="[object Arguments]"==f?"[object Object]":f),c||(a=hn.call(t),a="[object Arguments]"==a?"[object Object]":a);var l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);
-var p=En(o,function(t){return t[0]==n}),s=En(o,function(n){return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 2&u||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),
-o.pop(),r):(i=i?n.value():n,f=f?t.value():t,r=r(i,f,e,u,o),o.pop(),r)}function _(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?m:r)(n)}function j(n,t){return nt}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!K(t)?n!==n&&t!==t:g(n,t,r,e,b,u))}function g(n,t,r,e,u,o){var i=Sn(n),c=Sn(t),f="[object Array]",a="[object Array]";i||(f=hn.call(n),f="[object Arguments]"==f?"[object Object]":f),c||(a=hn.call(t),a="[object Arguments]"==a?"[object Object]":a);var l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);
+var p=En(o,function(t){return t[0]==n}),s=En(o,function(n){return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),
+o.pop(),r):(i=i?n.value():n,f=f?t.value():t,r=u(i,f,r,e,o),o.pop(),r)}function _(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?m:r)(n)}function j(n,t){return nt&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++ei))return false;for(var c=-1,f=true,a=1&u?[]:nn;++ci))return false;for(var c=-1,f=true,a=2&r?[]:nn;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn);
}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function H(n){var t=typeof n;
return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Sn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,qn(n))}function Y(n){return n}function Z(n,r,e){var u=qn(r),o=v(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=v(r,qn(r)));var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);
@@ -24,6 +24,6 @@ o.flattenDeep=function(n){return(null==n?0:n.length)?s(n,tn):[]},o.iteratee=_,o.
d(d(n,function(n,r,u){return{value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==nn,o=null===r,i=r===r,c=e!==nn,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r
+ * Lodash
* Copyright JS Foundation and other contributors
* Released under MIT license
* Based on Underscore.js 1.8.3
@@ -12,13 +12,13 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.16.6';
+ var VERSION = '4.17.0';
/** Used as the size to enable large array optimizations. */
var LARGE_ARRAY_SIZE = 200;
/** Error message constants. */
- var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://github.com/es-shims.',
+ var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
FUNC_ERROR_TEXT = 'Expected a function';
/** Used to stand-in for `undefined` hash values. */
@@ -30,21 +30,26 @@
/** Used as the internal argument placeholder. */
var PLACEHOLDER = '__lodash_placeholder__';
+ /** Used to compose bitmasks for cloning. */
+ var CLONE_DEEP_FLAG = 1,
+ CLONE_FLAT_FLAG = 2,
+ CLONE_SYMBOLS_FLAG = 4;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG = 1,
+ COMPARE_UNORDERED_FLAG = 2;
+
/** Used to compose bitmasks for function metadata. */
- var BIND_FLAG = 1,
- BIND_KEY_FLAG = 2,
- CURRY_BOUND_FLAG = 4,
- CURRY_FLAG = 8,
- CURRY_RIGHT_FLAG = 16,
- PARTIAL_FLAG = 32,
- PARTIAL_RIGHT_FLAG = 64,
- ARY_FLAG = 128,
- REARG_FLAG = 256,
- FLIP_FLAG = 512;
-
- /** Used to compose bitmasks for comparison styles. */
- var UNORDERED_COMPARE_FLAG = 1,
- PARTIAL_COMPARE_FLAG = 2;
+ var WRAP_BIND_FLAG = 1,
+ WRAP_BIND_KEY_FLAG = 2,
+ WRAP_CURRY_BOUND_FLAG = 4,
+ WRAP_CURRY_FLAG = 8,
+ WRAP_CURRY_RIGHT_FLAG = 16,
+ WRAP_PARTIAL_FLAG = 32,
+ WRAP_PARTIAL_RIGHT_FLAG = 64,
+ WRAP_ARY_FLAG = 128,
+ WRAP_REARG_FLAG = 256,
+ WRAP_FLIP_FLAG = 512;
/** Used as default options for `_.truncate`. */
var DEFAULT_TRUNC_LENGTH = 30,
@@ -72,15 +77,15 @@
/** Used to associate wrap methods with their bit flags. */
var wrapFlags = [
- ['ary', ARY_FLAG],
- ['bind', BIND_FLAG],
- ['bindKey', BIND_KEY_FLAG],
- ['curry', CURRY_FLAG],
- ['curryRight', CURRY_RIGHT_FLAG],
- ['flip', FLIP_FLAG],
- ['partial', PARTIAL_FLAG],
- ['partialRight', PARTIAL_RIGHT_FLAG],
- ['rearg', REARG_FLAG]
+ ['ary', WRAP_ARY_FLAG],
+ ['bind', WRAP_BIND_FLAG],
+ ['bindKey', WRAP_BIND_KEY_FLAG],
+ ['curry', WRAP_CURRY_FLAG],
+ ['curryRight', WRAP_CURRY_RIGHT_FLAG],
+ ['flip', WRAP_FLIP_FLAG],
+ ['partial', WRAP_PARTIAL_FLAG],
+ ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
+ ['rearg', WRAP_REARG_FLAG]
];
/** `Object#toString` result references. */
@@ -199,8 +204,10 @@
/** Used to compose unicode character classes. */
var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
+ rsComboMarksRange = '\\u0300-\\u036f',
+ reComboHalfMarksRange = '\\ufe20-\\ufe2f',
+ rsComboSymbolsRange = '\\u20d0-\\u20ff',
+ rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
rsDingbatRange = '\\u2700-\\u27bf',
rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
@@ -215,7 +222,7 @@
var rsApos = "['\u2019]",
rsAstral = '[' + rsAstralRange + ']',
rsBreak = '[' + rsBreakRange + ']',
- rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
+ rsCombo = '[' + rsComboRange + ']',
rsDigits = '\\d+',
rsDingbat = '[' + rsDingbatRange + ']',
rsLower = '[' + rsLowerRange + ']',
@@ -267,7 +274,7 @@
].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 reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
+ var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
/** Used to detect strings that need a more robust regexp to match words. */
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
@@ -430,7 +437,7 @@
/** Used to access faster Node.js helpers. */
var nodeUtil = (function() {
try {
- return freeProcess && freeProcess.binding('util');
+ return freeProcess && freeProcess.binding && freeProcess.binding('util');
} catch (e) {}
}());
@@ -2558,6 +2565,19 @@
return object && copyObject(source, keys(source), object);
}
+ /**
+ * The base implementation of `_.assignIn` without support for multiple sources
+ * or `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */
+ function baseAssignIn(object, source) {
+ return object && copyObject(source, keysIn(source), object);
+ }
+
/**
* The base implementation of `assignValue` and `assignMergeValue` without
* value checks.
@@ -2585,7 +2605,7 @@
*
* @private
* @param {Object} object The object to iterate over.
- * @param {string[]} paths The property paths of elements to pick.
+ * @param {string[]} paths The property paths to pick.
* @returns {Array} Returns the picked elements.
*/
function baseAt(object, paths) {
@@ -2627,16 +2647,22 @@
*
* @private
* @param {*} value The value to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @param {boolean} [isFull] Specify a clone including symbols.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Deep clone
+ * 2 - Flatten inherited properties
+ * 4 - Clone symbols
* @param {Function} [customizer] The function to customize cloning.
* @param {string} [key] The key of `value`.
* @param {Object} [object] The parent object of `value`.
* @param {Object} [stack] Tracks traversed objects and their clone counterparts.
* @returns {*} Returns the cloned value.
*/
- function baseClone(value, isDeep, isFull, customizer, key, object, stack) {
- var result;
+ function baseClone(value, bitmask, customizer, key, object, stack) {
+ var result,
+ isDeep = bitmask & CLONE_DEEP_FLAG,
+ isFlat = bitmask & CLONE_FLAT_FLAG,
+ isFull = bitmask & CLONE_SYMBOLS_FLAG;
+
if (customizer) {
result = object ? customizer(value, key, object, stack) : customizer(value);
}
@@ -2660,9 +2686,11 @@
return cloneBuffer(value, isDeep);
}
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
- result = initCloneObject(isFunc ? {} : value);
+ result = (isFlat || isFunc) ? {} : initCloneObject(value);
if (!isDeep) {
- return copySymbols(value, baseAssign(result, value));
+ return isFlat
+ ? copySymbolsIn(value, baseAssignIn(result, value))
+ : copySymbols(value, baseAssign(result, value));
}
} else {
if (!cloneableTags[tag]) {
@@ -2679,14 +2707,18 @@
}
stack.set(value, result);
- var props = isArr ? undefined : (isFull ? getAllKeys : keys)(value);
+ var keysFunc = isFull
+ ? (isFlat ? getAllKeysIn : getAllKeys)
+ : (isFlat ? keysIn : keys);
+
+ var props = isArr ? undefined : keysFunc(value);
arrayEach(props || value, function(subValue, key) {
if (props) {
key = subValue;
subValue = value[key];
}
// Recursively populate clone (susceptible to call stack limits).
- assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));
+ assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
});
return result;
}
@@ -3259,22 +3291,21 @@
* @private
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
* @param {Function} [customizer] The function to customize comparisons.
- * @param {boolean} [bitmask] The bitmask of comparison flags.
- * The bitmask may be composed of the following flags:
- * 1 - Unordered comparison
- * 2 - Partial comparison
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
*/
- function baseIsEqual(value, other, customizer, bitmask, stack) {
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
if (value === other) {
return true;
}
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
return value !== value && other !== other;
}
- return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
}
/**
@@ -3285,14 +3316,13 @@
* @private
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
* @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
* @param {Object} [stack] Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
var objIsArr = isArray(object),
othIsArr = isArray(other),
objTag = arrayTag,
@@ -3320,10 +3350,10 @@
if (isSameTag && !objIsObj) {
stack || (stack = new Stack);
return (objIsArr || isTypedArray(object))
- ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
- : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
}
- if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
@@ -3332,14 +3362,14 @@
othUnwrapped = othIsWrapped ? other.value() : other;
stack || (stack = new Stack);
- return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
}
}
if (!isSameTag) {
return false;
}
stack || (stack = new Stack);
- return equalObjects(object, other, equalFunc, customizer, bitmask, stack);
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
}
/**
@@ -3397,7 +3427,7 @@
var result = customizer(objValue, srcValue, key, object, source, stack);
}
if (!(result === undefined
- ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)
+ ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
: result
)) {
return false;
@@ -3587,7 +3617,7 @@
var objValue = get(object, path);
return (objValue === undefined && objValue === srcValue)
? hasIn(object, path)
- : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);
+ : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
};
}
@@ -3749,13 +3779,13 @@
*
* @private
* @param {Object} object The source object.
- * @param {string[]} props The property identifiers to pick.
+ * @param {string[]} paths The property paths to pick.
* @returns {Object} Returns the new object.
*/
- function basePick(object, props) {
+ function basePick(object, paths) {
object = Object(object);
- return basePickBy(object, props, function(value, key) {
- return key in object;
+ return basePickBy(object, paths, function(value, path) {
+ return hasIn(object, path);
});
}
@@ -3764,21 +3794,21 @@
*
* @private
* @param {Object} object The source object.
- * @param {string[]} props The property identifiers to pick from.
+ * @param {string[]} paths The property paths to pick.
* @param {Function} predicate The function invoked per property.
* @returns {Object} Returns the new object.
*/
- function basePickBy(object, props, predicate) {
+ function basePickBy(object, paths, predicate) {
var index = -1,
- length = props.length,
+ length = paths.length,
result = {};
while (++index < length) {
- var key = props[index],
- value = object[key];
+ var path = paths[index],
+ value = baseGet(object, path);
- if (predicate(value, key)) {
- baseAssignValue(result, key, value);
+ if (predicate(value, path)) {
+ baseSet(result, path, value);
}
}
return result;
@@ -4322,7 +4352,7 @@
*
* @private
* @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to unset.
+ * @param {Array|string} path The property path to unset.
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
*/
function baseUnset(object, path) {
@@ -4567,7 +4597,7 @@
* @returns {Object} Returns the cloned map.
*/
function cloneMap(map, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);
+ var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
return arrayReduce(array, addMapEntry, new map.constructor);
}
@@ -4594,7 +4624,7 @@
* @returns {Object} Returns the cloned set.
*/
function cloneSet(set, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);
+ var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
return arrayReduce(array, addSetEntry, new set.constructor);
}
@@ -4829,7 +4859,7 @@
}
/**
- * Copies own symbol properties of `source` to `object`.
+ * Copies own symbols of `source` to `object`.
*
* @private
* @param {Object} source The object to copy symbols from.
@@ -4840,6 +4870,18 @@
return copyObject(source, getSymbols(source), object);
}
+ /**
+ * Copies own and inherited symbols of `source` to `object`.
+ *
+ * @private
+ * @param {Object} source The object to copy symbols from.
+ * @param {Object} [object={}] The object to copy symbols to.
+ * @returns {Object} Returns `object`.
+ */
+ function copySymbolsIn(source, object) {
+ return copyObject(source, getSymbolsIn(source), object);
+ }
+
/**
* Creates a function like `_.groupBy`.
*
@@ -4954,7 +4996,7 @@
* @returns {Function} Returns the new wrapped function.
*/
function createBind(func, bitmask, thisArg) {
- var isBind = bitmask & BIND_FLAG,
+ var isBind = bitmask & WRAP_BIND_FLAG,
Ctor = createCtor(func);
function wrapper() {
@@ -5127,7 +5169,7 @@
data = funcName == 'wrapper' ? getData(func) : undefined;
if (data && isLaziable(data[0]) &&
- data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) &&
+ data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&
!data[4].length && data[9] == 1
) {
wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
@@ -5176,11 +5218,11 @@
* @returns {Function} Returns the new wrapped function.
*/
function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
- var isAry = bitmask & ARY_FLAG,
- isBind = bitmask & BIND_FLAG,
- isBindKey = bitmask & BIND_KEY_FLAG,
- isCurried = bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG),
- isFlip = bitmask & FLIP_FLAG,
+ var isAry = bitmask & WRAP_ARY_FLAG,
+ isBind = bitmask & WRAP_BIND_FLAG,
+ isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
+ isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),
+ isFlip = bitmask & WRAP_FLIP_FLAG,
Ctor = isBindKey ? undefined : createCtor(func);
function wrapper() {
@@ -5331,7 +5373,7 @@
* @returns {Function} Returns the new wrapped function.
*/
function createPartial(func, bitmask, thisArg, partials) {
- var isBind = bitmask & BIND_FLAG,
+ var isBind = bitmask & WRAP_BIND_FLAG,
Ctor = createCtor(func);
function wrapper() {
@@ -5413,17 +5455,17 @@
* @returns {Function} Returns the new wrapped function.
*/
function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
- var isCurry = bitmask & CURRY_FLAG,
+ var isCurry = bitmask & WRAP_CURRY_FLAG,
newHolders = isCurry ? holders : undefined,
newHoldersRight = isCurry ? undefined : holders,
newPartials = isCurry ? partials : undefined,
newPartialsRight = isCurry ? undefined : partials;
- bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
- bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
+ bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
+ bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
- if (!(bitmask & CURRY_BOUND_FLAG)) {
- bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
+ if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
+ bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
}
var newData = [
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
@@ -5501,17 +5543,16 @@
* @private
* @param {Function|string} func The function or method name to wrap.
* @param {number} bitmask The bitmask flags.
- * The bitmask may be composed of the following flags:
- * 1 - `_.bind`
- * 2 - `_.bindKey`
- * 4 - `_.curry` or `_.curryRight` of a bound function
- * 8 - `_.curry`
- * 16 - `_.curryRight`
- * 32 - `_.partial`
- * 64 - `_.partialRight`
- * 128 - `_.rearg`
- * 256 - `_.ary`
- * 512 - `_.flip`
+ * 1 - `_.bind`
+ * 2 - `_.bindKey`
+ * 4 - `_.curry` or `_.curryRight` of a bound function
+ * 8 - `_.curry`
+ * 16 - `_.curryRight`
+ * 32 - `_.partial`
+ * 64 - `_.partialRight`
+ * 128 - `_.rearg`
+ * 256 - `_.ary`
+ * 512 - `_.flip`
* @param {*} [thisArg] The `this` binding of `func`.
* @param {Array} [partials] The arguments to be partially applied.
* @param {Array} [holders] The `partials` placeholder indexes.
@@ -5521,20 +5562,20 @@
* @returns {Function} Returns the new wrapped function.
*/
function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
- var isBindKey = bitmask & BIND_KEY_FLAG;
+ var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
if (!isBindKey && typeof func != 'function') {
throw new TypeError(FUNC_ERROR_TEXT);
}
var length = partials ? partials.length : 0;
if (!length) {
- bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
+ bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
partials = holders = undefined;
}
ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
arity = arity === undefined ? arity : toInteger(arity);
length -= holders ? holders.length : 0;
- if (bitmask & PARTIAL_RIGHT_FLAG) {
+ if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
var partialsRight = partials,
holdersRight = holders;
@@ -5559,14 +5600,14 @@
? (isBindKey ? 0 : func.length)
: nativeMax(newData[9] - length, 0);
- if (!arity && bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG)) {
- bitmask &= ~(CURRY_FLAG | CURRY_RIGHT_FLAG);
+ if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
+ bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
}
- if (!bitmask || bitmask == BIND_FLAG) {
+ if (!bitmask || bitmask == WRAP_BIND_FLAG) {
var result = createBind(func, bitmask, thisArg);
- } else if (bitmask == CURRY_FLAG || bitmask == CURRY_RIGHT_FLAG) {
+ } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
result = createCurry(func, bitmask, arity);
- } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !holders.length) {
+ } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
result = createPartial(func, bitmask, thisArg, partials);
} else {
result = createHybrid.apply(undefined, newData);
@@ -5582,15 +5623,14 @@
* @private
* @param {Array} array The array to compare.
* @param {Array} other The other array to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `array` and `other` objects.
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
*/
- function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
arrLength = array.length,
othLength = other.length;
@@ -5604,7 +5644,7 @@
}
var index = -1,
result = true,
- seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
stack.set(array, other);
stack.set(other, array);
@@ -5630,7 +5670,7 @@
if (seen) {
if (!arraySome(other, function(othValue, othIndex) {
if (!cacheHas(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
return seen.push(othIndex);
}
})) {
@@ -5639,7 +5679,7 @@
}
} else if (!(
arrValue === othValue ||
- equalFunc(arrValue, othValue, customizer, bitmask, stack)
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
)) {
result = false;
break;
@@ -5661,14 +5701,13 @@
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
* @param {string} tag The `toStringTag` of the objects to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
switch (tag) {
case dataViewTag:
if ((object.byteLength != other.byteLength) ||
@@ -5706,7 +5745,7 @@
var convert = mapToArray;
case setTag:
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG;
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
convert || (convert = setToArray);
if (object.size != other.size && !isPartial) {
@@ -5717,11 +5756,11 @@
if (stacked) {
return stacked == other;
}
- bitmask |= UNORDERED_COMPARE_FLAG;
+ bitmask |= COMPARE_UNORDERED_FLAG;
// Recursively compare objects (susceptible to call stack limits).
stack.set(object, other);
- var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);
+ var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
stack['delete'](object);
return result;
@@ -5740,15 +5779,14 @@
* @private
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
objProps = keys(object),
objLength = objProps.length,
othProps = keys(other),
@@ -5786,7 +5824,7 @@
}
// Recursively compare objects (susceptible to call stack limits).
if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
: compared
)) {
result = false;
@@ -5983,7 +6021,7 @@
}
/**
- * Creates an array of the own enumerable symbol properties of `object`.
+ * Creates an array of the own enumerable symbols of `object`.
*
* @private
* @param {Object} object The object to query.
@@ -5992,8 +6030,7 @@
var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;
/**
- * Creates an array of the own and inherited enumerable symbol properties
- * of `object`.
+ * Creates an array of the own and inherited enumerable symbols of `object`.
*
* @private
* @param {Object} object The object to query.
@@ -6425,22 +6462,22 @@
var bitmask = data[1],
srcBitmask = source[1],
newBitmask = bitmask | srcBitmask,
- isCommon = newBitmask < (BIND_FLAG | BIND_KEY_FLAG | ARY_FLAG);
+ isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
var isCombo =
- ((srcBitmask == ARY_FLAG) && (bitmask == CURRY_FLAG)) ||
- ((srcBitmask == ARY_FLAG) && (bitmask == REARG_FLAG) && (data[7].length <= source[8])) ||
- ((srcBitmask == (ARY_FLAG | REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == CURRY_FLAG));
+ ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||
+ ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||
+ ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));
// Exit early if metadata can't be merged.
if (!(isCommon || isCombo)) {
return data;
}
// Use source `thisArg` if available.
- if (srcBitmask & BIND_FLAG) {
+ if (srcBitmask & WRAP_BIND_FLAG) {
data[2] = source[2];
// Set when currying a bound function.
- newBitmask |= bitmask & BIND_FLAG ? 0 : CURRY_BOUND_FLAG;
+ newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
}
// Compose partial arguments.
var value = source[3];
@@ -6462,7 +6499,7 @@
data[7] = value;
}
// Use source `ary` if it's smaller.
- if (srcBitmask & ARY_FLAG) {
+ if (srcBitmask & WRAP_ARY_FLAG) {
data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
}
// Use source `arity` if one is not provided.
@@ -8779,7 +8816,7 @@
* @memberOf _
* @since 1.0.0
* @category Seq
- * @param {...(string|string[])} [paths] The property paths of elements to pick.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
@@ -9998,7 +10035,7 @@
function ary(func, n, guard) {
n = guard ? undefined : n;
n = (func && n == null) ? func.length : n;
- return createWrap(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
+ return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
}
/**
@@ -10071,10 +10108,10 @@
* // => 'hi fred!'
*/
var bind = baseRest(function(func, thisArg, partials) {
- var bitmask = BIND_FLAG;
+ var bitmask = WRAP_BIND_FLAG;
if (partials.length) {
var holders = replaceHolders(partials, getHolder(bind));
- bitmask |= PARTIAL_FLAG;
+ bitmask |= WRAP_PARTIAL_FLAG;
}
return createWrap(func, bitmask, thisArg, partials, holders);
});
@@ -10125,10 +10162,10 @@
* // => 'hiya fred!'
*/
var bindKey = baseRest(function(object, key, partials) {
- var bitmask = BIND_FLAG | BIND_KEY_FLAG;
+ var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
if (partials.length) {
var holders = replaceHolders(partials, getHolder(bindKey));
- bitmask |= PARTIAL_FLAG;
+ bitmask |= WRAP_PARTIAL_FLAG;
}
return createWrap(key, bitmask, object, partials, holders);
});
@@ -10176,7 +10213,7 @@
*/
function curry(func, arity, guard) {
arity = guard ? undefined : arity;
- var result = createWrap(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
+ var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
result.placeholder = curry.placeholder;
return result;
}
@@ -10221,7 +10258,7 @@
*/
function curryRight(func, arity, guard) {
arity = guard ? undefined : arity;
- var result = createWrap(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
+ var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
result.placeholder = curryRight.placeholder;
return result;
}
@@ -10466,7 +10503,7 @@
* // => ['d', 'c', 'b', 'a']
*/
function flip(func) {
- return createWrap(func, FLIP_FLAG);
+ return createWrap(func, WRAP_FLIP_FLAG);
}
/**
@@ -10677,7 +10714,7 @@
*/
var partial = baseRest(function(func, partials) {
var holders = replaceHolders(partials, getHolder(partial));
- return createWrap(func, PARTIAL_FLAG, undefined, partials, holders);
+ return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
});
/**
@@ -10714,7 +10751,7 @@
*/
var partialRight = baseRest(function(func, partials) {
var holders = replaceHolders(partials, getHolder(partialRight));
- return createWrap(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
+ return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
});
/**
@@ -10740,7 +10777,7 @@
* // => ['a', 'b', 'c']
*/
var rearg = flatRest(function(func, indexes) {
- return createWrap(func, REARG_FLAG, undefined, undefined, undefined, indexes);
+ return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
});
/**
@@ -10817,11 +10854,15 @@
start = start === undefined ? 0 : nativeMax(toInteger(start), 0);
return baseRest(function(args) {
var array = args[start],
+ lastIndex = args.length - 1,
otherArgs = castSlice(args, 0, start);
if (array) {
arrayPush(otherArgs, array);
}
+ if (start != lastIndex) {
+ arrayPush(otherArgs, castSlice(args, start + 1));
+ }
return apply(func, this, otherArgs);
});
}
@@ -11003,7 +11044,7 @@
* // => true
*/
function clone(value) {
- return baseClone(value, false, true);
+ return baseClone(value, CLONE_SYMBOLS_FLAG);
}
/**
@@ -11039,7 +11080,7 @@
*/
function cloneWith(value, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, false, true, customizer);
+ return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
}
/**
@@ -11061,7 +11102,7 @@
* // => false
*/
function cloneDeep(value) {
- return baseClone(value, true, true);
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
/**
@@ -11094,7 +11135,7 @@
*/
function cloneDeepWith(value, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, true, true, customizer);
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
}
/**
@@ -11543,7 +11584,7 @@
function isEqualWith(value, other, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
var result = customizer ? customizer(value, other) : undefined;
- return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
+ return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
}
/**
@@ -12686,7 +12727,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.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Array} Returns the picked values.
* @example
*
@@ -13413,15 +13454,16 @@
/**
* The opposite of `_.pick`; this method creates an object composed of the
- * own and inherited enumerable string keyed properties of `object` that are
- * not omitted.
+ * own and inherited enumerable property paths of `object` that are not omitted.
+ *
+ * **Note:** This method is considerably slower than `_.pick`.
*
* @static
* @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to omit.
+ * @param {...(string|string[])} [paths] The property paths to omit.
* @returns {Object} Returns the new object.
* @example
*
@@ -13430,12 +13472,19 @@
* _.omit(object, ['a', 'c']);
* // => { 'b': '2' }
*/
- var omit = flatRest(function(object, props) {
+ var omit = flatRest(function(object, paths) {
+ var result = {};
if (object == null) {
- return {};
+ return result;
}
- props = arrayMap(props, toKey);
- return basePick(object, baseDifference(getAllKeysIn(object), props));
+ copyObject(object, getAllKeysIn(object), result);
+ result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG);
+
+ var length = paths.length;
+ while (length--) {
+ baseUnset(result, paths[length]);
+ }
+ return result;
});
/**
@@ -13470,7 +13519,7 @@
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to pick.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Object} Returns the new object.
* @example
*
@@ -13479,8 +13528,8 @@
* _.pick(object, ['a', 'c']);
* // => { 'a': 1, 'c': 3 }
*/
- var pick = flatRest(function(object, props) {
- return object == null ? {} : basePick(object, arrayMap(props, toKey));
+ var pick = flatRest(function(object, paths) {
+ return object == null ? {} : basePick(object, arrayMap(paths, toKey));
});
/**
@@ -15273,7 +15322,7 @@
* // => [{ 'a': 1, 'b': 2 }]
*/
function conforms(source) {
- return baseConforms(baseClone(source, true));
+ return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
}
/**
@@ -15435,7 +15484,7 @@
* // => ['def']
*/
function iteratee(func) {
- return baseIteratee(typeof func == 'function' ? func : baseClone(func, true));
+ return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));
}
/**
@@ -15467,7 +15516,7 @@
* // => [{ 'a': 4, 'b': 5, 'c': 6 }]
*/
function matches(source) {
- return baseMatches(baseClone(source, true));
+ return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
}
/**
@@ -15497,7 +15546,7 @@
* // => { 'a': 4, 'b': 5, 'c': 6 }
*/
function matchesProperty(path, srcValue) {
- return baseMatchesProperty(path, baseClone(srcValue, true));
+ return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
}
/**
@@ -16957,7 +17006,7 @@
}
});
- realNames[createHybrid(undefined, BIND_KEY_FLAG).name] = [{
+ realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{
'name': 'wrapper',
'func': undefined
}];
diff --git a/dist/lodash.min.js b/dist/lodash.min.js
index e126e6baab..c59471ac0c 100644
--- a/dist/lodash.min.js
+++ b/dist/lodash.min.js
@@ -1,6 +1,6 @@
/**
* @license
- * lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
+ * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
*/
;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u"']/g,J=RegExp(G.source),Y=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/^\./,un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,on=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(on.source),cn=/^\s+|\s+$/g,an=/^\s+/,ln=/\s+$/,sn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hn=/\{\n\/\* \[wrapped with (.+)\] \*/,pn=/,? & /,_n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vn=/\\(\\)?/g,gn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,yn=/^[-+]0x[0-9a-f]+$/i,bn=/^0b[01]+$/i,xn=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,wn=/^(?:0|[1-9]\d*)$/,mn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,An=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En="[\\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])?)*",On="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+En,Sn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",In=RegExp("['\u2019]","g"),Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),zn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Sn+En,"g"),Wn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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\\u2000-\\u206f \\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])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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\\u2000-\\u206f \\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\\u2000-\\u206f \\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])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)|\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)|\\d+",On].join("|"),"g"),Bn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),Ln=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Un="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Cn={};
+for(var t=zn.lastIndex=0;zn.test(n);)++t;n=t}else n=tt(n);return n}function $(n){return Bn.test(n)?n.match(zn)||[]:n.split("")}var F,N=1/0,P=NaN,Z=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],q=/\b__p\+='';/g,V=/\b(__p\+=)''\+/g,K=/(__e\(.*?\)|\b__t\))\+'';/g,G=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,J=RegExp(G.source),Y=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/^\./,un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,on=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(on.source),cn=/^\s+|\s+$/g,an=/^\s+/,ln=/\s+$/,sn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hn=/\{\n\/\* \[wrapped with (.+)\] \*/,pn=/,? & /,_n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vn=/\\(\\)?/g,gn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,yn=/^[-+]0x[0-9a-f]+$/i,bn=/^0b[01]+$/i,xn=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,wn=/^(?:0|[1-9]\d*)$/,mn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,An=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",On="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+En,Sn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",In=RegExp("['\u2019]","g"),Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),zn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Sn+En,"g"),Wn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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\\u2000-\\u206f \\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])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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\\u2000-\\u206f \\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\\u2000-\\u206f \\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])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)|\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)|\\d+",On].join("|"),"g"),Bn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),Ln=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Un="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Cn={};
Cn["[object Float32Array]"]=Cn["[object Float64Array]"]=Cn["[object Int8Array]"]=Cn["[object Int16Array]"]=Cn["[object Int32Array]"]=Cn["[object Uint8Array]"]=Cn["[object Uint8ClampedArray]"]=Cn["[object Uint16Array]"]=Cn["[object Uint32Array]"]=true,Cn["[object Arguments]"]=Cn["[object Array]"]=Cn["[object ArrayBuffer]"]=Cn["[object Boolean]"]=Cn["[object DataView]"]=Cn["[object Date]"]=Cn["[object Error]"]=Cn["[object Function]"]=Cn["[object Map]"]=Cn["[object Number]"]=Cn["[object Object]"]=Cn["[object RegExp]"]=Cn["[object Set]"]=Cn["[object String]"]=Cn["[object WeakMap]"]=false;
var Dn={};Dn["[object Arguments]"]=Dn["[object Array]"]=Dn["[object ArrayBuffer]"]=Dn["[object DataView]"]=Dn["[object Boolean]"]=Dn["[object Date]"]=Dn["[object Float32Array]"]=Dn["[object Float64Array]"]=Dn["[object Int8Array]"]=Dn["[object Int16Array]"]=Dn["[object Int32Array]"]=Dn["[object Map]"]=Dn["[object Number]"]=Dn["[object Object]"]=Dn["[object RegExp]"]=Dn["[object Set]"]=Dn["[object String]"]=Dn["[object Symbol]"]=Dn["[object Uint8Array]"]=Dn["[object Uint8ClampedArray]"]=Dn["[object Uint16Array]"]=Dn["[object Uint32Array]"]=true,
-Dn["[object Error]"]=Dn["[object Function]"]=Dn["[object WeakMap]"]=false;var Mn,Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,Fn=parseInt,Nn=typeof global=="object"&&global&&global.Object===Object&&global,Pn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Nn||Pn||Function("return this")(),qn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vn=qn&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=Vn&&Vn.exports===qn,Gn=Kn&&Nn.h;
-n:{try{Mn=Gn&&Gn.g("util");break n}catch(n){}Mn=void 0}var Hn=Mn&&Mn.isArrayBuffer,Jn=Mn&&Mn.isDate,Yn=Mn&&Mn.isMap,Qn=Mn&&Mn.isRegExp,Xn=Mn&&Mn.isSet,nt=Mn&&Mn.isTypedArray,tt=j("length"),rt=w({"\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","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C",
-"\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i",
-"\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S",
-"\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n",
-"\u017f":"s"}),et=w({"&":"&","<":"<",">":">",'"':""","'":"'"}),ut=w({"&":"&","<":"<",">":">",""":'"',"'":"'"}),it=function w(En){function On(n){if(gu(n)&&!uf(n)&&!(n instanceof Mn)){if(n instanceof zn)return n;if(ui.call(n,"__wrapped__"))return Te(n)}return new zn(n)}function Sn(){}function zn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=F}function Mn(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=false,
-this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t=t?n:t)),n}function dt(n,t,r,e,i,o,f){var c;if(e&&(c=o?e(n,i,o,f):e(n)),c!==F)return c;if(!vu(n))return n;if(i=uf(n)){if(c=xe(n),!t)return Dr(n,c)}else{var a=po(n),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ff(n))return zr(n,t);if("[object Object]"==a||"[object Arguments]"==a||l&&!o){if(c=je(l?{}:n),!t)return Tr(n,pt(c,n))}else{if(!Dn[a])return o?n:{};c=we(n,a,dt,t)}}if(f||(f=new Vn),o=f.get(n))return o;f.set(n,c);
-var s=i?F:(r?he:Ru)(n);return u(s||n,function(u,i){s&&(i=u,u=n[i]),lt(c,i,dt(u,t,r,e,i,n,f))}),c}function yt(n){var t=Ru(n);return function(r){return bt(r,n,t)}}function bt(n,t,r){var e=r.length;if(null==n)return!e;for(n=Ju(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===F&&!(u in n)||!i(o))return false}return true}function xt(n,t,r){if(typeof n!="function")throw new Xu("Expected a function");return go(function(){n.apply(F,r)},t)}function jt(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length;if(!f)return s;r&&(t=l(t,S(r))),
-e?(i=a,o=false):200<=t.length&&(i=R,o=false,t=new qn(t));n:for(;++ut}function Bt(n,t){return null!=n&&ui.call(n,t)}function Lt(n,t){return null!=n&&t in Ju(n)}function Ut(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=qu(i),s=1/0,h=[];o--;){var p=n[o];o&&t&&(p=l(p,S(t))),s=Li(p.length,s),f[o]=!r&&(t||120<=u&&120<=p.length)?new qn(o&&p):F}var p=n[0],_=-1,v=f[0];n:for(;++_t?r:0,Ae(t,r)?n[t]:F}function rr(n,t,r){var e=-1;return t=l(t.length?t:[Mu],S(ve())),n=Yt(n,function(n){return{a:l(t,function(t){return t(n)}),b:++e,c:n}}),A(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e=f?c:c*("desc"==r[e]?-1:1);
-break n}}e=n.b-t.b}return e})}function er(n,t){return n=Ju(n),ur(n,t,function(t,r){return r in n})}function ur(n,t,r){for(var e=-1,u=t.length,i={};++et||9007199254740991t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=qu(u);++e=u){for(;e>>1,o=n[i];null!==o&&!xu(o)&&(r?o<=t:oe)return e?wr(n[0]):[];for(var u=-1,i=qu(e);++u=e?n:vr(n,t,r)}function zr(n,t){if(t)return n.slice();var r=n.length,r=_i?_i(r):new n.constructor(r);return n.copy(r),r}function Wr(n){var t=new n.constructor(n.byteLength);return new pi(t).set(new pi(n)),t}function Br(n,t){return new n.constructor(t?Wr(n.buffer):n.buffer,n.byteOffset,n.length)}function Lr(n,t){if(n!==t){var r=n!==F,e=null===n,u=n===n,i=xu(n),o=t!==F,f=null===t,c=t===t,a=xu(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;
-if(!e&&!i&&!a&&nu?F:i,u=1),t=Ju(t);++eo&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,or?r?ar(t,n):t:(r=ar(t,Ei(n/T(t))),Bn.test(t)?Rr($(r),0,n).join(""):r.slice(0,n));
-}function re(n,t,e,u){function i(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=qu(l+c),h=this&&this!==Zn&&this instanceof i?f:n;++at||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Ur(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),
-(r=h[5])&&(e=i[5],i[5]=e?Cr(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Li(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1],r=i[2],e=i[3],u=i[4],f=i[9]=null==i[9]?c?0:n.length:Bi(i[9]-a,0),!f&&24&t&&(t&=-25),Be((h?oo:vo)(t&&1!=t?8==t||16==t?Gr(n,t,f):32!=t&&33!=t||u.length?Yr.apply(F,i):re(n,t,r,e):Zr(n,t,r),i),n,t)}function ae(n,t,r,e,u,i){var o=2&u,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;
-var c=-1,a=true,l=1&u?new qn:F;for(i.set(n,t),i.set(t,n);++cr&&(r=Bi(e+r,0)),g(n,ve(t,3),r)):-1;
-}function Fe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==F&&(u=mu(r),u=0>r?Bi(e+u,0):Li(u,e-1)),g(n,ve(t,3),u,true)}function Ne(n){return(null==n?0:n.length)?kt(n,1):[]}function Pe(n){return n&&n.length?n[0]:F}function Ze(n){var t=null==n?0:n.length;return t?n[t-1]:F}function qe(n,t){return n&&n.length&&t&&t.length?or(n,t):n}function Ve(n){return null==n?n:Mi.call(n)}function Ke(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){if(lu(n))return t=Bi(n.length,t),true;
-}),E(t,function(t){return l(n,j(t))})}function Ge(n,t){if(!n||!n.length)return[];var e=Ke(n);return null==t?e:l(e,function(n){return r(t,F,n)})}function He(n){return n=On(n),n.__chain__=true,n}function Je(n,t){return t(n)}function Ye(){return this}function Qe(n,t){return(uf(n)?u:ro)(n,ve(t,3))}function Xe(n,t){return(uf(n)?i:eo)(n,ve(t,3))}function nu(n,t){return(uf(n)?l:Yt)(n,ve(t,3))}function tu(n,t,r){return t=r?F:t,t=n&&null==t?n.length:t,ce(n,128,F,F,F,F,t)}function ru(n,t){var r;if(typeof t!="function")throw new Xu("Expected a function");
-return n=mu(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=F),r}}function eu(n,t,r){return t=r?F:t,n=ce(n,8,F,F,F,F,F,t),n.placeholder=eu.placeholder,n}function uu(n,t,r){return t=r?F:t,n=ce(n,16,F,F,F,F,F,t),n.placeholder=uu.placeholder,n}function iu(n,t,r){function e(t){var r=c,e=a;return c=a=F,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===F||r>=t||0>r||g&&n>=l}function i(){var n=Vo();if(u(n))return o(n);var r,e=go;r=n-_,n=t-(n-p),r=g?Li(n,l-r):n,h=e(i,r)}function o(n){
-return h=F,d&&c?e(n):(c=a=F,s)}function f(){var n=Vo(),r=u(n);if(c=arguments,a=this,p=n,r){if(h===F)return _=n=p,h=go(i,t),v?e(n):s;if(g)return h=go(i,t),e(p)}return h===F&&(h=go(i,t)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new Xu("Expected a function");return t=ku(t)||0,vu(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Bi(ku(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&co(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Vo())},f}function ou(n,t){
-function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e),r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new Xu("Expected a function");return r.cache=new(ou.Cache||Pn),r}function fu(n){if(typeof n!="function")throw new Xu("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2]);
-}return!n.apply(this,t)}}function cu(n,t){return n===t||n!==n&&t!==t}function au(n){return null!=n&&_u(n.length)&&!hu(n)}function lu(n){return gu(n)&&au(n)}function su(n){if(!gu(n))return false;var t=zt(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!yu(n)}function hu(n){return!!vu(n)&&(n=zt(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function pu(n){return typeof n=="number"&&n==mu(n);
-}function _u(n){return typeof n=="number"&&-1=n}function vu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function gu(n){return null!=n&&typeof n=="object"}function du(n){return typeof n=="number"||gu(n)&&"[object Number]"==zt(n)}function yu(n){return!(!gu(n)||"[object Object]"!=zt(n))&&(n=vi(n),null===n||(n=ui.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&ei.call(n)==ci))}function bu(n){return typeof n=="string"||!uf(n)&&gu(n)&&"[object String]"==zt(n);
-}function xu(n){return typeof n=="symbol"||gu(n)&&"[object Symbol]"==zt(n)}function ju(n){if(!n)return[];if(au(n))return bu(n)?$(n):Dr(n);if(xi&&n[xi]){n=n[xi]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=po(n),("[object Map]"==t?L:"[object Set]"==t?D:Bu)(n)}function wu(n){return n?(n=ku(n),n===N||n===-N?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function mu(n){n=wu(n);var t=n%1;return n===n?t?n-t:n:0}function Au(n){return n?gt(mu(n),0,4294967295):0}function ku(n){
-if(typeof n=="number")return n;if(xu(n))return P;if(vu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=vu(n)?n+"":n),typeof n!="string")return 0===n?n:+n;n=n.replace(cn,"");var t=bn.test(n);return t||jn.test(n)?Fn(n.slice(2),t?2:8):yn.test(n)?P:+n}function Eu(n){return Mr(n,zu(n))}function Ou(n){return null==n?"":jr(n)}function Su(n,t,r){return n=null==n?F:It(n,t),n===F?r:n}function Iu(n,t){return null!=n&&be(n,t,Lt)}function Ru(n){return au(n)?Gn(n):Ht(n)}function zu(n){if(au(n))n=Gn(n,true);else if(vu(n)){
-var t,r=Se(n),e=[];for(t in n)("constructor"!=t||!r&&ui.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in Ju(n))t.push(r);n=t}return n}function Wu(n,t){return null==n?{}:ur(n,Rt(n,zu,ho),ve(t))}function Bu(n){return null==n?[]:I(n,Ru(n))}function Lu(n){return Mf(Ou(n).toLowerCase())}function Uu(n){return(n=Ou(n))&&n.replace(mn,rt).replace(Rn,"")}function Cu(n,t,r){return n=Ou(n),t=r?F:t,t===F?Ln.test(n)?n.match(Wn)||[]:n.match(_n)||[]:n.match(t)||[]}function Du(n){return function(){return n;
-}}function Mu(n){return n}function Tu(n){return Gt(typeof n=="function"?n:dt(n,true))}function $u(n,t,r){var e=Ru(t),i=St(t,e);null!=r||vu(t)&&(i.length||!e.length)||(r=t,t=n,n=this,i=St(t,Ru(t)));var o=!(vu(r)&&"chain"in r&&!r.chain),f=hu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Dr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments));
-})}),n}function Fu(){}function Nu(n){return Ee(n)?j(Ce(n)):ir(n)}function Pu(){return[]}function Zu(){return false}En=null==En?Zn:it.defaults(Zn.Object(),En,it.pick(Zn,Un));var qu=En.Array,Vu=En.Date,Ku=En.Error,Gu=En.Function,Hu=En.Math,Ju=En.Object,Yu=En.RegExp,Qu=En.String,Xu=En.TypeError,ni=qu.prototype,ti=Ju.prototype,ri=En["__core-js_shared__"],ei=Gu.prototype.toString,ui=ti.hasOwnProperty,ii=0,oi=function(){var n=/[^.]+$/.exec(ri&&ri.keys&&ri.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),fi=ti.toString,ci=ei.call(Ju),ai=Zn._,li=Yu("^"+ei.call(ui).replace(on,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),si=Kn?En.Buffer:F,hi=En.Symbol,pi=En.Uint8Array,_i=si?si.f:F,vi=U(Ju.getPrototypeOf,Ju),gi=Ju.create,di=ti.propertyIsEnumerable,yi=ni.splice,bi=hi?hi.isConcatSpreadable:F,xi=hi?hi.iterator:F,ji=hi?hi.toStringTag:F,wi=function(){
-try{var n=ye(Ju,"defineProperty");return n({},"",{}),n}catch(n){}}(),mi=En.clearTimeout!==Zn.clearTimeout&&En.clearTimeout,Ai=Vu&&Vu.now!==Zn.Date.now&&Vu.now,ki=En.setTimeout!==Zn.setTimeout&&En.setTimeout,Ei=Hu.ceil,Oi=Hu.floor,Si=Ju.getOwnPropertySymbols,Ii=si?si.isBuffer:F,Ri=En.isFinite,zi=ni.join,Wi=U(Ju.keys,Ju),Bi=Hu.max,Li=Hu.min,Ui=Vu.now,Ci=En.parseInt,Di=Hu.random,Mi=ni.reverse,Ti=ye(En,"DataView"),$i=ye(En,"Map"),Fi=ye(En,"Promise"),Ni=ye(En,"Set"),Pi=ye(En,"WeakMap"),Zi=ye(Ju,"create"),qi=Pi&&new Pi,Vi={},Ki=De(Ti),Gi=De($i),Hi=De(Fi),Ji=De(Ni),Yi=De(Pi),Qi=hi?hi.prototype:F,Xi=Qi?Qi.valueOf:F,no=Qi?Qi.toString:F,to=function(){
-function n(){}return function(t){return vu(t)?gi?gi(t):(n.prototype=t,t=new n,n.prototype=F,t):{}}}();On.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:On}},On.prototype=Sn.prototype,On.prototype.constructor=On,zn.prototype=to(Sn.prototype),zn.prototype.constructor=zn,Mn.prototype=to(Sn.prototype),Mn.prototype.constructor=Mn,Tn.prototype.clear=function(){this.__data__=Zi?Zi(null):{},this.size=0},Tn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n],
-this.size-=n?1:0,n},Tn.prototype.get=function(n){var t=this.__data__;return Zi?(n=t[n],"__lodash_hash_undefined__"===n?F:n):ui.call(t,n)?t[n]:F},Tn.prototype.has=function(n){var t=this.__data__;return Zi?t[n]!==F:ui.call(t,n)},Tn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Zi&&t===F?"__lodash_hash_undefined__":t,this},Nn.prototype.clear=function(){this.__data__=[],this.size=0},Nn.prototype.delete=function(n){var t=this.__data__;return n=st(t,n),!(0>n)&&(n==t.length-1?t.pop():yi.call(t,n,1),
---this.size,true)},Nn.prototype.get=function(n){var t=this.__data__;return n=st(t,n),0>n?F:t[n][1]},Nn.prototype.has=function(n){return-1e?(++this.size,r.push([n,t])):r[e][1]=t,this},Pn.prototype.clear=function(){this.size=0,this.__data__={hash:new Tn,map:new($i||Nn),string:new Tn}},Pn.prototype.delete=function(n){return n=ge(this,n).delete(n),this.size-=n?1:0,n},Pn.prototype.get=function(n){return ge(this,n).get(n);
-},Pn.prototype.has=function(n){return ge(this,n).has(n)},Pn.prototype.set=function(n,t){var r=ge(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},qn.prototype.add=qn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},qn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.clear=function(){this.__data__=new Nn,this.size=0},Vn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Vn.prototype.get=function(n){
-return this.__data__.get(n)},Vn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Nn){var e=r.__data__;if(!$i||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Pn(e)}return r.set(n,t),this.size=r.size,this};var ro=Nr(Et),eo=Nr(Ot,true),uo=Pr(),io=Pr(true),oo=qi?function(n,t){return qi.set(n,t),n}:Mu,fo=wi?function(n,t){return wi(n,"toString",{configurable:true,enumerable:false,value:Du(t),writable:true})}:Mu,co=mi||function(n){
-return Zn.clearTimeout(n)},ao=Ni&&1/D(new Ni([,-0]))[1]==N?function(n){return new Ni(n)}:Fu,lo=qi?function(n){return qi.get(n)}:Fu,so=Si?U(Si,Ju):Pu,ho=Si?function(n){for(var t=[];n;)s(t,so(n)),n=vi(n);return t}:Pu,po=zt;(Ti&&"[object DataView]"!=po(new Ti(new ArrayBuffer(1)))||$i&&"[object Map]"!=po(new $i)||Fi&&"[object Promise]"!=po(Fi.resolve())||Ni&&"[object Set]"!=po(new Ni)||Pi&&"[object WeakMap]"!=po(new Pi))&&(po=function(n){var t=zt(n);if(n=(n="[object Object]"==t?n.constructor:F)?De(n):"")switch(n){
-case Ki:return"[object DataView]";case Gi:return"[object Map]";case Hi:return"[object Promise]";case Ji:return"[object Set]";case Yi:return"[object WeakMap]"}return t});var _o=ri?hu:Zu,vo=Le(oo),go=ki||function(n,t){return Zn.setTimeout(n,t)},yo=Le(fo),bo=function(n){n=ou(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){n=Ou(n);var t=[];return en.test(n)&&t.push(""),n.replace(un,function(n,r,e,u){t.push(e?u.replace(vn,"$1"):r||n)}),t}),xo=lr(function(n,t){return lu(n)?jt(n,kt(t,1,lu,true)):[];
-}),jo=lr(function(n,t){var r=Ze(t);return lu(r)&&(r=F),lu(n)?jt(n,kt(t,1,lu,true),ve(r,2)):[]}),wo=lr(function(n,t){var r=Ze(t);return lu(r)&&(r=F),lu(n)?jt(n,kt(t,1,lu,true),F,r):[]}),mo=lr(function(n){var t=l(n,Or);return t.length&&t[0]===n[0]?Ut(t):[]}),Ao=lr(function(n){var t=Ze(n),r=l(n,Or);return t===Ze(r)?t=F:r.pop(),r.length&&r[0]===n[0]?Ut(r,ve(t,2)):[]}),ko=lr(function(n){var t=Ze(n),r=l(n,Or);return(t=typeof t=="function"?t:F)&&r.pop(),r.length&&r[0]===n[0]?Ut(r,F,t):[]}),Eo=lr(qe),Oo=se(function(n,t){
-var r=null==n?0:n.length,e=vt(n,t);return fr(n,l(t,function(n){return Ae(n,r)?+n:n}).sort(Lr)),e}),So=lr(function(n){return wr(kt(n,1,lu,true))}),Io=lr(function(n){var t=Ze(n);return lu(t)&&(t=F),wr(kt(n,1,lu,true),ve(t,2))}),Ro=lr(function(n){var t=Ze(n),t=typeof t=="function"?t:F;return wr(kt(n,1,lu,true),F,t)}),zo=lr(function(n,t){return lu(n)?jt(n,t):[]}),Wo=lr(function(n){return kr(f(n,lu))}),Bo=lr(function(n){var t=Ze(n);return lu(t)&&(t=F),kr(f(n,lu),ve(t,2))}),Lo=lr(function(n){var t=Ze(n),t=typeof t=="function"?t:F;
-return kr(f(n,lu),F,t)}),Uo=lr(Ke),Co=lr(function(n){var t=n.length,t=1=t}),ef=Mt(function(){return arguments}())?Mt:function(n){return gu(n)&&ui.call(n,"callee")&&!di.call(n,"callee")},uf=qu.isArray,of=Hn?S(Hn):Tt,ff=Ii||Zu,cf=Jn?S(Jn):$t,af=Yn?S(Yn):Nt,lf=Qn?S(Qn):qt,sf=Xn?S(Xn):Vt,hf=nt?S(nt):Kt,pf=ue(Jt),_f=ue(function(n,t){return n<=t}),vf=Fr(function(n,t){if(Se(t)||au(t))Mr(t,Ru(t),n);else for(var r in t)ui.call(t,r)&<(n,r,t[r]);
-}),gf=Fr(function(n,t){Mr(t,zu(t),n)}),df=Fr(function(n,t,r,e){Mr(t,zu(t),n,e)}),yf=Fr(function(n,t,r,e){Mr(t,Ru(t),n,e)}),bf=se(vt),xf=lr(function(n){return n.push(F,ct),r(df,F,n)}),jf=lr(function(n){return n.push(F,Re),r(Ef,F,n)}),wf=Qr(function(n,t,r){n[t]=r},Du(Mu)),mf=Qr(function(n,t,r){ui.call(n,t)?n[t].push(r):n[t]=[r]},ve),Af=lr(Dt),kf=Fr(function(n,t,r){nr(n,t,r)}),Ef=Fr(function(n,t,r,e){nr(n,t,r,e)}),Of=se(function(n,t){return null==n?{}:(t=l(t,Ce),er(n,jt(Rt(n,zu,ho),t)))}),Sf=se(function(n,t){
-return null==n?{}:er(n,l(t,Ce))}),If=fe(Ru),Rf=fe(zu),zf=Vr(function(n,t,r){return t=t.toLowerCase(),n+(r?Lu(t):t)}),Wf=Vr(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Bf=Vr(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Lf=qr("toLowerCase"),Uf=Vr(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Cf=Vr(function(n,t,r){return n+(r?" ":"")+Mf(t)}),Df=Vr(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Mf=qr("toUpperCase"),Tf=lr(function(n,t){try{return r(n,F,t)}catch(n){return su(n)?n:new Ku(n);
-}}),$f=se(function(n,t){return u(t,function(t){t=Ce(t),_t(n,t,Ko(n[t],n))}),n}),Ff=Jr(),Nf=Jr(true),Pf=lr(function(n,t){return function(r){return Dt(r,n,t)}}),Zf=lr(function(n,t){return function(r){return Dt(n,r,t)}}),qf=ne(l),Vf=ne(o),Kf=ne(_),Gf=ee(),Hf=ee(true),Jf=Xr(function(n,t){return n+t},0),Yf=oe("ceil"),Qf=Xr(function(n,t){return n/t},1),Xf=oe("floor"),nc=Xr(function(n,t){return n*t},1),tc=oe("round"),rc=Xr(function(n,t){return n-t},0);return On.after=function(n,t){if(typeof t!="function")throw new Xu("Expected a function");
-return n=mu(n),function(){if(1>--n)return t.apply(this,arguments)}},On.ary=tu,On.assign=vf,On.assignIn=gf,On.assignInWith=df,On.assignWith=yf,On.at=bf,On.before=ru,On.bind=Ko,On.bindAll=$f,On.bindKey=Go,On.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return uf(n)?n:[n]},On.chain=He,On.chunk=function(n,t,r){if(t=(r?ke(n,t,r):t===F)?1:Bi(mu(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=qu(Ei(r/t));et?0:t,e)):[]},On.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:mu(t),t=e-t,vr(n,0,0>t?0:t)):[]},On.dropRightWhile=function(n,t){return n&&n.length?mr(n,ve(t,3),true,true):[];
-},On.dropWhile=function(n,t){return n&&n.length?mr(n,ve(t,3),true):[]},On.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&ke(n,t,r)&&(r=0,e=u),u=n.length,r=mu(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:mu(e),0>e&&(e+=u),e=r>e?0:Au(e);r>>0,r?(n=Ou(n))&&(typeof t=="string"||null!=t&&!lf(t))&&(t=jr(t),!t&&Bn.test(n))?Rr($(n),0,r):n.split(t,r):[]},On.spread=function(n,t){if(typeof n!="function")throw new Xu("Expected a function");return t=t===F?0:Bi(mu(t),0),
-lr(function(e){var u=e[t];return e=Rr(e,0,t),u&&s(e,u),r(n,this,e)})},On.tail=function(n){var t=null==n?0:n.length;return t?vr(n,1,t):[]},On.take=function(n,t,r){return n&&n.length?(t=r||t===F?1:mu(t),vr(n,0,0>t?0:t)):[]},On.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:mu(t),t=e-t,vr(n,0>t?0:t,e)):[]},On.takeRightWhile=function(n,t){return n&&n.length?mr(n,ve(t,3),false,true):[]},On.takeWhile=function(n,t){return n&&n.length?mr(n,ve(t,3)):[]},On.tap=function(n,t){return t(n),
-n},On.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new Xu("Expected a function");return vu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),iu(n,t,{leading:e,maxWait:t,trailing:u})},On.thru=Je,On.toArray=ju,On.toPairs=If,On.toPairsIn=Rf,On.toPath=function(n){return uf(n)?l(n,Ce):xu(n)?[n]:Dr(bo(n))},On.toPlainObject=Eu,On.transform=function(n,t,r){var e=uf(n),i=e||ff(n)||hf(n);if(t=ve(t,4),null==r){var o=n&&n.constructor;r=i?e?new o:[]:vu(n)&&hu(o)?to(vi(n)):{};
-}return(i?u:Et)(n,function(n,e,u){return t(r,n,e,u)}),r},On.unary=function(n){return tu(n,1)},On.union=So,On.unionBy=Io,On.unionWith=Ro,On.uniq=function(n){return n&&n.length?wr(n):[]},On.uniqBy=function(n,t){return n&&n.length?wr(n,ve(t,2)):[]},On.uniqWith=function(n,t){return t=typeof t=="function"?t:F,n&&n.length?wr(n,F,t):[]},On.unset=function(n,t){var r;if(null==n)r=true;else{r=n;var e=t,e=Ee(e,r)?[e]:Ir(e);r=We(r,e),e=Ce(Ze(e)),r=!(null!=r&&ui.call(r,e))||delete r[e]}return r},On.unzip=Ke,On.unzipWith=Ge,
-On.update=function(n,t,r){return null==n?n:pr(n,t,Sr(r)(It(n,t)),void 0)},On.updateWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null!=n&&(n=pr(n,t,Sr(r)(It(n,t)),e)),n},On.values=Bu,On.valuesIn=function(n){return null==n?[]:I(n,zu(n))},On.without=zo,On.words=Cu,On.wrap=function(n,t){return Qo(Sr(t),n)},On.xor=Wo,On.xorBy=Bo,On.xorWith=Lo,On.zip=Uo,On.zipObject=function(n,t){return Er(n||[],t||[],lt)},On.zipObjectDeep=function(n,t){return Er(n||[],t||[],pr)},On.zipWith=Co,On.entries=If,
-On.entriesIn=Rf,On.extend=gf,On.extendWith=df,$u(On,On),On.add=Jf,On.attempt=Tf,On.camelCase=zf,On.capitalize=Lu,On.ceil=Yf,On.clamp=function(n,t,r){return r===F&&(r=t,t=F),r!==F&&(r=ku(r),r=r===r?r:0),t!==F&&(t=ku(t),t=t===t?t:0),gt(ku(n),t,r)},On.clone=function(n){return dt(n,false,true)},On.cloneDeep=function(n){return dt(n,true,true)},On.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,true,true,t)},On.cloneWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,false,true,t)},On.conformsTo=function(n,t){
-return null==t||bt(n,t,Ru(t))},On.deburr=Uu,On.defaultTo=function(n,t){return null==n||n!==n?t:n},On.divide=Qf,On.endsWith=function(n,t,r){n=Ou(n),t=jr(t);var e=n.length,e=r=r===F?e:gt(mu(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},On.eq=cu,On.escape=function(n){return(n=Ou(n))&&Y.test(n)?n.replace(H,et):n},On.escapeRegExp=function(n){return(n=Ou(n))&&fn.test(n)?n.replace(on,"\\$&"):n},On.every=function(n,t,r){var e=uf(n)?o:wt;return r&&ke(n,t,r)&&(t=F),e(n,ve(t,3))},On.find=To,On.findIndex=$e,
-On.findKey=function(n,t){return v(n,ve(t,3),Et)},On.findLast=$o,On.findLastIndex=Fe,On.findLastKey=function(n,t){return v(n,ve(t,3),Ot)},On.floor=Xf,On.forEach=Qe,On.forEachRight=Xe,On.forIn=function(n,t){return null==n?n:uo(n,ve(t,3),zu)},On.forInRight=function(n,t){return null==n?n:io(n,ve(t,3),zu)},On.forOwn=function(n,t){return n&&Et(n,ve(t,3))},On.forOwnRight=function(n,t){return n&&Ot(n,ve(t,3))},On.get=Su,On.gt=tf,On.gte=rf,On.has=function(n,t){return null!=n&&be(n,t,Bt)},On.hasIn=Iu,On.head=Pe,
-On.identity=Mu,On.includes=function(n,t,r,e){return n=au(n)?n:Bu(n),r=r&&!e?mu(r):0,e=n.length,0>r&&(r=Bi(e+r,0)),bu(n)?r<=e&&-1r&&(r=Bi(e+r,0)),d(n,t,r)):-1},On.inRange=function(n,t,r){return t=wu(t),r===F?(r=t,t=0):r=wu(r),n=ku(n),n>=Li(t,r)&&n=n},On.isSet=sf,On.isString=bu,On.isSymbol=xu,On.isTypedArray=hf,On.isUndefined=function(n){return n===F},On.isWeakMap=function(n){return gu(n)&&"[object WeakMap]"==po(n)},On.isWeakSet=function(n){return gu(n)&&"[object WeakSet]"==zt(n)},On.join=function(n,t){
-return null==n?"":zi.call(n,t)},On.kebabCase=Wf,On.last=Ze,On.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==F&&(u=mu(r),u=0>u?Bi(e+u,0):Li(u,e-1)),t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=g(n,b,u,true);return n},On.lowerCase=Bf,On.lowerFirst=Lf,On.lt=pf,On.lte=_f,On.max=function(n){return n&&n.length?mt(n,Mu,Wt):F},On.maxBy=function(n,t){return n&&n.length?mt(n,ve(t,2),Wt):F},On.mean=function(n){return x(n,Mu)},On.meanBy=function(n,t){return x(n,ve(t,2))},On.min=function(n){
-return n&&n.length?mt(n,Mu,Jt):F},On.minBy=function(n,t){return n&&n.length?mt(n,ve(t,2),Jt):F},On.stubArray=Pu,On.stubFalse=Zu,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return true},On.multiply=nc,On.nth=function(n,t){return n&&n.length?tr(n,mu(t)):F},On.noConflict=function(){return Zn._===this&&(Zn._=ai),this},On.noop=Fu,On.now=Vo,On.pad=function(n,t,r){n=Ou(n);var e=(t=mu(t))?T(n):0;return!t||e>=t?n:(t=(t-e)/2,te(Oi(t),r)+n+te(Ei(t),r))},On.padEnd=function(n,t,r){
-n=Ou(n);var e=(t=mu(t))?T(n):0;return t&&et){var e=n;n=t,t=e}return r||n%1||t%1?(r=Di(),Li(n+r*(t-n+$n("1e-"+((r+"").length-1))),t)):cr(n,t);
-},On.reduce=function(n,t,r){var e=uf(n)?h:m,u=3>arguments.length;return e(n,ve(t,4),r,u,ro)},On.reduceRight=function(n,t,r){var e=uf(n)?p:m,u=3>arguments.length;return e(n,ve(t,4),r,u,eo)},On.repeat=function(n,t,r){return t=(r?ke(n,t,r):t===F)?1:mu(t),ar(Ou(n),t)},On.replace=function(){var n=arguments,t=Ou(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},On.result=function(n,t,r){t=Ee(t,n)?[t]:Ir(t);var e=-1,u=t.length;for(u||(n=F,u=1);++en||9007199254740991=i)return n;if(i=r-T(e),1>i)return e;if(r=o?Rr(o,0,i).join(""):n.slice(0,i),
-u===F)return r+e;if(o&&(i+=r.length-i),lf(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=Yu(u.source,Ou(dn.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else n.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1u.__dir__?"Right":"")}),u},Mn.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse();
-}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Mn.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:ve(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");Mn.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Mn.prototype[n]=function(){return this.__filtered__?new Mn(this):this[r](1)}}),Mn.prototype.compact=function(){
-return this.filter(Mu)},Mn.prototype.find=function(n){return this.filter(n).head()},Mn.prototype.findLast=function(n){return this.reverse().find(n)},Mn.prototype.invokeMap=lr(function(n,t){return typeof n=="function"?new Mn(this):this.map(function(r){return Dt(r,n,t)})}),Mn.prototype.reject=function(n){return this.filter(fu(ve(n)))},Mn.prototype.slice=function(n,t){n=mu(n);var r=this;return r.__filtered__&&(0t)?new Mn(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==F&&(t=mu(t),r=0>t?r.dropRight(-t):r.take(t-n)),
-r)},Mn.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Mn.prototype.toArray=function(){return this.take(4294967295)},Et(Mn.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=On[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(On.prototype[t]=function(){function t(n){return n=u.apply(On,s([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Mn,a=f[0],l=c||uf(o);l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);
-var h=this.__chain__,p=!!this.__actions__.length,a=i&&!h,c=c&&!p;return!i&&l?(o=c?o:new Mn(this),o=n.apply(o,f),o.__actions__.push({func:Je,args:[t],thisArg:F}),new zn(o,h)):a&&c?n.apply(this,f):(o=this.thru(t),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ni[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);On.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(uf(u)?u:[],n);
-}return this[r](function(r){return t.apply(uf(r)?r:[],n)})}}),Et(Mn.prototype,function(n,t){var r=On[t];if(r){var e=r.name+"";(Vi[e]||(Vi[e]=[])).push({name:t,func:r})}}),Vi[Yr(F,2).name]=[{name:"wrapper",func:F}],Mn.prototype.clone=function(){var n=new Mn(this.__wrapped__);return n.__actions__=Dr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Dr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Dr(this.__views__),n},Mn.prototype.reverse=function(){
-if(this.__filtered__){var n=new Mn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},Mn.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=uf(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++ci||i==n&&a==n)return Ar(t,this.__actions__);e=[];n:for(;n--&&c=this.__values__.length;
-return{done:n,value:n?F:this.__values__[this.__index__++]}},On.prototype.plant=function(n){for(var t,r=this;r instanceof Sn;){var e=Te(r);e.__index__=0,e.__values__=F,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},On.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Mn?(this.__actions__.length&&(n=new Mn(this)),n=n.reverse(),n.__actions__.push({func:Je,args:[Ve],thisArg:F}),new zn(n,this.__chain__)):this.thru(Ve)},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){
-return Ar(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,xi&&(On.prototype[xi]=Ye),On}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=it, define(function(){return it})):Vn?((Vn.exports=it)._=it,qn._=it):Zn._=it}).call(this);
\ No newline at end of file
+Dn["[object Error]"]=Dn["[object Function]"]=Dn["[object WeakMap]"]=false;var Mn,Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,Fn=parseInt,Nn=typeof global=="object"&&global&&global.Object===Object&&global,Pn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Nn||Pn||Function("return this")(),qn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vn=qn&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=Vn&&Vn.exports===qn,Gn=Kn&&Nn.process;
+n:{try{Mn=Gn&&Gn.binding&&Gn.binding("util");break n}catch(n){}Mn=void 0}var Hn=Mn&&Mn.isArrayBuffer,Jn=Mn&&Mn.isDate,Yn=Mn&&Mn.isMap,Qn=Mn&&Mn.isRegExp,Xn=Mn&&Mn.isSet,nt=Mn&&Mn.isTypedArray,tt=j("length"),rt=w({"\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","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C",
+"\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i",
+"\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S",
+"\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe",
+"\u0149":"'n","\u017f":"s"}),et=w({"&":"&","<":"<",">":">",'"':""","'":"'"}),ut=w({"&":"&","<":"<",">":">",""":'"',"'":"'"}),it=function w(En){function On(n){if(xu(n)&&!af(n)&&!(n instanceof Mn)){if(n instanceof zn)return n;if(ci.call(n,"__wrapped__"))return Pe(n)}return new zn(n)}function Sn(){}function zn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=F}function Mn(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,
+this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t=t?n:t)),n}function yt(n,t,r,e,i,o){var f,c=1&t,a=2&t,l=4&t;if(r&&(f=i?r(n,e,i,o):r(n)),f!==F)return f;if(!bu(n))return n;if(e=af(n)){if(f=Ae(n),!c)return Tr(n,f)}else{var s=yo(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(sf(n))return Br(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:ke(n),!c)return a?Nr(n,_t(f,n)):Fr(n,pt(f,n))}else{if(!Dn[s])return i?n:{};f=Ee(n,s,yt,c)}}if(o||(o=new Vn),
+i=o.get(n))return i;o.set(n,f);var a=l?a?ge:ve:a?Uu:Lu,p=e?F:a(n);return u(p||n,function(e,u){p&&(u=e,e=n[u]),lt(f,u,yt(e,t,r,u,n,o))}),f}function bt(n){var t=Lu(n);return function(r){return xt(r,n,t)}}function xt(n,t,r){var e=r.length;if(null==n)return!e;for(n=ni(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===F&&!(u in n)||!i(o))return false}return true}function jt(n,t,r){if(typeof n!="function")throw new ei("Expected a function");return jo(function(){n.apply(F,r)},t)}function wt(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length;
+if(!f)return s;r&&(t=l(t,S(r))),e?(i=a,o=false):200<=t.length&&(i=R,o=false,t=new qn(t));n:for(;++ut}function Lt(n,t){return null!=n&&ci.call(n,t)}function Ut(n,t){return null!=n&&t in ni(n)}function Ct(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=Hu(i),s=1/0,h=[];o--;){var p=n[o];o&&t&&(p=l(p,S(t))),s=Mi(p.length,s),f[o]=!r&&(t||120<=u&&120<=p.length)?new qn(o&&p):F}var p=n[0],_=-1,v=f[0];n:for(;++_t?r:0,Se(t,r)?n[t]:F}function er(n,t,r){var e=-1;return t=l(t.length?t:[Nu],S(be())),n=Qt(n,function(n){return{a:l(t,function(t){return t(n)}),b:++e,c:n}}),A(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e=f?c:c*("desc"==r[e]?-1:1);
+break n}}e=n.b-t.b}return e})}function ur(n,t){return n=ni(n),ir(n,t,function(t,r){return Bu(n,r)})}function ir(n,t,r){for(var e=-1,u=t.length,i={};++et||9007199254740991t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Hu(u);++e=u){for(;e>>1,o=n[i];null!==o&&!Au(o)&&(r?o<=t:oe)return e?mr(n[0]):[];for(var u=-1,i=Hu(e);++u=e?n:gr(n,t,r)}function Br(n,t){if(t)return n.slice();var r=n.length,r=yi?yi(r):new n.constructor(r);return n.copy(r),r}function Lr(n){var t=new n.constructor(n.byteLength);return new di(t).set(new di(n)),t}function Ur(n,t){return new n.constructor(t?Lr(n.buffer):n.buffer,n.byteOffset,n.length);
+}function Cr(n,t){if(n!==t){var r=n!==F,e=null===n,u=n===n,i=Au(n),o=t!==F,f=null===t,c=t===t,a=Au(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&nu?F:i,u=1),t=ni(t);++eo&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,or?r?lr(t,n):t:(r=lr(t,Ri(n/T(t))),Bn.test(t)?Wr($(r),0,n).join(""):r.slice(0,n))}function ie(n,t,e,u){function i(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=Hu(l+c),h=this&&this!==Zn&&this instanceof i?f:n;++at||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Dr(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Mr(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Mi(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],
+i[1]=t),n=i[0],t=i[1],r=i[2],e=i[3],u=i[4],f=i[9]=null==i[9]?c?0:n.length:Di(i[9]-a,0),!f&&24&t&&(t&=-25),De((h?lo:xo)(t&&1!=t?8==t||16==t?Yr(n,t,f):32!=t&&33!=t||u.length?ne.apply(F,i):ie(n,t,r,e):Kr(n,t,r),i),n,t)}function he(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;var c=-1,a=true,l=2&r?new qn:F;for(i.set(n,t),i.set(t,n);++cr&&(r=Di(e+r,0)),g(n,be(t,3),r)):-1}function qe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==F&&(u=Ou(r),u=0>r?Di(e+u,0):Mi(u,e-1)),
+g(n,be(t,3),u,true)}function Ve(n){return(null==n?0:n.length)?Et(n,1):[]}function Ke(n){return n&&n.length?n[0]:F}function Ge(n){var t=null==n?0:n.length;return t?n[t-1]:F}function He(n,t){return n&&n.length&&t&&t.length?fr(n,t):n}function Je(n){return null==n?n:Ni.call(n)}function Ye(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){if(_u(n))return t=Di(n.length,t),true}),E(t,function(t){return l(n,j(t))})}function Qe(n,t){if(!n||!n.length)return[];var e=Ye(n);return null==t?e:l(e,function(n){
+return r(t,F,n)})}function Xe(n){return n=On(n),n.__chain__=true,n}function nu(n,t){return t(n)}function tu(){return this}function ru(n,t){return(af(n)?u:oo)(n,be(t,3))}function eu(n,t){return(af(n)?i:fo)(n,be(t,3))}function uu(n,t){return(af(n)?l:Qt)(n,be(t,3))}function iu(n,t,r){return t=r?F:t,t=n&&null==t?n.length:t,se(n,128,F,F,F,F,t)}function ou(n,t){var r;if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=F),
+r}}function fu(n,t,r){return t=r?F:t,n=se(n,8,F,F,F,F,F,t),n.placeholder=fu.placeholder,n}function cu(n,t,r){return t=r?F:t,n=se(n,16,F,F,F,F,F,t),n.placeholder=cu.placeholder,n}function au(n,t,r){function e(t){var r=c,e=a;return c=a=F,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===F||r>=t||0>r||g&&n>=l}function i(){var n=Jo();if(u(n))return o(n);var r,e=jo;r=n-_,n=t-(n-p),r=g?Mi(n,l-r):n,h=e(i,r)}function o(n){return h=F,d&&c?e(n):(c=a=F,s)}function f(){var n=Jo(),r=u(n);if(c=arguments,
+a=this,p=n,r){if(h===F)return _=n=p,h=jo(i,t),v?e(n):s;if(g)return h=jo(i,t),e(p)}return h===F&&(h=jo(i,t)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ei("Expected a function");return t=Iu(t)||0,bu(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Di(Iu(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&ho(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Jo())},f}function lu(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e),
+r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new ei("Expected a function");return r.cache=new(lu.Cache||Pn),r}function su(n){if(typeof n!="function")throw new ei("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function hu(n,t){return n===t||n!==n&&t!==t}function pu(n){return null!=n&&yu(n.length)&&!gu(n);
+}function _u(n){return xu(n)&&pu(n)}function vu(n){if(!xu(n))return false;var t=Wt(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!wu(n)}function gu(n){return!!bu(n)&&(n=Wt(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function du(n){return typeof n=="number"&&n==Ou(n)}function yu(n){return typeof n=="number"&&-1=n}function bu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t);
+}function xu(n){return null!=n&&typeof n=="object"}function ju(n){return typeof n=="number"||xu(n)&&"[object Number]"==Wt(n)}function wu(n){return!(!xu(n)||"[object Object]"!=Wt(n))&&(n=bi(n),null===n||(n=ci.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&fi.call(n)==hi))}function mu(n){return typeof n=="string"||!af(n)&&xu(n)&&"[object String]"==Wt(n)}function Au(n){return typeof n=="symbol"||xu(n)&&"[object Symbol]"==Wt(n)}function ku(n){if(!n)return[];if(pu(n))return mu(n)?$(n):Tr(n);
+if(Ai&&n[Ai]){n=n[Ai]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=yo(n),("[object Map]"==t?L:"[object Set]"==t?D:Du)(n)}function Eu(n){return n?(n=Iu(n),n===N||n===-N?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function Ou(n){n=Eu(n);var t=n%1;return n===n?t?n-t:n:0}function Su(n){return n?dt(Ou(n),0,4294967295):0}function Iu(n){if(typeof n=="number")return n;if(Au(n))return P;if(bu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=bu(n)?n+"":n),typeof n!="string")return 0===n?n:+n;
+n=n.replace(cn,"");var t=bn.test(n);return t||jn.test(n)?Fn(n.slice(2),t?2:8):yn.test(n)?P:+n}function Ru(n){return $r(n,Uu(n))}function zu(n){return null==n?"":wr(n)}function Wu(n,t,r){return n=null==n?F:Rt(n,t),n===F?r:n}function Bu(n,t){return null!=n&&me(n,t,Ut)}function Lu(n){return pu(n)?Gn(n):Jt(n)}function Uu(n){if(pu(n))n=Gn(n,true);else if(bu(n)){var t,r=We(n),e=[];for(t in n)("constructor"!=t||!r&&ci.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in ni(n))t.push(r);n=t}return n}function Cu(n,t){
+return null==n?{}:ir(n,ge(n),be(t))}function Du(n){return null==n?[]:I(n,Lu(n))}function Mu(n){return Nf(zu(n).toLowerCase())}function Tu(n){return(n=zu(n))&&n.replace(mn,rt).replace(Rn,"")}function $u(n,t,r){return n=zu(n),t=r?F:t,t===F?Ln.test(n)?n.match(Wn)||[]:n.match(_n)||[]:n.match(t)||[]}function Fu(n){return function(){return n}}function Nu(n){return n}function Pu(n){return Ht(typeof n=="function"?n:yt(n,1))}function Zu(n,t,r){var e=Lu(t),i=It(t,e);null!=r||bu(t)&&(i.length||!e.length)||(r=t,
+t=n,n=this,i=It(t,Lu(t)));var o=!(bu(r)&&"chain"in r&&!r.chain),f=gu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Tr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments))})}),n}function qu(){}function Vu(n){return Re(n)?j($e(n)):or(n)}function Ku(){return[]}function Gu(){return false}En=null==En?Zn:it.defaults(Zn.Object(),En,it.pick(Zn,Un));
+var Hu=En.Array,Ju=En.Date,Yu=En.Error,Qu=En.Function,Xu=En.Math,ni=En.Object,ti=En.RegExp,ri=En.String,ei=En.TypeError,ui=Hu.prototype,ii=ni.prototype,oi=En["__core-js_shared__"],fi=Qu.prototype.toString,ci=ii.hasOwnProperty,ai=0,li=function(){var n=/[^.]+$/.exec(oi&&oi.keys&&oi.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),si=ii.toString,hi=fi.call(ni),pi=Zn._,_i=ti("^"+fi.call(ci).replace(on,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),vi=Kn?En.Buffer:F,gi=En.Symbol,di=En.Uint8Array,yi=vi?vi.f:F,bi=U(ni.getPrototypeOf,ni),xi=ni.create,ji=ii.propertyIsEnumerable,wi=ui.splice,mi=gi?gi.isConcatSpreadable:F,Ai=gi?gi.iterator:F,ki=gi?gi.toStringTag:F,Ei=function(){
+try{var n=we(ni,"defineProperty");return n({},"",{}),n}catch(n){}}(),Oi=En.clearTimeout!==Zn.clearTimeout&&En.clearTimeout,Si=Ju&&Ju.now!==Zn.Date.now&&Ju.now,Ii=En.setTimeout!==Zn.setTimeout&&En.setTimeout,Ri=Xu.ceil,zi=Xu.floor,Wi=ni.getOwnPropertySymbols,Bi=vi?vi.isBuffer:F,Li=En.isFinite,Ui=ui.join,Ci=U(ni.keys,ni),Di=Xu.max,Mi=Xu.min,Ti=Ju.now,$i=En.parseInt,Fi=Xu.random,Ni=ui.reverse,Pi=we(En,"DataView"),Zi=we(En,"Map"),qi=we(En,"Promise"),Vi=we(En,"Set"),Ki=we(En,"WeakMap"),Gi=we(ni,"create"),Hi=Ki&&new Ki,Ji={},Yi=Fe(Pi),Qi=Fe(Zi),Xi=Fe(qi),no=Fe(Vi),to=Fe(Ki),ro=gi?gi.prototype:F,eo=ro?ro.valueOf:F,uo=ro?ro.toString:F,io=function(){
+function n(){}return function(t){return bu(t)?xi?xi(t):(n.prototype=t,t=new n,n.prototype=F,t):{}}}();On.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:On}},On.prototype=Sn.prototype,On.prototype.constructor=On,zn.prototype=io(Sn.prototype),zn.prototype.constructor=zn,Mn.prototype=io(Sn.prototype),Mn.prototype.constructor=Mn,Tn.prototype.clear=function(){this.__data__=Gi?Gi(null):{},this.size=0},Tn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n],
+this.size-=n?1:0,n},Tn.prototype.get=function(n){var t=this.__data__;return Gi?(n=t[n],"__lodash_hash_undefined__"===n?F:n):ci.call(t,n)?t[n]:F},Tn.prototype.has=function(n){var t=this.__data__;return Gi?t[n]!==F:ci.call(t,n)},Tn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Gi&&t===F?"__lodash_hash_undefined__":t,this},Nn.prototype.clear=function(){this.__data__=[],this.size=0},Nn.prototype.delete=function(n){var t=this.__data__;return n=st(t,n),!(0>n)&&(n==t.length-1?t.pop():wi.call(t,n,1),
+--this.size,true)},Nn.prototype.get=function(n){var t=this.__data__;return n=st(t,n),0>n?F:t[n][1]},Nn.prototype.has=function(n){return-1e?(++this.size,r.push([n,t])):r[e][1]=t,this},Pn.prototype.clear=function(){this.size=0,this.__data__={hash:new Tn,map:new(Zi||Nn),string:new Tn}},Pn.prototype.delete=function(n){return n=xe(this,n).delete(n),this.size-=n?1:0,n},Pn.prototype.get=function(n){return xe(this,n).get(n);
+},Pn.prototype.has=function(n){return xe(this,n).has(n)},Pn.prototype.set=function(n,t){var r=xe(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},qn.prototype.add=qn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},qn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.clear=function(){this.__data__=new Nn,this.size=0},Vn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Vn.prototype.get=function(n){
+return this.__data__.get(n)},Vn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Nn){var e=r.__data__;if(!Zi||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Pn(e)}return r.set(n,t),this.size=r.size,this};var oo=qr(Ot),fo=qr(St,true),co=Vr(),ao=Vr(true),lo=Hi?function(n,t){return Hi.set(n,t),n}:Nu,so=Ei?function(n,t){return Ei(n,"toString",{configurable:true,enumerable:false,value:Fu(t),writable:true})}:Nu,ho=Oi||function(n){
+return Zn.clearTimeout(n)},po=Vi&&1/D(new Vi([,-0]))[1]==N?function(n){return new Vi(n)}:qu,_o=Hi?function(n){return Hi.get(n)}:qu,vo=Wi?U(Wi,ni):Ku,go=Wi?function(n){for(var t=[];n;)s(t,vo(n)),n=bi(n);return t}:Ku,yo=Wt;(Pi&&"[object DataView]"!=yo(new Pi(new ArrayBuffer(1)))||Zi&&"[object Map]"!=yo(new Zi)||qi&&"[object Promise]"!=yo(qi.resolve())||Vi&&"[object Set]"!=yo(new Vi)||Ki&&"[object WeakMap]"!=yo(new Ki))&&(yo=function(n){var t=Wt(n);if(n=(n="[object Object]"==t?n.constructor:F)?Fe(n):"")switch(n){
+case Yi:return"[object DataView]";case Qi:return"[object Map]";case Xi:return"[object Promise]";case no:return"[object Set]";case to:return"[object WeakMap]"}return t});var bo=oi?gu:Gu,xo=Me(lo),jo=Ii||function(n,t){return Zn.setTimeout(n,t)},wo=Me(so),mo=function(n){n=lu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){n=zu(n);var t=[];return en.test(n)&&t.push(""),n.replace(un,function(n,r,e,u){t.push(e?u.replace(vn,"$1"):r||n)}),t}),Ao=sr(function(n,t){return _u(n)?wt(n,Et(t,1,_u,true)):[];
+}),ko=sr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?wt(n,Et(t,1,_u,true),be(r,2)):[]}),Eo=sr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?wt(n,Et(t,1,_u,true),F,r):[]}),Oo=sr(function(n){var t=l(n,Ir);return t.length&&t[0]===n[0]?Ct(t):[]}),So=sr(function(n){var t=Ge(n),r=l(n,Ir);return t===Ge(r)?t=F:r.pop(),r.length&&r[0]===n[0]?Ct(r,be(t,2)):[]}),Io=sr(function(n){var t=Ge(n),r=l(n,Ir);return(t=typeof t=="function"?t:F)&&r.pop(),r.length&&r[0]===n[0]?Ct(r,F,t):[]}),Ro=sr(He),zo=_e(function(n,t){
+var r=null==n?0:n.length,e=gt(n,t);return cr(n,l(t,function(n){return Se(n,r)?+n:n}).sort(Cr)),e}),Wo=sr(function(n){return mr(Et(n,1,_u,true))}),Bo=sr(function(n){var t=Ge(n);return _u(t)&&(t=F),mr(Et(n,1,_u,true),be(t,2))}),Lo=sr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return mr(Et(n,1,_u,true),F,t)}),Uo=sr(function(n,t){return _u(n)?wt(n,t):[]}),Co=sr(function(n){return Or(f(n,_u))}),Do=sr(function(n){var t=Ge(n);return _u(t)&&(t=F),Or(f(n,_u),be(t,2))}),Mo=sr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;
+return Or(f(n,_u),F,t)}),To=sr(Ye),$o=sr(function(n){var t=n.length,t=1=t}),cf=Tt(function(){return arguments}())?Tt:function(n){return xu(n)&&ci.call(n,"callee")&&!ji.call(n,"callee")},af=Hu.isArray,lf=Hn?S(Hn):$t,sf=Bi||Gu,hf=Jn?S(Jn):Ft,pf=Yn?S(Yn):Pt,_f=Qn?S(Qn):Vt,vf=Xn?S(Xn):Kt,gf=nt?S(nt):Gt,df=fe(Yt),yf=fe(function(n,t){return n<=t}),bf=Zr(function(n,t){if(We(t)||pu(t))$r(t,Lu(t),n);else for(var r in t)ci.call(t,r)&<(n,r,t[r]);
+}),xf=Zr(function(n,t){$r(t,Uu(t),n)}),jf=Zr(function(n,t,r,e){$r(t,Uu(t),n,e)}),wf=Zr(function(n,t,r,e){$r(t,Lu(t),n,e)}),mf=_e(gt),Af=sr(function(n){return n.push(F,ct),r(jf,F,n)}),kf=sr(function(n){return n.push(F,Le),r(Rf,F,n)}),Ef=te(function(n,t,r){n[t]=r},Fu(Nu)),Of=te(function(n,t,r){ci.call(n,t)?n[t].push(r):n[t]=[r]},be),Sf=sr(Mt),If=Zr(function(n,t,r){tr(n,t,r)}),Rf=Zr(function(n,t,r,e){tr(n,t,r,e)}),zf=_e(function(n,t){var r={};if(null==n)return r;$r(n,ge(n),r);for(var r=yt(r,7),e=t.length;e--;)Ar(r,t[e]);
+return r}),Wf=_e(function(n,t){return null==n?{}:ur(n,l(t,$e))}),Bf=le(Lu),Lf=le(Uu),Uf=Hr(function(n,t,r){return t=t.toLowerCase(),n+(r?Mu(t):t)}),Cf=Hr(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Df=Hr(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Mf=Gr("toLowerCase"),Tf=Hr(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),$f=Hr(function(n,t,r){return n+(r?" ":"")+Nf(t)}),Ff=Hr(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Nf=Gr("toUpperCase"),Pf=sr(function(n,t){try{
+return r(n,F,t)}catch(n){return vu(n)?n:new Yu(n)}}),Zf=_e(function(n,t){return u(t,function(t){t=$e(t),vt(n,t,Yo(n[t],n))}),n}),qf=Xr(),Vf=Xr(true),Kf=sr(function(n,t){return function(r){return Mt(r,n,t)}}),Gf=sr(function(n,t){return function(r){return Mt(n,r,t)}}),Hf=ee(l),Jf=ee(o),Yf=ee(_),Qf=oe(),Xf=oe(true),nc=re(function(n,t){return n+t},0),tc=ae("ceil"),rc=re(function(n,t){return n/t},1),ec=ae("floor"),uc=re(function(n,t){return n*t},1),ic=ae("round"),oc=re(function(n,t){return n-t},0);return On.after=function(n,t){
+if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){if(1>--n)return t.apply(this,arguments)}},On.ary=iu,On.assign=bf,On.assignIn=xf,On.assignInWith=jf,On.assignWith=wf,On.at=mf,On.before=ou,On.bind=Yo,On.bindAll=Zf,On.bindKey=Qo,On.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return af(n)?n:[n]},On.chain=Xe,On.chunk=function(n,t,r){if(t=(r?Ie(n,t,r):t===F)?1:Di(Ou(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Hu(Ri(r/t));et?0:t,e)):[]},On.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,gr(n,0,0>t?0:t)):[];
+},On.dropRightWhile=function(n,t){return n&&n.length?kr(n,be(t,3),true,true):[]},On.dropWhile=function(n,t){return n&&n.length?kr(n,be(t,3),true):[]},On.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&Ie(n,t,r)&&(r=0,e=u),u=n.length,r=Ou(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:Ou(e),0>e&&(e+=u),e=r>e?0:Su(e);r>>0,r?(n=zu(n))&&(typeof t=="string"||null!=t&&!_f(t))&&(t=wr(t),!t&&Bn.test(n))?Wr($(n),0,r):n.split(t,r):[]},On.spread=function(n,t){if(typeof n!="function")throw new ei("Expected a function");
+return t=t===F?0:Di(Ou(t),0),sr(function(e){var u=e[t],i=e.length-1,o=Wr(e,0,t);return u&&s(o,u),t!=i&&s(o,Wr(e,t+1)),r(n,this,o)})},On.tail=function(n){var t=null==n?0:n.length;return t?gr(n,1,t):[]},On.take=function(n,t,r){return n&&n.length?(t=r||t===F?1:Ou(t),gr(n,0,0>t?0:t)):[]},On.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,gr(n,0>t?0:t,e)):[]},On.takeRightWhile=function(n,t){return n&&n.length?kr(n,be(t,3),false,true):[]},On.takeWhile=function(n,t){return n&&n.length?kr(n,be(t,3)):[];
+},On.tap=function(n,t){return t(n),n},On.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ei("Expected a function");return bu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),au(n,t,{leading:e,maxWait:t,trailing:u})},On.thru=nu,On.toArray=ku,On.toPairs=Bf,On.toPairsIn=Lf,On.toPath=function(n){return af(n)?l(n,$e):Au(n)?[n]:Tr(mo(n))},On.toPlainObject=Ru,On.transform=function(n,t,r){var e=af(n),i=e||sf(n)||gf(n);if(t=be(t,4),null==r){var o=n&&n.constructor;
+r=i?e?new o:[]:bu(n)&&gu(o)?io(bi(n)):{}}return(i?u:Ot)(n,function(n,e,u){return t(r,n,e,u)}),r},On.unary=function(n){return iu(n,1)},On.union=Wo,On.unionBy=Bo,On.unionWith=Lo,On.uniq=function(n){return n&&n.length?mr(n):[]},On.uniqBy=function(n,t){return n&&n.length?mr(n,be(t,2)):[]},On.uniqWith=function(n,t){return t=typeof t=="function"?t:F,n&&n.length?mr(n,F,t):[]},On.unset=function(n,t){return null==n||Ar(n,t)},On.unzip=Ye,On.unzipWith=Qe,On.update=function(n,t,r){return null==n?n:_r(n,t,Rr(r)(Rt(n,t)),void 0);
+},On.updateWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null!=n&&(n=_r(n,t,Rr(r)(Rt(n,t)),e)),n},On.values=Du,On.valuesIn=function(n){return null==n?[]:I(n,Uu(n))},On.without=Uo,On.words=$u,On.wrap=function(n,t){return rf(Rr(t),n)},On.xor=Co,On.xorBy=Do,On.xorWith=Mo,On.zip=To,On.zipObject=function(n,t){return Sr(n||[],t||[],lt)},On.zipObjectDeep=function(n,t){return Sr(n||[],t||[],_r)},On.zipWith=$o,On.entries=Bf,On.entriesIn=Lf,On.extend=xf,On.extendWith=jf,Zu(On,On),On.add=nc,On.attempt=Pf,
+On.camelCase=Uf,On.capitalize=Mu,On.ceil=tc,On.clamp=function(n,t,r){return r===F&&(r=t,t=F),r!==F&&(r=Iu(r),r=r===r?r:0),t!==F&&(t=Iu(t),t=t===t?t:0),dt(Iu(n),t,r)},On.clone=function(n){return yt(n,4)},On.cloneDeep=function(n){return yt(n,5)},On.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:F,yt(n,5,t)},On.cloneWith=function(n,t){return t=typeof t=="function"?t:F,yt(n,4,t)},On.conformsTo=function(n,t){return null==t||xt(n,t,Lu(t))},On.deburr=Tu,On.defaultTo=function(n,t){return null==n||n!==n?t:n;
+},On.divide=rc,On.endsWith=function(n,t,r){n=zu(n),t=wr(t);var e=n.length,e=r=r===F?e:dt(Ou(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},On.eq=hu,On.escape=function(n){return(n=zu(n))&&Y.test(n)?n.replace(H,et):n},On.escapeRegExp=function(n){return(n=zu(n))&&fn.test(n)?n.replace(on,"\\$&"):n},On.every=function(n,t,r){var e=af(n)?o:mt;return r&&Ie(n,t,r)&&(t=F),e(n,be(t,3))},On.find=Po,On.findIndex=Ze,On.findKey=function(n,t){return v(n,be(t,3),Ot)},On.findLast=Zo,On.findLastIndex=qe,On.findLastKey=function(n,t){
+return v(n,be(t,3),St)},On.floor=ec,On.forEach=ru,On.forEachRight=eu,On.forIn=function(n,t){return null==n?n:co(n,be(t,3),Uu)},On.forInRight=function(n,t){return null==n?n:ao(n,be(t,3),Uu)},On.forOwn=function(n,t){return n&&Ot(n,be(t,3))},On.forOwnRight=function(n,t){return n&&St(n,be(t,3))},On.get=Wu,On.gt=of,On.gte=ff,On.has=function(n,t){return null!=n&&me(n,t,Lt)},On.hasIn=Bu,On.head=Ke,On.identity=Nu,On.includes=function(n,t,r,e){return n=pu(n)?n:Du(n),r=r&&!e?Ou(r):0,e=n.length,0>r&&(r=Di(e+r,0)),
+mu(n)?r<=e&&-1r&&(r=Di(e+r,0)),d(n,t,r)):-1},On.inRange=function(n,t,r){return t=Eu(t),r===F?(r=t,t=0):r=Eu(r),n=Iu(n),n>=Mi(t,r)&&n=n},On.isSet=vf,On.isString=mu,On.isSymbol=Au,On.isTypedArray=gf,On.isUndefined=function(n){return n===F},On.isWeakMap=function(n){return xu(n)&&"[object WeakMap]"==yo(n)},On.isWeakSet=function(n){return xu(n)&&"[object WeakSet]"==Wt(n)},On.join=function(n,t){return null==n?"":Ui.call(n,t)},On.kebabCase=Cf,On.last=Ge,On.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==F&&(u=Ou(r),
+u=0>u?Di(e+u,0):Mi(u,e-1)),t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=g(n,b,u,true);return n},On.lowerCase=Df,On.lowerFirst=Mf,On.lt=df,On.lte=yf,On.max=function(n){return n&&n.length?At(n,Nu,Bt):F},On.maxBy=function(n,t){return n&&n.length?At(n,be(t,2),Bt):F},On.mean=function(n){return x(n,Nu)},On.meanBy=function(n,t){return x(n,be(t,2))},On.min=function(n){return n&&n.length?At(n,Nu,Yt):F},On.minBy=function(n,t){return n&&n.length?At(n,be(t,2),Yt):F},On.stubArray=Ku,On.stubFalse=Gu,On.stubObject=function(){
+return{}},On.stubString=function(){return""},On.stubTrue=function(){return true},On.multiply=uc,On.nth=function(n,t){return n&&n.length?rr(n,Ou(t)):F},On.noConflict=function(){return Zn._===this&&(Zn._=pi),this},On.noop=qu,On.now=Jo,On.pad=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return!t||e>=t?n:(t=(t-e)/2,ue(zi(t),r)+n+ue(Ri(t),r))},On.padEnd=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return t&&et){var e=n;n=t,t=e}return r||n%1||t%1?(r=Fi(),Mi(n+r*(t-n+$n("1e-"+((r+"").length-1))),t)):ar(n,t)},On.reduce=function(n,t,r){var e=af(n)?h:m,u=3>arguments.length;return e(n,be(t,4),r,u,oo)},On.reduceRight=function(n,t,r){
+var e=af(n)?p:m,u=3>arguments.length;return e(n,be(t,4),r,u,fo)},On.repeat=function(n,t,r){return t=(r?Ie(n,t,r):t===F)?1:Ou(t),lr(zu(n),t)},On.replace=function(){var n=arguments,t=zu(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},On.result=function(n,t,r){t=Re(t,n)?[t]:zr(t);var e=-1,u=t.length;for(u||(n=F,u=1);++en||9007199254740991=i)return n;if(i=r-T(e),1>i)return e;if(r=o?Wr(o,0,i).join(""):n.slice(0,i),u===F)return r+e;if(o&&(i+=r.length-i),_f(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=ti(u.source,zu(dn.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c);
+}}else n.indexOf(wr(u),i)!=i&&(u=r.lastIndexOf(u),-1u.__dir__?"Right":"")}),u},Mn.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Mn.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({
+iteratee:be(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");Mn.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Mn.prototype[n]=function(){return this.__filtered__?new Mn(this):this[r](1)}}),Mn.prototype.compact=function(){return this.filter(Nu)},Mn.prototype.find=function(n){return this.filter(n).head()},Mn.prototype.findLast=function(n){return this.reverse().find(n);
+},Mn.prototype.invokeMap=sr(function(n,t){return typeof n=="function"?new Mn(this):this.map(function(r){return Mt(r,n,t)})}),Mn.prototype.reject=function(n){return this.filter(su(be(n)))},Mn.prototype.slice=function(n,t){n=Ou(n);var r=this;return r.__filtered__&&(0t)?new Mn(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==F&&(t=Ou(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Mn.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Mn.prototype.toArray=function(){return this.take(4294967295);
+},Ot(Mn.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=On[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(On.prototype[t]=function(){function t(n){return n=u.apply(On,s([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Mn,a=f[0],l=c||af(o);l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);var h=this.__chain__,p=!!this.__actions__.length,a=i&&!h,c=c&&!p;return!i&&l?(o=c?o:new Mn(this),o=n.apply(o,f),o.__actions__.push({
+func:nu,args:[t],thisArg:F}),new zn(o,h)):a&&c?n.apply(this,f):(o=this.thru(t),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ui[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);On.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(af(u)?u:[],n)}return this[r](function(r){return t.apply(af(r)?r:[],n)})}}),Ot(Mn.prototype,function(n,t){var r=On[t];if(r){var e=r.name+"";
+(Ji[e]||(Ji[e]=[])).push({name:t,func:r})}}),Ji[ne(F,2).name]=[{name:"wrapper",func:F}],Mn.prototype.clone=function(){var n=new Mn(this.__wrapped__);return n.__actions__=Tr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Tr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Tr(this.__views__),n},Mn.prototype.reverse=function(){if(this.__filtered__){var n=new Mn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n;
+},Mn.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=af(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++ci||i==n&&a==n)return Er(t,this.__actions__);e=[];n:for(;n--&&c=this.__values__.length;return{done:n,value:n?F:this.__values__[this.__index__++]}},On.prototype.plant=function(n){
+for(var t,r=this;r instanceof Sn;){var e=Pe(r);e.__index__=0,e.__values__=F,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},On.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Mn?(this.__actions__.length&&(n=new Mn(this)),n=n.reverse(),n.__actions__.push({func:nu,args:[Je],thisArg:F}),new zn(n,this.__chain__)):this.thru(Je)},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return Er(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,
+Ai&&(On.prototype[Ai]=tu),On}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=it, define(function(){return it})):Vn?((Vn.exports=it)._=it,qn._=it):Zn._=it}).call(this);
\ No newline at end of file
diff --git a/dist/mapping.fp.js b/dist/mapping.fp.js
index 8ff1cc3d6c..0c7932cc0b 100644
--- a/dist/mapping.fp.js
+++ b/dist/mapping.fp.js
@@ -228,9 +228,9 @@ return /******/ (function(modules) { // webpackBootstrap
/** Used to map method names to rearg configs. */
exports.methodRearg = {
- 'assignInAllWith': [1, 2, 0],
+ 'assignInAllWith': [1, 0],
'assignInWith': [1, 2, 0],
- 'assignAllWith': [1, 2, 0],
+ 'assignAllWith': [1, 0],
'assignWith': [1, 2, 0],
'differenceBy': [1, 2, 0],
'differenceWith': [1, 2, 0],
@@ -239,7 +239,7 @@ return /******/ (function(modules) { // webpackBootstrap
'intersectionWith': [1, 2, 0],
'isEqualWith': [1, 2, 0],
'isMatchWith': [2, 1, 0],
- 'mergeAllWith': [1, 2, 0],
+ 'mergeAllWith': [1, 0],
'mergeWith': [1, 2, 0],
'padChars': [2, 1, 0],
'padCharsEnd': [2, 1, 0],
@@ -262,15 +262,15 @@ return /******/ (function(modules) { // webpackBootstrap
/** Used to map method names to spread configs. */
exports.methodSpread = {
'assignAll': { 'start': 0 },
- 'assignAllWith': { 'afterRearg': true, 'start': 1 },
+ 'assignAllWith': { 'start': 0 },
'assignInAll': { 'start': 0 },
- 'assignInAllWith': { 'afterRearg': true, 'start': 1 },
+ 'assignInAllWith': { 'start': 0 },
'defaultsAll': { 'start': 0 },
'defaultsDeepAll': { 'start': 0 },
'invokeArgs': { 'start': 2 },
'invokeArgsMap': { 'start': 2 },
'mergeAll': { 'start': 0 },
- 'mergeAllWith': { 'afterRearg': true, 'start': 1 },
+ 'mergeAllWith': { 'start': 0 },
'partial': { 'start': 1 },
'partialRight': { 'start': 1 },
'without': { 'start': 1 },
diff --git a/doc/README.md b/doc/README.md
index 6e38cab160..d9fda340ae 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -1,4 +1,4 @@
-# lodash v4.16.6
+# lodash v4.17.0
@@ -270,9 +270,9 @@
* `_.mapValues`
* `_.merge`
* `_.mergeWith`
-* `_.omit`
+* `_.omit`
* `_.omitBy`
-* `_.pick`
+* `_.pick`
* `_.pickBy`
* `_.result`
* `_.set`
@@ -415,7 +415,7 @@
_.chunk(array, [size=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L6816 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.chunk "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L6853 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.chunk "See the npm package") [Ⓣ][1]
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
@@ -445,7 +445,7 @@ _.chunk(['a', 'b', 'c', 'd'], 3);
_.compact(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L6851 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.compact "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L6888 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.compact "See the npm package") [Ⓣ][1]
Creates an array with all falsey values removed. The values `false`, `null`,
`0`, `""`, `undefined`, and `NaN` are falsey.
@@ -470,7 +470,7 @@ _.compact([0, 1, false, 2, '', 3]);
_.concat(array, [values])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L6888 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.concat "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L6925 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.concat "See the npm package") [Ⓣ][1]
Creates a new array concatenating `array` with any additional arrays
and/or values.
@@ -502,7 +502,7 @@ console.log(array);
_.difference(array, [values])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L6924 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.difference "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L6961 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.difference "See the npm package") [Ⓣ][1]
Creates an array of `array` values not included in the other given arrays
using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -533,7 +533,7 @@ _.difference([2, 1], [2, 3]);
_.differenceBy(array, [values], [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L6956 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.differenceby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L6993 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.differenceby "See the npm package") [Ⓣ][1]
This method is like `_.difference` except that it accepts `iteratee` which
is invoked for each element of `array` and `values` to generate the criterion
@@ -570,7 +570,7 @@ _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');
_.differenceWith(array, [values], [comparator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L6989 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.differencewith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7026 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.differencewith "See the npm package") [Ⓣ][1]
This method is like `_.difference` except that it accepts `comparator`
which is invoked to compare elements of `array` to `values`. The order and
@@ -604,7 +604,7 @@ _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);
_.drop(array, [n=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7024 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.drop "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7061 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.drop "See the npm package") [Ⓣ][1]
Creates a slice of `array` with `n` elements dropped from the beginning.
@@ -638,7 +638,7 @@ _.drop([1, 2, 3], 0);
_.dropRight(array, [n=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7058 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.dropright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7095 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.dropright "See the npm package") [Ⓣ][1]
Creates a slice of `array` with `n` elements dropped from the end.
@@ -672,7 +672,7 @@ _.dropRight([1, 2, 3], 0);
_.dropRightWhile(array, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7103 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7140 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") [Ⓣ][1]
Creates a slice of `array` excluding elements dropped from the end.
Elements are dropped until `predicate` returns falsey. The predicate is
@@ -717,7 +717,7 @@ _.dropRightWhile(users, 'active');
_.dropWhile(array, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7144 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7181 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") [Ⓣ][1]
Creates a slice of `array` excluding elements dropped from the beginning.
Elements are dropped until `predicate` returns falsey. The predicate is
@@ -762,7 +762,7 @@ _.dropWhile(users, 'active');
_.fill(array, value, [start=0], [end=array.length])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7179 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.fill "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7216 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.fill "See the npm package") [Ⓣ][1]
Fills elements of `array` with `value` from `start` up to, but not
including, `end`.
@@ -802,7 +802,7 @@ _.fill([4, 6, 8, 10], '*', 1, 3);
_.findIndex(array, [predicate=_.identity], [fromIndex=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7226 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findindex "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7263 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findindex "See the npm package") [Ⓣ][1]
This method is like `_.find` except that it returns the index of the first
element `predicate` returns truthy for instead of the element itself.
@@ -847,7 +847,7 @@ _.findIndex(users, 'active');
_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7273 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7310 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") [Ⓣ][1]
This method is like `_.findIndex` except that it iterates over elements
of `collection` from right to left.
@@ -892,7 +892,7 @@ _.findLastIndex(users, 'active');
_.flatten(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7302 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatten "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7339 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatten "See the npm package") [Ⓣ][1]
Flattens `array` a single level deep.
@@ -916,7 +916,7 @@ _.flatten([1, [2, [3, [4]], 5]]);
_.flattenDeep(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7321 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7358 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") [Ⓣ][1]
Recursively flattens `array`.
@@ -940,7 +940,7 @@ _.flattenDeep([1, [2, [3, [4]], 5]]);
_.flattenDepth(array, [depth=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7346 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7383 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") [Ⓣ][1]
Recursively flatten `array` up to `depth` times.
@@ -970,7 +970,7 @@ _.flattenDepth(array, 2);
_.fromPairs(pairs)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7370 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.frompairs "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7407 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.frompairs "See the npm package") [Ⓣ][1]
The inverse of `_.toPairs`; this method returns an object composed
from key-value `pairs`.
@@ -995,7 +995,7 @@ _.fromPairs([['a', 1], ['b', 2]]);
_.head(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7400 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.head "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7437 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.head "See the npm package") [Ⓣ][1]
Gets the first element of `array`.
@@ -1025,7 +1025,7 @@ _.head([]);
_.indexOf(array, value, [fromIndex=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7427 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.indexof "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7464 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.indexof "See the npm package") [Ⓣ][1]
Gets the index at which the first occurrence of `value` is found in `array`
using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -1058,7 +1058,7 @@ _.indexOf([1, 2, 1, 2], 2, 2);
_.initial(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7453 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.initial "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7490 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.initial "See the npm package") [Ⓣ][1]
Gets all but the last element of `array`.
@@ -1082,7 +1082,7 @@ _.initial([1, 2, 3]);
_.intersection([arrays])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7475 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersection "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7512 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersection "See the npm package") [Ⓣ][1]
Creates an array of unique values that are included in all given arrays
using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -1109,7 +1109,7 @@ _.intersection([2, 1], [2, 3]);
_.intersectionBy([arrays], [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7505 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7542 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") [Ⓣ][1]
This method is like `_.intersection` except that it accepts `iteratee`
which is invoked for each element of each `arrays` to generate the criterion
@@ -1142,7 +1142,7 @@ _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
_.intersectionWith([arrays], [comparator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7540 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7577 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") [Ⓣ][1]
This method is like `_.intersection` except that it accepts `comparator`
which is invoked to compare elements of `arrays`. The order and references
@@ -1173,7 +1173,7 @@ _.intersectionWith(objects, others, _.isEqual);
_.join(array, [separator=','])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7568 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.join "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7605 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.join "See the npm package") [Ⓣ][1]
Converts all elements in `array` into a string separated by `separator`.
@@ -1198,7 +1198,7 @@ _.join(['a', 'b', 'c'], '~');
_.last(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7586 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.last "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7623 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.last "See the npm package") [Ⓣ][1]
Gets the last element of `array`.
@@ -1222,7 +1222,7 @@ _.last([1, 2, 3]);
_.lastIndexOf(array, value, [fromIndex=array.length-1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7612 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7649 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") [Ⓣ][1]
This method is like `_.indexOf` except that it iterates over elements of
`array` from right to left.
@@ -1253,7 +1253,7 @@ _.lastIndexOf([1, 2, 1, 2], 2, 2);
_.nth(array, [n=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7648 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.nth "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7685 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.nth "See the npm package") [Ⓣ][1]
Gets the element at index `n` of `array`. If `n` is negative, the nth
element from the end is returned.
@@ -1284,7 +1284,7 @@ _.nth(array, -2);
_.pull(array, [values])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7675 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pull "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7712 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pull "See the npm package") [Ⓣ][1]
Removes all given values from `array` using
[`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -1318,7 +1318,7 @@ console.log(array);
_.pullAll(array, values)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7697 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullall "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7734 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullall "See the npm package") [Ⓣ][1]
This method is like `_.pull` except that it accepts an array of values to remove.
@@ -1349,7 +1349,7 @@ console.log(array);
_.pullAllBy(array, values, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7726 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullallby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7763 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullallby "See the npm package") [Ⓣ][1]
This method is like `_.pullAll` except that it accepts `iteratee` which is
invoked for each element of `array` and `values` to generate the criterion
@@ -1383,7 +1383,7 @@ console.log(array);
_.pullAllWith(array, values, [comparator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7755 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7792 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") [Ⓣ][1]
This method is like `_.pullAll` except that it accepts `comparator` which
is invoked to compare elements of `array` to `values`. The comparator is
@@ -1417,7 +1417,7 @@ console.log(array);
_.pullAt(array, [indexes])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7785 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullat "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7822 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullat "See the npm package") [Ⓣ][1]
Removes elements from `array` corresponding to `indexes` and returns an
array of removed elements.
@@ -1452,7 +1452,7 @@ console.log(pulled);
_.remove(array, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7824 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.remove "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7861 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.remove "See the npm package") [Ⓣ][1]
Removes all elements from `array` that `predicate` returns truthy for
and returns an array of the removed elements. The predicate is invoked
@@ -1491,7 +1491,7 @@ console.log(evens);
_.reverse(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7868 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reverse "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7905 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reverse "See the npm package") [Ⓣ][1]
Reverses `array` so that the first element becomes the last, the second
element becomes the second to last, and so on.
@@ -1525,7 +1525,7 @@ console.log(array);
_.slice(array, [start=0], [end=array.length])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7888 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.slice "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7925 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.slice "See the npm package") [Ⓣ][1]
Creates a slice of `array` from `start` up to, but not including, `end`.
@@ -1551,7 +1551,7 @@ returned.
_.sortedIndex(array, value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7921 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindex "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7958 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindex "See the npm package") [Ⓣ][1]
Uses a binary search to determine the lowest index at which `value`
should be inserted into `array` in order to maintain its sort order.
@@ -1577,7 +1577,7 @@ _.sortedIndex([30, 50], 40);
_.sortedIndexBy(array, value, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7950 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L7987 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexby "See the npm package") [Ⓣ][1]
This method is like `_.sortedIndex` except that it accepts `iteratee`
which is invoked for `value` and each element of `array` to compute their
@@ -1611,7 +1611,7 @@ _.sortedIndexBy(objects, { 'x': 4 }, 'x');
_.sortedIndexOf(array, value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7970 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexof "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8007 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexof "See the npm package") [Ⓣ][1]
This method is like `_.indexOf` except that it performs a binary
search on a sorted `array`.
@@ -1637,7 +1637,7 @@ _.sortedIndexOf([4, 5, 5, 5, 6], 5);
_.sortedLastIndex(array, value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L7999 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindex "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8036 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindex "See the npm package") [Ⓣ][1]
This method is like `_.sortedIndex` except that it returns the highest
index at which `value` should be inserted into `array` in order to
@@ -1664,7 +1664,7 @@ _.sortedLastIndex([4, 5, 5, 5, 6], 5);
_.sortedLastIndexBy(array, value, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8028 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8065 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexby "See the npm package") [Ⓣ][1]
This method is like `_.sortedLastIndex` except that it accepts `iteratee`
which is invoked for `value` and each element of `array` to compute their
@@ -1698,7 +1698,7 @@ _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');
_.sortedLastIndexOf(array, value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8048 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexof "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8085 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexof "See the npm package") [Ⓣ][1]
This method is like `_.lastIndexOf` except that it performs a binary
search on a sorted `array`.
@@ -1724,7 +1724,7 @@ _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);
_.sortedUniq(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8074 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniq "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8111 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniq "See the npm package") [Ⓣ][1]
This method is like `_.uniq` except that it's designed and optimized
for sorted arrays.
@@ -1749,7 +1749,7 @@ _.sortedUniq([1, 1, 2]);
_.sortedUniqBy(array, [iteratee])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8096 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniqby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8133 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniqby "See the npm package") [Ⓣ][1]
This method is like `_.uniqBy` except that it's designed and optimized
for sorted arrays.
@@ -1775,7 +1775,7 @@ _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
_.tail(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8116 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tail "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8153 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tail "See the npm package") [Ⓣ][1]
Gets all but the first element of `array`.
@@ -1799,7 +1799,7 @@ _.tail([1, 2, 3]);
_.take(array, [n=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8146 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.take "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8183 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.take "See the npm package") [Ⓣ][1]
Creates a slice of `array` with `n` elements taken from the beginning.
@@ -1833,7 +1833,7 @@ _.take([1, 2, 3], 0);
_.takeRight(array, [n=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8179 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takeright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8216 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takeright "See the npm package") [Ⓣ][1]
Creates a slice of `array` with `n` elements taken from the end.
@@ -1867,7 +1867,7 @@ _.takeRight([1, 2, 3], 0);
_.takeRightWhile(array, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8224 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takerightwhile "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8261 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takerightwhile "See the npm package") [Ⓣ][1]
Creates a slice of `array` with elements taken from the end. Elements are
taken until `predicate` returns falsey. The predicate is invoked with
@@ -1912,7 +1912,7 @@ _.takeRightWhile(users, 'active');
_.takeWhile(array, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8265 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takewhile "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8302 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takewhile "See the npm package") [Ⓣ][1]
Creates a slice of `array` with elements taken from the beginning. Elements
are taken until `predicate` returns falsey. The predicate is invoked with
@@ -1957,7 +1957,7 @@ _.takeWhile(users, 'active');
_.union([arrays])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8287 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.union "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8324 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.union "See the npm package") [Ⓣ][1]
Creates an array of unique values, in order, from all given arrays using
[`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -1983,7 +1983,7 @@ _.union([2], [1, 2]);
_.unionBy([arrays], [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8314 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unionby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8351 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unionby "See the npm package") [Ⓣ][1]
This method is like `_.union` except that it accepts `iteratee` which is
invoked for each element of each `arrays` to generate the criterion by
@@ -2016,7 +2016,7 @@ _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
_.unionWith([arrays], [comparator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8343 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unionwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8380 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unionwith "See the npm package") [Ⓣ][1]
This method is like `_.union` except that it accepts `comparator` which
is invoked to compare elements of `arrays`. Result values are chosen from
@@ -2047,7 +2047,7 @@ _.unionWith(objects, others, _.isEqual);
_.uniq(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8367 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniq "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8404 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniq "See the npm package") [Ⓣ][1]
Creates a duplicate-free version of an array, using
[`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -2075,7 +2075,7 @@ _.uniq([2, 1, 2]);
_.uniqBy(array, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8394 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8431 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqby "See the npm package") [Ⓣ][1]
This method is like `_.uniq` except that it accepts `iteratee` which is
invoked for each element in `array` to generate the criterion by which
@@ -2108,7 +2108,7 @@ _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
_.uniqWith(array, [comparator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8418 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8455 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqwith "See the npm package") [Ⓣ][1]
This method is like `_.uniq` except that it accepts `comparator` which
is invoked to compare elements of `array`. The order of result values is
@@ -2138,7 +2138,7 @@ _.uniqWith(objects, _.isEqual);
_.unzip(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8442 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unzip "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8479 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unzip "See the npm package") [Ⓣ][1]
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
@@ -2167,7 +2167,7 @@ _.unzip(zipped);
_.unzipWith(array, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8479 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unzipwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8516 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unzipwith "See the npm package") [Ⓣ][1]
This method is like `_.unzip` except that it accepts `iteratee` to specify
how regrouped values should be combined. The iteratee is invoked with the
@@ -2197,7 +2197,7 @@ _.unzipWith(zipped, _.add);
_.without(array, [values])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8512 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.without "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8549 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.without "See the npm package") [Ⓣ][1]
Creates an array excluding all given values using
[`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -2227,7 +2227,7 @@ _.without([2, 1, 2, 3], 1, 2);
_.xor([arrays])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8536 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xor "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8573 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xor "See the npm package") [Ⓣ][1]
Creates an array of unique values that is the
[symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
@@ -2254,7 +2254,7 @@ _.xor([2, 1], [2, 3]);
_.xorBy([arrays], [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8563 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xorby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8600 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xorby "See the npm package") [Ⓣ][1]
This method is like `_.xor` except that it accepts `iteratee` which is
invoked for each element of each `arrays` to generate the criterion by
@@ -2287,7 +2287,7 @@ _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
_.xorWith([arrays], [comparator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8592 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xorwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8629 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xorwith "See the npm package") [Ⓣ][1]
This method is like `_.xor` except that it accepts `comparator` which is
invoked to compare elements of `arrays`. The order of result values is
@@ -2318,7 +2318,7 @@ _.xorWith(objects, others, _.isEqual);
_.zip([arrays])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8614 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zip "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8651 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zip "See the npm package") [Ⓣ][1]
Creates an array of grouped elements, the first of which contains the
first elements of the given arrays, the second of which contains the
@@ -2344,7 +2344,7 @@ _.zip(['a', 'b'], [1, 2], [true, false]);
_.zipObject([props=[]], [values=[]])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8632 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipobject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8669 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipobject "See the npm package") [Ⓣ][1]
This method is like `_.fromPairs` except that it accepts two arrays,
one of property identifiers and one of corresponding values.
@@ -2370,7 +2370,7 @@ _.zipObject(['a', 'b'], [1, 2]);
_.zipObjectDeep([props=[]], [values=[]])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8651 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipobjectdeep "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8688 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipobjectdeep "See the npm package") [Ⓣ][1]
This method is like `_.zipObject` except that it supports property paths.
@@ -2395,7 +2395,7 @@ _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
_.zipWith([arrays], [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8675 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8712 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipwith "See the npm package") [Ⓣ][1]
This method is like `_.zip` except that it accepts `iteratee` to specify
how grouped values should be combined. The iteratee is invoked with the
@@ -2430,7 +2430,7 @@ _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {
_.countBy(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9054 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.countby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9091 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.countby "See the npm package") [Ⓣ][1]
Creates an object composed of keys generated from the results of running
each element of `collection` thru `iteratee`. The corresponding value of
@@ -2462,7 +2462,7 @@ _.countBy(['one', 'two', 'three'], 'length');
_.every(collection, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9103 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.every "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9140 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.every "See the npm package") [Ⓣ][1]
Checks if `predicate` returns truthy for **all** elements of `collection`.
Iteration is stopped once `predicate` returns falsey. The predicate is
@@ -2512,7 +2512,7 @@ _.every(users, 'active');
_.filter(collection, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9148 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.filter "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9185 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.filter "See the npm package") [Ⓣ][1]
Iterates over elements of `collection`, returning an array of all elements
`predicate` returns truthy for. The predicate is invoked with three
@@ -2559,7 +2559,7 @@ _.filter(users, 'active');
_.find(collection, [predicate=_.identity], [fromIndex=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9189 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.find "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9226 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.find "See the npm package") [Ⓣ][1]
Iterates over elements of `collection`, returning the first element
`predicate` returns truthy for. The predicate is invoked with three
@@ -2605,7 +2605,7 @@ _.find(users, 'active');
_.findLast(collection, [predicate=_.identity], [fromIndex=collection.length-1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9210 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlast "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9247 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlast "See the npm package") [Ⓣ][1]
This method is like `_.find` except that it iterates over elements of
`collection` from right to left.
@@ -2634,7 +2634,7 @@ _.findLast([1, 2, 3, 4], function(n) {
_.flatMap(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9233 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmap "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9270 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmap "See the npm package") [Ⓣ][1]
Creates a flattened array of values by running each element in `collection`
thru `iteratee` and flattening the mapped results. The iteratee is invoked
@@ -2665,7 +2665,7 @@ _.flatMap([1, 2], duplicate);
_.flatMapDeep(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9257 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdeep "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9294 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdeep "See the npm package") [Ⓣ][1]
This method is like `_.flatMap` except that it recursively flattens the
mapped results.
@@ -2695,7 +2695,7 @@ _.flatMapDeep([1, 2], duplicate);
_.flatMapDepth(collection, [iteratee=_.identity], [depth=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9282 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdepth "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9319 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdepth "See the npm package") [Ⓣ][1]
This method is like `_.flatMap` except that it recursively flattens the
mapped results up to `depth` times.
@@ -2726,7 +2726,7 @@ _.flatMapDepth([1, 2], duplicate, 2);
_.forEach(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9317 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.foreach "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9354 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.foreach "See the npm package") [Ⓣ][1]
Iterates over elements of `collection` and invokes `iteratee` for each element.
The iteratee is invoked with three arguments: *(value, index|key, collection)*.
@@ -2768,7 +2768,7 @@ _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
_.forEachRight(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9342 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.foreachright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9379 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.foreachright "See the npm package") [Ⓣ][1]
This method is like `_.forEach` except that it iterates over elements of
`collection` from right to left.
@@ -2799,7 +2799,7 @@ _.forEachRight([1, 2], function(value) {
_.groupBy(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9370 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.groupby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9407 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.groupby "See the npm package") [Ⓣ][1]
Creates an object composed of keys generated from the results of running
each element of `collection` thru `iteratee`. The order of grouped values
@@ -2832,7 +2832,7 @@ _.groupBy(['one', 'two', 'three'], 'length');
_.includes(collection, value, [fromIndex=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9408 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.includes "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9445 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.includes "See the npm package") [Ⓣ][1]
Checks if `value` is in `collection`. If `collection` is a string, it's
checked for a substring of `value`, otherwise
@@ -2871,7 +2871,7 @@ _.includes('abcd', 'bc');
_.invokeMap(collection, path, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9444 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invokemap "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9481 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invokemap "See the npm package") [Ⓣ][1]
Invokes the method at `path` of each element in `collection`, returning
an array of the results of each invoked method. Any additional arguments
@@ -2903,7 +2903,7 @@ _.invokeMap([123, 456], String.prototype.split, '');
_.keyBy(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9485 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keyby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9522 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keyby "See the npm package") [Ⓣ][1]
Creates an object composed of keys generated from the results of running
each element of `collection` thru `iteratee`. The corresponding value of
@@ -2941,7 +2941,7 @@ _.keyBy(array, 'dir');
_.map(collection, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9531 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.map "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9568 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.map "See the npm package") [Ⓣ][1]
Creates an array of values by running each element in `collection` thru
`iteratee`. The iteratee is invoked with three arguments:
@@ -2995,7 +2995,7 @@ _.map(users, 'user');
_.orderBy(collection, [iteratees=[_.identity]], [orders])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9565 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.orderby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9602 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.orderby "See the npm package") [Ⓣ][1]
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
@@ -3032,7 +3032,7 @@ _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
_.partition(collection, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9615 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partition "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9652 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partition "See the npm package") [Ⓣ][1]
Creates an array of elements split into two groups, the first of which
contains elements `predicate` returns truthy for, the second of which
@@ -3078,7 +3078,7 @@ _.partition(users, 'active');
_.reduce(collection, [iteratee=_.identity], [accumulator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9656 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reduce "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9693 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reduce "See the npm package") [Ⓣ][1]
Reduces `collection` to a value which is the accumulated result of running
each element in `collection` thru `iteratee`, where each successive
@@ -3126,7 +3126,7 @@ _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
_.reduceRight(collection, [iteratee=_.identity], [accumulator])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9685 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reduceright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9722 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reduceright "See the npm package") [Ⓣ][1]
This method is like `_.reduce` except that it iterates over elements of
`collection` from right to left.
@@ -3157,7 +3157,7 @@ _.reduceRight(array, function(flattened, other) {
_.reject(collection, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9726 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9763 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reject "See the npm package") [Ⓣ][1]
The opposite of `_.filter`; this method returns the elements of `collection`
that `predicate` does **not** return truthy for.
@@ -3200,7 +3200,7 @@ _.reject(users, 'active');
_.sample(collection)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9745 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sample "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9782 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sample "See the npm package") [Ⓣ][1]
Gets a random element from `collection`.
@@ -3224,7 +3224,7 @@ _.sample([1, 2, 3, 4]);
_.sampleSize(collection, [n=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9770 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.samplesize "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9807 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.samplesize "See the npm package") [Ⓣ][1]
Gets `n` random elements at unique keys from `collection` up to the
size of `collection`.
@@ -3253,7 +3253,7 @@ _.sampleSize([1, 2, 3], 4);
_.shuffle(collection)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9795 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.shuffle "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9832 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.shuffle "See the npm package") [Ⓣ][1]
Creates an array of shuffled values, using a version of the
[Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
@@ -3278,7 +3278,7 @@ _.shuffle([1, 2, 3, 4]);
_.size(collection)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9821 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.size "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9858 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.size "See the npm package") [Ⓣ][1]
Gets the size of `collection` by returning its length for array-like
values or the number of own enumerable string keyed properties for objects.
@@ -3309,7 +3309,7 @@ _.size('pebbles');
_.some(collection, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9871 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.some "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9908 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.some "See the npm package") [Ⓣ][1]
Checks if `predicate` returns truthy for **any** element of `collection`.
Iteration is stopped once `predicate` returns truthy. The predicate is
@@ -3353,7 +3353,7 @@ _.some(users, 'active');
_.sortBy(collection, [iteratees=[_.identity]])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9908 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9945 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortby "See the npm package") [Ⓣ][1]
Creates an array of elements, sorted in ascending order by the results of
running each element in a collection thru each iteratee. This method
@@ -3397,7 +3397,7 @@ _.sortBy(users, ['user', 'age']);
_.now()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9939 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.now "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9976 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.now "See the npm package") [Ⓣ][1]
Gets the timestamp of the number of milliseconds that have elapsed since
the Unix epoch *(1 January `1970 00`:00:00 UTC)*.
@@ -3427,7 +3427,7 @@ _.defer(function(stamp) {
_.after(n, func)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9969 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.after "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10006 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.after "See the npm package") [Ⓣ][1]
The opposite of `_.before`; this method creates a function that invokes
`func` once it's called `n` or more times.
@@ -3461,7 +3461,7 @@ _.forEach(saves, function(type) {
_.ary(func, [n=func.length])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9998 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ary "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10035 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ary "See the npm package") [Ⓣ][1]
Creates a function that invokes `func`, with up to `n` arguments,
ignoring any additional arguments.
@@ -3487,7 +3487,7 @@ _.map(['6', '8', '10'], _.ary(parseInt, 1));
_.before(n, func)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10021 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.before "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10058 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.before "See the npm package") [Ⓣ][1]
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
@@ -3514,7 +3514,7 @@ jQuery(element).on('click', _.before(5, addContactToList));
_.bind(func, thisArg, [partials])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10073 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bind "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10110 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bind "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with the `this` binding of `thisArg`
and `partials` prepended to the arguments it receives.
@@ -3561,7 +3561,7 @@ bound('hi');
_.bindKey(object, key, [partials])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10127 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bindkey "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10164 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bindkey "See the npm package") [Ⓣ][1]
Creates a function that invokes the method at `object[key]` with `partials`
prepended to the arguments it receives.
@@ -3618,7 +3618,7 @@ bound('hi');
_.curry(func, [arity=func.length])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10177 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.curry "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10214 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.curry "See the npm package") [Ⓣ][1]
Creates a function that accepts arguments of `func` and either invokes
`func` returning its result, if at least `arity` number of arguments have
@@ -3670,7 +3670,7 @@ curried(1)(_, 3)(2);
_.curryRight(func, [arity=func.length])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10222 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.curryright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10259 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.curryright "See the npm package") [Ⓣ][1]
This method is like `_.curry` except that arguments are applied to `func`
in the manner of `_.partialRight` instead of `_.partial`.
@@ -3719,7 +3719,7 @@ curried(3)(1, _)(2);
_.debounce(func, [wait=0], [options={}])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10283 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.debounce "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10320 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.debounce "See the npm package") [Ⓣ][1]
Creates a debounced function that delays invoking `func` until after `wait`
milliseconds have elapsed since the last time the debounced function was
@@ -3783,7 +3783,7 @@ jQuery(window).on('popstate', debounced.cancel);
_.defer(func, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10423 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defer "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10460 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defer "See the npm package") [Ⓣ][1]
Defers invoking the `func` until the current call stack has cleared. Any
additional arguments are provided to `func` when it's invoked.
@@ -3811,7 +3811,7 @@ _.defer(function(text) {
_.delay(func, wait, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10446 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.delay "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10483 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.delay "See the npm package") [Ⓣ][1]
Invokes `func` after `wait` milliseconds. Any additional arguments are
provided to `func` when it's invoked.
@@ -3840,7 +3840,7 @@ _.delay(function(text) {
_.flip(func)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10468 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flip "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10505 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flip "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with arguments reversed.
@@ -3868,7 +3868,7 @@ flipped('a', 'b', 'c', 'd');
_.memoize(func, [resolver])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10516 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.memoize "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10553 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.memoize "See the npm package") [Ⓣ][1]
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
@@ -3923,7 +3923,7 @@ _.memoize.Cache = WeakMap;
_.negate(predicate)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10559 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.negate "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10596 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.negate "See the npm package") [Ⓣ][1]
Creates a function that negates the result of the predicate `func`. The
`func` predicate is invoked with the `this` binding and arguments of the
@@ -3953,7 +3953,7 @@ _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
_.once(func)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10593 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.once "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10630 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.once "See the npm package") [Ⓣ][1]
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
@@ -3981,7 +3981,7 @@ initialize();
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10628 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.overargs "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10665 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.overargs "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with its arguments transformed.
@@ -4021,7 +4021,7 @@ func(10, 5);
_.partial(func, [partials])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10678 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partial "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10715 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partial "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with `partials` prepended to the
arguments it receives. This method is like `_.bind` except it does **not**
@@ -4066,7 +4066,7 @@ greetFred('hi');
_.partialRight(func, [partials])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10715 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partialright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10752 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partialright "See the npm package") [Ⓣ][1]
This method is like `_.partial` except that partially applied arguments
are appended to the arguments it receives.
@@ -4110,7 +4110,7 @@ sayHelloTo('fred');
_.rearg(func, indexes)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10742 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rearg "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10779 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rearg "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with arguments arranged according
to the specified `indexes` where the argument value at the first index is
@@ -4142,7 +4142,7 @@ rearged('b', 'c', 'a')
_.rest(func, [start=func.length-1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10771 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rest "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10808 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rest "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with the `this` binding of the
created function and arguments from `start` and beyond provided as
@@ -4178,7 +4178,7 @@ say('hello', 'fred', 'barney', 'pebbles');
_.spread(func, [start=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10813 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.spread "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10850 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.spread "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with the `this` binding of the
create function and an array of arguments much like
@@ -4223,7 +4223,7 @@ numbers.then(_.spread(function(x, y) {
_.throttle(func, [wait=0], [options={}])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10873 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.throttle "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10914 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.throttle "See the npm package") [Ⓣ][1]
Creates a throttled function that only invokes `func` at most once per
every `wait` milliseconds. The throttled function comes with a `cancel`
@@ -4278,7 +4278,7 @@ jQuery(window).on('popstate', throttled.cancel);
_.unary(func)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10906 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unary "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10947 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unary "See the npm package") [Ⓣ][1]
Creates a function that accepts up to one argument, ignoring any
additional arguments.
@@ -4303,7 +4303,7 @@ _.map(['6', '8', '10'], _.unary(parseInt));
_.wrap(value, [wrapper=identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10932 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.wrap "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L10973 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.wrap "See the npm package") [Ⓣ][1]
Creates a function that provides `value` to `wrapper` as its first
argument. Any additional arguments provided to the function are appended
@@ -4341,7 +4341,7 @@ p('fred, barney, & pebbles');
_.castArray(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L10971 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.castarray "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11012 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.castarray "See the npm package") [Ⓣ][1]
Casts `value` as an array if it's not one.
@@ -4384,7 +4384,7 @@ console.log(_.castArray(array) === array);
_.clone(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11005 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clone "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11046 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clone "See the npm package") [Ⓣ][1]
Creates a shallow clone of `value`.
@@ -4420,7 +4420,7 @@ console.log(shallow[0] === objects[0]);
_.cloneDeep(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11063 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonedeep "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11104 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonedeep "See the npm package") [Ⓣ][1]
This method is like `_.clone` except that it recursively clones `value`.
@@ -4447,7 +4447,7 @@ console.log(deep[0] === objects[0]);
_.cloneDeepWith(value, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11095 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonedeepwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11136 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonedeepwith "See the npm package") [Ⓣ][1]
This method is like `_.cloneWith` except that it recursively clones `value`.
@@ -4484,7 +4484,7 @@ console.log(el.childNodes.length);
_.cloneWith(value, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11040 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonewith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11081 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonewith "See the npm package") [Ⓣ][1]
This method is like `_.clone` except that it accepts `customizer` which
is invoked to produce the cloned value. If `customizer` returns `undefined`,
@@ -4524,7 +4524,7 @@ console.log(el.childNodes.length);
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11124 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.conformsto "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11165 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.conformsto "See the npm package") [Ⓣ][1]
Checks if `object` conforms to `source` by invoking the predicate
properties of `source` with the corresponding property values of `object`.
@@ -4559,7 +4559,7 @@ _.conformsTo(object, { 'b': function(n) { return n > 2; } });
_.eq(value, other)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11160 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.eq "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11201 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.eq "See the npm package") [Ⓣ][1]
Performs a
[`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -4601,7 +4601,7 @@ _.eq(NaN, NaN);
_.gt(value, other)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11187 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.gt "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11228 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.gt "See the npm package") [Ⓣ][1]
Checks if `value` is greater than `other`.
@@ -4632,7 +4632,7 @@ _.gt(1, 3);
_.gte(value, other)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11212 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.gte "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11253 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.gte "See the npm package") [Ⓣ][1]
Checks if `value` is greater than or equal to `other`.
@@ -4663,7 +4663,7 @@ _.gte(1, 3);
_.isArguments(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11234 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarguments "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11275 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarguments "See the npm package") [Ⓣ][1]
Checks if `value` is likely an `arguments` object.
@@ -4690,7 +4690,7 @@ _.isArguments([1, 2, 3]);
_.isArray(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11262 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarray "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11303 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarray "See the npm package") [Ⓣ][1]
Checks if `value` is classified as an `Array` object.
@@ -4723,7 +4723,7 @@ _.isArray(_.noop);
_.isArrayBuffer(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11281 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraybuffer "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11322 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraybuffer "See the npm package") [Ⓣ][1]
Checks if `value` is classified as an `ArrayBuffer` object.
@@ -4750,7 +4750,7 @@ _.isArrayBuffer(new Array(2));
_.isArrayLike(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11308 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraylike "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11349 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraylike "See the npm package") [Ⓣ][1]
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
@@ -4785,7 +4785,7 @@ _.isArrayLike(_.noop);
_.isArrayLikeObject(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11337 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraylikeobject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11378 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraylikeobject "See the npm package") [Ⓣ][1]
This method is like `_.isArrayLike` except that it also checks if `value`
is an object.
@@ -4819,7 +4819,7 @@ _.isArrayLikeObject(_.noop);
_.isBoolean(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11358 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isboolean "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11399 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isboolean "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a boolean primitive or object.
@@ -4846,7 +4846,7 @@ _.isBoolean(null);
_.isBuffer(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11380 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isbuffer "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11421 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isbuffer "See the npm package") [Ⓣ][1]
Checks if `value` is a buffer.
@@ -4873,7 +4873,7 @@ _.isBuffer(new Uint8Array(2));
_.isDate(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11399 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isdate "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11440 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isdate "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `Date` object.
@@ -4900,7 +4900,7 @@ _.isDate('Mon April 23 2012');
_.isElement(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11418 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iselement "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11459 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iselement "See the npm package") [Ⓣ][1]
Checks if `value` is likely a DOM element.
@@ -4927,7 +4927,7 @@ _.isElement('');
_.isEmpty(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11455 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isempty "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11496 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isempty "See the npm package") [Ⓣ][1]
Checks if `value` is an empty object, collection, map, or set.
@@ -4972,7 +4972,7 @@ _.isEmpty({ 'a': 1 });
_.isEqual(value, other)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11507 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isequal "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11548 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isequal "See the npm package") [Ⓣ][1]
Performs a deep comparison between two values to determine if they are
equivalent.
@@ -5011,7 +5011,7 @@ object === other;
_.isEqualWith(value, other, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11543 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isequalwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11584 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isequalwith "See the npm package") [Ⓣ][1]
This method is like `_.isEqual` except that it accepts `customizer` which
is invoked to compare values. If `customizer` returns `undefined`, comparisons
@@ -5053,7 +5053,7 @@ _.isEqualWith(array, other, customizer);
_.isError(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11567 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iserror "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11608 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iserror "See the npm package") [Ⓣ][1]
Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
`SyntaxError`, `TypeError`, or `URIError` object.
@@ -5081,7 +5081,7 @@ _.isError(Error);
_.isFinite(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11602 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isfinite "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11643 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isfinite "See the npm package") [Ⓣ][1]
Checks if `value` is a finite primitive number.
@@ -5118,7 +5118,7 @@ _.isFinite('3');
_.isFunction(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11623 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isfunction "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11664 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isfunction "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `Function` object.
@@ -5145,7 +5145,7 @@ _.isFunction(/abc/);
_.isInteger(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11659 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isinteger "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11700 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isinteger "See the npm package") [Ⓣ][1]
Checks if `value` is an integer.
@@ -5182,7 +5182,7 @@ _.isInteger('3');
_.isLength(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11689 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.islength "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11730 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.islength "See the npm package") [Ⓣ][1]
Checks if `value` is a valid array-like length.
@@ -5219,7 +5219,7 @@ _.isLength('3');
_.isMap(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11769 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismap "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11810 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismap "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `Map` object.
@@ -5246,7 +5246,7 @@ _.isMap(new WeakMap);
_.isMatch(object, source)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11799 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismatch "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11840 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismatch "See the npm package") [Ⓣ][1]
Performs a partial deep comparison between `object` and `source` to
determine if `object` contains equivalent property values.
@@ -5286,7 +5286,7 @@ _.isMatch(object, { 'b': 1 });
_.isMatchWith(object, source, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11835 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismatchwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11876 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismatchwith "See the npm package") [Ⓣ][1]
This method is like `_.isMatch` except that it accepts `customizer` which
is invoked to compare values. If `customizer` returns `undefined`, comparisons
@@ -5328,7 +5328,7 @@ _.isMatchWith(object, source, customizer);
_.isNaN(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11868 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnan "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11909 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnan "See the npm package") [Ⓣ][1]
Checks if `value` is `NaN`.
@@ -5367,7 +5367,7 @@ _.isNaN(undefined);
_.isNative(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11901 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnative "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11942 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnative "See the npm package") [Ⓣ][1]
Checks if `value` is a pristine native function.
@@ -5403,7 +5403,7 @@ _.isNative(_);
_.isNil(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11949 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnil "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11990 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnil "See the npm package") [Ⓣ][1]
Checks if `value` is `null` or `undefined`.
@@ -5433,7 +5433,7 @@ _.isNil(NaN);
_.isNull(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11925 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnull "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11966 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnull "See the npm package") [Ⓣ][1]
Checks if `value` is `null`.
@@ -5460,7 +5460,7 @@ _.isNull(void 0);
_.isNumber(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11979 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnumber "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12020 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnumber "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `Number` primitive or object.
@@ -5497,7 +5497,7 @@ _.isNumber('3');
_.isObject(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11719 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isobject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11760 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isobject "See the npm package") [Ⓣ][1]
Checks if `value` is the
[language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -5532,7 +5532,7 @@ _.isObject(null);
_.isObjectLike(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L11748 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isobjectlike "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L11789 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isobjectlike "See the npm package") [Ⓣ][1]
Checks if `value` is object-like. A value is object-like if it's not `null`
and has a `typeof` result of "object".
@@ -5566,7 +5566,7 @@ _.isObjectLike(null);
_.isPlainObject(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12012 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isplainobject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12053 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isplainobject "See the npm package") [Ⓣ][1]
Checks if `value` is a plain object, that is, an object created by the
`Object` constructor or one with a `[[Prototype]]` of `null`.
@@ -5604,7 +5604,7 @@ _.isPlainObject(Object.create(null));
_.isRegExp(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12042 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isregexp "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12083 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isregexp "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `RegExp` object.
@@ -5631,7 +5631,7 @@ _.isRegExp('/abc/');
_.isSafeInteger(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12071 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.issafeinteger "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12112 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.issafeinteger "See the npm package") [Ⓣ][1]
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.
@@ -5669,7 +5669,7 @@ _.isSafeInteger('3');
_.isSet(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12092 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isset "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12133 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isset "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `Set` object.
@@ -5696,7 +5696,7 @@ _.isSet(new WeakSet);
_.isString(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12111 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isstring "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12152 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isstring "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `String` primitive or object.
@@ -5723,7 +5723,7 @@ _.isString(1);
_.isSymbol(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12133 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.issymbol "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12174 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.issymbol "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `Symbol` primitive or object.
@@ -5750,7 +5750,7 @@ _.isSymbol('abc');
_.isTypedArray(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12155 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.istypedarray "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12196 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.istypedarray "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a typed array.
@@ -5777,7 +5777,7 @@ _.isTypedArray([]);
_.isUndefined(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12174 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isundefined "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12215 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isundefined "See the npm package") [Ⓣ][1]
Checks if `value` is `undefined`.
@@ -5804,7 +5804,7 @@ _.isUndefined(null);
_.isWeakMap(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12195 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isweakmap "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12236 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isweakmap "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `WeakMap` object.
@@ -5831,7 +5831,7 @@ _.isWeakMap(new Map);
_.isWeakSet(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12216 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isweakset "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12257 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isweakset "See the npm package") [Ⓣ][1]
Checks if `value` is classified as a `WeakSet` object.
@@ -5858,7 +5858,7 @@ _.isWeakSet(new Set);
_.lt(value, other)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12243 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lt "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12284 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lt "See the npm package") [Ⓣ][1]
Checks if `value` is less than `other`.
@@ -5889,7 +5889,7 @@ _.lt(3, 1);
_.lte(value, other)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12268 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lte "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12309 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lte "See the npm package") [Ⓣ][1]
Checks if `value` is less than or equal to `other`.
@@ -5920,7 +5920,7 @@ _.lte(3, 1);
_.toArray(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12295 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toarray "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12336 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toarray "See the npm package") [Ⓣ][1]
Converts `value` to an array.
@@ -5953,7 +5953,7 @@ _.toArray(null);
_.toFinite(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12334 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tofinite "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12375 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tofinite "See the npm package") [Ⓣ][1]
Converts `value` to a finite number.
@@ -5986,7 +5986,7 @@ _.toFinite('3.2');
_.toInteger(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12372 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tointeger "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12413 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tointeger "See the npm package") [Ⓣ][1]
Converts `value` to an integer.
@@ -6023,7 +6023,7 @@ _.toInteger('3.2');
_.toLength(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12406 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tolength "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12447 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tolength "See the npm package") [Ⓣ][1]
Converts `value` to an integer suitable for use as the length of an
array-like object.
@@ -6061,7 +6061,7 @@ _.toLength('3.2');
_.toNumber(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12433 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tonumber "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12474 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tonumber "See the npm package") [Ⓣ][1]
Converts `value` to a number.
@@ -6094,7 +6094,7 @@ _.toNumber('3.2');
_.toPlainObject(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12478 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toplainobject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12519 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toplainobject "See the npm package") [Ⓣ][1]
Converts `value` to a plain object flattening inherited enumerable string
keyed properties of `value` to own properties of the plain object.
@@ -6128,7 +6128,7 @@ _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
_.toSafeInteger(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12506 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tosafeinteger "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12547 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tosafeinteger "See the npm package") [Ⓣ][1]
Converts `value` to a safe integer. A safe integer can be compared and
represented correctly.
@@ -6162,7 +6162,7 @@ _.toSafeInteger('3.2');
_.toString(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12531 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tostring "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12572 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tostring "See the npm package") [Ⓣ][1]
Converts `value` to a string. An empty string is returned for `null`
and `undefined` values. The sign of `-0` is preserved.
@@ -6199,7 +6199,7 @@ _.toString([1, 2, 3]);
_.add(augend, addend)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16098 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.add "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16147 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.add "See the npm package") [Ⓣ][1]
Adds two numbers.
@@ -6224,7 +6224,7 @@ _.add(6, 4);
_.ceil(number, [precision=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16123 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ceil "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16172 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ceil "See the npm package") [Ⓣ][1]
Computes `number` rounded up to `precision`.
@@ -6255,7 +6255,7 @@ _.ceil(6040, -2);
_.divide(dividend, divisor)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16140 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.divide "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16189 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.divide "See the npm package") [Ⓣ][1]
Divide two numbers.
@@ -6280,7 +6280,7 @@ _.divide(6, 4);
_.floor(number, [precision=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16165 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.floor "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16214 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.floor "See the npm package") [Ⓣ][1]
Computes `number` rounded down to `precision`.
@@ -6311,7 +6311,7 @@ _.floor(4060, -2);
_.max(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16185 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.max "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16234 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.max "See the npm package") [Ⓣ][1]
Computes the maximum value of `array`. If `array` is empty or falsey,
`undefined` is returned.
@@ -6339,7 +6339,7 @@ _.max([]);
_.maxBy(array, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16214 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.maxby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16263 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.maxby "See the npm package") [Ⓣ][1]
This method is like `_.max` except that it accepts `iteratee` which is
invoked for each element in `array` to generate the criterion by which
@@ -6372,7 +6372,7 @@ _.maxBy(objects, 'n');
_.mean(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16234 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mean "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16283 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mean "See the npm package") [Ⓣ][1]
Computes the mean of the values in `array`.
@@ -6396,7 +6396,7 @@ _.mean([4, 2, 8, 6]);
_.meanBy(array, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16261 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.meanby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16310 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.meanby "See the npm package") [Ⓣ][1]
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.
@@ -6429,7 +6429,7 @@ _.meanBy(objects, 'n');
_.min(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16283 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.min "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16332 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.min "See the npm package") [Ⓣ][1]
Computes the minimum value of `array`. If `array` is empty or falsey,
`undefined` is returned.
@@ -6457,7 +6457,7 @@ _.min([]);
_.minBy(array, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16312 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.minby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16361 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.minby "See the npm package") [Ⓣ][1]
This method is like `_.min` except that it accepts `iteratee` which is
invoked for each element in `array` to generate the criterion by which
@@ -6490,7 +6490,7 @@ _.minBy(objects, 'n');
_.multiply(multiplier, multiplicand)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16333 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.multiply "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16382 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.multiply "See the npm package") [Ⓣ][1]
Multiply two numbers.
@@ -6515,7 +6515,7 @@ _.multiply(6, 4);
_.round(number, [precision=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16358 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.round "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16407 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.round "See the npm package") [Ⓣ][1]
Computes `number` rounded to `precision`.
@@ -6546,7 +6546,7 @@ _.round(4060, -2);
_.subtract(minuend, subtrahend)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16375 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.subtract "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16424 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.subtract "See the npm package") [Ⓣ][1]
Subtract two numbers.
@@ -6571,7 +6571,7 @@ _.subtract(6, 4);
_.sum(array)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16393 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sum "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16442 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sum "See the npm package") [Ⓣ][1]
Computes the sum of the values in `array`.
@@ -6595,7 +6595,7 @@ _.sum([4, 2, 8, 6]);
_.sumBy(array, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16422 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sumby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16471 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sumby "See the npm package") [Ⓣ][1]
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.
@@ -6634,7 +6634,7 @@ _.sumBy(objects, 'n');
_.clamp(number, [lower], upper)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13895 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clamp "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13944 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clamp "See the npm package") [Ⓣ][1]
Clamps `number` within the inclusive `lower` and `upper` bounds.
@@ -6663,7 +6663,7 @@ _.clamp(10, -5, 5);
_.inRange(number, [start=0], end)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13949 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.inrange "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13998 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.inrange "See the npm package") [Ⓣ][1]
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`.
@@ -6710,7 +6710,7 @@ _.inRange(-3, -2, -6);
_.random([lower=0], [upper=1], [floating])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13992 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.random "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14041 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.random "See the npm package") [Ⓣ][1]
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
@@ -6758,7 +6758,7 @@ _.random(1.2, 5.2);
_.assign(object, [sources])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12569 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assign "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12610 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assign "See the npm package") [Ⓣ][1]
Assigns own enumerable string keyed properties of source objects to the
destination object. Source objects are applied from left to right.
@@ -6800,7 +6800,7 @@ _.assign({ 'a': 0 }, new Foo, new Bar);
_.assignIn(object, [sources])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12612 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assignin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12653 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assignin "See the npm package") [Ⓣ][1]
This method is like `_.assign` except that it iterates over own and
inherited source properties.
@@ -6843,7 +6843,7 @@ _.assignIn({ 'a': 0 }, new Foo, new Bar);
_.assignInWith(object, sources, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12645 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assigninwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12686 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assigninwith "See the npm package") [Ⓣ][1]
This method is like `_.assignIn` except that it accepts `customizer`
which is invoked to produce the assigned values. If `customizer` returns
@@ -6884,7 +6884,7 @@ defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
_.assignWith(object, sources, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12677 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assignwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12718 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assignwith "See the npm package") [Ⓣ][1]
This method is like `_.assign` except that it accepts `customizer`
which is invoked to produce the assigned values. If `customizer` returns
@@ -6922,7 +6922,7 @@ defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
_.at(object, [paths])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12698 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.at "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12739 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.at "See the npm package") [Ⓣ][1]
Creates an array of values corresponding to `paths` of `object`.
@@ -6930,7 +6930,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.
+2. `[paths]` *(...(string|string[]))*: The property paths to pick.
#### Returns
*(Array)*: Returns the picked values.
@@ -6949,7 +6949,7 @@ _.at(object, ['a[0].b.c', 'a[1]']);
_.create(prototype, [properties])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12734 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.create "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12775 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.create "See the npm package") [Ⓣ][1]
Creates an object that inherits from the `prototype` object. If a
`properties` object is given, its own enumerable string keyed properties
@@ -6993,7 +6993,7 @@ circle instanceof Shape;
_.defaults(object, [sources])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12760 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaults "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12801 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaults "See the npm package") [Ⓣ][1]
Assigns own and inherited enumerable string keyed properties of source
objects to the destination object for all destination properties that
@@ -7024,7 +7024,7 @@ _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
_.defaultsDeep(object, [sources])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12784 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaultsdeep "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12825 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaultsdeep "See the npm package") [Ⓣ][1]
This method is like `_.defaults` except that it recursively assigns
default properties.
@@ -7053,7 +7053,7 @@ _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });
_.findKey(object, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12824 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findkey "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12865 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findkey "See the npm package") [Ⓣ][1]
This method is like `_.find` except that it returns the key of the first
element `predicate` returns truthy for instead of the element itself.
@@ -7097,7 +7097,7 @@ _.findKey(users, 'active');
_.findLastKey(object, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12863 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlastkey "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12904 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlastkey "See the npm package") [Ⓣ][1]
This method is like `_.findKey` except that it iterates over elements of
a collection in the opposite order.
@@ -7141,7 +7141,7 @@ _.findLastKey(users, 'active');
_.forIn(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12895 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12936 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forin "See the npm package") [Ⓣ][1]
Iterates over own and inherited enumerable string keyed properties of an
object and invokes `iteratee` for each property. The iteratee is invoked
@@ -7178,7 +7178,7 @@ _.forIn(new Foo, function(value, key) {
_.forInRight(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12927 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forinright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L12968 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forinright "See the npm package") [Ⓣ][1]
This method is like `_.forIn` except that it iterates over properties of
`object` in the opposite order.
@@ -7213,7 +7213,7 @@ _.forInRight(new Foo, function(value, key) {
_.forOwn(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12961 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forown "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13002 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forown "See the npm package") [Ⓣ][1]
Iterates over own enumerable string keyed properties of an object and
invokes `iteratee` for each property. The iteratee is invoked with three
@@ -7250,7 +7250,7 @@ _.forOwn(new Foo, function(value, key) {
_.forOwnRight(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L12991 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forownright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13032 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forownright "See the npm package") [Ⓣ][1]
This method is like `_.forOwn` except that it iterates over properties of
`object` in the opposite order.
@@ -7285,7 +7285,7 @@ _.forOwnRight(new Foo, function(value, key) {
_.functions(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13018 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.functions "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13059 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.functions "See the npm package") [Ⓣ][1]
Creates an array of function property names from own enumerable properties
of `object`.
@@ -7317,7 +7317,7 @@ _.functions(new Foo);
_.functionsIn(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13045 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.functionsin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13086 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.functionsin "See the npm package") [Ⓣ][1]
Creates an array of function property names from own and inherited
enumerable properties of `object`.
@@ -7349,7 +7349,7 @@ _.functionsIn(new Foo);
_.get(object, path, [defaultValue])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13074 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.get "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13115 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.get "See the npm package") [Ⓣ][1]
Gets the value at `path` of `object`. If the resolved value is
`undefined`, the `defaultValue` is returned in its place.
@@ -7384,7 +7384,7 @@ _.get(object, 'a.b.c', 'default');
_.has(object, path)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13106 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.has "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13147 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.has "See the npm package") [Ⓣ][1]
Checks if `path` is a direct property of `object`.
@@ -7421,7 +7421,7 @@ _.has(other, 'a');
_.hasIn(object, path)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13136 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.hasin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13177 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.hasin "See the npm package") [Ⓣ][1]
Checks if `path` is a direct or inherited property of `object`.
@@ -7457,7 +7457,7 @@ _.hasIn(object, 'b');
_.invert(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13158 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invert "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13199 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invert "See the npm package") [Ⓣ][1]
Creates an object composed of the inverted keys and values of `object`.
If `object` contains duplicate values, subsequent values overwrite
@@ -7485,7 +7485,7 @@ _.invert(object);
_.invertBy(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13188 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invertby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13229 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invertby "See the npm package") [Ⓣ][1]
This method is like `_.invert` except that the inverted object is generated
from the results of running each element of `object` thru `iteratee`. The
@@ -7521,7 +7521,7 @@ _.invertBy(object, function(value) {
_.invoke(object, path, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13214 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invoke "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13255 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invoke "See the npm package") [Ⓣ][1]
Invokes the method at `path` of `object`.
@@ -7549,7 +7549,7 @@ _.invoke(object, 'a[0].b.c.slice', 1, 3);
_.keys(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13244 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keys "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13285 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keys "See the npm package") [Ⓣ][1]
Creates an array of the own enumerable property names of `object`.
@@ -7588,7 +7588,7 @@ _.keys('hi');
_.keysIn(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13271 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keysin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13312 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keysin "See the npm package") [Ⓣ][1]
Creates an array of the own and inherited enumerable property names of `object`.
@@ -7622,7 +7622,7 @@ _.keysIn(new Foo);
_.mapKeys(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13296 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mapkeys "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13337 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mapkeys "See the npm package") [Ⓣ][1]
The opposite of `_.mapValues`; this method creates an object with the
same values as `object` and keys generated by running each own enumerable
@@ -7652,7 +7652,7 @@ _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
_.mapValues(object, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13334 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mapvalues "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13375 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mapvalues "See the npm package") [Ⓣ][1]
Creates an object with the same keys as `object` and values generated
by running each own enumerable string keyed property of `object` thru
@@ -7689,7 +7689,7 @@ _.mapValues(users, 'age');
_.merge(object, [sources])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13375 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.merge "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13416 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.merge "See the npm package") [Ⓣ][1]
This method is like `_.assign` except that it recursively merges own and
inherited enumerable string keyed properties of source objects into the
@@ -7731,7 +7731,7 @@ _.merge(object, other);
_.mergeWith(object, sources, customizer)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13410 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mergewith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13451 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mergewith "See the npm package") [Ⓣ][1]
This method is like `_.merge` except that it accepts `customizer` which
is invoked to produce the merged values of the destination and source
@@ -7772,18 +7772,20 @@ _.mergeWith(object, other, customizer);
-_.omit(object, [props])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13433 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.omit "See the npm package") [Ⓣ][1]
+_.omit(object, [paths])
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13475 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.omit "See the npm package") [Ⓣ][1]
The opposite of `_.pick`; this method creates an object composed of the
-own and inherited enumerable string keyed properties of `object` that are
-not omitted.
+own and inherited enumerable property paths of `object` that are not omitted.
+
+
+**Note:** This method is considerably slower than `_.pick`.
#### Since
0.1.0
#### Arguments
1. `object` *(Object)*: The source object.
-2. `[props]` *(...(string|string[]))*: The property identifiers to omit.
+2. `[paths]` *(...(string|string[]))*: The property paths to omit.
#### Returns
*(Object)*: Returns the new object.
@@ -7802,7 +7804,7 @@ _.omit(object, ['a', 'c']);
_.omitBy(object, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13461 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.omitby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13510 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.omitby "See the npm package") [Ⓣ][1]
The opposite of `_.pickBy`; this method creates an object composed of
the own and inherited enumerable string keyed properties of `object` that
@@ -7831,8 +7833,8 @@ _.omitBy(object, _.isNumber);
-_.pick(object, [props])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13482 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pick "See the npm package") [Ⓣ][1]
+_.pick(object, [paths])
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13531 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pick "See the npm package") [Ⓣ][1]
Creates an object composed of the picked `object` properties.
@@ -7840,7 +7842,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.
+2. `[paths]` *(...(string|string[]))*: The property paths to pick.
#### Returns
*(Object)*: Returns the new object.
@@ -7859,7 +7861,7 @@ _.pick(object, ['a', 'c']);
_.pickBy(object, [predicate=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13504 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pickby "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13553 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pickby "See the npm package") [Ⓣ][1]
Creates an object composed of the `object` properties `predicate` returns
truthy for. The predicate is invoked with two arguments: *(value, key)*.
@@ -7887,7 +7889,7 @@ _.pickBy(object, _.isNumber);
_.result(object, path, [defaultValue])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13537 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.result "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13586 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.result "See the npm package") [Ⓣ][1]
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
@@ -7926,7 +7928,7 @@ _.result(object, 'a[0].b.c3', _.constant('default'));
_.set(object, path, value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13587 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.set "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13636 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.set "See the npm package") [Ⓣ][1]
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
@@ -7965,7 +7967,7 @@ console.log(object.x[0].y.z);
_.setWith(object, path, value, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13615 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.setwith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13664 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.setwith "See the npm package") [Ⓣ][1]
This method is like `_.set` except that it accepts `customizer` which is
invoked to produce the objects of `path`. If `customizer` returns `undefined`
@@ -8000,7 +8002,7 @@ _.setWith(object, '[0][1]', 'a', Object);
_.toPairs(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13644 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topairs "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13693 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topairs "See the npm package") [Ⓣ][1]
Creates an array of own enumerable string keyed-value pairs for `object`
which can be consumed by `_.fromPairs`. If `object` is a map or set, its
@@ -8036,7 +8038,7 @@ _.toPairs(new Foo);
_.toPairsIn(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13670 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topairsin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13719 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topairsin "See the npm package") [Ⓣ][1]
Creates an array of own and inherited enumerable string keyed-value pairs
for `object` which can be consumed by `_.fromPairs`. If `object` is a map
@@ -8072,7 +8074,7 @@ _.toPairsIn(new Foo);
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13702 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.transform "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13751 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.transform "See the npm package") [Ⓣ][1]
An alternative to `_.reduce`; this method transforms `object` to a new
`accumulator` object which is the result of running each of its own
@@ -8112,7 +8114,7 @@ _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
_.unset(object, path)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13752 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unset "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13801 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unset "See the npm package") [Ⓣ][1]
Removes the property at `path` of `object`.
@@ -8150,7 +8152,7 @@ console.log(object);
_.update(object, path, updater)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13783 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.update "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13832 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.update "See the npm package") [Ⓣ][1]
This method is like `_.set` except that accepts `updater` to produce the
value to set. Use `_.updateWith` to customize `path` creation. The `updater`
@@ -8188,7 +8190,7 @@ console.log(object.x[0].y.z);
_.updateWith(object, path, updater, [customizer])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13811 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.updatewith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13860 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.updatewith "See the npm package") [Ⓣ][1]
This method is like `_.update` except that it accepts `customizer` which is
invoked to produce the objects of `path`. If `customizer` returns `undefined`
@@ -8223,7 +8225,7 @@ _.updateWith(object, '[0][1]', _.constant('a'), Object);
_.values(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13842 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.values "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13891 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.values "See the npm package") [Ⓣ][1]
Creates an array of the own enumerable string keyed property values of `object`.
@@ -8260,7 +8262,7 @@ _.values('hi');
_.valuesIn(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L13870 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.valuesin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L13919 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.valuesin "See the npm package") [Ⓣ][1]
Creates an array of the own and inherited enumerable string keyed property
values of `object`.
@@ -8301,7 +8303,7 @@ _.valuesIn(new Foo);
_(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1662 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1669 "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,
@@ -8437,7 +8439,7 @@ _.isArray(squares.value());
_.chain(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8714 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8751 "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
@@ -8476,7 +8478,7 @@ var youngest = _
_.tap(value, interceptor)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8743 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8780 "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
@@ -8509,7 +8511,7 @@ _([1, 2, 3])
_.thru(value, interceptor)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8771 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8808 "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
@@ -8542,7 +8544,7 @@ _(' abc ')
_.prototype[Symbol.iterator]()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8926 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8963 "View in source") [Ⓣ][1]
Enables the wrapper to be iterable.
@@ -8568,14 +8570,14 @@ Array.from(wrapped);
_.prototype.at([paths])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8791 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8828 "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.
+1. `[paths]` *(...(string|string[]))*: The property paths to pick.
#### Returns
*(Object)*: Returns the new `lodash` wrapper instance.
@@ -8594,7 +8596,7 @@ _(object).at(['a[0].b.c', 'a[1]']).value();
_.prototype.chain()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8842 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8879 "View in source") [Ⓣ][1]
Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
@@ -8629,7 +8631,7 @@ _(users)
_.prototype.commit()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8872 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8909 "View in source") [Ⓣ][1]
Executes the chain sequence and returns the wrapped result.
@@ -8663,7 +8665,7 @@ console.log(array);
_.prototype.next()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8898 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8935 "View in source") [Ⓣ][1]
Gets the next value on a wrapped object following the
[iterator protocol](https://mdn.io/iteration_protocols#iterator).
@@ -8693,7 +8695,7 @@ wrapped.next();
_.prototype.plant(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8954 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L8991 "View in source") [Ⓣ][1]
Creates a clone of the chain sequence planting `value` as the wrapped value.
@@ -8727,7 +8729,7 @@ wrapped.value();
_.prototype.reverse()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L8994 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9031 "View in source") [Ⓣ][1]
This method is the wrapper version of `_.reverse`.
@@ -8756,7 +8758,7 @@ console.log(array);
_.prototype.value()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L9026 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L9063 "View in source") [Ⓣ][1]
Executes the chain sequence to resolve the unwrapped value.
@@ -8786,7 +8788,7 @@ _([1, 2, 3]).value();
_.camelCase([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14053 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.camelcase "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14102 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.camelcase "See the npm package") [Ⓣ][1]
Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
@@ -8816,7 +8818,7 @@ _.camelCase('__FOO_BAR__');
_.capitalize([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14073 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.capitalize "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14122 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.capitalize "See the npm package") [Ⓣ][1]
Converts the first character of `string` to upper case and the remaining
to lower case.
@@ -8841,7 +8843,7 @@ _.capitalize('FRED');
_.deburr([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14095 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.deburr "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14144 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.deburr "See the npm package") [Ⓣ][1]
Deburrs `string` by converting
[Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
@@ -8869,7 +8871,7 @@ _.deburr('déjà vu');
_.endsWith([string=''], [target], [position=string.length])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14123 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.endswith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14172 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.endswith "See the npm package") [Ⓣ][1]
Checks if `string` ends with the given target string.
@@ -8901,7 +8903,7 @@ _.endsWith('abc', 'b', 2);
_.escape([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14165 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.escape "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14214 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.escape "See the npm package") [Ⓣ][1]
Converts the characters "&", "<", ">", '"', and "'" in `string` to their
corresponding HTML entities.
@@ -8942,7 +8944,7 @@ _.escape('fred, barney, & pebbles');
_.escapeRegExp([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14187 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.escaperegexp "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14236 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.escaperegexp "See the npm package") [Ⓣ][1]
Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+",
"?", "(", ")", "[", "]", "{", "}", and "|" in `string`.
@@ -8967,7 +8969,7 @@ _.escapeRegExp('[lodash](https://lodash.com/)');
_.kebabCase([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14215 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.kebabcase "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14264 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.kebabcase "See the npm package") [Ⓣ][1]
Converts `string` to
[kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
@@ -8998,7 +9000,7 @@ _.kebabCase('__FOO_BAR__');
_.lowerCase([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14239 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lowercase "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14288 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lowercase "See the npm package") [Ⓣ][1]
Converts `string`, as space separated words, to lower case.
@@ -9028,7 +9030,7 @@ _.lowerCase('__FOO_BAR__');
_.lowerFirst([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14260 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lowerfirst "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14309 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lowerfirst "See the npm package") [Ⓣ][1]
Converts the first character of `string` to lower case.
@@ -9055,7 +9057,7 @@ _.lowerFirst('FRED');
_.pad([string=''], [length=0], [chars=' '])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14285 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pad "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14334 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pad "See the npm package") [Ⓣ][1]
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`.
@@ -9088,7 +9090,7 @@ _.pad('abc', 3);
_.padEnd([string=''], [length=0], [chars=' '])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14324 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.padend "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14373 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.padend "See the npm package") [Ⓣ][1]
Pads `string` on the right side if it's shorter than `length`. Padding
characters are truncated if they exceed `length`.
@@ -9121,7 +9123,7 @@ _.padEnd('abc', 3);
_.padStart([string=''], [length=0], [chars=' '])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14357 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.padstart "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14406 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.padstart "See the npm package") [Ⓣ][1]
Pads `string` on the left side if it's shorter than `length`. Padding
characters are truncated if they exceed `length`.
@@ -9154,7 +9156,7 @@ _.padStart('abc', 3);
_.parseInt(string, [radix=10])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14391 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.parseint "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14440 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.parseint "See the npm package") [Ⓣ][1]
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
@@ -9188,7 +9190,7 @@ _.map(['6', '08', '10'], _.parseInt);
_.repeat([string=''], [n=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14422 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.repeat "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14471 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.repeat "See the npm package") [Ⓣ][1]
Repeats the given string `n` times.
@@ -9219,7 +9221,7 @@ _.repeat('abc', 0);
_.replace([string=''], pattern, replacement)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14450 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.replace "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14499 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.replace "See the npm package") [Ⓣ][1]
Replaces matches for `pattern` in `string` with `replacement`.
@@ -9249,7 +9251,7 @@ _.replace('Hi Fred', 'Fred', 'Barney');
_.snakeCase([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14478 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.snakecase "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14527 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.snakecase "See the npm package") [Ⓣ][1]
Converts `string` to
[snake case](https://en.wikipedia.org/wiki/Snake_case).
@@ -9280,7 +9282,7 @@ _.snakeCase('--FOO-BAR--');
_.split([string=''], separator, [limit])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14501 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.split "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14550 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.split "See the npm package") [Ⓣ][1]
Splits `string` by `separator`.
@@ -9310,7 +9312,7 @@ _.split('a-b-c', '-', 2);
_.startCase([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14543 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.startcase "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14592 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.startcase "See the npm package") [Ⓣ][1]
Converts `string` to
[start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
@@ -9341,7 +9343,7 @@ _.startCase('__FOO_BAR__');
_.startsWith([string=''], [target], [position=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14570 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.startswith "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14619 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.startswith "See the npm package") [Ⓣ][1]
Checks if `string` starts with the given target string.
@@ -9373,7 +9375,7 @@ _.startsWith('abc', 'b', 1);
_.template([string=''], [options={}])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14681 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.template "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14730 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.template "See the npm package") [Ⓣ][1]
Creates a compiled template function that can interpolate data properties
in "interpolate" delimiters, HTML-escape interpolated data properties in
@@ -9483,7 +9485,7 @@ fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\
_.toLower([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14810 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tolower "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14859 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tolower "See the npm package") [Ⓣ][1]
Converts `string`, as a whole, to lower case just like
[String#toLowerCase](https://mdn.io/toLowerCase).
@@ -9514,7 +9516,7 @@ _.toLower('__FOO_BAR__');
_.toUpper([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14835 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toupper "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14884 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toupper "See the npm package") [Ⓣ][1]
Converts `string`, as a whole, to upper case just like
[String#toUpperCase](https://mdn.io/toUpperCase).
@@ -9545,7 +9547,7 @@ _.toUpper('__foo_bar__');
_.trim([string=''], [chars=whitespace])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14861 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trim "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14910 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trim "See the npm package") [Ⓣ][1]
Removes leading and trailing whitespace or specified characters from `string`.
@@ -9576,7 +9578,7 @@ _.map([' foo ', ' bar '], _.trim);
_.trimEnd([string=''], [chars=whitespace])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14896 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trimend "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14945 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trimend "See the npm package") [Ⓣ][1]
Removes trailing whitespace or specified characters from `string`.
@@ -9604,7 +9606,7 @@ _.trimEnd('-_-abc-_-', '_-');
_.trimStart([string=''], [chars=whitespace])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14929 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trimstart "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L14978 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trimstart "See the npm package") [Ⓣ][1]
Removes leading whitespace or specified characters from `string`.
@@ -9632,7 +9634,7 @@ _.trimStart('-_-abc-_-', '_-');
_.truncate([string=''], [options={}])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L14980 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.truncate "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15029 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.truncate "See the npm package") [Ⓣ][1]
Truncates `string` if it's longer than the given maximum string length.
The last characters of the truncated string are replaced with the omission
@@ -9679,7 +9681,7 @@ _.truncate('hi-diddly-ho there, neighborino', {
_.unescape([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15055 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unescape "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15104 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unescape "See the npm package") [Ⓣ][1]
The inverse of `_.escape`; this method converts the HTML entities
`&`, `<`, `>`, `"`, and `'` in `string` to
@@ -9709,7 +9711,7 @@ _.unescape('fred, barney, & pebbles');
_.upperCase([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15082 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uppercase "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15131 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uppercase "See the npm package") [Ⓣ][1]
Converts `string`, as space separated words, to upper case.
@@ -9739,7 +9741,7 @@ _.upperCase('__foo_bar__');
_.upperFirst([string=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15103 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.upperfirst "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15152 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.upperfirst "See the npm package") [Ⓣ][1]
Converts the first character of `string` to upper case.
@@ -9766,7 +9768,7 @@ _.upperFirst('FRED');
_.words([string=''], [pattern])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15124 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.words "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15173 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.words "See the npm package") [Ⓣ][1]
Splits `string` into an array of its words.
@@ -9800,7 +9802,7 @@ _.words('fred, barney, & pebbles', /[^, ]+/g);
_.attempt(func, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15158 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.attempt "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15207 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.attempt "See the npm package") [Ⓣ][1]
Attempts to invoke `func`, returning either the result or the caught error
object. Any additional arguments are provided to `func` when it's invoked.
@@ -9832,7 +9834,7 @@ if (_.isError(elements)) {
_.bindAll(object, methodNames)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15192 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bindall "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15241 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bindall "See the npm package") [Ⓣ][1]
Binds methods of an object to the object itself, overwriting the existing
method.
@@ -9869,7 +9871,7 @@ jQuery(element).on('click', view.click);
_.cond(pairs)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15229 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.cond "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15278 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.cond "See the npm package") [Ⓣ][1]
Creates a function that iterates over `pairs` and invokes the corresponding
function of the first predicate to return truthy. The predicate-function
@@ -9908,7 +9910,7 @@ func({ 'a': '1', 'b': '2' });
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15275 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.conforms "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15324 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.conforms "See the npm package") [Ⓣ][1]
Creates a function that invokes the predicate properties of `source` with
the corresponding property values of a given object, returning `true` if
@@ -9943,7 +9945,7 @@ _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));
_.constant(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15298 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.constant "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15347 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.constant "See the npm package") [Ⓣ][1]
Creates a function that returns `value`.
@@ -9972,7 +9974,7 @@ console.log(objects[0] === objects[1]);
_.defaultTo(value, defaultValue)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15324 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaultto "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15373 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaultto "See the npm package") [Ⓣ][1]
Checks `value` to determine whether a default value should be returned in
its place. The `defaultValue` is returned if `value` is `NaN`, `null`,
@@ -10002,7 +10004,7 @@ _.defaultTo(undefined, 10);
_.flow([funcs])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15350 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flow "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15399 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flow "See the npm package") [Ⓣ][1]
Creates a function that returns the result of invoking the given functions
with the `this` binding of the created function, where each successive
@@ -10033,7 +10035,7 @@ addSquare(1, 2);
_.flowRight([funcs])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15373 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flowright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15422 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flowright "See the npm package") [Ⓣ][1]
This method is like `_.flow` except that it creates a function that
invokes the given functions from right to left.
@@ -10063,7 +10065,7 @@ addSquare(1, 2);
_.identity(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15391 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.identity "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15440 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.identity "See the npm package") [Ⓣ][1]
This method returns the first argument it receives.
@@ -10089,7 +10091,7 @@ console.log(_.identity(object) === object);
_.iteratee([func=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15437 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iteratee "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15486 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iteratee "See the npm package") [Ⓣ][1]
Creates a function that invokes `func` with the arguments of the created
function. If `func` is a property name, the created function returns the
@@ -10141,7 +10143,7 @@ _.filter(['abc', 'def'], /ef/);
_.matches(source)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15469 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.matches "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15518 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.matches "See the npm package") [Ⓣ][1]
Creates a function that performs a partial deep comparison between a given
object and `source`, returning `true` if the given object has equivalent
@@ -10181,7 +10183,7 @@ _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));
_.matchesProperty(path, srcValue)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15499 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.matchesproperty "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15548 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.matchesproperty "See the npm package") [Ⓣ][1]
Creates a function that performs a partial deep comparison between the
value at `path` of a given object to `srcValue`, returning `true` if the
@@ -10218,7 +10220,7 @@ _.find(objects, _.matchesProperty('a', 4));
_.method(path, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15527 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.method "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15576 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.method "See the npm package") [Ⓣ][1]
Creates a function that invokes the method at `path` of a given object.
Any additional arguments are provided to the invoked method.
@@ -10252,7 +10254,7 @@ _.map(objects, _.method(['a', 'b']));
_.methodOf(object, [args])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15556 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.methodof "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15605 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.methodof "See the npm package") [Ⓣ][1]
The opposite of `_.method`; this method creates a function that invokes
the method at a given path of `object`. Any additional arguments are
@@ -10285,7 +10287,7 @@ _.map([['a', '2'], ['c', '0']], _.methodOf(object));
_.mixin([object=lodash], source, [options={}])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15598 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mixin "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15647 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mixin "See the npm package") [Ⓣ][1]
Adds all own enumerable string keyed function properties of a source
object to the destination object. If `object` is a function, then methods
@@ -10332,7 +10334,7 @@ _('fred').vowels();
_.noConflict()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15647 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noconflict "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15696 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noconflict "See the npm package") [Ⓣ][1]
Reverts the `_` variable to its previous value and returns a reference to
the `lodash` function.
@@ -10353,7 +10355,7 @@ var lodash = _.noConflict();
_.noop()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15666 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noop "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15715 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noop "See the npm package") [Ⓣ][1]
This method returns `undefined`.
@@ -10371,7 +10373,7 @@ _.times(2, _.noop);
_.nthArg([n=0])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15690 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ntharg "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15739 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ntharg "See the npm package") [Ⓣ][1]
Creates a function that gets the argument at index `n`. If `n` is negative,
the nth argument from the end is returned.
@@ -10401,7 +10403,7 @@ func('a', 'b', 'c', 'd');
_.over([iteratees=[_.identity]])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15715 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.over "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15764 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.over "See the npm package") [Ⓣ][1]
Creates a function that invokes `iteratees` with the arguments it receives
and returns their results.
@@ -10428,7 +10430,7 @@ func(1, 2, 3, 4);
_.overEvery([predicates=[_.identity]])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15741 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.overevery "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15790 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.overevery "See the npm package") [Ⓣ][1]
Creates a function that checks if **all** of the `predicates` return
truthy when invoked with the arguments it receives.
@@ -10461,7 +10463,7 @@ func(NaN);
_.overSome([predicates=[_.identity]])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15767 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.oversome "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15816 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.oversome "See the npm package") [Ⓣ][1]
Creates a function that checks if **any** of the `predicates` return
truthy when invoked with the arguments it receives.
@@ -10494,7 +10496,7 @@ func(NaN);
_.property(path)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15791 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.property "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15840 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.property "See the npm package") [Ⓣ][1]
Creates a function that returns the value at `path` of a given object.
@@ -10526,7 +10528,7 @@ _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
_.propertyOf(object)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15816 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.propertyof "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15865 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.propertyof "See the npm package") [Ⓣ][1]
The opposite of `_.property`; this method creates a function that returns
the value at a given path of `object`.
@@ -10557,7 +10559,7 @@ _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
_.range([start=0], end, [step=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15863 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.range "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15912 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.range "See the npm package") [Ⓣ][1]
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
@@ -10608,7 +10610,7 @@ _.range(0);
_.rangeRight([start=0], end, [step=1])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15901 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rangeright "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15950 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rangeright "See the npm package") [Ⓣ][1]
This method is like `_.range` except that it populates values in
descending order.
@@ -10653,7 +10655,7 @@ _.rangeRight(0);
_.runInContext([context=root])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1420 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.runincontext "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1427 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.runincontext "See the npm package") [Ⓣ][1]
Create a new pristine `lodash` function using the `context` object.
@@ -10692,7 +10694,7 @@ var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
_.stubArray()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15921 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubarray "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15970 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubarray "See the npm package") [Ⓣ][1]
This method returns a new empty array.
@@ -10718,7 +10720,7 @@ console.log(arrays[0] === arrays[1]);
_.stubFalse()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15938 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubfalse "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L15987 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubfalse "See the npm package") [Ⓣ][1]
This method returns `false`.
@@ -10739,7 +10741,7 @@ _.times(2, _.stubFalse);
_.stubObject()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15960 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubobject "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16009 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubobject "See the npm package") [Ⓣ][1]
This method returns a new empty object.
@@ -10765,7 +10767,7 @@ console.log(objects[0] === objects[1]);
_.stubString()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15977 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubstring "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16026 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubstring "See the npm package") [Ⓣ][1]
This method returns an empty string.
@@ -10786,7 +10788,7 @@ _.times(2, _.stubString);
_.stubTrue()
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L15994 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubtrue "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16043 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubtrue "See the npm package") [Ⓣ][1]
This method returns `true`.
@@ -10807,7 +10809,7 @@ _.times(2, _.stubTrue);
_.times(n, [iteratee=_.identity])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16017 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.times "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16066 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.times "See the npm package") [Ⓣ][1]
Invokes the iteratee `n` times, returning an array of the results of
each invocation. The iteratee is invoked with one argument; *(index)*.
@@ -10836,7 +10838,7 @@ _.times(3, String);
_.toPath(value)
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16052 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topath "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16101 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topath "See the npm package") [Ⓣ][1]
Converts `value` to a property path array.
@@ -10863,7 +10865,7 @@ _.toPath('a[0].b.c');
_.uniqueId([prefix=''])
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16076 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqueid "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16125 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqueid "See the npm package") [Ⓣ][1]
Generates a unique ID. If `prefix` is given, the ID is appended to it.
@@ -10896,7 +10898,7 @@ _.uniqueId();
_.VERSION
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L16767 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L16816 "View in source") [Ⓣ][1]
(string): The semantic version number.
@@ -10907,7 +10909,7 @@ _.uniqueId();
_.templateSettings
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1731 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.templatesettings "See the npm package") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1738 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.templatesettings "See the npm package") [Ⓣ][1]
(Object): By default, the template delimiters used by lodash are like those in
embedded Ruby *(ERB)*. Change the following template settings to use
@@ -10920,7 +10922,7 @@ alternative delimiters.
_.templateSettings.escape
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1739 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1746 "View in source") [Ⓣ][1]
(RegExp): Used to detect `data` property values to be HTML-escaped.
@@ -10931,7 +10933,7 @@ alternative delimiters.
_.templateSettings.evaluate
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1747 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1754 "View in source") [Ⓣ][1]
(RegExp): Used to detect code to be evaluated.
@@ -10942,7 +10944,7 @@ alternative delimiters.
_.templateSettings.imports
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1771 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1778 "View in source") [Ⓣ][1]
(Object): Used to import variables into the compiled template.
@@ -10953,7 +10955,7 @@ alternative delimiters.
_.templateSettings.interpolate
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1755 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1762 "View in source") [Ⓣ][1]
(RegExp): Used to detect `data` property values to inject.
@@ -10964,7 +10966,7 @@ alternative delimiters.
_.templateSettings.variable
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1763 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1770 "View in source") [Ⓣ][1]
(string): Used to reference the data object in the template text.
@@ -10981,7 +10983,7 @@ alternative delimiters.
_.templateSettings.imports._
-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.6/lodash.js#L1779 "View in source") [Ⓣ][1]
+[Ⓢ](https://github.com/lodash/lodash/blob/4.17.0/lodash.js#L1786 "View in source") [Ⓣ][1]
A reference to the `lodash` function.
diff --git a/fp/_mapping.js b/fp/_mapping.js
index 7fa8e672e0..cbbcd99df2 100644
--- a/fp/_mapping.js
+++ b/fp/_mapping.js
@@ -172,9 +172,9 @@ exports.iterateeRearg = {
/** Used to map method names to rearg configs. */
exports.methodRearg = {
- 'assignInAllWith': [1, 2, 0],
+ 'assignInAllWith': [1, 0],
'assignInWith': [1, 2, 0],
- 'assignAllWith': [1, 2, 0],
+ 'assignAllWith': [1, 0],
'assignWith': [1, 2, 0],
'differenceBy': [1, 2, 0],
'differenceWith': [1, 2, 0],
@@ -183,7 +183,7 @@ exports.methodRearg = {
'intersectionWith': [1, 2, 0],
'isEqualWith': [1, 2, 0],
'isMatchWith': [2, 1, 0],
- 'mergeAllWith': [1, 2, 0],
+ 'mergeAllWith': [1, 0],
'mergeWith': [1, 2, 0],
'padChars': [2, 1, 0],
'padCharsEnd': [2, 1, 0],
@@ -206,15 +206,15 @@ exports.methodRearg = {
/** Used to map method names to spread configs. */
exports.methodSpread = {
'assignAll': { 'start': 0 },
- 'assignAllWith': { 'afterRearg': true, 'start': 1 },
+ 'assignAllWith': { 'start': 0 },
'assignInAll': { 'start': 0 },
- 'assignInAllWith': { 'afterRearg': true, 'start': 1 },
+ 'assignInAllWith': { 'start': 0 },
'defaultsAll': { 'start': 0 },
'defaultsDeepAll': { 'start': 0 },
'invokeArgs': { 'start': 2 },
'invokeArgsMap': { 'start': 2 },
'mergeAll': { 'start': 0 },
- 'mergeAllWith': { 'afterRearg': true, 'start': 1 },
+ 'mergeAllWith': { 'start': 0 },
'partial': { 'start': 1 },
'partialRight': { 'start': 1 },
'without': { 'start': 1 },
diff --git a/lib/main/build-site.js b/lib/main/build-site.js
index 139ae32fd2..6cbc1d4d2f 100644
--- a/lib/main/build-site.js
+++ b/lib/main/build-site.js
@@ -1,6 +1,7 @@
'use strict';
const _ = require('lodash');
+const cheerio = require('cheerio');
const fs = require('fs');
const marky = require('marky-markdown');
const path = require('path');
@@ -176,7 +177,7 @@ function build() {
// Uncomment docdown HTML hints.
.replace(/(<)!--\s*|\s*--(>)/g, '$1$2');
- const $ = marky(markdown, { 'sanitize': false });
+ const $ = cheerio.load(marky(markdown, { 'sanitize': false }));
const $header = $('h1').first().remove();
const version = $header.find('span').first().text().trim().slice(1);
diff --git a/lodash.js b/lodash.js
index 72f744fba1..5db9358e72 100644
--- a/lodash.js
+++ b/lodash.js
@@ -1,6 +1,6 @@
/**
* @license
- * lodash
+ * Lodash
* Copyright JS Foundation and other contributors
* Released under MIT license
* Based on Underscore.js 1.8.3
@@ -12,13 +12,13 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.16.6';
+ var VERSION = '4.17.0';
/** Used as the size to enable large array optimizations. */
var LARGE_ARRAY_SIZE = 200;
/** Error message constants. */
- var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://github.com/es-shims.',
+ var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
FUNC_ERROR_TEXT = 'Expected a function';
/** Used to stand-in for `undefined` hash values. */
@@ -30,21 +30,26 @@
/** Used as the internal argument placeholder. */
var PLACEHOLDER = '__lodash_placeholder__';
+ /** Used to compose bitmasks for cloning. */
+ var CLONE_DEEP_FLAG = 1,
+ CLONE_FLAT_FLAG = 2,
+ CLONE_SYMBOLS_FLAG = 4;
+
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG = 1,
+ COMPARE_UNORDERED_FLAG = 2;
+
/** Used to compose bitmasks for function metadata. */
- var BIND_FLAG = 1,
- BIND_KEY_FLAG = 2,
- CURRY_BOUND_FLAG = 4,
- CURRY_FLAG = 8,
- CURRY_RIGHT_FLAG = 16,
- PARTIAL_FLAG = 32,
- PARTIAL_RIGHT_FLAG = 64,
- ARY_FLAG = 128,
- REARG_FLAG = 256,
- FLIP_FLAG = 512;
-
- /** Used to compose bitmasks for comparison styles. */
- var UNORDERED_COMPARE_FLAG = 1,
- PARTIAL_COMPARE_FLAG = 2;
+ var WRAP_BIND_FLAG = 1,
+ WRAP_BIND_KEY_FLAG = 2,
+ WRAP_CURRY_BOUND_FLAG = 4,
+ WRAP_CURRY_FLAG = 8,
+ WRAP_CURRY_RIGHT_FLAG = 16,
+ WRAP_PARTIAL_FLAG = 32,
+ WRAP_PARTIAL_RIGHT_FLAG = 64,
+ WRAP_ARY_FLAG = 128,
+ WRAP_REARG_FLAG = 256,
+ WRAP_FLIP_FLAG = 512;
/** Used as default options for `_.truncate`. */
var DEFAULT_TRUNC_LENGTH = 30,
@@ -72,15 +77,15 @@
/** Used to associate wrap methods with their bit flags. */
var wrapFlags = [
- ['ary', ARY_FLAG],
- ['bind', BIND_FLAG],
- ['bindKey', BIND_KEY_FLAG],
- ['curry', CURRY_FLAG],
- ['curryRight', CURRY_RIGHT_FLAG],
- ['flip', FLIP_FLAG],
- ['partial', PARTIAL_FLAG],
- ['partialRight', PARTIAL_RIGHT_FLAG],
- ['rearg', REARG_FLAG]
+ ['ary', WRAP_ARY_FLAG],
+ ['bind', WRAP_BIND_FLAG],
+ ['bindKey', WRAP_BIND_KEY_FLAG],
+ ['curry', WRAP_CURRY_FLAG],
+ ['curryRight', WRAP_CURRY_RIGHT_FLAG],
+ ['flip', WRAP_FLIP_FLAG],
+ ['partial', WRAP_PARTIAL_FLAG],
+ ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
+ ['rearg', WRAP_REARG_FLAG]
];
/** `Object#toString` result references. */
@@ -199,8 +204,10 @@
/** Used to compose unicode character classes. */
var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
+ rsComboMarksRange = '\\u0300-\\u036f',
+ reComboHalfMarksRange = '\\ufe20-\\ufe2f',
+ rsComboSymbolsRange = '\\u20d0-\\u20ff',
+ rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
rsDingbatRange = '\\u2700-\\u27bf',
rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
@@ -215,7 +222,7 @@
var rsApos = "['\u2019]",
rsAstral = '[' + rsAstralRange + ']',
rsBreak = '[' + rsBreakRange + ']',
- rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
+ rsCombo = '[' + rsComboRange + ']',
rsDigits = '\\d+',
rsDingbat = '[' + rsDingbatRange + ']',
rsLower = '[' + rsLowerRange + ']',
@@ -267,7 +274,7 @@
].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 reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
+ var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
/** Used to detect strings that need a more robust regexp to match words. */
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
@@ -430,7 +437,7 @@
/** Used to access faster Node.js helpers. */
var nodeUtil = (function() {
try {
- return freeProcess && freeProcess.binding('util');
+ return freeProcess && freeProcess.binding && freeProcess.binding('util');
} catch (e) {}
}());
@@ -2558,6 +2565,19 @@
return object && copyObject(source, keys(source), object);
}
+ /**
+ * The base implementation of `_.assignIn` without support for multiple sources
+ * or `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */
+ function baseAssignIn(object, source) {
+ return object && copyObject(source, keysIn(source), object);
+ }
+
/**
* The base implementation of `assignValue` and `assignMergeValue` without
* value checks.
@@ -2585,7 +2605,7 @@
*
* @private
* @param {Object} object The object to iterate over.
- * @param {string[]} paths The property paths of elements to pick.
+ * @param {string[]} paths The property paths to pick.
* @returns {Array} Returns the picked elements.
*/
function baseAt(object, paths) {
@@ -2627,16 +2647,22 @@
*
* @private
* @param {*} value The value to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @param {boolean} [isFull] Specify a clone including symbols.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Deep clone
+ * 2 - Flatten inherited properties
+ * 4 - Clone symbols
* @param {Function} [customizer] The function to customize cloning.
* @param {string} [key] The key of `value`.
* @param {Object} [object] The parent object of `value`.
* @param {Object} [stack] Tracks traversed objects and their clone counterparts.
* @returns {*} Returns the cloned value.
*/
- function baseClone(value, isDeep, isFull, customizer, key, object, stack) {
- var result;
+ function baseClone(value, bitmask, customizer, key, object, stack) {
+ var result,
+ isDeep = bitmask & CLONE_DEEP_FLAG,
+ isFlat = bitmask & CLONE_FLAT_FLAG,
+ isFull = bitmask & CLONE_SYMBOLS_FLAG;
+
if (customizer) {
result = object ? customizer(value, key, object, stack) : customizer(value);
}
@@ -2660,9 +2686,11 @@
return cloneBuffer(value, isDeep);
}
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
- result = initCloneObject(isFunc ? {} : value);
+ result = (isFlat || isFunc) ? {} : initCloneObject(value);
if (!isDeep) {
- return copySymbols(value, baseAssign(result, value));
+ return isFlat
+ ? copySymbolsIn(value, baseAssignIn(result, value))
+ : copySymbols(value, baseAssign(result, value));
}
} else {
if (!cloneableTags[tag]) {
@@ -2679,14 +2707,18 @@
}
stack.set(value, result);
- var props = isArr ? undefined : (isFull ? getAllKeys : keys)(value);
+ var keysFunc = isFull
+ ? (isFlat ? getAllKeysIn : getAllKeys)
+ : (isFlat ? keysIn : keys);
+
+ var props = isArr ? undefined : keysFunc(value);
arrayEach(props || value, function(subValue, key) {
if (props) {
key = subValue;
subValue = value[key];
}
// Recursively populate clone (susceptible to call stack limits).
- assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));
+ assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
});
return result;
}
@@ -3259,22 +3291,21 @@
* @private
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
* @param {Function} [customizer] The function to customize comparisons.
- * @param {boolean} [bitmask] The bitmask of comparison flags.
- * The bitmask may be composed of the following flags:
- * 1 - Unordered comparison
- * 2 - Partial comparison
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
*/
- function baseIsEqual(value, other, customizer, bitmask, stack) {
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
if (value === other) {
return true;
}
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
return value !== value && other !== other;
}
- return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
}
/**
@@ -3285,14 +3316,13 @@
* @private
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
* @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
* @param {Object} [stack] Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
var objIsArr = isArray(object),
othIsArr = isArray(other),
objTag = arrayTag,
@@ -3320,10 +3350,10 @@
if (isSameTag && !objIsObj) {
stack || (stack = new Stack);
return (objIsArr || isTypedArray(object))
- ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
- : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
}
- if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
@@ -3332,14 +3362,14 @@
othUnwrapped = othIsWrapped ? other.value() : other;
stack || (stack = new Stack);
- return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
}
}
if (!isSameTag) {
return false;
}
stack || (stack = new Stack);
- return equalObjects(object, other, equalFunc, customizer, bitmask, stack);
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
}
/**
@@ -3397,7 +3427,7 @@
var result = customizer(objValue, srcValue, key, object, source, stack);
}
if (!(result === undefined
- ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)
+ ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
: result
)) {
return false;
@@ -3587,7 +3617,7 @@
var objValue = get(object, path);
return (objValue === undefined && objValue === srcValue)
? hasIn(object, path)
- : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);
+ : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
};
}
@@ -3749,13 +3779,13 @@
*
* @private
* @param {Object} object The source object.
- * @param {string[]} props The property identifiers to pick.
+ * @param {string[]} paths The property paths to pick.
* @returns {Object} Returns the new object.
*/
- function basePick(object, props) {
+ function basePick(object, paths) {
object = Object(object);
- return basePickBy(object, props, function(value, key) {
- return key in object;
+ return basePickBy(object, paths, function(value, path) {
+ return hasIn(object, path);
});
}
@@ -3764,21 +3794,21 @@
*
* @private
* @param {Object} object The source object.
- * @param {string[]} props The property identifiers to pick from.
+ * @param {string[]} paths The property paths to pick.
* @param {Function} predicate The function invoked per property.
* @returns {Object} Returns the new object.
*/
- function basePickBy(object, props, predicate) {
+ function basePickBy(object, paths, predicate) {
var index = -1,
- length = props.length,
+ length = paths.length,
result = {};
while (++index < length) {
- var key = props[index],
- value = object[key];
+ var path = paths[index],
+ value = baseGet(object, path);
- if (predicate(value, key)) {
- baseAssignValue(result, key, value);
+ if (predicate(value, path)) {
+ baseSet(result, path, value);
}
}
return result;
@@ -4322,7 +4352,7 @@
*
* @private
* @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to unset.
+ * @param {Array|string} path The property path to unset.
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
*/
function baseUnset(object, path) {
@@ -4567,7 +4597,7 @@
* @returns {Object} Returns the cloned map.
*/
function cloneMap(map, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);
+ var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
return arrayReduce(array, addMapEntry, new map.constructor);
}
@@ -4594,7 +4624,7 @@
* @returns {Object} Returns the cloned set.
*/
function cloneSet(set, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);
+ var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
return arrayReduce(array, addSetEntry, new set.constructor);
}
@@ -4829,7 +4859,7 @@
}
/**
- * Copies own symbol properties of `source` to `object`.
+ * Copies own symbols of `source` to `object`.
*
* @private
* @param {Object} source The object to copy symbols from.
@@ -4840,6 +4870,18 @@
return copyObject(source, getSymbols(source), object);
}
+ /**
+ * Copies own and inherited symbols of `source` to `object`.
+ *
+ * @private
+ * @param {Object} source The object to copy symbols from.
+ * @param {Object} [object={}] The object to copy symbols to.
+ * @returns {Object} Returns `object`.
+ */
+ function copySymbolsIn(source, object) {
+ return copyObject(source, getSymbolsIn(source), object);
+ }
+
/**
* Creates a function like `_.groupBy`.
*
@@ -4954,7 +4996,7 @@
* @returns {Function} Returns the new wrapped function.
*/
function createBind(func, bitmask, thisArg) {
- var isBind = bitmask & BIND_FLAG,
+ var isBind = bitmask & WRAP_BIND_FLAG,
Ctor = createCtor(func);
function wrapper() {
@@ -5127,7 +5169,7 @@
data = funcName == 'wrapper' ? getData(func) : undefined;
if (data && isLaziable(data[0]) &&
- data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) &&
+ data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&
!data[4].length && data[9] == 1
) {
wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
@@ -5176,11 +5218,11 @@
* @returns {Function} Returns the new wrapped function.
*/
function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
- var isAry = bitmask & ARY_FLAG,
- isBind = bitmask & BIND_FLAG,
- isBindKey = bitmask & BIND_KEY_FLAG,
- isCurried = bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG),
- isFlip = bitmask & FLIP_FLAG,
+ var isAry = bitmask & WRAP_ARY_FLAG,
+ isBind = bitmask & WRAP_BIND_FLAG,
+ isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
+ isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),
+ isFlip = bitmask & WRAP_FLIP_FLAG,
Ctor = isBindKey ? undefined : createCtor(func);
function wrapper() {
@@ -5331,7 +5373,7 @@
* @returns {Function} Returns the new wrapped function.
*/
function createPartial(func, bitmask, thisArg, partials) {
- var isBind = bitmask & BIND_FLAG,
+ var isBind = bitmask & WRAP_BIND_FLAG,
Ctor = createCtor(func);
function wrapper() {
@@ -5413,17 +5455,17 @@
* @returns {Function} Returns the new wrapped function.
*/
function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
- var isCurry = bitmask & CURRY_FLAG,
+ var isCurry = bitmask & WRAP_CURRY_FLAG,
newHolders = isCurry ? holders : undefined,
newHoldersRight = isCurry ? undefined : holders,
newPartials = isCurry ? partials : undefined,
newPartialsRight = isCurry ? undefined : partials;
- bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
- bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
+ bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
+ bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
- if (!(bitmask & CURRY_BOUND_FLAG)) {
- bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
+ if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
+ bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
}
var newData = [
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
@@ -5501,17 +5543,16 @@
* @private
* @param {Function|string} func The function or method name to wrap.
* @param {number} bitmask The bitmask flags.
- * The bitmask may be composed of the following flags:
- * 1 - `_.bind`
- * 2 - `_.bindKey`
- * 4 - `_.curry` or `_.curryRight` of a bound function
- * 8 - `_.curry`
- * 16 - `_.curryRight`
- * 32 - `_.partial`
- * 64 - `_.partialRight`
- * 128 - `_.rearg`
- * 256 - `_.ary`
- * 512 - `_.flip`
+ * 1 - `_.bind`
+ * 2 - `_.bindKey`
+ * 4 - `_.curry` or `_.curryRight` of a bound function
+ * 8 - `_.curry`
+ * 16 - `_.curryRight`
+ * 32 - `_.partial`
+ * 64 - `_.partialRight`
+ * 128 - `_.rearg`
+ * 256 - `_.ary`
+ * 512 - `_.flip`
* @param {*} [thisArg] The `this` binding of `func`.
* @param {Array} [partials] The arguments to be partially applied.
* @param {Array} [holders] The `partials` placeholder indexes.
@@ -5521,20 +5562,20 @@
* @returns {Function} Returns the new wrapped function.
*/
function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
- var isBindKey = bitmask & BIND_KEY_FLAG;
+ var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
if (!isBindKey && typeof func != 'function') {
throw new TypeError(FUNC_ERROR_TEXT);
}
var length = partials ? partials.length : 0;
if (!length) {
- bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
+ bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
partials = holders = undefined;
}
ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
arity = arity === undefined ? arity : toInteger(arity);
length -= holders ? holders.length : 0;
- if (bitmask & PARTIAL_RIGHT_FLAG) {
+ if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
var partialsRight = partials,
holdersRight = holders;
@@ -5559,14 +5600,14 @@
? (isBindKey ? 0 : func.length)
: nativeMax(newData[9] - length, 0);
- if (!arity && bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG)) {
- bitmask &= ~(CURRY_FLAG | CURRY_RIGHT_FLAG);
+ if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
+ bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
}
- if (!bitmask || bitmask == BIND_FLAG) {
+ if (!bitmask || bitmask == WRAP_BIND_FLAG) {
var result = createBind(func, bitmask, thisArg);
- } else if (bitmask == CURRY_FLAG || bitmask == CURRY_RIGHT_FLAG) {
+ } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
result = createCurry(func, bitmask, arity);
- } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !holders.length) {
+ } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
result = createPartial(func, bitmask, thisArg, partials);
} else {
result = createHybrid.apply(undefined, newData);
@@ -5582,15 +5623,14 @@
* @private
* @param {Array} array The array to compare.
* @param {Array} other The other array to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `array` and `other` objects.
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
*/
- function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
arrLength = array.length,
othLength = other.length;
@@ -5604,7 +5644,7 @@
}
var index = -1,
result = true,
- seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
stack.set(array, other);
stack.set(other, array);
@@ -5630,7 +5670,7 @@
if (seen) {
if (!arraySome(other, function(othValue, othIndex) {
if (!cacheHas(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
return seen.push(othIndex);
}
})) {
@@ -5639,7 +5679,7 @@
}
} else if (!(
arrValue === othValue ||
- equalFunc(arrValue, othValue, customizer, bitmask, stack)
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
)) {
result = false;
break;
@@ -5661,14 +5701,13 @@
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
* @param {string} tag The `toStringTag` of the objects to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
switch (tag) {
case dataViewTag:
if ((object.byteLength != other.byteLength) ||
@@ -5706,7 +5745,7 @@
var convert = mapToArray;
case setTag:
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG;
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
convert || (convert = setToArray);
if (object.size != other.size && !isPartial) {
@@ -5717,11 +5756,11 @@
if (stacked) {
return stacked == other;
}
- bitmask |= UNORDERED_COMPARE_FLAG;
+ bitmask |= COMPARE_UNORDERED_FLAG;
// Recursively compare objects (susceptible to call stack limits).
stack.set(object, other);
- var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);
+ var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
stack['delete'](object);
return result;
@@ -5740,15 +5779,14 @@
* @private
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
* @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
+ * @param {Function} equalFunc The function to determine equivalents of values.
* @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {
- var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
objProps = keys(object),
objLength = objProps.length,
othProps = keys(other),
@@ -5786,7 +5824,7 @@
}
// Recursively compare objects (susceptible to call stack limits).
if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
: compared
)) {
result = false;
@@ -5983,7 +6021,7 @@
}
/**
- * Creates an array of the own enumerable symbol properties of `object`.
+ * Creates an array of the own enumerable symbols of `object`.
*
* @private
* @param {Object} object The object to query.
@@ -5992,8 +6030,7 @@
var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;
/**
- * Creates an array of the own and inherited enumerable symbol properties
- * of `object`.
+ * Creates an array of the own and inherited enumerable symbols of `object`.
*
* @private
* @param {Object} object The object to query.
@@ -6425,22 +6462,22 @@
var bitmask = data[1],
srcBitmask = source[1],
newBitmask = bitmask | srcBitmask,
- isCommon = newBitmask < (BIND_FLAG | BIND_KEY_FLAG | ARY_FLAG);
+ isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
var isCombo =
- ((srcBitmask == ARY_FLAG) && (bitmask == CURRY_FLAG)) ||
- ((srcBitmask == ARY_FLAG) && (bitmask == REARG_FLAG) && (data[7].length <= source[8])) ||
- ((srcBitmask == (ARY_FLAG | REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == CURRY_FLAG));
+ ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||
+ ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||
+ ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));
// Exit early if metadata can't be merged.
if (!(isCommon || isCombo)) {
return data;
}
// Use source `thisArg` if available.
- if (srcBitmask & BIND_FLAG) {
+ if (srcBitmask & WRAP_BIND_FLAG) {
data[2] = source[2];
// Set when currying a bound function.
- newBitmask |= bitmask & BIND_FLAG ? 0 : CURRY_BOUND_FLAG;
+ newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
}
// Compose partial arguments.
var value = source[3];
@@ -6462,7 +6499,7 @@
data[7] = value;
}
// Use source `ary` if it's smaller.
- if (srcBitmask & ARY_FLAG) {
+ if (srcBitmask & WRAP_ARY_FLAG) {
data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
}
// Use source `arity` if one is not provided.
@@ -8779,7 +8816,7 @@
* @memberOf _
* @since 1.0.0
* @category Seq
- * @param {...(string|string[])} [paths] The property paths of elements to pick.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
@@ -9998,7 +10035,7 @@
function ary(func, n, guard) {
n = guard ? undefined : n;
n = (func && n == null) ? func.length : n;
- return createWrap(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
+ return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
}
/**
@@ -10071,10 +10108,10 @@
* // => 'hi fred!'
*/
var bind = baseRest(function(func, thisArg, partials) {
- var bitmask = BIND_FLAG;
+ var bitmask = WRAP_BIND_FLAG;
if (partials.length) {
var holders = replaceHolders(partials, getHolder(bind));
- bitmask |= PARTIAL_FLAG;
+ bitmask |= WRAP_PARTIAL_FLAG;
}
return createWrap(func, bitmask, thisArg, partials, holders);
});
@@ -10125,10 +10162,10 @@
* // => 'hiya fred!'
*/
var bindKey = baseRest(function(object, key, partials) {
- var bitmask = BIND_FLAG | BIND_KEY_FLAG;
+ var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
if (partials.length) {
var holders = replaceHolders(partials, getHolder(bindKey));
- bitmask |= PARTIAL_FLAG;
+ bitmask |= WRAP_PARTIAL_FLAG;
}
return createWrap(key, bitmask, object, partials, holders);
});
@@ -10176,7 +10213,7 @@
*/
function curry(func, arity, guard) {
arity = guard ? undefined : arity;
- var result = createWrap(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
+ var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
result.placeholder = curry.placeholder;
return result;
}
@@ -10221,7 +10258,7 @@
*/
function curryRight(func, arity, guard) {
arity = guard ? undefined : arity;
- var result = createWrap(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
+ var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
result.placeholder = curryRight.placeholder;
return result;
}
@@ -10466,7 +10503,7 @@
* // => ['d', 'c', 'b', 'a']
*/
function flip(func) {
- return createWrap(func, FLIP_FLAG);
+ return createWrap(func, WRAP_FLIP_FLAG);
}
/**
@@ -10677,7 +10714,7 @@
*/
var partial = baseRest(function(func, partials) {
var holders = replaceHolders(partials, getHolder(partial));
- return createWrap(func, PARTIAL_FLAG, undefined, partials, holders);
+ return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
});
/**
@@ -10714,7 +10751,7 @@
*/
var partialRight = baseRest(function(func, partials) {
var holders = replaceHolders(partials, getHolder(partialRight));
- return createWrap(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
+ return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
});
/**
@@ -10740,7 +10777,7 @@
* // => ['a', 'b', 'c']
*/
var rearg = flatRest(function(func, indexes) {
- return createWrap(func, REARG_FLAG, undefined, undefined, undefined, indexes);
+ return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
});
/**
@@ -10817,11 +10854,15 @@
start = start === undefined ? 0 : nativeMax(toInteger(start), 0);
return baseRest(function(args) {
var array = args[start],
+ lastIndex = args.length - 1,
otherArgs = castSlice(args, 0, start);
if (array) {
arrayPush(otherArgs, array);
}
+ if (start != lastIndex) {
+ arrayPush(otherArgs, castSlice(args, start + 1));
+ }
return apply(func, this, otherArgs);
});
}
@@ -11003,7 +11044,7 @@
* // => true
*/
function clone(value) {
- return baseClone(value, false, true);
+ return baseClone(value, CLONE_SYMBOLS_FLAG);
}
/**
@@ -11039,7 +11080,7 @@
*/
function cloneWith(value, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, false, true, customizer);
+ return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
}
/**
@@ -11061,7 +11102,7 @@
* // => false
*/
function cloneDeep(value) {
- return baseClone(value, true, true);
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
/**
@@ -11094,7 +11135,7 @@
*/
function cloneDeepWith(value, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, true, true, customizer);
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
}
/**
@@ -11543,7 +11584,7 @@
function isEqualWith(value, other, customizer) {
customizer = typeof customizer == 'function' ? customizer : undefined;
var result = customizer ? customizer(value, other) : undefined;
- return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
+ return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
}
/**
@@ -12686,7 +12727,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.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Array} Returns the picked values.
* @example
*
@@ -13413,15 +13454,16 @@
/**
* The opposite of `_.pick`; this method creates an object composed of the
- * own and inherited enumerable string keyed properties of `object` that are
- * not omitted.
+ * own and inherited enumerable property paths of `object` that are not omitted.
+ *
+ * **Note:** This method is considerably slower than `_.pick`.
*
* @static
* @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to omit.
+ * @param {...(string|string[])} [paths] The property paths to omit.
* @returns {Object} Returns the new object.
* @example
*
@@ -13430,12 +13472,19 @@
* _.omit(object, ['a', 'c']);
* // => { 'b': '2' }
*/
- var omit = flatRest(function(object, props) {
+ var omit = flatRest(function(object, paths) {
+ var result = {};
if (object == null) {
- return {};
+ return result;
}
- props = arrayMap(props, toKey);
- return basePick(object, baseDifference(getAllKeysIn(object), props));
+ copyObject(object, getAllKeysIn(object), result);
+ result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG);
+
+ var length = paths.length;
+ while (length--) {
+ baseUnset(result, paths[length]);
+ }
+ return result;
});
/**
@@ -13470,7 +13519,7 @@
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to pick.
+ * @param {...(string|string[])} [paths] The property paths to pick.
* @returns {Object} Returns the new object.
* @example
*
@@ -13479,8 +13528,8 @@
* _.pick(object, ['a', 'c']);
* // => { 'a': 1, 'c': 3 }
*/
- var pick = flatRest(function(object, props) {
- return object == null ? {} : basePick(object, arrayMap(props, toKey));
+ var pick = flatRest(function(object, paths) {
+ return object == null ? {} : basePick(object, arrayMap(paths, toKey));
});
/**
@@ -15273,7 +15322,7 @@
* // => [{ 'a': 1, 'b': 2 }]
*/
function conforms(source) {
- return baseConforms(baseClone(source, true));
+ return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
}
/**
@@ -15435,7 +15484,7 @@
* // => ['def']
*/
function iteratee(func) {
- return baseIteratee(typeof func == 'function' ? func : baseClone(func, true));
+ return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));
}
/**
@@ -15467,7 +15516,7 @@
* // => [{ 'a': 4, 'b': 5, 'c': 6 }]
*/
function matches(source) {
- return baseMatches(baseClone(source, true));
+ return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
}
/**
@@ -15497,7 +15546,7 @@
* // => { 'a': 4, 'b': 5, 'c': 6 }
*/
function matchesProperty(path, srcValue) {
- return baseMatchesProperty(path, baseClone(srcValue, true));
+ return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
}
/**
@@ -16957,7 +17006,7 @@
}
});
- realNames[createHybrid(undefined, BIND_KEY_FLAG).name] = [{
+ realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{
'name': 'wrapper',
'func': undefined
}];
diff --git a/package.json b/package.json
index 68c590ce30..88879d79b5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lodash",
- "version": "4.16.6",
+ "version": "4.17.0",
"license": "MIT",
"private": true,
"main": "lodash.js",
@@ -14,7 +14,7 @@
"doc": "node lib/main/build-doc github && npm run test:doc",
"doc:fp": "node lib/fp/build-doc",
"doc:site": "node lib/main/build-doc site",
- "doc:sitehtml": "optional-dev-dependency marky-markdown@^8.1.0 && npm run doc:site && node lib/main/build-site",
+ "doc:sitehtml": "optional-dev-dependency marky-markdown@^9.0.1 && npm run doc:site && node lib/main/build-site",
"pretest": "npm run build",
"style": "npm run style:main && npm run style:fp && npm run style:perf && npm run style:test",
"style:fp": "jscs fp/*.js lib/**/*.js",
@@ -31,25 +31,26 @@
"async": "^2.1.2",
"benchmark": "^2.1.2",
"chalk": "^1.1.3",
+ "cheerio": "^0.22.0",
"codecov.io": "~0.1.6",
- "coveralls": "^2.11.14",
+ "coveralls": "^2.11.15",
"curl-amd": "~0.8.12",
"docdown": "~0.7.1",
"dojo": "^1.11.2",
"ecstatic": "^2.1.0",
- "fs-extra": "~0.30.0",
+ "fs-extra": "~1.0.0",
"glob": "^7.1.1",
"istanbul": "0.4.5",
"jquery": "^3.1.1",
"jscs": "^3.0.7",
- "lodash": "4.16.5",
+ "lodash": "4.16.6",
"lodash-doc-globals": "^0.1.1",
"markdown-doctest": "^0.9.0",
- "optional-dev-dependency": "^1.4.0",
- "platform": "^1.3.1",
+ "optional-dev-dependency": "^2.0.0",
+ "platform": "^1.3.3",
"qunit-extras": "^3.0.0",
"qunitjs": "^2.0.1",
- "request": "^2.76.0",
+ "request": "^2.78.0",
"requirejs": "^2.3.2",
"sauce-tunnel": "^2.5.0",
"uglify-js": "2.7.4",
diff --git a/test/test-fp.js b/test/test-fp.js
index a7803be7c5..312a3869d0 100644
--- a/test/test-fp.js
+++ b/test/test-fp.js
@@ -717,7 +717,7 @@
/*--------------------------------------------------------------------------*/
- QUnit.module('assign methods');
+ QUnit.module('object assignments');
_.each(['assign', 'assignIn', 'defaults', 'defaultsDeep', 'merge'], function(methodName) {
var func = fp[methodName];
@@ -747,10 +747,6 @@
});
});
- /*--------------------------------------------------------------------------*/
-
- QUnit.module('assignWith methods');
-
_.each(['assignWith', 'assignInWith', 'extendWith'], function(methodName) {
var func = fp[methodName];
@@ -765,41 +761,30 @@
assert.deepEqual(args, [undefined, 2, 'b', { 'a': 1 }, { 'b': 2 }]);
});
+ });
+
+ _.each(['assignAllWith', 'assignInAllWith', 'extendAllWith', 'mergeAllWith'], function(methodName) {
+ var func = fp[methodName];
QUnit.test('`fp.' + methodName + '` should not mutate values', function(assert) {
assert.expect(2);
var objects = [{ 'a': 1 }, { 'b': 2 }],
- actual = func(_.nthArg(1))(objects[0])(objects[1]);
+ actual = func(_.noop)(objects);
assert.deepEqual(objects[0], { 'a': 1 });
assert.deepEqual(actual, { 'a': 1, 'b': 2 });
});
- });
-
- _.each(['assignAllWith', 'assignInAllWith', 'extendAllWith'], function(methodName) {
- var func = fp[methodName];
-
- QUnit.test('`fp.' + methodName + '` should provide the correct `customizer` arguments', function(assert) {
- assert.expect(1);
-
- var args;
-
- func(function() {
- args || (args = _.map(arguments, _.cloneDeep));
- })([{ 'a': 1 }, { 'b': 2 }]);
-
- assert.deepEqual(args, [undefined, 2, 'b', { 'a': 1 }, { 'b': 2 }]);
- });
- QUnit.test('`fp.' + methodName + '` should not mutate values', function(assert) {
+ QUnit.test('`fp.' + methodName + '` should work with more than two sources', function(assert) {
assert.expect(2);
- var objects = [{ 'a': 1 }, { 'b': 2 }],
- actual = func(_.nthArg(1))(objects);
+ var pass = false,
+ objects = [{ 'a': 1 }, { 'b': 2 }, { 'c': 3 }],
+ actual = func(function() { pass = true; })(objects);
- assert.deepEqual(objects[0], { 'a': 1 });
- assert.deepEqual(actual, { 'a': 1, 'b': 2 });
+ assert.ok(pass);
+ assert.deepEqual(actual, { 'a': 1, 'b': 2, 'c': 3 });
});
});
@@ -1496,28 +1481,19 @@
assert.expect(1);
var args,
+ objects = [{ 'a': [1, 2] }, { 'a': [3] }],
stack = { '__data__': { '__data__': [], 'size': 0 }, 'size': 0 },
expected = [[1, 2], [3], 'a', { 'a': [1, 2] }, { 'a': [3] }, stack];
fp.mergeAllWith(function() {
args || (args = _.map(arguments, _.cloneDeep));
- })([{ 'a': [1, 2] }, { 'a': [3] }]);
+ })(objects);
args[5] = _.omitBy(args[5], _.isFunction);
args[5].__data__ = _.omitBy(args[5].__data__, _.isFunction);
assert.deepEqual(args, expected);
});
-
- QUnit.test('should not mutate values', function(assert) {
- assert.expect(2);
-
- var objects = [{ 'a': [1, 2] }, { 'a': [3] }],
- actual = fp.mergeAllWith(_.noop, objects);
-
- assert.deepEqual(objects[0], { 'a': [1, 2] });
- assert.deepEqual(actual, { 'a': [3, 2] });
- });
}());
/*--------------------------------------------------------------------------*/
diff --git a/test/test.js b/test/test.js
index 417262fe34..c62c4e84c5 100644
--- a/test/test.js
+++ b/test/test.js
@@ -3090,7 +3090,7 @@
if (value) {
var object = { 'a': value, 'b': { 'c': value } },
actual = func(object),
- expected = (typeof value == 'function' && !!value.c) ? { 'c': Foo.c } : {};
+ expected = value === Foo ? { 'c': Foo.c } : {};
assert.deepEqual(actual, object);
assert.notStrictEqual(actual, object);
@@ -15315,7 +15315,7 @@
});
});
- QUnit.test('should return `undefined` with deep paths when `object` is nullish', function(assert) {
+ QUnit.test('should return `undefined` for deep paths when `object` is nullish', function(assert) {
assert.expect(2);
var values = [, null, undefined],
@@ -15469,7 +15469,7 @@
});
});
- QUnit.test('should return `undefined` with deep paths when `object` is nullish', function(assert) {
+ QUnit.test('should return `undefined` for deep paths when `object` is nullish', function(assert) {
assert.expect(2);
var values = [, null, undefined],
@@ -16343,15 +16343,34 @@
(function() {
var args = toArgs(['a', 'c']),
- object = { 'a': 1, 'b': 2, 'c': 3, 'd': 4 };
+ object = { 'a': 1, 'b': 2, 'c': 3, 'd': 4 },
+ nested = { 'a': 1, 'b': { 'c': 2, 'd': 3 } };
- QUnit.test('should flatten `props`', function(assert) {
+ QUnit.test('should flatten `paths`', function(assert) {
assert.expect(2);
assert.deepEqual(_.omit(object, 'a', 'c'), { 'b': 2, 'd': 4 });
assert.deepEqual(_.omit(object, ['a', 'd'], 'c'), { 'b': 2 });
});
+ QUnit.test('should support deep paths', function(assert) {
+ assert.expect(1);
+
+ assert.deepEqual(_.omit(nested, 'b.c'), { 'a': 1, 'b': { 'd': 3} });
+ });
+
+ QUnit.test('should coerce property names to strings', function(assert) {
+ assert.expect(1);
+
+ assert.deepEqual(_.omit({ '0': 'a' }, 0), {});
+ });
+
+ QUnit.test('should work with `arguments` objects as secondary arguments', function(assert) {
+ assert.expect(1);
+
+ assert.deepEqual(_.omit(object, args), { 'b': 2, 'd': 4 });
+ });
+
QUnit.test('should work with a primitive `object`', function(assert) {
assert.expect(1);
@@ -16374,18 +16393,6 @@
assert.deepEqual(actual, {});
});
});
-
- QUnit.test('should work with `arguments` objects as secondary arguments', function(assert) {
- assert.expect(1);
-
- assert.deepEqual(_.omit(object, args), { 'b': 2, 'd': 4 });
- });
-
- QUnit.test('should coerce property names to strings', function(assert) {
- assert.expect(1);
-
- assert.deepEqual(_.omit({ '0': 'a' }, 0), {});
- });
}());
/*--------------------------------------------------------------------------*/
@@ -16457,7 +16464,7 @@
assert.deepEqual(actual, expected);
});
- QUnit.test('`_.' + methodName + '` should include symbol properties', function(assert) {
+ QUnit.test('`_.' + methodName + '` should include symbols', function(assert) {
assert.expect(2);
function Foo() {
@@ -16480,7 +16487,7 @@
}
});
- QUnit.test('`_.' + methodName + '` should create an object with omitted symbol properties', function(assert) {
+ QUnit.test('`_.' + methodName + '` should create an object with omitted symbols', function(assert) {
assert.expect(6);
function Foo() {
@@ -17574,27 +17581,26 @@
(function() {
var args = toArgs(['a', 'c']),
- object = { 'a': 1, 'b': 2, 'c': 3, 'd': 4 };
+ object = { 'a': 1, 'b': 2, 'c': 3, 'd': 4 },
+ nested = { 'a': 1, 'b': { 'c': 2, 'd': 3 } };
- QUnit.test('should flatten `props`', function(assert) {
+ QUnit.test('should flatten `paths`', function(assert) {
assert.expect(2);
assert.deepEqual(_.pick(object, 'a', 'c'), { 'a': 1, 'c': 3 });
assert.deepEqual(_.pick(object, ['a', 'd'], 'c'), { 'a': 1, 'c': 3, 'd': 4 });
});
- QUnit.test('should work with a primitive `object`', function(assert) {
+ QUnit.test('should support deep paths', function(assert) {
assert.expect(1);
- assert.deepEqual(_.pick('', 'slice'), { 'slice': ''.slice });
+ assert.deepEqual(_.pick(nested, 'b.c'), { 'b': { 'c': 2 } });
});
- QUnit.test('should return an empty object when `object` is nullish', function(assert) {
- assert.expect(2);
+ QUnit.test('should coerce property names to strings', function(assert) {
+ assert.expect(1);
- lodashStable.each([null, undefined], function(value) {
- assert.deepEqual(_.pick(value, 'valueOf'), {});
- });
+ assert.deepEqual(_.pick({ '0': 'a', '1': 'b' }, 0), { '0': 'a' });
});
QUnit.test('should work with `arguments` objects as secondary arguments', function(assert) {
@@ -17603,10 +17609,18 @@
assert.deepEqual(_.pick(object, args), { 'a': 1, 'c': 3 });
});
- QUnit.test('should coerce property names to strings', function(assert) {
+ QUnit.test('should work with a primitive `object`', function(assert) {
assert.expect(1);
- assert.deepEqual(_.pick({ '0': 'a', '1': 'b' }, 0), { '0': 'a' });
+ assert.deepEqual(_.pick('', 'slice'), { 'slice': ''.slice });
+ });
+
+ QUnit.test('should return an empty object when `object` is nullish', function(assert) {
+ assert.expect(2);
+
+ lodashStable.each([null, undefined], function(value) {
+ assert.deepEqual(_.pick(value, 'valueOf'), {});
+ });
});
}());
@@ -17680,7 +17694,7 @@
assert.deepEqual(actual, expected);
});
- QUnit.test('`_.' + methodName + '` should pick symbol properties', function(assert) {
+ QUnit.test('`_.' + methodName + '` should pick symbols', function(assert) {
assert.expect(2);
function Foo() {
@@ -17823,7 +17837,7 @@
});
});
- QUnit.test('should return `undefined` with deep paths when `object` is nullish', function(assert) {
+ QUnit.test('should return `undefined` for deep paths when `object` is nullish', function(assert) {
assert.expect(2);
var values = [, null, undefined],
@@ -17967,7 +17981,7 @@
});
});
- QUnit.test('should return `undefined` with deep paths when `object` is nullish', function(assert) {
+ QUnit.test('should return `undefined` for deep paths when `object` is nullish', function(assert) {
assert.expect(2);
var values = [, null, undefined],
@@ -18220,7 +18234,7 @@
assert.deepEqual(actual, [[-2], [-2], [-1], [-1]]);
});
- QUnit.test('should work with deep paths', function(assert) {
+ QUnit.test('should support deep paths', function(assert) {
assert.expect(3);
var array = [];
@@ -19244,7 +19258,7 @@
});
});
- QUnit.test('`_.' + methodName + '` should return `undefined` with deep paths when `object` is nullish', function(assert) {
+ QUnit.test('`_.' + methodName + '` should return `undefined` for deep paths when `object` is nullish', function(assert) {
assert.expect(2);
var values = [null, undefined],
@@ -20836,10 +20850,12 @@
}
QUnit.test('should spread arguments to `func`', function(assert) {
- assert.expect(1);
+ assert.expect(2);
var spread = _.spread(fn);
- assert.deepEqual(spread([4, 2]), [4, 2]);
+
+ assert.deepEqual(spread([1, 2]), [1, 2]);
+ assert.deepEqual(spread([1, 2], 3), [1, 2, 3]);
});
QUnit.test('should accept a falsey `array`', function(assert) {
@@ -20857,45 +20873,36 @@
assert.deepEqual(actual, expected);
});
- QUnit.test('should provide correct `func` arguments', function(assert) {
- assert.expect(1);
-
- var args;
-
- var spread = _.spread(function() {
- args = slice.call(arguments);
- });
-
- spread([4, 2], 'ignored');
- assert.deepEqual(args, [4, 2]);
- });
-
QUnit.test('should work with `start`', function(assert) {
- assert.expect(1);
+ assert.expect(2);
var spread = _.spread(fn, 1);
- assert.deepEqual(spread(1, [2, 3, 4]), [1, 2, 3, 4]);
+
+ assert.deepEqual(spread(1, [2, 3]), [1, 2, 3]);
+ assert.deepEqual(spread(1, [2, 3], 4), [1, 2, 3, 4]);
});
QUnit.test('should treat `start` as `0` for negative or `NaN` values', function(assert) {
assert.expect(1);
var values = [-1, NaN, 'a'],
- expected = lodashStable.map(values, lodashStable.constant([1, 2, 3, 4]));
+ expected = lodashStable.map(values, lodashStable.constant([1, 2]));
var actual = lodashStable.map(values, function(value) {
var spread = _.spread(fn, value);
- return spread([1, 2, 3, 4]);
+ return spread([1, 2]);
});
assert.deepEqual(actual, expected);
});
QUnit.test('should coerce `start` to an integer', function(assert) {
- assert.expect(1);
+ assert.expect(2);
var spread = _.spread(fn, 1.6);
+
assert.deepEqual(spread(1, [2, 3]), [1, 2, 3]);
+ assert.deepEqual(spread(1, [2, 3], 4), [1, 2, 3, 4]);
});
}());
diff --git a/yarn.lock b/yarn.lock
index 1efa28d71a..e2f7d0ca43 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -792,6 +792,10 @@ block-stream@*:
dependencies:
inherits "~2.0.0"
+boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+
boom@0.4.x:
version "0.4.2"
resolved "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz#7a636e9ded4efcefb19cef4947a3c67dfaee911b"
@@ -882,6 +886,27 @@ chalk@~0.4.0:
has-color "~0.1.0"
strip-ansi "~0.1.0"
+cheerio@^0.22.0:
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
+ dependencies:
+ css-select "~1.2.0"
+ dom-serializer "~0.1.0"
+ entities "~1.1.1"
+ htmlparser2 "^3.9.1"
+ lodash.assignin "^4.0.9"
+ lodash.bind "^4.1.4"
+ lodash.defaults "^4.0.1"
+ lodash.filter "^4.4.0"
+ lodash.flatten "^4.2.0"
+ lodash.foreach "^4.3.0"
+ lodash.map "^4.4.0"
+ lodash.merge "^4.4.0"
+ lodash.pick "^4.2.1"
+ lodash.reduce "^4.4.0"
+ lodash.reject "^4.4.0"
+ lodash.some "^4.4.0"
+
chokidar@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.0.tgz#90c32ad4802901d7713de532dc284e96a63ad058"
@@ -998,9 +1023,9 @@ core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-coveralls@^2.11.14:
- version "2.11.14"
- resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.14.tgz#645a05ac72aa4f2ee811c667390d4ad36f0c2e26"
+coveralls@^2.11.15:
+ version "2.11.15"
+ resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.15.tgz#37d3474369d66c14f33fa73a9d25cee6e099fca0"
dependencies:
js-yaml "3.6.1"
lcov-parse "0.0.10"
@@ -1008,11 +1033,12 @@ coveralls@^2.11.14:
minimist "1.2.0"
request "2.75.0"
-cross-spawn@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
+cross-spawn@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.0.1.tgz#a3bbb302db2297cbea3c04edf36941f4613aa399"
dependencies:
lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
which "^1.2.9"
cryptiles@0.2.x:
@@ -1035,6 +1061,19 @@ crypto-browserify@~3.2.6:
ripemd160 "0.2.0"
sha.js "2.2.6"
+css-select@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ dependencies:
+ boolbase "~1.0.0"
+ css-what "2.1"
+ domutils "1.5.1"
+ nth-check "~1.0.1"
+
+css-what@2.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
+
cst@^0.4.3:
version "0.4.6"
resolved "https://registry.yarnpkg.com/cst/-/cst-0.4.6.tgz#c049c19e335df46d258c10388aa0b510e0b05547"
@@ -1133,7 +1172,7 @@ dojo@^1.11.2:
version "1.11.2"
resolved "https://registry.yarnpkg.com/dojo/-/dojo-1.11.2.tgz#3e713cab40093aba9120304f0ca5053ac4d4193d"
-dom-serializer@0:
+dom-serializer@~0.1.0, dom-serializer@0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
dependencies:
@@ -1144,21 +1183,21 @@ domain-browser@^1.1.1:
version "1.1.7"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
+domelementtype@^1.3.0, domelementtype@1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+
domelementtype@~1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
-domelementtype@1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
-
-domhandler@2.3:
+domhandler@^2.3.0, domhandler@2.3:
version "2.3.0"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
dependencies:
domelementtype "1"
-domutils@1.5:
+domutils@^1.5.1, domutils@1.5, domutils@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
dependencies:
@@ -1196,7 +1235,7 @@ enhanced-resolve@~0.9.0:
memory-fs "^0.2.0"
tapable "^0.1.8"
-entities@~1.1.1:
+entities@^1.1.1, entities@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
@@ -1352,15 +1391,13 @@ form-data@~2.1.1:
combined-stream "^1.0.5"
mime-types "^2.1.12"
-fs-extra@~0.30.0:
- version "0.30.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
+fs-extra@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
klaw "^1.0.0"
- path-is-absolute "^1.0.0"
- rimraf "^2.2.8"
fs.realpath@^1.0.0:
version "1.0.0"
@@ -1552,6 +1589,17 @@ hosted-git-info@^2.1.4:
version "2.1.5"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
+htmlparser2@^3.9.1:
+ version "3.9.2"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
+ dependencies:
+ domelementtype "^1.3.0"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^2.0.2"
+
htmlparser2@3.8.3:
version "3.8.3"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
@@ -1972,6 +2020,54 @@ lodash.assign@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+lodash.assignin@^4.0.9:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
+
+lodash.bind@^4.1.4:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
+
+lodash.defaults@^4.0.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
+
+lodash.filter@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
+
+lodash.flatten@^4.2.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
+
+lodash.foreach@^4.3.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
+
+lodash.map@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
+
+lodash.merge@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
+
+lodash.pick@^4.2.1:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+
+lodash.reduce@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
+
+lodash.reject@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
+
+lodash.some@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
+
lodash@^3.5.0, lodash@^3.7.0, lodash@~3.10.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
@@ -1980,9 +2076,9 @@ lodash@^4.14.0, lodash@^4.14.1, lodash@^4.16.0, lodash@^4.16.4, lodash@^4.2.0:
version "4.16.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127"
-lodash@4.16.5:
- version "4.16.5"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8"
+lodash@4.16.6:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777"
log-driver@1.2.5:
version "1.2.5"
@@ -2192,6 +2288,12 @@ npmlog@4.x:
gauge "~2.6.0"
set-blocking "~2.0.0"
+nth-check@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
+ dependencies:
+ boolbase "~1.0.0"
+
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
@@ -2234,14 +2336,14 @@ optimist@^0.6.1, optimist@~0.6.0:
minimist "~0.0.1"
wordwrap "~0.0.2"
-optional-dev-dependency@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/optional-dev-dependency/-/optional-dev-dependency-1.4.0.tgz#12e155192069e40c9619115d89b35128bfd08b83"
+optional-dev-dependency@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/optional-dev-dependency/-/optional-dev-dependency-2.0.0.tgz#4ad58b80d5cf0bb0ea99b4b1896e099982b4033e"
dependencies:
async "^2.1.2"
- cross-spawn "^4.0.2"
+ cross-spawn "^5.0.1"
lodash.assign "^4.2.0"
- yargs "^6.2.0"
+ yargs "^6.3.0"
optionator@^0.8.1:
version "0.8.2"
@@ -2347,6 +2449,10 @@ platform@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.1.tgz#492210892335bd3131c0a08dda2d93ec3543e423"
+platform@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.3.tgz#646c77011899870b6a0903e75e997e8e51da7461"
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -2590,9 +2696,9 @@ request@^2.72.0, request@2.75.0, request@2.x:
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
-request@^2.76.0:
- version "2.76.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e"
+request@^2.78.0:
+ version "2.78.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
@@ -2672,7 +2778,7 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@^2.2.8, rimraf@~2.5.0, rimraf@~2.5.1, rimraf@2, rimraf@2.x.x:
+rimraf@~2.5.0, rimraf@~2.5.1, rimraf@2, rimraf@2.x.x:
version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
dependencies:
@@ -2706,6 +2812,12 @@ sha.js@2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
@@ -3177,7 +3289,7 @@ yargs-parser@^4.0.2:
dependencies:
camelcase "^3.0.0"
-yargs@^6.2.0:
+yargs@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.3.0.tgz#19c6dbb768744d571eb6ebae0c174cf2f71b188d"
dependencies: