diff --git a/.jscsrc b/.jscsrc index 5f44ab8453..0ff5f15ada 100644 --- a/.jscsrc +++ b/.jscsrc @@ -1,97 +1,97 @@ { - "maxErrors": "2000", - "maximumLineLength": { - "value": 180, - "allExcept": ["comments", "functionSignature", "regex"] - }, - "requireCurlyBraces": [ - "if", - "else", - "for", - "while", - "do", - "try", - "catch" - ], - "requireOperatorBeforeLineBreak": [ - "=", - "+", - "-", - "/", - "*", - "==", - "===", - "!=", - "!==", - ">", - ">=", - "<", - "<=" - ], - "requireSpaceAfterKeywords": [ - "if", - "else", - "for", - "while", - "do", - "switch", - "return", - "try", - "catch" - ], - "requireSpaceBeforeBinaryOperators": [ - "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", - "&=", "|=", "^=", "+=", + "maxErrors": "2000", + "maximumLineLength": { + "value": 180, + "allExcept": ["comments", "functionSignature", "regex"] + }, + "requireCurlyBraces": [ + "if", + "else", + "for", + "while", + "do", + "try", + "catch" + ], + "requireOperatorBeforeLineBreak": [ + "=", + "+", + "-", + "/", + "*", + "==", + "===", + "!=", + "!==", + ">", + ">=", + "<", + "<=" + ], + "requireSpaceAfterKeywords": [ + "if", + "else", + "for", + "while", + "do", + "switch", + "return", + "try", + "catch" + ], + "requireSpaceBeforeBinaryOperators": [ + "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", + "&=", "|=", "^=", - "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&", - "|", "^", "&&", "||", "===", "==", ">=", - "<=", "<", ">", "!=", "!==" - ], - "requireSpacesInFunctionExpression": { - "beforeOpeningCurlyBrace": true - }, - "requireCamelCaseOrUpperCaseIdentifiers": true, - "requireDotNotation": { "allExcept": ["keywords"] }, - "requireEarlyReturn": true, - "requireLineFeedAtFileEnd": true, - "requireSemicolons": true, - "requireSpaceAfterBinaryOperators": true, - "requireSpacesInConditionalExpression": true, - "requireSpaceBeforeObjectValues": true, - "requireSpaceBeforeBlockStatements": true, - "requireSpacesInForStatement": true, + "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&", + "|", "^", "&&", "||", "===", "==", ">=", + "<=", "<", ">", "!=", "!==" + ], + "requireSpacesInFunctionExpression": { + "beforeOpeningCurlyBrace": true + }, + "requireCamelCaseOrUpperCaseIdentifiers": true, + "requireDotNotation": { "allExcept": ["keywords"] }, + "requireEarlyReturn": true, + "requireLineFeedAtFileEnd": true, + "requireSemicolons": true, + "requireSpaceAfterBinaryOperators": true, + "requireSpacesInConditionalExpression": true, + "requireSpaceBeforeObjectValues": true, + "requireSpaceBeforeBlockStatements": true, + "requireSpacesInForStatement": true, - "validateIndentation": 2, - "validateParameterSeparator": ", ", - "validateQuoteMarks": { "mark": "'", "escape": true }, + "validateIndentation": 2, + "validateParameterSeparator": ", ", + "validateQuoteMarks": { "mark": "'", "escape": true }, - "disallowSpacesInAnonymousFunctionExpression": { - "beforeOpeningRoundBrace": true - }, - "disallowSpacesInFunctionDeclaration": { - "beforeOpeningRoundBrace": true - }, - "disallowSpacesInFunctionExpression": { - "beforeOpeningRoundBrace": true - }, - "disallowKeywords": ["with"], - "disallowMixedSpacesAndTabs": true, - "disallowMultipleLineBreaks": true, - "disallowNewlineBeforeBlockStatements": true, - "disallowSpaceAfterObjectKeys": true, - "disallowSpaceAfterPrefixUnaryOperators": true, - "disallowSpacesInCallExpression": true, - "disallowSpacesInsideArrayBrackets": true, - "disallowSpacesInsideParentheses": true, - "disallowTrailingWhitespace": true, - "disallowUnusedVariables": true, + "disallowSpacesInAnonymousFunctionExpression": { + "beforeOpeningRoundBrace": true + }, + "disallowSpacesInFunctionDeclaration": { + "beforeOpeningRoundBrace": true + }, + "disallowSpacesInFunctionExpression": { + "beforeOpeningRoundBrace": true + }, + "disallowKeywords": ["with"], + "disallowMixedSpacesAndTabs": true, + "disallowMultipleLineBreaks": true, + "disallowNewlineBeforeBlockStatements": true, + "disallowSpaceAfterObjectKeys": true, + "disallowSpaceAfterPrefixUnaryOperators": true, + "disallowSpacesInCallExpression": true, + "disallowSpacesInsideArrayBrackets": true, + "disallowSpacesInsideParentheses": true, + "disallowTrailingWhitespace": true, + "disallowUnusedVariables": true, - "jsDoc": { - "checkRedundantAccess": true, - "checkTypes": true, - "requireNewlineAfterDescription": true, - "requireParamDescription": true, - "requireParamTypes": true, - "requireReturnTypes": true - } + "jsDoc": { + "checkRedundantAccess": true, + "checkTypes": true, + "requireNewlineAfterDescription": true, + "requireParamDescription": true, + "requireParamTypes": true, + "requireReturnTypes": true + } } diff --git a/.travis.yml b/.travis.yml index 549d823a2c..d524375f43 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,11 +50,11 @@ before_install: # Remove code skipped on the coverage run. - | - PATTERN[0]="|\s*if\s*\(enumerate\b[\s\S]+?\};\s*\}|" - PATTERN[1]="|\s*while\s*\([^)]+\)\s*\{\s*iteratee\(index\);\s*\}|" - PATTERN[2]="|\s*else\s*\{\s*assocSet\(data\b[\s\S]+?\}|" + PATTERN[0]="|\s*while\s*\([^)]+\)\s*\{\s*iteratee\(index\);\s*\}|" + PATTERN[1]="|\s*else\s*\{\s*assocSet\(data\b[\s\S]+?\}|" + PATTERN[2]="|\bindex,\s*iterable\)\s*===\s*false\)[^}]+?(break;)|" PATTERN[3]="|\bcase\s+(?:dataView|promise|set|map|weakMap)CtorString:.+|g" - PATTERN[4]="|\bindex,\s*iterable\)\s*===\s*false\)[^}]+?(break;)|" + PATTERN[4]="|\s*if\s*\(cache\.size\b[\s\S]+?\}|" PATTERN[5]="|\s*if\s*\(\!lodashFunc\)\s*\{\s*return;\s*\}|" PATTERN[6]="|\s*define\([\s\S]+?\);|" PATTERN[7]="|\s*root\._\s*=\s*_;|" diff --git a/README.md b/README.md index b794323eae..501d71a6ed 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# lodash v4.16.3 +# lodash v4.16.4 [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.3/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.3/dist/lodash.core.min.js)) - * [Full build](https://raw.githubusercontent.com/lodash/lodash/4.16.3/dist/lodash.js) ([~23 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.3/dist/lodash.min.js)) + * [Core build](https://raw.githubusercontent.com/lodash/lodash/4.16.4/dist/lodash.core.js) ([~4 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.4/dist/lodash.core.min.js)) + * [Full build](https://raw.githubusercontent.com/lodash/lodash/4.16.4/dist/lodash.js) ([~23 kB gzipped](https://raw.githubusercontent.com/lodash/lodash/4.16.4/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.3/LICENSE) & supports [modern environments](#support).
+Lodash is released under the [MIT license](https://raw.githubusercontent.com/lodash/lodash/4.16.4/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 b52d61fad7..c891e78445 100644 --- a/dist/lodash.core.js +++ b/dist/lodash.core.js @@ -13,7 +13,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.16.3'; + var VERSION = '4.16.4'; /** Error message constants. */ var FUNC_ERROR_TEXT = 'Expected a function'; @@ -623,6 +623,15 @@ return value > other; } + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + var baseIsArguments = noop; + /** * The base implementation of `_.isDate` without Node.js optimizations. * @@ -2434,11 +2443,10 @@ * _.isArguments([1, 2, 3]); * // => false */ - function isArguments(value) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && - (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); - } + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; /** * Checks if `value` is classified as an `Array` object. @@ -2494,35 +2502,6 @@ return value != null && isLength(value.length) && !isFunction(value); } - /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - /** * Checks if `value` is classified as a boolean primitive or object. * @@ -2687,7 +2666,7 @@ */ function isFunction(value) { // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. + // in Safari 9 which returns 'object' for typed array and other constructors. var tag = isObject(value) ? objectToString.call(value) : ''; return tag == funcTag || tag == genTag || tag == proxyTag; } @@ -3021,8 +3000,8 @@ * @memberOf _ * @since 4.0.0 * @category Lang - * @param {*} value The value to process. - * @returns {string} Returns the string. + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. * @example * * _.toString(null); diff --git a/dist/lodash.core.min.js b/dist/lodash.core.min.js index 08535651f6..c1fb1cd187 100644 --- a/dist/lodash.core.min.js +++ b/dist/lodash.core.min.js @@ -3,27 +3,27 @@ * lodash (Custom Build) /license | Underscore.js 1.8.3 underscorejs.org/LICENSE * Build: `lodash core -o ./dist/lodash.core.js` */ -;(function(){function n(n,t){return n.push.apply(n,t),n}function t(n){return function(t){return null==t?nn:t[n]}}function r(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function e(n,t){return j(t,function(t){return n[t]})}function u(n){return n instanceof o?n:new o(n)}function o(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function i(n,t,r,e){return n===nn||J(n,ln[r])&&!pn.call(e,r)?t:n}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function"); -return setTimeout(function(){n.apply(nn,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++et}function y(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!K(t)?n!==n&&t!==t:b(n,t,y,r,e,u))}function b(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=F(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+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=B(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 g(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?d:t)(n)}function _(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;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn)}function G(n,t){ -var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Tn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){return K(n)&&U(n)&&pn.call(n,"callee")&&(!bn.call(n,"callee")||"[object Arguments]"==hn.call(n))}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 n=H(n)?hn.call(n):"","[object Function]"==n||"[object GeneratorFunction]"==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 n?e(n,qn(n)):[]}function Y(n){return n}function Z(t,r,e){var u=qn(r),o=h(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=h(r,qn(r))); -var i=!(H(e)&&"chain"in e&&!e.chain),c=V(t);return mn(o,function(e){var u=r[e];t[e]=u,c&&(t.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=t(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:t}),e.__chain__=r,e}return u.apply(t,n([this.value()],arguments))})}),t}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ -return function(t){return null==n?nn:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();o.prototype=dn(u.prototype),o.prototype.constructor=o; -var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&rt}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&&(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;++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=Tn(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 n=H(n)?hn.call(n):"","[object Function]"==n||"[object GeneratorFunction]"==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 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);return mn(o,function(e){ +var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=E(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ +return function(t){return null==n?nn:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i; +var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=_(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r false */ - function isArguments(value) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && - (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); - } + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; /** * Checks if `value` is classified as an `Array` object. @@ -11406,8 +11425,8 @@ */ function isEmpty(value) { if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || - typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) { + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { return !value.length; } var tag = getTag(value); @@ -11415,7 +11434,7 @@ return !value.size; } if (isPrototype(value)) { - return !nativeKeys(value).length; + return !baseKeys(value).length; } for (var key in value) { if (hasOwnProperty.call(value, key)) { @@ -11570,7 +11589,7 @@ */ function isFunction(value) { // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. + // in Safari 9 which returns 'object' for typed array and other constructors. var tag = isObject(value) ? objectToString.call(value) : ''; return tag == funcTag || tag == genTag || tag == proxyTag; } @@ -12460,8 +12479,8 @@ * @memberOf _ * @since 4.0.0 * @category Lang - * @param {*} value The value to process. - * @returns {string} Returns the string. + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. * @example * * _.toString(null); @@ -13645,22 +13664,23 @@ * // => { '1': ['a', 'c'], '2': ['b'] } */ function transform(object, iteratee, accumulator) { - var isArr = isArray(object) || isTypedArray(object); - iteratee = getIteratee(iteratee, 4); + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + iteratee = getIteratee(iteratee, 4); if (accumulator == null) { - if (isArr || isObject(object)) { - var Ctor = object.constructor; - if (isArr) { - accumulator = isArray(object) ? new Ctor : []; - } else { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - } else { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { accumulator = {}; } } - (isArr ? arrayEach : baseForOwn)(object, function(value, index, object) { + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { return iteratee(accumulator, value, index, object); }); return accumulator; diff --git a/dist/lodash.min.js b/dist/lodash.min.js index 1cb2d3b51f..4bf932bd97 100644 --- a/dist/lodash.min.js +++ b/dist/lodash.min.js @@ -17,118 +17,118 @@ t:{try{Mt=Kt&&Kt.g("util");break t}catch(t){}Mt=void 0}var Gt=Mt&&Mt.isArrayBuff "\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"}),rn=w({"&":"&","<":"<",">":">",'"':""","'":"'"}),en=w({"&":"&","<":"<",">":">",""":'"',"'":"'"}),un=function w(kt){function Et(t){return fi.call(t)}function Ot(t){if(vu(t)&&!tf(t)&&!(t instanceof Dt)){if(t instanceof Mt)return t;if(ui.call(t,"__wrapped__"))return Me(t)}return new Mt(t)}function Rt(){}function Mt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=F}function Dt(t){this.__wrapped__=t,this.__actions__=[], +"\u017f":"s"}),rn=w({"&":"&","<":"<",">":">",'"':""","'":"'"}),en=w({"&":"&","<":"<",">":">",""":'"',"'":"'"}),un=function w(kt){function Et(t){return fi.call(t)}function Ot(t){if(vu(t)&&!nf(t)&&!(t instanceof Dt)){if(t instanceof Mt)return t;if(ui.call(t,"__wrapped__"))return De(t)}return new Mt(t)}function Rt(){}function Mt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=F}function Dt(t){this.__wrapped__=t,this.__actions__=[], this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Ft(t){var n=-1,r=t?t.length:0;for(this.clear();++n=n?t:n)),t}function yn(t,n,r,e,i,o,f){var c;if(e&&(c=o?e(t,i,o,f):e(t)), -c!==F)return c;if(!_u(t))return t;if(i=tf(t)){if(c=ye(t),!n)return Cr(t,c)}else{var a=Et(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(rf(t))return Rr(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!o){if(c=be(l?{}:t),!n)return Dr(t,_n(c,t))}else{if(!Ct[a])return o?t:{};c=xe(t,a,yn,n)}}if(f||(f=new Kt),o=f.get(t))return o;if(f.set(t,c),!i)var s=r?zn(t,Iu,ao):Iu(t);return u(s||t,function(u,i){s&&(i=u,u=t[i]),sn(c,i,yn(u,n,r,e,i,t,f))}),c}function bn(t){var n=Iu(t);return function(r){ -return xn(r,t,n)}}function xn(t,n,r){var e=r.length;if(null==t)return!e;for(t=Ju(t);e--;){var u=r[e],i=n[u],o=t[u];if(o===F&&!(u in t)||!i(o))return false}return true}function jn(t,n,r){if(typeof t!="function")throw new Qu("Expected a function");return po(function(){t.apply(F,r)},n)}function wn(t,n,r,e){var u=-1,i=c,o=true,f=t.length,s=[],h=n.length;if(!f)return s;r&&(n=l(n,S(r))),e?(i=a,o=false):200<=n.length&&(i=R,o=false,n=new qt(n));t:for(;++un}function Bn(t,n){return null!=t&&ui.call(t,n)}function Ln(t,n){return null!=t&&n in Ju(t)}function Un(t,n,r){for(var e=r?a:c,u=t[0].length,i=t.length,o=i,f=Zu(i),s=1/0,h=[];o--;){var p=t[o];o&&n&&(p=l(p,S(n))),s=Wi(p.length,s), -f[o]=!r&&(n||120<=u&&120<=p.length)?new qt(o&&p):F}var p=t[0],_=-1,v=f[0];t:for(;++_n?r:0,we(n,r)?t[n]:F}function rr(t,n,r){var e=-1;return n=l(n.length?n:[Mu],S(pe())),t=Hn(t,function(t){return{a:l(n,function(n){return n(t)}),b:++e,c:t}}),A(t,function(t,n){var e;t:{e=-1;for(var u=t.a,i=n.a,o=u.length,f=r.length;++e=f?c:c*("desc"==r[e]?-1:1);break t}}e=t.b-n.b}return e})}function er(t,n){return t=Ju(t),ur(t,n,function(n,r){return r in t})}function ur(t,n,r){for(var e=-1,u=n.length,i={};++en||9007199254740991n&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Zu(u);++e=u){for(;e>>1,o=t[i];null!==o&&!bu(o)&&(r?o<=n:o=e?t:vr(t,n,r)}function Rr(t,n){if(n)return t.slice();var r=t.length,r=pi?pi(r):new t.constructor(r);return t.copy(r),r}function zr(t){var n=new t.constructor(t.byteLength);return new hi(n).set(new hi(t)),n}function Wr(t,n){return new t.constructor(n?zr(t.buffer):t.buffer,t.byteOffset,t.length); -}function Br(t,n){if(t!==n){var r=t!==F,e=null===t,u=t===t,i=bu(t),o=n!==F,f=null===n,c=n===n,a=bu(n);if(!f&&!a&&!i&&t>n||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&tu?F:i,u=1),n=Ju(n);++eo&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,or?r?ar(n,t):n:(r=ar(n,Ai(t/T(n))),Wt.test(n)?Ir($(r),0,t).join(""):r.slice(0,t))}function ne(t,n,e,u){function i(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Zu(l+c),h=this&&this!==Pt&&this instanceof i?f:t;++an||e)&&(1&t&&(i[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Lr(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Ur(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&t&&(i[8]=null==i[8]?h[8]:Wi(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0], -i[1]=n),t=i[0],n=i[1],r=i[2],e=i[3],u=i[4],f=i[9]=null==i[9]?c?0:t.length:zi(i[9]-a,0),!f&&24&n&&(n&=-25),ze((h?uo:ho)(n&&1!=n?8==n||16==n?Kr(t,n,f):32!=n&&33!=n||u.length?Yr.apply(F,i):ne(t,n,r,e):Pr(t,n,r),i),t,n)}function ce(t,n,r,e,u,i){var o=2&u,f=t.length,c=n.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(t))&&i.get(n))return c==n;var c=-1,a=true,l=1&u?new qt:F;for(i.set(t,n),i.set(n,t);++cr&&(r=zi(e+r,0)),g(t,pe(n,3),r)):-1}function Te(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e-1;return r!==F&&(u=wu(r),u=0>r?zi(e+u,0):Wi(u,e-1)),g(t,pe(n,3),u,true)}function $e(t){return t&&t.length?En(t,1):[]; -}function Fe(t){return t&&t.length?t[0]:F}function Ne(t){var n=t?t.length:0;return n?t[n-1]:F}function Pe(t,n){return t&&t.length&&n&&n.length?or(t,n):t}function Ze(t){return t?Ci.call(t):t}function qe(t){if(!t||!t.length)return[];var n=0;return t=f(t,function(t){if(au(t))return n=zi(t.length,n),true}),E(n,function(n){return l(t,j(n))})}function Ve(t,n){if(!t||!t.length)return[];var e=qe(t);return null==n?e:l(e,function(t){return r(n,F,t)})}function Ke(t){return t=Ot(t),t.__chain__=true,t}function Ge(t,n){ -return n(t)}function Je(){return this}function Ye(t,n){return(tf(t)?u:to)(t,pe(n,3))}function He(t,n){return(tf(t)?i:no)(t,pe(n,3))}function Qe(t,n){return(tf(t)?l:Hn)(t,pe(n,3))}function Xe(t,n,r){return n=r?F:n,n=t&&null==n?t.length:n,fe(t,128,F,F,F,F,n)}function tu(t,n){var r;if(typeof n!="function")throw new Qu("Expected a function");return t=wu(t),function(){return 0<--t&&(r=n.apply(this,arguments)),1>=t&&(n=F),r}}function nu(t,n,r){return n=r?F:n,t=fe(t,8,F,F,F,F,F,n),t.placeholder=nu.placeholder, -t}function ru(t,n,r){return n=r?F:n,t=fe(t,16,F,F,F,F,F,n),t.placeholder=ru.placeholder,t}function eu(t,n,r){function e(n){var r=c,e=a;return c=a=F,_=n,s=t.apply(e,r)}function u(t){var r=t-p;return t-=_,p===F||r>=n||0>r||g&&t>=l}function i(){var t=Po();if(u(t))return o(t);var r,e=po;r=t-_,t=n-(t-p),r=g?Wi(t,l-r):t,h=e(i,r)}function o(t){return h=F,d&&c?e(t):(c=a=F,s)}function f(){var t=Po(),r=u(t);if(c=arguments,a=this,p=t,r){if(h===F)return _=t=p,h=po(i,n),v?e(t):s;if(g)return h=po(i,n),e(p)}return h===F&&(h=po(i,n)), -s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof t!="function")throw new Qu("Expected a function");return n=Au(n)||0,_u(r)&&(v=!!r.leading,l=(g="maxWait"in r)?zi(Au(r.maxWait)||0,n):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&oo(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Po())},f}function uu(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=t.apply(this,e),r.cache=i.set(u,e)||i,e)}if(typeof t!="function"||n&&typeof n!="function")throw new Qu("Expected a function"); -return r.cache=new(uu.Cache||Zt),r}function iu(t){if(typeof t!="function")throw new Qu("Expected a function");return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function ou(t,n){return t===n||t!==t&&n!==n}function fu(t){return au(t)&&ui.call(t,"callee")&&(!di.call(t,"callee")||"[object Arguments]"==fi.call(t))}function cu(t){return null!=t&&pu(t.length)&&!su(t); +}function tn(t,n){var r,e=nf(t),u=!e&&tf(t),i=!e&&!u&&ef(t),o=!e&&!u&&!i&&af(t),u=(e=e||u||i||o)?E(t.length,Hu):[],f=u.length;for(r in t)!n&&!ui.call(t,r)||e&&("length"==r||i&&("offset"==r||"parent"==r)||o&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||me(r,f))||u.push(r);return u}function on(t){var n=t.length;return n?t[cr(0,n-1)]:F}function fn(t,n){return Le(Cr(t),dn(n,0,t.length))}function cn(t){return Le(Cr(t))}function an(t,n,r,e){return t===F||fu(t,ti[r])&&!ui.call(e,r)?n:t}function ln(t,n,r){ +(r===F||fu(t[n],r))&&(r!==F||n in t)||vn(t,n,r)}function sn(t,n,r){var e=t[n];ui.call(t,n)&&fu(e,r)&&(r!==F||n in t)||vn(t,n,r)}function hn(t,n){for(var r=t.length;r--;)if(fu(t[r][0],n))return r;return-1}function pn(t,n,r,e){return to(t,function(t,u,i){n(e,t,r(t),i)}),e}function _n(t,n){return t&&Mr(n,Iu(n),t)}function vn(t,n,r){"__proto__"==n&&xi?xi(t,n,{configurable:true,enumerable:true,value:r,writable:true}):t[n]=r}function gn(t,n){for(var r=-1,e=null==t,u=n.length,i=Zu(u);++r=n?t:n)),t}function yn(t,n,r,e,i,o,f){var c;if(e&&(c=o?e(t,i,o,f):e(t)),c!==F)return c;if(!_u(t))return t;if(i=nf(t)){if(c=be(t),!n)return Cr(t,c)}else{var a=Et(t),l="[object Function]"==a||"[object GeneratorFunction]"==a;if(ef(t))return Rr(t,n);if("[object Object]"==a||"[object Arguments]"==a||l&&!o){if(c=xe(l?{}:t),!n)return Dr(t,_n(c,t))}else{if(!Ct[a])return o?t:{};c=je(t,a,yn,n)}}if(f||(f=new Kt),o=f.get(t))return o;f.set(t,c); +var s=i?F:(r?se:Iu)(t);return u(s||t,function(u,i){s&&(i=u,u=t[i]),sn(c,i,yn(u,n,r,e,i,t,f))}),c}function bn(t){var n=Iu(t);return function(r){return xn(r,t,n)}}function xn(t,n,r){var e=r.length;if(null==t)return!e;for(t=Ju(t);e--;){var u=r[e],i=n[u],o=t[u];if(o===F&&!(u in t)||!i(o))return false}return true}function jn(t,n,r){if(typeof t!="function")throw new Qu("Expected a function");return po(function(){t.apply(F,r)},n)}function wn(t,n,r,e){var u=-1,i=c,o=true,f=t.length,s=[],h=n.length;if(!f)return s;r&&(n=l(n,S(r))), +e?(i=a,o=false):200<=n.length&&(i=R,o=false,n=new qt(n));t:for(;++un}function Bn(t,n){return null!=t&&ui.call(t,n)}function Ln(t,n){ +return null!=t&&n in Ju(t)}function Un(t,n,r){for(var e=r?a:c,u=t[0].length,i=t.length,o=i,f=Zu(i),s=1/0,h=[];o--;){var p=t[o];o&&n&&(p=l(p,S(n))),s=Wi(p.length,s),f[o]=!r&&(n||120<=u&&120<=p.length)?new qt(o&&p):F}var p=t[0],_=-1,v=f[0];t:for(;++_n?r:0,me(n,r)?t[n]:F}function rr(t,n,r){var e=-1;return n=l(n.length?n:[Mu],S(_e())),t=Hn(t,function(t){return{a:l(n,function(n){return n(t)}),b:++e,c:t}}),A(t,function(t,n){var e;t:{e=-1;for(var u=t.a,i=n.a,o=u.length,f=r.length;++e=f?c:c*("desc"==r[e]?-1:1);break t}}e=t.b-n.b}return e})}function er(t,n){return t=Ju(t),ur(t,n,function(n,r){return r in t})}function ur(t,n,r){for(var e=-1,u=n.length,i={};++en||9007199254740991n&&(n=-n>u?0:u+n),r=r>u?u:r,0>r&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0,r=Zu(u);++e=u){for(;e>>1,o=t[i];null!==o&&!bu(o)&&(r?o<=n:o=e?t:vr(t,n,r)}function Rr(t,n){if(n)return t.slice();var r=t.length,r=pi?pi(r):new t.constructor(r); +return t.copy(r),r}function zr(t){var n=new t.constructor(t.byteLength);return new hi(n).set(new hi(t)),n}function Wr(t,n){return new t.constructor(n?zr(t.buffer):t.buffer,t.byteOffset,t.length)}function Br(t,n){if(t!==n){var r=t!==F,e=null===t,u=t===t,i=bu(t),o=n!==F,f=null===n,c=n===n,a=bu(n);if(!f&&!a&&!i&&t>n||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&tu?F:i,u=1),n=Ju(n);++eo&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,or?r?ar(n,t):n:(r=ar(n,Ai(t/T(n))),Wt.test(n)?Ir($(r),0,t).join(""):r.slice(0,t))}function ne(t,n,e,u){function i(){for(var n=-1,c=arguments.length,a=-1,l=u.length,s=Zu(l+c),h=this&&this!==Pt&&this instanceof i?f:t;++an||e)&&(1&t&&(i[2]=h[2],n|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Lr(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Ur(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&t&&(i[8]=null==i[8]?h[8]:Wi(i[8],h[8])), +null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=n),t=i[0],n=i[1],r=i[2],e=i[3],u=i[4],f=i[9]=null==i[9]?c?0:t.length:zi(i[9]-a,0),!f&&24&n&&(n&=-25),We((h?uo:ho)(n&&1!=n?8==n||16==n?Kr(t,n,f):32!=n&&33!=n||u.length?Yr.apply(F,i):ne(t,n,r,e):Pr(t,n,r),i),t,n)}function ce(t,n,r,e,u,i){var o=2&u,f=t.length,c=n.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(t))&&i.get(n))return c==n;var c=-1,a=true,l=1&u?new qt:F;for(i.set(t,n),i.set(n,t);++cr&&(r=zi(e+r,0)),g(t,_e(n,3),r)):-1}function $e(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e-1;return r!==F&&(u=wu(r),u=0>r?zi(e+u,0):Wi(u,e-1)),g(t,_e(n,3),u,true); +}function Fe(t){return t&&t.length?En(t,1):[]}function Ne(t){return t&&t.length?t[0]:F}function Pe(t){var n=t?t.length:0;return n?t[n-1]:F}function Ze(t,n){return t&&t.length&&n&&n.length?or(t,n):t}function qe(t){return t?Ci.call(t):t}function Ve(t){if(!t||!t.length)return[];var n=0;return t=f(t,function(t){if(au(t))return n=zi(t.length,n),true}),E(n,function(n){return l(t,j(n))})}function Ke(t,n){if(!t||!t.length)return[];var e=Ve(t);return null==n?e:l(e,function(t){return r(n,F,t)})}function Ge(t){ +return t=Ot(t),t.__chain__=true,t}function Je(t,n){return n(t)}function Ye(){return this}function He(t,n){return(nf(t)?u:to)(t,_e(n,3))}function Qe(t,n){return(nf(t)?i:no)(t,_e(n,3))}function Xe(t,n){return(nf(t)?l:Hn)(t,_e(n,3))}function tu(t,n,r){return n=r?F:n,n=t&&null==n?t.length:n,fe(t,128,F,F,F,F,n)}function nu(t,n){var r;if(typeof n!="function")throw new Qu("Expected a function");return t=wu(t),function(){return 0<--t&&(r=n.apply(this,arguments)),1>=t&&(n=F),r}}function ru(t,n,r){return n=r?F:n, +t=fe(t,8,F,F,F,F,F,n),t.placeholder=ru.placeholder,t}function eu(t,n,r){return n=r?F:n,t=fe(t,16,F,F,F,F,F,n),t.placeholder=eu.placeholder,t}function uu(t,n,r){function e(n){var r=c,e=a;return c=a=F,_=n,s=t.apply(e,r)}function u(t){var r=t-p;return t-=_,p===F||r>=n||0>r||g&&t>=l}function i(){var t=Po();if(u(t))return o(t);var r,e=po;r=t-_,t=n-(t-p),r=g?Wi(t,l-r):t,h=e(i,r)}function o(t){return h=F,d&&c?e(t):(c=a=F,s)}function f(){var t=Po(),r=u(t);if(c=arguments,a=this,p=t,r){if(h===F)return _=t=p, +h=po(i,n),v?e(t):s;if(g)return h=po(i,n),e(p)}return h===F&&(h=po(i,n)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof t!="function")throw new Qu("Expected a function");return n=Au(n)||0,_u(r)&&(v=!!r.leading,l=(g="maxWait"in r)?zi(Au(r.maxWait)||0,n):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&oo(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Po())},f}function iu(t,n){function r(){var e=arguments,u=n?n.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=t.apply(this,e), +r.cache=i.set(u,e)||i,e)}if(typeof t!="function"||n&&typeof n!="function")throw new Qu("Expected a function");return r.cache=new(iu.Cache||Zt),r}function ou(t){if(typeof t!="function")throw new Qu("Expected a function");return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function fu(t,n){return t===n||t!==t&&n!==n}function cu(t){return null!=t&&pu(t.length)&&!su(t); }function au(t){return vu(t)&&cu(t)}function lu(t){return!!vu(t)&&("[object Error]"==fi.call(t)||typeof t.message=="string"&&typeof t.name=="string")}function su(t){return t=_u(t)?fi.call(t):"","[object Function]"==t||"[object GeneratorFunction]"==t||"[object Proxy]"==t}function hu(t){return typeof t=="number"&&t==wu(t)}function pu(t){return typeof t=="number"&&-1=t}function _u(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}function vu(t){return null!=t&&typeof t=="object"; -}function gu(t){return typeof t=="number"||vu(t)&&"[object Number]"==fi.call(t)}function du(t){return!(!vu(t)||"[object Object]"!=fi.call(t))&&(t=_i(t),null===t||(t=ui.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&ei.call(t)==oi))}function yu(t){return typeof t=="string"||!tf(t)&&vu(t)&&"[object String]"==fi.call(t)}function bu(t){return typeof t=="symbol"||vu(t)&&"[object Symbol]"==fi.call(t)}function xu(t){if(!t)return[];if(cu(t))return yu(t)?$(t):Cr(t);if(vi&&t[vi]){t=t[vi](); +}function gu(t){return typeof t=="number"||vu(t)&&"[object Number]"==fi.call(t)}function du(t){return!(!vu(t)||"[object Object]"!=fi.call(t))&&(t=_i(t),null===t||(t=ui.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&ei.call(t)==oi))}function yu(t){return typeof t=="string"||!nf(t)&&vu(t)&&"[object String]"==fi.call(t)}function bu(t){return typeof t=="symbol"||vu(t)&&"[object Symbol]"==fi.call(t)}function xu(t){if(!t)return[];if(cu(t))return yu(t)?$(t):Cr(t);if(vi&&t[vi]){t=t[vi](); for(var n,r=[];!(n=t.next()).done;)r.push(n.value);return r}return n=Et(t),("[object Map]"==n?L:"[object Set]"==n?M:Wu)(t)}function ju(t){return t?(t=Au(t),t===N||t===-N?1.7976931348623157e308*(0>t?-1:1):t===t?t:0):0===t?t:0}function wu(t){t=ju(t);var n=t%1;return t===t?n?t-n:t:0}function mu(t){return t?dn(wu(t),0,4294967295):0}function Au(t){if(typeof t=="number")return t;if(bu(t))return P;if(_u(t)&&(t=typeof t.valueOf=="function"?t.valueOf():t,t=_u(t)?t+"":t),typeof t!="string")return 0===t?t:+t; -t=t.replace(ft,"");var n=yt.test(t);return n||xt.test(t)?$t(t.slice(2),n?2:8):dt.test(t)?P:+t}function ku(t){return Mr(t,Ru(t))}function Eu(t){return null==t?"":jr(t)}function Ou(t,n,r){return t=null==t?F:Rn(t,n),t===F?r:t}function Su(t,n){return null!=t&&de(t,n,Ln)}function Iu(t){return cu(t)?tn(t):Gn(t)}function Ru(t){return cu(t)?tn(t,true):Jn(t)}function zu(t,n){return null==t?{}:ur(t,zn(t,Ru,lo),pe(n))}function Wu(t){return t?I(t,Iu(t)):[]}function Bu(t){return Lf(Eu(t).toLowerCase())}function Lu(t){ -return(t=Eu(t))&&t.replace(wt,nn).replace(It,"")}function Uu(t,n,r){return t=Eu(t),n=r?F:n,n===F?Bt.test(t)?t.match(zt)||[]:t.match(pt)||[]:t.match(n)||[]}function Cu(t){return function(){return t}}function Mu(t){return t}function Du(t){return Kn(typeof t=="function"?t:yn(t,true))}function Tu(t,n,r){var e=Iu(n),i=In(n,e);null!=r||_u(n)&&(i.length||!e.length)||(r=n,n=t,t=this,i=In(n,Iu(n)));var o=!(_u(r)&&"chain"in r&&!r.chain),f=su(t);return u(i,function(r){var e=n[r];t[r]=e,f&&(t.prototype[r]=function(){ -var n=this.__chain__;if(o||n){var r=t(this.__wrapped__);return(r.__actions__=Cr(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,s([this.value()],arguments))})}),t}function $u(){}function Fu(t){return Ae(t)?j(Le(t)):ir(t)}function Nu(){return[]}function Pu(){return false}kt=kt?un.defaults(Pt.Object(),kt,un.pick(Pt,Lt)):Pt;var Zu=kt.Array,qu=kt.Date,Vu=kt.Error,Ku=kt.Function,Gu=kt.Math,Ju=kt.Object,Yu=kt.RegExp,Hu=kt.String,Qu=kt.TypeError,Xu=Zu.prototype,ti=Ju.prototype,ni=kt["__core-js_shared__"],ri=function(){ -var t=/[^.]+$/.exec(ni&&ni.keys&&ni.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),ei=Ku.prototype.toString,ui=ti.hasOwnProperty,ii=0,oi=ei.call(Ju),fi=ti.toString,ci=Pt._,ai=Yu("^"+ei.call(ui).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),li=Vt?kt.Buffer:F,si=kt.Symbol,hi=kt.Uint8Array,pi=li?li.f:F,_i=U(Ju.getPrototypeOf,Ju),vi=si?si.iterator:F,gi=Ju.create,di=ti.propertyIsEnumerable,yi=Xu.splice,bi=si?si.isConcatSpreadable:F,xi=function(){ -try{var t=ge(Ju,"defineProperty");return t({},"",{}),t}catch(t){}}(),ji=kt.clearTimeout!==Pt.clearTimeout&&kt.clearTimeout,wi=qu&&qu.now!==Pt.Date.now&&qu.now,mi=kt.setTimeout!==Pt.setTimeout&&kt.setTimeout,Ai=Gu.ceil,ki=Gu.floor,Ei=Ju.getOwnPropertySymbols,Oi=li?li.isBuffer:F,Si=kt.isFinite,Ii=Xu.join,Ri=U(Ju.keys,Ju),zi=Gu.max,Wi=Gu.min,Bi=qu.now,Li=kt.parseInt,Ui=Gu.random,Ci=Xu.reverse,Mi=ge(kt,"DataView"),Di=ge(kt,"Map"),Ti=ge(kt,"Promise"),$i=ge(kt,"Set"),Fi=ge(kt,"WeakMap"),Ni=ge(Ju,"create"),Pi=Fi&&new Fi,Zi={},qi=Ue(Mi),Vi=Ue(Di),Ki=Ue(Ti),Gi=Ue($i),Ji=Ue(Fi),Yi=si?si.prototype:F,Hi=Yi?Yi.valueOf:F,Qi=Yi?Yi.toString:F,Xi=function(){ +t=t.replace(ft,"");var n=yt.test(t);return n||xt.test(t)?$t(t.slice(2),n?2:8):dt.test(t)?P:+t}function ku(t){return Mr(t,Ru(t))}function Eu(t){return null==t?"":jr(t)}function Ou(t,n,r){return t=null==t?F:Rn(t,n),t===F?r:t}function Su(t,n){return null!=t&&ye(t,n,Ln)}function Iu(t){return cu(t)?tn(t):Jn(t)}function Ru(t){if(cu(t))t=tn(t,true);else if(_u(t)){var n,r=Oe(t),e=[];for(n in t)("constructor"!=n||!r&&ui.call(t,n))&&e.push(n);t=e}else{if(n=[],null!=t)for(r in Ju(t))n.push(r);t=n}return t}function zu(t,n){ +return null==t?{}:ur(t,zn(t,Ru,lo),_e(n))}function Wu(t){return t?I(t,Iu(t)):[]}function Bu(t){return Uf(Eu(t).toLowerCase())}function Lu(t){return(t=Eu(t))&&t.replace(wt,nn).replace(It,"")}function Uu(t,n,r){return t=Eu(t),n=r?F:n,n===F?Bt.test(t)?t.match(zt)||[]:t.match(pt)||[]:t.match(n)||[]}function Cu(t){return function(){return t}}function Mu(t){return t}function Du(t){return Gn(typeof t=="function"?t:yn(t,true))}function Tu(t,n,r){var e=Iu(n),i=In(n,e);null!=r||_u(n)&&(i.length||!e.length)||(r=n, +n=t,t=this,i=In(n,Iu(n)));var o=!(_u(r)&&"chain"in r&&!r.chain),f=su(t);return u(i,function(r){var e=n[r];t[r]=e,f&&(t.prototype[r]=function(){var n=this.__chain__;if(o||n){var r=t(this.__wrapped__);return(r.__actions__=Cr(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,s([this.value()],arguments))})}),t}function $u(){}function Fu(t){return ke(t)?j(Ue(t)):ir(t)}function Nu(){return[]}function Pu(){return false}kt=kt?un.defaults(Pt.Object(),kt,un.pick(Pt,Lt)):Pt; +var Zu=kt.Array,qu=kt.Date,Vu=kt.Error,Ku=kt.Function,Gu=kt.Math,Ju=kt.Object,Yu=kt.RegExp,Hu=kt.String,Qu=kt.TypeError,Xu=Zu.prototype,ti=Ju.prototype,ni=kt["__core-js_shared__"],ri=function(){var t=/[^.]+$/.exec(ni&&ni.keys&&ni.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),ei=Ku.prototype.toString,ui=ti.hasOwnProperty,ii=0,oi=ei.call(Ju),fi=ti.toString,ci=Pt._,ai=Yu("^"+ei.call(ui).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),li=Vt?kt.Buffer:F,si=kt.Symbol,hi=kt.Uint8Array,pi=li?li.f:F,_i=U(Ju.getPrototypeOf,Ju),vi=si?si.iterator:F,gi=Ju.create,di=ti.propertyIsEnumerable,yi=Xu.splice,bi=si?si.isConcatSpreadable:F,xi=function(){ +try{var t=de(Ju,"defineProperty");return t({},"",{}),t}catch(t){}}(),ji=kt.clearTimeout!==Pt.clearTimeout&&kt.clearTimeout,wi=qu&&qu.now!==Pt.Date.now&&qu.now,mi=kt.setTimeout!==Pt.setTimeout&&kt.setTimeout,Ai=Gu.ceil,ki=Gu.floor,Ei=Ju.getOwnPropertySymbols,Oi=li?li.isBuffer:F,Si=kt.isFinite,Ii=Xu.join,Ri=U(Ju.keys,Ju),zi=Gu.max,Wi=Gu.min,Bi=qu.now,Li=kt.parseInt,Ui=Gu.random,Ci=Xu.reverse,Mi=de(kt,"DataView"),Di=de(kt,"Map"),Ti=de(kt,"Promise"),$i=de(kt,"Set"),Fi=de(kt,"WeakMap"),Ni=de(Ju,"create"),Pi=Fi&&new Fi,Zi={},qi=Ce(Mi),Vi=Ce(Di),Ki=Ce(Ti),Gi=Ce($i),Ji=Ce(Fi),Yi=si?si.prototype:F,Hi=Yi?Yi.valueOf:F,Qi=Yi?Yi.toString:F,Xi=function(){ function t(){}return function(n){return _u(n)?gi?gi(n):(t.prototype=n,n=new t,t.prototype=F,n):{}}}();Ot.templateSettings={escape:Q,evaluate:X,interpolate:tt,variable:"",imports:{_:Ot}},Ot.prototype=Rt.prototype,Ot.prototype.constructor=Ot,Mt.prototype=Xi(Rt.prototype),Mt.prototype.constructor=Mt,Dt.prototype=Xi(Rt.prototype),Dt.prototype.constructor=Dt,Ft.prototype.clear=function(){this.__data__=Ni?Ni(null):{},this.size=0},Ft.prototype.delete=function(t){return t=this.has(t)&&delete this.__data__[t], this.size-=t?1:0,t},Ft.prototype.get=function(t){var n=this.__data__;return Ni?(t=n[t],"__lodash_hash_undefined__"===t?F:t):ui.call(n,t)?n[t]:F},Ft.prototype.has=function(t){var n=this.__data__;return Ni?n[t]!==F:ui.call(n,t)},Ft.prototype.set=function(t,n){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ni&&n===F?"__lodash_hash_undefined__":n,this},Nt.prototype.clear=function(){this.__data__=[],this.size=0},Nt.prototype.delete=function(t){var n=this.__data__;return t=hn(n,t),!(0>t)&&(t==n.length-1?n.pop():yi.call(n,t,1), ---this.size,true)},Nt.prototype.get=function(t){var n=this.__data__;return t=hn(n,t),0>t?F:n[t][1]},Nt.prototype.has=function(t){return-1e?(++this.size,r.push([t,n])):r[e][1]=n,this},Zt.prototype.clear=function(){this.size=0,this.__data__={hash:new Ft,map:new(Di||Nt),string:new Ft}},Zt.prototype.delete=function(t){return t=_e(this,t).delete(t),this.size-=t?1:0,t},Zt.prototype.get=function(t){return _e(this,t).get(t); -},Zt.prototype.has=function(t){return _e(this,t).has(t)},Zt.prototype.set=function(t,n){var r=_e(this,t),e=r.size;return r.set(t,n),this.size+=r.size==e?0:1,this},qt.prototype.add=qt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},qt.prototype.has=function(t){return this.__data__.has(t)},Kt.prototype.clear=function(){this.__data__=new Nt,this.size=0},Kt.prototype.delete=function(t){var n=this.__data__;return t=n.delete(t),this.size=n.size,t},Kt.prototype.get=function(t){ +--this.size,true)},Nt.prototype.get=function(t){var n=this.__data__;return t=hn(n,t),0>t?F:n[t][1]},Nt.prototype.has=function(t){return-1e?(++this.size,r.push([t,n])):r[e][1]=n,this},Zt.prototype.clear=function(){this.size=0,this.__data__={hash:new Ft,map:new(Di||Nt),string:new Ft}},Zt.prototype.delete=function(t){return t=ve(this,t).delete(t),this.size-=t?1:0,t},Zt.prototype.get=function(t){return ve(this,t).get(t); +},Zt.prototype.has=function(t){return ve(this,t).has(t)},Zt.prototype.set=function(t,n){var r=ve(this,t),e=r.size;return r.set(t,n),this.size+=r.size==e?0:1,this},qt.prototype.add=qt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},qt.prototype.has=function(t){return this.__data__.has(t)},Kt.prototype.clear=function(){this.__data__=new Nt,this.size=0},Kt.prototype.delete=function(t){var n=this.__data__;return t=n.delete(t),this.size=n.size,t},Kt.prototype.get=function(t){ return this.__data__.get(t)},Kt.prototype.has=function(t){return this.__data__.has(t)},Kt.prototype.set=function(t,n){var r=this.__data__;if(r instanceof Nt){var e=r.__data__;if(!Di||199>e.length)return e.push([t,n]),this.size=++r.size,this;r=this.__data__=new Zt(e)}return r.set(t,n),this.size=r.size,this};var to=Fr(On),no=Fr(Sn,true),ro=Nr(),eo=Nr(true),uo=Pi?function(t,n){return Pi.set(t,n),t}:Mu,io=xi?function(t,n){return xi(t,"toString",{configurable:true,enumerable:false,value:Cu(n),writable:true})}:Mu,oo=ji||function(t){ -return Pt.clearTimeout(t)},fo=$i&&1/M(new $i([,-0]))[1]==N?function(t){return new $i(t)}:$u,co=Pi?function(t){return Pi.get(t)}:$u,ao=Ei?U(Ei,Ju):Nu,lo=Ei?function(t){for(var n=[];t;)s(n,ao(t)),t=_i(t);return n}:Nu;(Mi&&"[object DataView]"!=Et(new Mi(new ArrayBuffer(1)))||Di&&"[object Map]"!=Et(new Di)||Ti&&"[object Promise]"!=Et(Ti.resolve())||$i&&"[object Set]"!=Et(new $i)||Fi&&"[object WeakMap]"!=Et(new Fi))&&(Et=function(t){var n=fi.call(t);if(t=(t="[object Object]"==n?t.constructor:F)?Ue(t):F)switch(t){ -case qi:return"[object DataView]";case Vi:return"[object Map]";case Ki:return"[object Promise]";case Gi:return"[object Set]";case Ji:return"[object WeakMap]"}return n});var so=ni?su:Pu,ho=We(uo),po=mi||function(t,n){return Pt.setTimeout(t,n)},_o=We(io),vo=function(t){t=uu(t,function(t){return 500===n.size&&n.clear(),t});var n=t.cache;return t}(function(t){t=Eu(t);var n=[];return et.test(t)&&n.push(""),t.replace(ut,function(t,r,e,u){n.push(e?u.replace(_t,"$1"):r||t)}),n}),go=lr(function(t,n){return au(t)?wn(t,En(n,1,au,true)):[]; -}),yo=lr(function(t,n){var r=Ne(n);return au(r)&&(r=F),au(t)?wn(t,En(n,1,au,true),pe(r,2)):[]}),bo=lr(function(t,n){var r=Ne(n);return au(r)&&(r=F),au(t)?wn(t,En(n,1,au,true),F,r):[]}),xo=lr(function(t){var n=l(t,Or);return n.length&&n[0]===t[0]?Un(n):[]}),jo=lr(function(t){var n=Ne(t),r=l(t,Or);return n===Ne(r)?n=F:r.pop(),r.length&&r[0]===t[0]?Un(r,pe(n,2)):[]}),wo=lr(function(t){var n=Ne(t),r=l(t,Or);return n===Ne(r)?n=F:r.pop(),r.length&&r[0]===t[0]?Un(r,F,n):[]}),mo=lr(Pe),Ao=le(function(t,n){var r=t?t.length:0,e=gn(t,n); -return fr(t,l(n,function(t){return we(t,r)?+t:t}).sort(Br)),e}),ko=lr(function(t){return wr(En(t,1,au,true))}),Eo=lr(function(t){var n=Ne(t);return au(n)&&(n=F),wr(En(t,1,au,true),pe(n,2))}),Oo=lr(function(t){var n=Ne(t);return au(n)&&(n=F),wr(En(t,1,au,true),F,n)}),So=lr(function(t,n){return au(t)?wn(t,n):[]}),Io=lr(function(t){return kr(f(t,au))}),Ro=lr(function(t){var n=Ne(t);return au(n)&&(n=F),kr(f(t,au),pe(n,2))}),zo=lr(function(t){var n=Ne(t);return au(n)&&(n=F),kr(f(t,au),F,n)}),Wo=lr(qe),Bo=lr(function(t){ -var n=t.length,n=1=n}),tf=Zu.isArray,nf=Gt?S(Gt):Dn,rf=Oi||Pu,ef=Jt?S(Jt):Tn,uf=Yt?S(Yt):Fn,of=Ht?S(Ht):Zn,ff=Qt?S(Qt):qn,cf=Xt?S(Xt):Vn,af=ee(Yn),lf=ee(function(t,n){return t<=n}),sf=$r(function(t,n){if(Ee(n)||cu(n))Mr(n,Iu(n),t);else for(var r in n)ui.call(n,r)&&sn(t,r,n[r])}),hf=$r(function(t,n){Mr(n,Ru(n),t)}),pf=$r(function(t,n,r,e){Mr(n,Ru(n),t,e)}),_f=$r(function(t,n,r,e){ -Mr(n,Iu(n),t,e)}),vf=le(gn),gf=lr(function(t){return t.push(F,an),r(pf,F,t)}),df=lr(function(t){return t.push(F,Se),r(wf,F,t)}),yf=Hr(function(t,n,r){t[n]=r},Cu(Mu)),bf=Hr(function(t,n,r){ui.call(t,n)?t[n].push(r):t[n]=[r]},pe),xf=lr(Mn),jf=$r(function(t,n,r){tr(t,n,r)}),wf=$r(function(t,n,r,e){tr(t,n,r,e)}),mf=le(function(t,n){return null==t?{}:(n=l(n,Le),er(t,wn(zn(t,Ru,lo),n)))}),Af=le(function(t,n){return null==t?{}:er(t,l(n,Le))}),kf=oe(Iu),Ef=oe(Ru),Of=qr(function(t,n,r){return n=n.toLowerCase(), -t+(r?Bu(n):n)}),Sf=qr(function(t,n,r){return t+(r?"-":"")+n.toLowerCase()}),If=qr(function(t,n,r){return t+(r?" ":"")+n.toLowerCase()}),Rf=Zr("toLowerCase"),zf=qr(function(t,n,r){return t+(r?"_":"")+n.toLowerCase()}),Wf=qr(function(t,n,r){return t+(r?" ":"")+Lf(n)}),Bf=qr(function(t,n,r){return t+(r?" ":"")+n.toUpperCase()}),Lf=Zr("toUpperCase"),Uf=lr(function(t,n){try{return r(t,F,n)}catch(t){return lu(t)?t:new Vu(t)}}),Cf=le(function(t,n){return u(n,function(n){n=Le(n),vn(t,n,Zo(t[n],t))}),t}),Mf=Jr(),Df=Jr(true),Tf=lr(function(t,n){ -return function(r){return Mn(r,t,n)}}),$f=lr(function(t,n){return function(r){return Mn(t,r,n)}}),Ff=Xr(l),Nf=Xr(o),Pf=Xr(_),Zf=re(),qf=re(true),Vf=Qr(function(t,n){return t+n},0),Kf=ie("ceil"),Gf=Qr(function(t,n){return t/n},1),Jf=ie("floor"),Yf=Qr(function(t,n){return t*n},1),Hf=ie("round"),Qf=Qr(function(t,n){return t-n},0);return Ot.after=function(t,n){if(typeof n!="function")throw new Qu("Expected a function");return t=wu(t),function(){if(1>--t)return n.apply(this,arguments)}},Ot.ary=Xe,Ot.assign=sf, -Ot.assignIn=hf,Ot.assignInWith=pf,Ot.assignWith=_f,Ot.at=vf,Ot.before=tu,Ot.bind=Zo,Ot.bindAll=Cf,Ot.bindKey=qo,Ot.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return tf(t)?t:[t]},Ot.chain=Ke,Ot.chunk=function(t,n,r){if(n=(r?me(t,n,r):n===F)?1:zi(wu(n),0),r=t?t.length:0,!r||1>n)return[];for(var e=0,u=0,i=Zu(Ai(r/n));en?0:n,e)):[]},Ot.dropRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===F?1:wu(n),n=e-n,vr(t,0,0>n?0:n)):[]},Ot.dropRightWhile=function(t,n){return t&&t.length?mr(t,pe(n,3),true,true):[]},Ot.dropWhile=function(t,n){return t&&t.length?mr(t,pe(n,3),true):[]},Ot.fill=function(t,n,r,e){ -var u=t?t.length:0;if(!u)return[];for(r&&typeof r!="number"&&me(t,n,r)&&(r=0,e=u),u=t.length,r=wu(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:wu(e),0>e&&(e+=u),e=r>e?0:mu(e);r>>0,r?(t=Eu(t))&&(typeof n=="string"||null!=n&&!of(n))&&(n=jr(n),!n&&Wt.test(t))?Ir($(t),0,r):t.split(n,r):[]},Ot.spread=function(t,n){if(typeof t!="function")throw new Qu("Expected a function");return n=n===F?0:zi(wu(n),0),lr(function(e){var u=e[n];return e=Ir(e,0,n),u&&s(e,u),r(t,this,e)})},Ot.tail=function(t){var n=t?t.length:0;return n?vr(t,1,n):[]},Ot.take=function(t,n,r){return t&&t.length?(n=r||n===F?1:wu(n), -vr(t,0,0>n?0:n)):[]},Ot.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===F?1:wu(n),n=e-n,vr(t,0>n?0:n,e)):[]},Ot.takeRightWhile=function(t,n){return t&&t.length?mr(t,pe(n,3),false,true):[]},Ot.takeWhile=function(t,n){return t&&t.length?mr(t,pe(n,3)):[]},Ot.tap=function(t,n){return n(t),t},Ot.throttle=function(t,n,r){var e=true,u=true;if(typeof t!="function")throw new Qu("Expected a function");return _u(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),eu(t,n,{leading:e,maxWait:n, -trailing:u})},Ot.thru=Ge,Ot.toArray=xu,Ot.toPairs=kf,Ot.toPairsIn=Ef,Ot.toPath=function(t){return tf(t)?l(t,Le):bu(t)?[t]:Cr(vo(t))},Ot.toPlainObject=ku,Ot.transform=function(t,n,r){var e=tf(t)||cf(t);if(n=pe(n,4),null==r)if(e||_u(t)){var i=t.constructor;r=e?tf(t)?new i:[]:su(i)?Xi(_i(t)):{}}else r={};return(e?u:On)(t,function(t,e,u){return n(r,t,e,u)}),r},Ot.unary=function(t){return Xe(t,1)},Ot.union=ko,Ot.unionBy=Eo,Ot.unionWith=Oo,Ot.uniq=function(t){return t&&t.length?wr(t):[]},Ot.uniqBy=function(t,n){ -return t&&t.length?wr(t,pe(n,2)):[]},Ot.uniqWith=function(t,n){return t&&t.length?wr(t,F,n):[]},Ot.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=Ae(e,r)?[e]:Sr(e);r=Re(r,e),e=Le(Ne(e)),r=!(null!=r&&ui.call(r,e))||delete r[e]}return r},Ot.unzip=qe,Ot.unzipWith=Ve,Ot.update=function(t,n,r){return null==t?t:pr(t,n,(typeof r=="function"?r:Mu)(Rn(t,n)),void 0)},Ot.updateWith=function(t,n,r,e){return e=typeof e=="function"?e:F,null!=t&&(t=pr(t,n,(typeof r=="function"?r:Mu)(Rn(t,n)),e)),t; -},Ot.values=Wu,Ot.valuesIn=function(t){return null==t?[]:I(t,Ru(t))},Ot.without=So,Ot.words=Uu,Ot.wrap=function(t,n){return n=null==n?Mu:n,Jo(n,t)},Ot.xor=Io,Ot.xorBy=Ro,Ot.xorWith=zo,Ot.zip=Wo,Ot.zipObject=function(t,n){return Er(t||[],n||[],sn)},Ot.zipObjectDeep=function(t,n){return Er(t||[],n||[],pr)},Ot.zipWith=Bo,Ot.entries=kf,Ot.entriesIn=Ef,Ot.extend=hf,Ot.extendWith=pf,Tu(Ot,Ot),Ot.add=Vf,Ot.attempt=Uf,Ot.camelCase=Of,Ot.capitalize=Bu,Ot.ceil=Kf,Ot.clamp=function(t,n,r){return r===F&&(r=n, -n=F),r!==F&&(r=Au(r),r=r===r?r:0),n!==F&&(n=Au(n),n=n===n?n:0),dn(Au(t),n,r)},Ot.clone=function(t){return yn(t,false,true)},Ot.cloneDeep=function(t){return yn(t,true,true)},Ot.cloneDeepWith=function(t,n){return yn(t,true,true,n)},Ot.cloneWith=function(t,n){return yn(t,false,true,n)},Ot.conformsTo=function(t,n){return null==n||xn(t,n,Iu(n))},Ot.deburr=Lu,Ot.defaultTo=function(t,n){return null==t||t!==t?n:t},Ot.divide=Gf,Ot.endsWith=function(t,n,r){t=Eu(t),n=jr(n);var e=t.length,e=r=r===F?e:dn(wu(r),0,e);return r-=n.length, -0<=r&&t.slice(r,e)==n},Ot.eq=ou,Ot.escape=function(t){return(t=Eu(t))&&H.test(t)?t.replace(J,rn):t},Ot.escapeRegExp=function(t){return(t=Eu(t))&&ot.test(t)?t.replace(it,"\\$&"):t},Ot.every=function(t,n,r){var e=tf(t)?o:mn;return r&&me(t,n,r)&&(n=F),e(t,pe(n,3))},Ot.find=Co,Ot.findIndex=De,Ot.findKey=function(t,n){return v(t,pe(n,3),On)},Ot.findLast=Mo,Ot.findLastIndex=Te,Ot.findLastKey=function(t,n){return v(t,pe(n,3),Sn)},Ot.floor=Jf,Ot.forEach=Ye,Ot.forEachRight=He,Ot.forIn=function(t,n){return null==t?t:ro(t,pe(n,3),Ru); -},Ot.forInRight=function(t,n){return null==t?t:eo(t,pe(n,3),Ru)},Ot.forOwn=function(t,n){return t&&On(t,pe(n,3))},Ot.forOwnRight=function(t,n){return t&&Sn(t,pe(n,3))},Ot.get=Ou,Ot.gt=Qo,Ot.gte=Xo,Ot.has=function(t,n){return null!=t&&de(t,n,Bn)},Ot.hasIn=Su,Ot.head=Fe,Ot.identity=Mu,Ot.includes=function(t,n,r,e){return t=cu(t)?t:Wu(t),r=r&&!e?wu(r):0,e=t.length,0>r&&(r=zi(e+r,0)),yu(t)?r<=e&&-1r&&(r=zi(e+r,0)),d(t,n,r)):-1},Ot.inRange=function(t,n,r){return n=ju(n),r===F?(r=n,n=0):r=ju(r),t=Au(t),t>=Wi(n,r)&&t=t},Ot.isSet=ff,Ot.isString=yu,Ot.isSymbol=bu, -Ot.isTypedArray=cf,Ot.isUndefined=function(t){return t===F},Ot.isWeakMap=function(t){return vu(t)&&"[object WeakMap]"==Et(t)},Ot.isWeakSet=function(t){return vu(t)&&"[object WeakSet]"==fi.call(t)},Ot.join=function(t,n){return t?Ii.call(t,n):""},Ot.kebabCase=Sf,Ot.last=Ne,Ot.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==F&&(u=wu(r),u=0>u?zi(e+u,0):Wi(u,e-1)),n===n){for(r=u+1;r--&&t[r]!==n;);t=r}else t=g(t,b,u,true);return t},Ot.lowerCase=If,Ot.lowerFirst=Rf,Ot.lt=af,Ot.lte=lf, -Ot.max=function(t){return t&&t.length?An(t,Mu,Wn):F},Ot.maxBy=function(t,n){return t&&t.length?An(t,pe(n,2),Wn):F},Ot.mean=function(t){return x(t,Mu)},Ot.meanBy=function(t,n){return x(t,pe(n,2))},Ot.min=function(t){return t&&t.length?An(t,Mu,Yn):F},Ot.minBy=function(t,n){return t&&t.length?An(t,pe(n,2),Yn):F},Ot.stubArray=Nu,Ot.stubFalse=Pu,Ot.stubObject=function(){return{}},Ot.stubString=function(){return""},Ot.stubTrue=function(){return true},Ot.multiply=Yf,Ot.nth=function(t,n){return t&&t.length?nr(t,wu(n)):F; -},Ot.noConflict=function(){return Pt._===this&&(Pt._=ci),this},Ot.noop=$u,Ot.now=Po,Ot.pad=function(t,n,r){t=Eu(t);var e=(n=wu(n))?T(t):0;return!n||e>=n?t:(n=(n-e)/2,te(ki(n),r)+t+te(Ai(n),r))},Ot.padEnd=function(t,n,r){t=Eu(t);var e=(n=wu(n))?T(t):0;return n&&en){var e=t;t=n,n=e}return r||t%1||n%1?(r=Ui(),Wi(t+r*(n-t+Tt("1e-"+((r+"").length-1))),n)):cr(t,n)},Ot.reduce=function(t,n,r){var e=tf(t)?h:m,u=3>arguments.length;return e(t,pe(n,4),r,u,to)},Ot.reduceRight=function(t,n,r){var e=tf(t)?p:m,u=3>arguments.length;return e(t,pe(n,4),r,u,no)},Ot.repeat=function(t,n,r){return n=(r?me(t,n,r):n===F)?1:wu(n),ar(Eu(t),n)},Ot.replace=function(){ -var t=arguments,n=Eu(t[0]);return 3>t.length?n:n.replace(t[1],t[2])},Ot.result=function(t,n,r){n=Ae(n,t)?[n]:Sr(n);var e=-1,u=n.length;for(u||(t=F,u=1);++e=n}),tf=Dn(function(){return arguments}())?Dn:function(t){return vu(t)&&ui.call(t,"callee")&&!di.call(t,"callee")},nf=Zu.isArray,rf=Gt?S(Gt):Tn,ef=Oi||Pu,uf=Jt?S(Jt):$n,of=Yt?S(Yt):Nn,ff=Ht?S(Ht):qn,cf=Qt?S(Qt):Vn,af=Xt?S(Xt):Kn,lf=ee(Yn),sf=ee(function(t,n){return t<=n}),hf=$r(function(t,n){if(Oe(n)||cu(n))Mr(n,Iu(n),t);else for(var r in n)ui.call(n,r)&&sn(t,r,n[r]); +}),pf=$r(function(t,n){Mr(n,Ru(n),t)}),_f=$r(function(t,n,r,e){Mr(n,Ru(n),t,e)}),vf=$r(function(t,n,r,e){Mr(n,Iu(n),t,e)}),gf=le(gn),df=lr(function(t){return t.push(F,an),r(_f,F,t)}),yf=lr(function(t){return t.push(F,Ie),r(mf,F,t)}),bf=Hr(function(t,n,r){t[n]=r},Cu(Mu)),xf=Hr(function(t,n,r){ui.call(t,n)?t[n].push(r):t[n]=[r]},_e),jf=lr(Mn),wf=$r(function(t,n,r){tr(t,n,r)}),mf=$r(function(t,n,r,e){tr(t,n,r,e)}),Af=le(function(t,n){return null==t?{}:(n=l(n,Ue),er(t,wn(zn(t,Ru,lo),n)))}),kf=le(function(t,n){ +return null==t?{}:er(t,l(n,Ue))}),Ef=oe(Iu),Of=oe(Ru),Sf=qr(function(t,n,r){return n=n.toLowerCase(),t+(r?Bu(n):n)}),If=qr(function(t,n,r){return t+(r?"-":"")+n.toLowerCase()}),Rf=qr(function(t,n,r){return t+(r?" ":"")+n.toLowerCase()}),zf=Zr("toLowerCase"),Wf=qr(function(t,n,r){return t+(r?"_":"")+n.toLowerCase()}),Bf=qr(function(t,n,r){return t+(r?" ":"")+Uf(n)}),Lf=qr(function(t,n,r){return t+(r?" ":"")+n.toUpperCase()}),Uf=Zr("toUpperCase"),Cf=lr(function(t,n){try{return r(t,F,n)}catch(t){return lu(t)?t:new Vu(t); +}}),Mf=le(function(t,n){return u(n,function(n){n=Ue(n),vn(t,n,Zo(t[n],t))}),t}),Df=Jr(),Tf=Jr(true),$f=lr(function(t,n){return function(r){return Mn(r,t,n)}}),Ff=lr(function(t,n){return function(r){return Mn(t,r,n)}}),Nf=Xr(l),Pf=Xr(o),Zf=Xr(_),qf=re(),Vf=re(true),Kf=Qr(function(t,n){return t+n},0),Gf=ie("ceil"),Jf=Qr(function(t,n){return t/n},1),Yf=ie("floor"),Hf=Qr(function(t,n){return t*n},1),Qf=ie("round"),Xf=Qr(function(t,n){return t-n},0);return Ot.after=function(t,n){if(typeof n!="function")throw new Qu("Expected a function"); +return t=wu(t),function(){if(1>--t)return n.apply(this,arguments)}},Ot.ary=tu,Ot.assign=hf,Ot.assignIn=pf,Ot.assignInWith=_f,Ot.assignWith=vf,Ot.at=gf,Ot.before=nu,Ot.bind=Zo,Ot.bindAll=Mf,Ot.bindKey=qo,Ot.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return nf(t)?t:[t]},Ot.chain=Ge,Ot.chunk=function(t,n,r){if(n=(r?Ae(t,n,r):n===F)?1:zi(wu(n),0),r=t?t.length:0,!r||1>n)return[];for(var e=0,u=0,i=Zu(Ai(r/n));en?0:n,e)):[]},Ot.dropRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===F?1:wu(n),n=e-n,vr(t,0,0>n?0:n)):[]},Ot.dropRightWhile=function(t,n){return t&&t.length?mr(t,_e(n,3),true,true):[]},Ot.dropWhile=function(t,n){ +return t&&t.length?mr(t,_e(n,3),true):[]},Ot.fill=function(t,n,r,e){var u=t?t.length:0;if(!u)return[];for(r&&typeof r!="number"&&Ae(t,n,r)&&(r=0,e=u),u=t.length,r=wu(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:wu(e),0>e&&(e+=u),e=r>e?0:mu(e);r>>0,r?(t=Eu(t))&&(typeof n=="string"||null!=n&&!ff(n))&&(n=jr(n),!n&&Wt.test(t))?Ir($(t),0,r):t.split(n,r):[]},Ot.spread=function(t,n){if(typeof t!="function")throw new Qu("Expected a function");return n=n===F?0:zi(wu(n),0),lr(function(e){var u=e[n];return e=Ir(e,0,n),u&&s(e,u),r(t,this,e)})},Ot.tail=function(t){ +var n=t?t.length:0;return n?vr(t,1,n):[]},Ot.take=function(t,n,r){return t&&t.length?(n=r||n===F?1:wu(n),vr(t,0,0>n?0:n)):[]},Ot.takeRight=function(t,n,r){var e=t?t.length:0;return e?(n=r||n===F?1:wu(n),n=e-n,vr(t,0>n?0:n,e)):[]},Ot.takeRightWhile=function(t,n){return t&&t.length?mr(t,_e(n,3),false,true):[]},Ot.takeWhile=function(t,n){return t&&t.length?mr(t,_e(n,3)):[]},Ot.tap=function(t,n){return n(t),t},Ot.throttle=function(t,n,r){var e=true,u=true;if(typeof t!="function")throw new Qu("Expected a function"); +return _u(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),uu(t,n,{leading:e,maxWait:n,trailing:u})},Ot.thru=Je,Ot.toArray=xu,Ot.toPairs=Ef,Ot.toPairsIn=Of,Ot.toPath=function(t){return nf(t)?l(t,Ue):bu(t)?[t]:Cr(vo(t))},Ot.toPlainObject=ku,Ot.transform=function(t,n,r){var e=nf(t),i=e||ef(t)||af(t);if(n=_e(n,4),null==r){var o=t&&t.constructor;r=i?e?new o:[]:_u(t)&&su(o)?Xi(_i(t)):{}}return(i?u:On)(t,function(t,e,u){return n(r,t,e,u)}),r},Ot.unary=function(t){return tu(t,1)},Ot.union=ko, +Ot.unionBy=Eo,Ot.unionWith=Oo,Ot.uniq=function(t){return t&&t.length?wr(t):[]},Ot.uniqBy=function(t,n){return t&&t.length?wr(t,_e(n,2)):[]},Ot.uniqWith=function(t,n){return t&&t.length?wr(t,F,n):[]},Ot.unset=function(t,n){var r;if(null==t)r=true;else{r=t;var e=n,e=ke(e,r)?[e]:Sr(e);r=ze(r,e),e=Ue(Pe(e)),r=!(null!=r&&ui.call(r,e))||delete r[e]}return r},Ot.unzip=Ve,Ot.unzipWith=Ke,Ot.update=function(t,n,r){return null==t?t:pr(t,n,(typeof r=="function"?r:Mu)(Rn(t,n)),void 0)},Ot.updateWith=function(t,n,r,e){ +return e=typeof e=="function"?e:F,null!=t&&(t=pr(t,n,(typeof r=="function"?r:Mu)(Rn(t,n)),e)),t},Ot.values=Wu,Ot.valuesIn=function(t){return null==t?[]:I(t,Ru(t))},Ot.without=So,Ot.words=Uu,Ot.wrap=function(t,n){return n=null==n?Mu:n,Jo(n,t)},Ot.xor=Io,Ot.xorBy=Ro,Ot.xorWith=zo,Ot.zip=Wo,Ot.zipObject=function(t,n){return Er(t||[],n||[],sn)},Ot.zipObjectDeep=function(t,n){return Er(t||[],n||[],pr)},Ot.zipWith=Bo,Ot.entries=Ef,Ot.entriesIn=Of,Ot.extend=pf,Ot.extendWith=_f,Tu(Ot,Ot),Ot.add=Kf,Ot.attempt=Cf, +Ot.camelCase=Sf,Ot.capitalize=Bu,Ot.ceil=Gf,Ot.clamp=function(t,n,r){return r===F&&(r=n,n=F),r!==F&&(r=Au(r),r=r===r?r:0),n!==F&&(n=Au(n),n=n===n?n:0),dn(Au(t),n,r)},Ot.clone=function(t){return yn(t,false,true)},Ot.cloneDeep=function(t){return yn(t,true,true)},Ot.cloneDeepWith=function(t,n){return yn(t,true,true,n)},Ot.cloneWith=function(t,n){return yn(t,false,true,n)},Ot.conformsTo=function(t,n){return null==n||xn(t,n,Iu(n))},Ot.deburr=Lu,Ot.defaultTo=function(t,n){return null==t||t!==t?n:t},Ot.divide=Jf,Ot.endsWith=function(t,n,r){ +t=Eu(t),n=jr(n);var e=t.length,e=r=r===F?e:dn(wu(r),0,e);return r-=n.length,0<=r&&t.slice(r,e)==n},Ot.eq=fu,Ot.escape=function(t){return(t=Eu(t))&&H.test(t)?t.replace(J,rn):t},Ot.escapeRegExp=function(t){return(t=Eu(t))&&ot.test(t)?t.replace(it,"\\$&"):t},Ot.every=function(t,n,r){var e=nf(t)?o:mn;return r&&Ae(t,n,r)&&(n=F),e(t,_e(n,3))},Ot.find=Co,Ot.findIndex=Te,Ot.findKey=function(t,n){return v(t,_e(n,3),On)},Ot.findLast=Mo,Ot.findLastIndex=$e,Ot.findLastKey=function(t,n){return v(t,_e(n,3),Sn); +},Ot.floor=Yf,Ot.forEach=He,Ot.forEachRight=Qe,Ot.forIn=function(t,n){return null==t?t:ro(t,_e(n,3),Ru)},Ot.forInRight=function(t,n){return null==t?t:eo(t,_e(n,3),Ru)},Ot.forOwn=function(t,n){return t&&On(t,_e(n,3))},Ot.forOwnRight=function(t,n){return t&&Sn(t,_e(n,3))},Ot.get=Ou,Ot.gt=Qo,Ot.gte=Xo,Ot.has=function(t,n){return null!=t&&ye(t,n,Bn)},Ot.hasIn=Su,Ot.head=Ne,Ot.identity=Mu,Ot.includes=function(t,n,r,e){return t=cu(t)?t:Wu(t),r=r&&!e?wu(r):0,e=t.length,0>r&&(r=zi(e+r,0)),yu(t)?r<=e&&-1r&&(r=zi(e+r,0)),d(t,n,r)):-1},Ot.inRange=function(t,n,r){return n=ju(n),r===F?(r=n,n=0):r=ju(r),t=Au(t),t>=Wi(n,r)&&t=t; +},Ot.isSet=cf,Ot.isString=yu,Ot.isSymbol=bu,Ot.isTypedArray=af,Ot.isUndefined=function(t){return t===F},Ot.isWeakMap=function(t){return vu(t)&&"[object WeakMap]"==Et(t)},Ot.isWeakSet=function(t){return vu(t)&&"[object WeakSet]"==fi.call(t)},Ot.join=function(t,n){return t?Ii.call(t,n):""},Ot.kebabCase=If,Ot.last=Pe,Ot.lastIndexOf=function(t,n,r){var e=t?t.length:0;if(!e)return-1;var u=e;if(r!==F&&(u=wu(r),u=0>u?zi(e+u,0):Wi(u,e-1)),n===n){for(r=u+1;r--&&t[r]!==n;);t=r}else t=g(t,b,u,true);return t}, +Ot.lowerCase=Rf,Ot.lowerFirst=zf,Ot.lt=lf,Ot.lte=sf,Ot.max=function(t){return t&&t.length?An(t,Mu,Wn):F},Ot.maxBy=function(t,n){return t&&t.length?An(t,_e(n,2),Wn):F},Ot.mean=function(t){return x(t,Mu)},Ot.meanBy=function(t,n){return x(t,_e(n,2))},Ot.min=function(t){return t&&t.length?An(t,Mu,Yn):F},Ot.minBy=function(t,n){return t&&t.length?An(t,_e(n,2),Yn):F},Ot.stubArray=Nu,Ot.stubFalse=Pu,Ot.stubObject=function(){return{}},Ot.stubString=function(){return""},Ot.stubTrue=function(){return true},Ot.multiply=Hf, +Ot.nth=function(t,n){return t&&t.length?nr(t,wu(n)):F},Ot.noConflict=function(){return Pt._===this&&(Pt._=ci),this},Ot.noop=$u,Ot.now=Po,Ot.pad=function(t,n,r){t=Eu(t);var e=(n=wu(n))?T(t):0;return!n||e>=n?t:(n=(n-e)/2,te(ki(n),r)+t+te(Ai(n),r))},Ot.padEnd=function(t,n,r){t=Eu(t);var e=(n=wu(n))?T(t):0;return n&&en){var e=t;t=n,n=e}return r||t%1||n%1?(r=Ui(),Wi(t+r*(n-t+Tt("1e-"+((r+"").length-1))),n)):cr(t,n)},Ot.reduce=function(t,n,r){var e=nf(t)?h:m,u=3>arguments.length;return e(t,_e(n,4),r,u,to)},Ot.reduceRight=function(t,n,r){var e=nf(t)?p:m,u=3>arguments.length;return e(t,_e(n,4),r,u,no)},Ot.repeat=function(t,n,r){ +return n=(r?Ae(t,n,r):n===F)?1:wu(n),ar(Eu(t),n)},Ot.replace=function(){var t=arguments,n=Eu(t[0]);return 3>t.length?n:n.replace(t[1],t[2])},Ot.result=function(t,n,r){n=ke(n,t)?[n]:Sr(n);var e=-1,u=n.length;for(u||(t=F,u=1);++et||9007199254740991t||9007199254740991=i)return t;if(i=r-T(e),1>i)return e;if(r=o?Ir(o,0,i).join(""):t.slice(0,i),u===F)return r+e;if(o&&(i+=r.length-i),of(u)){if(t.slice(i).search(u)){var f=r;for(u.global||(u=Yu(u.source,Eu(gt.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else t.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1u.__dir__?"Right":"")}),u},Dt.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){var r=n+1,e=1==r||3==r;Dt.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:pe(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");Dt.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right"); -Dt.prototype[t]=function(){return this.__filtered__?new Dt(this):this[r](1)}}),Dt.prototype.compact=function(){return this.filter(Mu)},Dt.prototype.find=function(t){return this.filter(t).head()},Dt.prototype.findLast=function(t){return this.reverse().find(t)},Dt.prototype.invokeMap=lr(function(t,n){return typeof t=="function"?new Dt(this):this.map(function(r){return Mn(r,t,n)})}),Dt.prototype.reject=function(t){return this.filter(iu(pe(t)))},Dt.prototype.slice=function(t,n){t=wu(t);var r=this;return r.__filtered__&&(0n)?new Dt(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)), -n!==F&&(n=wu(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},Dt.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Dt.prototype.toArray=function(){return this.take(4294967295)},On(Dt.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=Ot[e?"take"+("last"==n?"Right":""):n],i=e||/^find/.test(n);u&&(Ot.prototype[n]=function(){function n(t){return t=u.apply(Ot,s([t],f)),e&&h?t[0]:t}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Dt,a=f[0],l=c||tf(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 Dt(this),o=t.apply(o,f),o.__actions__.push({func:Ge,args:[n],thisArg:F}),new Mt(o,h)):a&&c?t.apply(this,f):(o=this.thru(n),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=Xu[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);Ot.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){ -var u=this.value();return n.apply(tf(u)?u:[],t)}return this[r](function(r){return n.apply(tf(r)?r:[],t)})}}),On(Dt.prototype,function(t,n){var r=Ot[n];if(r){var e=r.name+"";(Zi[e]||(Zi[e]=[])).push({name:n,func:r})}}),Zi[Yr(F,2).name]=[{name:"wrapper",func:F}],Dt.prototype.clone=function(){var t=new Dt(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__), -t},Dt.prototype.reverse=function(){if(this.__filtered__){var t=new Dt(this);t.__dir__=-1,t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t},Dt.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=tf(n),u=0>r,i=e?n.length:0;t=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++ci||i==t&&a==t)return Ar(n,this.__actions__);e=[];t:for(;t--&&c=this.__values__.length;return{done:t,value:t?F:this.__values__[this.__index__++]}},Ot.prototype.plant=function(t){for(var n,r=this;r instanceof Rt;){var e=Me(r);e.__index__=0,e.__values__=F,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},Ot.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof Dt?(this.__actions__.length&&(t=new Dt(this)),t=t.reverse(),t.__actions__.push({func:Ge,args:[Ze],thisArg:F}),new Mt(t,this.__chain__)):this.thru(Ze); -},Ot.prototype.toJSON=Ot.prototype.valueOf=Ot.prototype.value=function(){return Ar(this.__wrapped__,this.__actions__)},Ot.prototype.first=Ot.prototype.head,vi&&(Ot.prototype[vi]=Je),Ot}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Pt._=un, define(function(){return un})):qt?((qt.exports=un)._=un,Zt._=un):Pt._=un}).call(this); \ No newline at end of file +t=Eu(t);var i=t.length;if(Wt.test(t))var o=$(t),i=o.length;if(r>=i)return t;if(i=r-T(e),1>i)return e;if(r=o?Ir(o,0,i).join(""):t.slice(0,i),u===F)return r+e;if(o&&(i+=r.length-i),ff(u)){if(t.slice(i).search(u)){var f=r;for(u.global||(u=Yu(u.source,Eu(gt.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else t.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1u.__dir__?"Right":"")}),u},Dt.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),u(["filter","map","takeWhile"],function(t,n){var r=n+1,e=1==r||3==r;Dt.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:_e(t,3),type:r}),n.__filtered__=n.__filtered__||e,n}}),u(["head","last"],function(t,n){var r="take"+(n?"Right":"");Dt.prototype[t]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(t,n){var r="drop"+(n?"":"Right"); +Dt.prototype[t]=function(){return this.__filtered__?new Dt(this):this[r](1)}}),Dt.prototype.compact=function(){return this.filter(Mu)},Dt.prototype.find=function(t){return this.filter(t).head()},Dt.prototype.findLast=function(t){return this.reverse().find(t)},Dt.prototype.invokeMap=lr(function(t,n){return typeof t=="function"?new Dt(this):this.map(function(r){return Mn(r,t,n)})}),Dt.prototype.reject=function(t){return this.filter(ou(_e(t)))},Dt.prototype.slice=function(t,n){t=wu(t);var r=this;return r.__filtered__&&(0n)?new Dt(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)), +n!==F&&(n=wu(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},Dt.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Dt.prototype.toArray=function(){return this.take(4294967295)},On(Dt.prototype,function(t,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),e=/^(?:head|last)$/.test(n),u=Ot[e?"take"+("last"==n?"Right":""):n],i=e||/^find/.test(n);u&&(Ot.prototype[n]=function(){function n(t){return t=u.apply(Ot,s([t],f)),e&&h?t[0]:t}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Dt,a=f[0],l=c||nf(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 Dt(this),o=t.apply(o,f),o.__actions__.push({func:Je,args:[n],thisArg:F}),new Mt(o,h)):a&&c?t.apply(this,f):(o=this.thru(n),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(t){var n=Xu[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);Ot.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){ +var u=this.value();return n.apply(nf(u)?u:[],t)}return this[r](function(r){return n.apply(nf(r)?r:[],t)})}}),On(Dt.prototype,function(t,n){var r=Ot[n];if(r){var e=r.name+"";(Zi[e]||(Zi[e]=[])).push({name:n,func:r})}}),Zi[Yr(F,2).name]=[{name:"wrapper",func:F}],Dt.prototype.clone=function(){var t=new Dt(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__), +t},Dt.prototype.reverse=function(){if(this.__filtered__){var t=new Dt(this);t.__dir__=-1,t.__filtered__=true}else t=this.clone(),t.__dir__*=-1;return t},Dt.prototype.value=function(){var t,n=this.__wrapped__.value(),r=this.__dir__,e=nf(n),u=0>r,i=e?n.length:0;t=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++ci||i==t&&a==t)return Ar(n,this.__actions__);e=[];t:for(;t--&&c=this.__values__.length;return{done:t,value:t?F:this.__values__[this.__index__++]}},Ot.prototype.plant=function(t){for(var n,r=this;r instanceof Rt;){var e=De(r);e.__index__=0,e.__values__=F,n?u.__wrapped__=e:n=e;var u=e,r=r.__wrapped__}return u.__wrapped__=t,n},Ot.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof Dt?(this.__actions__.length&&(t=new Dt(this)),t=t.reverse(),t.__actions__.push({func:Je,args:[qe],thisArg:F}),new Mt(t,this.__chain__)):this.thru(qe); +},Ot.prototype.toJSON=Ot.prototype.valueOf=Ot.prototype.value=function(){return Ar(this.__wrapped__,this.__actions__)},Ot.prototype.first=Ot.prototype.head,vi&&(Ot.prototype[vi]=Ye),Ot}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Pt._=un, define(function(){return un})):qt?((qt.exports=un)._=un,Zt._=un):Pt._=un}).call(this); \ No newline at end of file diff --git a/doc/README.md b/doc/README.md index 1a2257dade..d03f00bdb2 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,4 +1,4 @@ -# lodash v4.16.3 +# lodash v4.16.4 @@ -415,7 +415,7 @@

_.chunk(array, [size=1])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L6737 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.chunk "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6757 "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.3/lodash.js#L6772 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.compact "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6792 "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.3/lodash.js#L6809 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.concat "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6829 "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.3/lodash.js#L6845 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.difference "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6865 "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.3/lodash.js#L6877 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.differenceby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6897 "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.3/lodash.js#L6910 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.differencewith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6930 "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.3/lodash.js#L6945 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.drop "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6965 "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.3/lodash.js#L6979 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.dropright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L6999 "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.3/lodash.js#L7024 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7044 "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.3/lodash.js#L7066 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7086 "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.3/lodash.js#L7101 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.fill "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7121 "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.3/lodash.js#L7149 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findindex "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7169 "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.3/lodash.js#L7197 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7217 "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.3/lodash.js#L7226 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatten "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7246 "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.3/lodash.js#L7245 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7265 "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.3/lodash.js#L7270 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7290 "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.3/lodash.js#L7294 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.frompairs "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7314 "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.3/lodash.js#L7324 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.head "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7344 "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.3/lodash.js#L7351 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.indexof "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7371 "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.3/lodash.js#L7377 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.initial "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7397 "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.3/lodash.js#L7399 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersection "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7419 "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.3/lodash.js#L7429 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7449 "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.3/lodash.js#L7464 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7484 "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.3/lodash.js#L7493 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.join "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7513 "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.3/lodash.js#L7511 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.last "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7531 "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.3/lodash.js#L7537 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7557 "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.3/lodash.js#L7573 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.nth "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7593 "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.3/lodash.js#L7600 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pull "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7620 "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.3/lodash.js#L7622 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullall "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7642 "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.3/lodash.js#L7652 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullallby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7672 "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.3/lodash.js#L7681 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7701 "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.3/lodash.js#L7711 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pullat "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7731 "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.3/lodash.js#L7751 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.remove "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7771 "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.3/lodash.js#L7795 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reverse "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7815 "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.3/lodash.js#L7815 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.slice "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7835 "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.3/lodash.js#L7848 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindex "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7868 "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.3/lodash.js#L7878 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7898 "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.3/lodash.js#L7898 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedindexof "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7918 "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.3/lodash.js#L7927 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindex "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7947 "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.3/lodash.js#L7957 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7977 "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.3/lodash.js#L7977 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortedlastindexof "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L7997 "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.3/lodash.js#L8003 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniq "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8023 "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.3/lodash.js#L8025 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sorteduniqby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8045 "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.3/lodash.js#L8045 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tail "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8065 "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.3/lodash.js#L8075 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.take "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8095 "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.3/lodash.js#L8108 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takeright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8128 "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.3/lodash.js#L8154 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takerightwhile "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8174 "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.3/lodash.js#L8196 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.takewhile "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8216 "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.3/lodash.js#L8218 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.union "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8238 "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.3/lodash.js#L8246 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unionby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8266 "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.3/lodash.js#L8275 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unionwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8295 "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.3/lodash.js#L8301 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniq "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8321 "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.3/lodash.js#L8331 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8351 "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.3/lodash.js#L8357 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8377 "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.3/lodash.js#L8382 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unzip "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8402 "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.3/lodash.js#L8419 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unzipwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8439 "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.3/lodash.js#L8452 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.without "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8472 "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.3/lodash.js#L8476 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xor "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8496 "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.3/lodash.js#L8504 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xorby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8524 "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.3/lodash.js#L8533 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.xorwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8553 "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.3/lodash.js#L8557 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zip "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8577 "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.3/lodash.js#L8575 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipobject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8595 "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.3/lodash.js#L8594 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipobjectdeep "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8614 "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.3/lodash.js#L8617 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.zipwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8637 "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.3/lodash.js#L8997 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.countby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9017 "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.3/lodash.js#L9047 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.every "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9067 "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.3/lodash.js#L9093 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.filter "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9113 "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.3/lodash.js#L9135 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.find "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9155 "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.3/lodash.js#L9157 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlast "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9177 "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.3/lodash.js#L9181 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmap "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9201 "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.3/lodash.js#L9206 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdeep "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9226 "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.3/lodash.js#L9232 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flatmapdepth "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9252 "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.3/lodash.js#L9267 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.foreach "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9287 "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.3/lodash.js#L9292 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.foreachright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9312 "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.3/lodash.js#L9321 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.groupby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9341 "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.3/lodash.js#L9359 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.includes "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9379 "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.3/lodash.js#L9395 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invokemap "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9415 "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.3/lodash.js#L9437 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keyby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9457 "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.3/lodash.js#L9483 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.map "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9503 "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.3/lodash.js#L9517 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.orderby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9537 "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.3/lodash.js#L9567 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partition "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9587 "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.3/lodash.js#L9608 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reduce "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9628 "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.3/lodash.js#L9637 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reduceright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9657 "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.3/lodash.js#L9678 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.reject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9698 "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.3/lodash.js#L9697 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sample "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9717 "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.3/lodash.js#L9722 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.samplesize "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9742 "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.3/lodash.js#L9747 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.shuffle "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9767 "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.3/lodash.js#L9773 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.size "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9793 "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.3/lodash.js#L9823 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.some "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9843 "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.3/lodash.js#L9860 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sortby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9880 "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.3/lodash.js#L9891 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.now "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9911 "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.3/lodash.js#L9921 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.after "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9941 "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.3/lodash.js#L9950 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ary "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9970 "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.3/lodash.js#L9973 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.before "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L9993 "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.3/lodash.js#L10025 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bind "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10045 "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.3/lodash.js#L10079 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bindkey "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10099 "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.3/lodash.js#L10129 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.curry "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10149 "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.3/lodash.js#L10174 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.curryright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10194 "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.3/lodash.js#L10235 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.debounce "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10255 "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.3/lodash.js#L10375 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defer "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10395 "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.3/lodash.js#L10398 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.delay "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10418 "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.3/lodash.js#L10420 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flip "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10440 "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.3/lodash.js#L10468 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.memoize "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10488 "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.3/lodash.js#L10511 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.negate "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10531 "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.3/lodash.js#L10545 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.once "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10565 "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();

_.overArgs(func, [transforms=[_.identity]])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L10580 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.overargs "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10600 "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.3/lodash.js#L10630 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partial "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10650 "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.3/lodash.js#L10667 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.partialright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10687 "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.3/lodash.js#L10694 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rearg "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10714 "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.3/lodash.js#L10723 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rest "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10743 "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.3/lodash.js#L10765 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.spread "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10785 "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.3/lodash.js#L10825 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.throttle "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10845 "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.3/lodash.js#L10858 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unary "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10878 "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.3/lodash.js#L10884 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.wrap "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10904 "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.3/lodash.js#L10924 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.castarray "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10944 "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.3/lodash.js#L10958 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clone "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L10978 "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.3/lodash.js#L11015 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonedeep "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11035 "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.3/lodash.js#L11047 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonedeepwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11067 "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.3/lodash.js#L10993 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clonewith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11013 "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);

_.conformsTo(object, source)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L11075 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.conformsto "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11095 "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.3/lodash.js#L11111 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.eq "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11131 "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.3/lodash.js#L11138 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.gt "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11158 "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.3/lodash.js#L11163 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.gte "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11183 "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.3/lodash.js#L11185 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarguments "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11205 "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.3/lodash.js#L11214 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarray "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11233 "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.3/lodash.js#L11233 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraybuffer "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11252 "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.3/lodash.js#L11260 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraylike "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11279 "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.3/lodash.js#L11289 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isarraylikeobject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11308 "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.3/lodash.js#L11310 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isboolean "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11329 "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.3/lodash.js#L11332 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isbuffer "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11351 "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.3/lodash.js#L11351 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isdate "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11370 "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.3/lodash.js#L11370 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iselement "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11389 "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.3/lodash.js#L11407 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isempty "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11426 "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.3/lodash.js#L11456 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isequal "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11475 "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.3/lodash.js#L11492 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isequalwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11511 "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.3/lodash.js#L11516 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iserror "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11535 "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.3/lodash.js#L11550 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isfinite "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11569 "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.3/lodash.js#L11571 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isfunction "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11590 "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.3/lodash.js#L11604 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isinteger "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11623 "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.3/lodash.js#L11634 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.islength "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11653 "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.3/lodash.js#L11714 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismap "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11733 "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.3/lodash.js#L11744 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismatch "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11763 "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.3/lodash.js#L11780 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ismatchwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11799 "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.3/lodash.js#L11813 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnan "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11832 "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.3/lodash.js#L11846 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnative "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11865 "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.3/lodash.js#L11894 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnil "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11913 "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.3/lodash.js#L11870 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnull "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11889 "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.3/lodash.js#L11924 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isnumber "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11943 "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.3/lodash.js#L11664 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isobject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11683 "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.3/lodash.js#L11693 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isobjectlike "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11712 "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.3/lodash.js#L11957 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isplainobject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L11976 "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.3/lodash.js#L11987 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isregexp "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12006 "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.3/lodash.js#L12016 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.issafeinteger "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12035 "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.3/lodash.js#L12037 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isset "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12056 "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.3/lodash.js#L12056 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isstring "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12075 "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.3/lodash.js#L12078 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.issymbol "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12097 "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.3/lodash.js#L12100 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.istypedarray "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12119 "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.3/lodash.js#L12119 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isundefined "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12138 "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.3/lodash.js#L12140 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isweakmap "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12159 "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.3/lodash.js#L12161 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.isweakset "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12180 "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.3/lodash.js#L12188 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lt "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12207 "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.3/lodash.js#L12213 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lte "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12232 "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.3/lodash.js#L12240 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toarray "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12259 "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.3/lodash.js#L12279 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tofinite "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12298 "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.3/lodash.js#L12317 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tointeger "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12336 "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.3/lodash.js#L12351 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tolength "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12370 "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.3/lodash.js#L12378 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tonumber "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12397 "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.3/lodash.js#L12423 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toplainobject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12442 "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.3/lodash.js#L12451 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tosafeinteger "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12470 "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.3/lodash.js#L12476 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tostring "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12495 "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. @@ -6170,10 +6170,10 @@ and `undefined` values. The sign of `-0` is preserved. #### Since 4.0.0 #### Arguments -1. `value` *(*)*: The value to process. +1. `value` *(*)*: The value to convert. #### Returns -*(string)*: Returns the string. +*(string)*: Returns the converted string. #### Example ```js @@ -6199,7 +6199,7 @@ _.toString([1, 2, 3]);

_.add(augend, addend)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L16042 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.add "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16062 "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.3/lodash.js#L16067 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ceil "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16087 "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.3/lodash.js#L16084 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.divide "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16104 "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.3/lodash.js#L16109 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.floor "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16129 "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.3/lodash.js#L16129 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.max "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16149 "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.3/lodash.js#L16158 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.maxby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16178 "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.3/lodash.js#L16178 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mean "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16198 "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.3/lodash.js#L16205 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.meanby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16225 "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.3/lodash.js#L16227 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.min "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16247 "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.3/lodash.js#L16256 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.minby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16276 "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.3/lodash.js#L16277 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.multiply "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16297 "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.3/lodash.js#L16302 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.round "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16322 "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.3/lodash.js#L16319 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.subtract "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16339 "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.3/lodash.js#L16337 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sum "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16357 "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.3/lodash.js#L16366 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.sumby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16386 "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.3/lodash.js#L13839 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.clamp "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13859 "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.3/lodash.js#L13893 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.inrange "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13913 "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.3/lodash.js#L13936 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.random "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13956 "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.3/lodash.js#L12514 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assign "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12533 "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.3/lodash.js#L12557 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assignin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12576 "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.3/lodash.js#L12590 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assigninwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12609 "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.3/lodash.js#L12622 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.assignwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12641 "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.3/lodash.js#L12643 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.at "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12662 "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`. @@ -6949,7 +6949,7 @@ _.at(object, ['a[0].b.c', 'a[1]']);

_.create(prototype, [properties])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L12679 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.create "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12698 "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.3/lodash.js#L12705 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaults "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12724 "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.3/lodash.js#L12729 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaultsdeep "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12748 "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.3/lodash.js#L12769 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findkey "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12788 "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.3/lodash.js#L12808 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.findlastkey "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12827 "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.3/lodash.js#L12840 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12859 "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.3/lodash.js#L12872 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forinright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12891 "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.3/lodash.js#L12906 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forown "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12925 "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.3/lodash.js#L12936 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.forownright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12955 "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.3/lodash.js#L12963 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.functions "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L12982 "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.3/lodash.js#L12990 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.functionsin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13009 "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.3/lodash.js#L13019 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.get "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13038 "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.3/lodash.js#L13051 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.has "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13070 "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.3/lodash.js#L13081 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.hasin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13100 "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.3/lodash.js#L13103 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invert "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13122 "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.3/lodash.js#L13133 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invertby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13152 "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.3/lodash.js#L13159 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.invoke "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13178 "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.3/lodash.js#L13189 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keys "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13208 "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.3/lodash.js#L13216 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.keysin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13235 "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.3/lodash.js#L13241 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mapkeys "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13260 "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.3/lodash.js#L13279 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mapvalues "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13298 "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.3/lodash.js#L13320 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.merge "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13339 "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.3/lodash.js#L13355 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mergewith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13374 "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 @@ -7773,7 +7773,7 @@ _.mergeWith(object, other, customizer);

_.omit(object, [props])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13378 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.omit "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13397 "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 @@ -7802,7 +7802,7 @@ _.omit(object, ['a', 'c']);

_.omitBy(object, [predicate=_.identity])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13406 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.omitby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13425 "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 @@ -7832,7 +7832,7 @@ _.omitBy(object, _.isNumber);

_.pick(object, [props])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13427 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pick "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13446 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pick "See the npm package") [Ⓣ][1] Creates an object composed of the picked `object` properties. @@ -7859,7 +7859,7 @@ _.pick(object, ['a', 'c']);

_.pickBy(object, [predicate=_.identity])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13449 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pickby "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13468 "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 +7887,7 @@ _.pickBy(object, _.isNumber);

_.result(object, path, [defaultValue])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13482 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.result "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13501 "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 +7926,7 @@ _.result(object, 'a[0].b.c3', _.constant('default'));

_.set(object, path, value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13532 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.set "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13551 "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 +7965,7 @@ console.log(object.x[0].y.z);

_.setWith(object, path, value, [customizer])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13560 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.setwith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13579 "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 +8000,7 @@ _.setWith(object, '[0][1]', 'a', Object);

_.toPairs(object)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13589 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topairs "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13608 "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 +8036,7 @@ _.toPairs(new Foo);

_.toPairsIn(object)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13615 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topairsin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13634 "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 +8072,7 @@ _.toPairsIn(new Foo);

_.transform(object, [iteratee=_.identity], [accumulator])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13647 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.transform "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13666 "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 +8112,7 @@ _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {

_.unset(object, path)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13696 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unset "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13716 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unset "See the npm package") [Ⓣ][1] Removes the property at `path` of `object`.
@@ -8150,7 +8150,7 @@ console.log(object);

_.update(object, path, updater)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13727 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.update "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13747 "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 +8188,7 @@ console.log(object.x[0].y.z);

_.updateWith(object, path, updater, [customizer])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13755 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.updatewith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13775 "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 +8223,7 @@ _.updateWith(object, '[0][1]', _.constant('a'), Object);

_.values(object)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13786 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.values "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13806 "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 +8260,7 @@ _.values('hi');

_.valuesIn(object)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13814 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.valuesin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L13834 "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 +8301,7 @@ _.valuesIn(new Foo);

_(value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1653 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1653 "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 +8437,7 @@ _.isArray(squares.value());

_.chain(value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8656 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8676 "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 +8476,7 @@ var youngest = _

_.tap(value, interceptor)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8685 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8705 "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 +8509,7 @@ _([1, 2, 3])

_.thru(value, interceptor)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8713 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8733 "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 +8542,7 @@ _(' abc ')

_.prototype[Symbol.iterator]()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8868 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8888 "View in source") [Ⓣ][1] Enables the wrapper to be iterable. @@ -8568,7 +8568,7 @@ Array.from(wrapped);

_.prototype.at([paths])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8733 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8753 "View in source") [Ⓣ][1] This method is the wrapper version of `_.at`. @@ -8594,7 +8594,7 @@ _(object).at(['a[0].b.c', 'a[1]']).value();

_.prototype.chain()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8784 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8804 "View in source") [Ⓣ][1] Creates a `lodash` wrapper instance with explicit method chain sequences enabled. @@ -8629,7 +8629,7 @@ _(users)

_.prototype.commit()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8814 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8834 "View in source") [Ⓣ][1] Executes the chain sequence and returns the wrapped result. @@ -8663,7 +8663,7 @@ console.log(array);

_.prototype.next()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8840 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8860 "View in source") [Ⓣ][1] Gets the next value on a wrapped object following the [iterator protocol](https://mdn.io/iteration_protocols#iterator). @@ -8693,7 +8693,7 @@ wrapped.next();

_.prototype.plant(value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8896 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8916 "View in source") [Ⓣ][1] Creates a clone of the chain sequence planting `value` as the wrapped value. @@ -8727,7 +8727,7 @@ wrapped.value();

_.prototype.reverse()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8936 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8956 "View in source") [Ⓣ][1] This method is the wrapper version of `_.reverse`.
@@ -8756,7 +8756,7 @@ console.log(array);

_.prototype.value()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L8968 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L8988 "View in source") [Ⓣ][1] Executes the chain sequence to resolve the unwrapped value. @@ -8786,7 +8786,7 @@ _([1, 2, 3]).value();

_.camelCase([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L13997 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.camelcase "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14017 "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 +8816,7 @@ _.camelCase('__FOO_BAR__');

_.capitalize([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14017 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.capitalize "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14037 "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 +8841,7 @@ _.capitalize('FRED');

_.deburr([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14039 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.deburr "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14059 "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 +8869,7 @@ _.deburr('déjà vu');

_.endsWith([string=''], [target], [position=string.length])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14067 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.endswith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14087 "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 +8901,7 @@ _.endsWith('abc', 'b', 2);

_.escape([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14109 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.escape "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14129 "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 +8942,7 @@ _.escape('fred, barney, & pebbles');

_.escapeRegExp([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14131 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.escaperegexp "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14151 "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 +8967,7 @@ _.escapeRegExp('[lodash](https://lodash.com/)');

_.kebabCase([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14159 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.kebabcase "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14179 "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 +8998,7 @@ _.kebabCase('__FOO_BAR__');

_.lowerCase([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14183 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lowercase "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14203 "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 +9028,7 @@ _.lowerCase('__FOO_BAR__');

_.lowerFirst([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14204 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.lowerfirst "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14224 "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 +9055,7 @@ _.lowerFirst('FRED');

_.pad([string=''], [length=0], [chars=' '])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14229 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.pad "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14249 "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 +9088,7 @@ _.pad('abc', 3);

_.padEnd([string=''], [length=0], [chars=' '])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14268 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.padend "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14288 "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 +9121,7 @@ _.padEnd('abc', 3);

_.padStart([string=''], [length=0], [chars=' '])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14301 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.padstart "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14321 "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 +9154,7 @@ _.padStart('abc', 3);

_.parseInt(string, [radix=10])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14335 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.parseint "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14355 "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 +9188,7 @@ _.map(['6', '08', '10'], _.parseInt);

_.repeat([string=''], [n=1])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14366 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.repeat "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14386 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.repeat "See the npm package") [Ⓣ][1] Repeats the given string `n` times. @@ -9219,7 +9219,7 @@ _.repeat('abc', 0);

_.replace([string=''], pattern, replacement)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14394 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.replace "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14414 "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 +9249,7 @@ _.replace('Hi Fred', 'Fred', 'Barney');

_.snakeCase([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14422 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.snakecase "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14442 "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 +9280,7 @@ _.snakeCase('--FOO-BAR--');

_.split([string=''], separator, [limit])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14445 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.split "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14465 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.split "See the npm package") [Ⓣ][1] Splits `string` by `separator`.
@@ -9310,7 +9310,7 @@ _.split('a-b-c', '-', 2);

_.startCase([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14487 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.startcase "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14507 "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 +9341,7 @@ _.startCase('__FOO_BAR__');

_.startsWith([string=''], [target], [position=0])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14514 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.startswith "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14534 "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 +9373,7 @@ _.startsWith('abc', 'b', 1);

_.template([string=''], [options={}])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14625 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.template "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14645 "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 +9483,7 @@ fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\

_.toLower([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14754 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.tolower "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14774 "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 +9514,7 @@ _.toLower('__FOO_BAR__');

_.toUpper([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14779 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.toupper "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14799 "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 +9545,7 @@ _.toUpper('__foo_bar__');

_.trim([string=''], [chars=whitespace])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14805 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trim "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14825 "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 +9576,7 @@ _.map([' foo ', ' bar '], _.trim);

_.trimEnd([string=''], [chars=whitespace])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14840 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trimend "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14860 "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 +9604,7 @@ _.trimEnd('-_-abc-_-', '_-');

_.trimStart([string=''], [chars=whitespace])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14873 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.trimstart "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14893 "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 +9632,7 @@ _.trimStart('-_-abc-_-', '_-');

_.truncate([string=''], [options={}])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14924 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.truncate "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L14944 "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 +9679,7 @@ _.truncate('hi-diddly-ho there, neighborino', {

_.unescape([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L14999 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.unescape "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15019 "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 +9709,7 @@ _.unescape('fred, barney, & pebbles');

_.upperCase([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15026 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uppercase "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15046 "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 +9739,7 @@ _.upperCase('__foo_bar__');

_.upperFirst([string=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15047 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.upperfirst "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15067 "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 +9766,7 @@ _.upperFirst('FRED');

_.words([string=''], [pattern])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15068 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.words "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15088 "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 +9800,7 @@ _.words('fred, barney, & pebbles', /[^, ]+/g);

_.attempt(func, [args])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15102 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.attempt "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15122 "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 +9832,7 @@ if (_.isError(elements)) {

_.bindAll(object, methodNames)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15136 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.bindall "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15156 "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 +9869,7 @@ jQuery(element).on('click', view.click);

_.cond(pairs)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15173 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.cond "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15193 "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 +9908,7 @@ func({ 'a': '1', 'b': '2' });

_.conforms(source)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15219 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.conforms "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15239 "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 +9943,7 @@ _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));

_.constant(value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15242 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.constant "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15262 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.constant "See the npm package") [Ⓣ][1] Creates a function that returns `value`. @@ -9972,7 +9972,7 @@ console.log(objects[0] === objects[1]);

_.defaultTo(value, defaultValue)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15268 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.defaultto "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15288 "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 +10002,7 @@ _.defaultTo(undefined, 10);

_.flow([funcs])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15294 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flow "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15314 "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 +10033,7 @@ addSquare(1, 2);

_.flowRight([funcs])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15317 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.flowright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15337 "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 +10063,7 @@ addSquare(1, 2);

_.identity(value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15335 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.identity "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15355 "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 +10089,7 @@ console.log(_.identity(object) === object);

_.iteratee([func=_.identity])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15381 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.iteratee "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15401 "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 +10141,7 @@ _.filter(['abc', 'def'], /ef/);

_.matches(source)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15413 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.matches "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15433 "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 +10181,7 @@ _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));

_.matchesProperty(path, srcValue)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15443 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.matchesproperty "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15463 "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 +10218,7 @@ _.find(objects, _.matchesProperty('a', 4));

_.method(path, [args])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15471 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.method "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15491 "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 +10252,7 @@ _.map(objects, _.method(['a', 'b']));

_.methodOf(object, [args])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15500 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.methodof "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15520 "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 +10285,7 @@ _.map([['a', '2'], ['c', '0']], _.methodOf(object));

_.mixin([object=lodash], source, [options={}])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15542 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.mixin "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15562 "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 +10332,7 @@ _('fred').vowels();

_.noConflict()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15591 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noconflict "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15611 "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 +10353,7 @@ var lodash = _.noConflict();

_.noop()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15610 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noop "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15630 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.noop "See the npm package") [Ⓣ][1] This method returns `undefined`. @@ -10371,7 +10371,7 @@ _.times(2, _.noop);

_.nthArg([n=0])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15634 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.ntharg "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15654 "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 +10401,7 @@ func('a', 'b', 'c', 'd');

_.over([iteratees=[_.identity]])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15659 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.over "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15679 "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 +10428,7 @@ func(1, 2, 3, 4);

_.overEvery([predicates=[_.identity]])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15685 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.overevery "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15705 "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 +10461,7 @@ func(NaN);

_.overSome([predicates=[_.identity]])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15711 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.oversome "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15731 "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 +10494,7 @@ func(NaN);

_.property(path)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15735 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.property "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15755 "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 +10526,7 @@ _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');

_.propertyOf(object)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15760 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.propertyof "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15780 "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 +10557,7 @@ _.map([['a', '2'], ['c', '0']], _.propertyOf(object));

_.range([start=0], end, [step=1])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15807 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.range "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15827 "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 +10608,7 @@ _.range(0);

_.rangeRight([start=0], end, [step=1])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15845 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.rangeright "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15865 "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 +10653,7 @@ _.rangeRight(0);

_.runInContext([context=root])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1412 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.runincontext "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1412 "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 +10692,7 @@ var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;

_.stubArray()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15865 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubarray "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15885 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubarray "See the npm package") [Ⓣ][1] This method returns a new empty array. @@ -10718,7 +10718,7 @@ console.log(arrays[0] === arrays[1]);

_.stubFalse()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15882 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubfalse "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15902 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubfalse "See the npm package") [Ⓣ][1] This method returns `false`. @@ -10739,7 +10739,7 @@ _.times(2, _.stubFalse);

_.stubObject()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15904 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubobject "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15924 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubobject "See the npm package") [Ⓣ][1] This method returns a new empty object. @@ -10765,7 +10765,7 @@ console.log(objects[0] === objects[1]);

_.stubString()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15921 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubstring "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15941 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubstring "See the npm package") [Ⓣ][1] This method returns an empty string. @@ -10786,7 +10786,7 @@ _.times(2, _.stubString);

_.stubTrue()

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15938 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubtrue "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15958 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.stubtrue "See the npm package") [Ⓣ][1] This method returns `true`. @@ -10807,7 +10807,7 @@ _.times(2, _.stubTrue);

_.times(n, [iteratee=_.identity])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15961 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.times "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L15981 "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 +10836,7 @@ _.times(3, String);

_.toPath(value)

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L15996 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topath "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16016 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.topath "See the npm package") [Ⓣ][1] Converts `value` to a property path array. @@ -10863,7 +10863,7 @@ _.toPath('a[0].b.c');

_.uniqueId([prefix=''])

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L16020 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.uniqueid "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16040 "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 +10896,7 @@ _.uniqueId();

_.VERSION

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L16711 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L16731 "View in source") [Ⓣ][1] (string): The semantic version number. @@ -10907,7 +10907,7 @@ _.uniqueId();

_.templateSettings

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1722 "View in source") [Ⓝ](https://www.npmjs.com/package/lodash.templatesettings "See the npm package") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1722 "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 +10920,7 @@ alternative delimiters.

_.templateSettings.escape

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1730 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1730 "View in source") [Ⓣ][1] (RegExp): Used to detect `data` property values to be HTML-escaped. @@ -10931,7 +10931,7 @@ alternative delimiters.

_.templateSettings.evaluate

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1738 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1738 "View in source") [Ⓣ][1] (RegExp): Used to detect code to be evaluated. @@ -10942,7 +10942,7 @@ alternative delimiters.

_.templateSettings.imports

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1762 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1762 "View in source") [Ⓣ][1] (Object): Used to import variables into the compiled template. @@ -10953,7 +10953,7 @@ alternative delimiters.

_.templateSettings.interpolate

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1746 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1746 "View in source") [Ⓣ][1] (RegExp): Used to detect `data` property values to inject. @@ -10964,7 +10964,7 @@ alternative delimiters.

_.templateSettings.variable

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1754 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1754 "View in source") [Ⓣ][1] (string): Used to reference the data object in the template text. @@ -10981,7 +10981,7 @@ alternative delimiters.

_.templateSettings.imports._

-[Ⓢ](https://github.com/lodash/lodash/blob/4.16.3/lodash.js#L1770 "View in source") [Ⓣ][1] +[Ⓢ](https://github.com/lodash/lodash/blob/4.16.4/lodash.js#L1770 "View in source") [Ⓣ][1] A reference to the `lodash` function. diff --git a/lodash.js b/lodash.js index 7c2d6a2a34..361e74d900 100644 --- a/lodash.js +++ b/lodash.js @@ -12,7 +12,7 @@ var undefined; /** Used as the semantic version number. */ - var VERSION = '4.16.3'; + var VERSION = '4.16.4'; /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -2387,18 +2387,26 @@ * @returns {Array} Returns the array of property names. */ function arrayLikeKeys(value, inherited) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - // Safari 9 makes `arguments.length` enumerable in strict mode. - var result = (isArray(value) || isArguments(value)) - ? baseTimes(value.length, String) - : []; - - var length = result.length, - skipIndexes = !!length; + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { result.push(key); } } @@ -2426,7 +2434,7 @@ * @returns {Array} Returns the random elements. */ function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), n); + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); } /** @@ -2662,9 +2670,7 @@ } stack.set(value, result); - if (!isArr) { - var props = isFull ? getAllKeys(value) : keys(value); - } + var props = isArr ? undefined : (isFull ? getAllKeys : keys)(value); arrayEach(props || value, function(subValue, key) { if (props) { key = subValue; @@ -3198,6 +3204,17 @@ return func == null ? undefined : apply(func, object, args); } + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && objectToString.call(value) == argsTag; + } + /** * The base implementation of `_.isArrayBuffer` without Node.js optimizations. * @@ -3574,14 +3591,7 @@ if (object === source) { return; } - if (!(isArray(source) || isTypedArray(source))) { - var props = baseKeysIn(source); - } - arrayEach(props || source, function(srcValue, key) { - if (props) { - key = srcValue; - srcValue = source[key]; - } + baseFor(source, function(srcValue, key) { if (isObject(srcValue)) { stack || (stack = new Stack); baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); @@ -3596,7 +3606,7 @@ } assignMergeValue(object, key, newValue); } - }); + }, keysIn); } /** @@ -3631,16 +3641,21 @@ if (isCommon) { var isArr = isArray(srcValue), - isTyped = !isArr && isTypedArray(srcValue); + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); newValue = srcValue; - if (isArr || isTyped) { + if (isArr || isBuff || isTyped) { if (isArray(objValue)) { newValue = objValue; } else if (isArrayLikeObject(objValue)) { newValue = copyArray(objValue); } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } else if (isTyped) { isCommon = false; newValue = cloneTypedArray(srcValue, true); @@ -3937,7 +3952,8 @@ * @returns {Array} Returns the random elements. */ function baseSampleSize(collection, n) { - return shuffleSelf(values(collection), n); + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); } /** @@ -4214,6 +4230,10 @@ if (typeof value == 'string') { return value; } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : ''; } @@ -6609,7 +6629,7 @@ length = array.length, lastIndex = length - 1; - size = size === undefined ? length : baseClamp(size, 0, length); + size = size === undefined ? length : size; while (++index < size) { var rand = baseRandom(index, lastIndex), value = array[rand]; @@ -11182,11 +11202,10 @@ * _.isArguments([1, 2, 3]); * // => false */ - function isArguments(value) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && - (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); - } + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; /** * Checks if `value` is classified as an `Array` object. @@ -11406,8 +11425,8 @@ */ function isEmpty(value) { if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || - typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) { + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { return !value.length; } var tag = getTag(value); @@ -11415,7 +11434,7 @@ return !value.size; } if (isPrototype(value)) { - return !nativeKeys(value).length; + return !baseKeys(value).length; } for (var key in value) { if (hasOwnProperty.call(value, key)) { @@ -11570,7 +11589,7 @@ */ function isFunction(value) { // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. + // in Safari 9 which returns 'object' for typed array and other constructors. var tag = isObject(value) ? objectToString.call(value) : ''; return tag == funcTag || tag == genTag || tag == proxyTag; } @@ -12460,8 +12479,8 @@ * @memberOf _ * @since 4.0.0 * @category Lang - * @param {*} value The value to process. - * @returns {string} Returns the string. + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. * @example * * _.toString(null); @@ -13645,22 +13664,23 @@ * // => { '1': ['a', 'c'], '2': ['b'] } */ function transform(object, iteratee, accumulator) { - var isArr = isArray(object) || isTypedArray(object); - iteratee = getIteratee(iteratee, 4); + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + iteratee = getIteratee(iteratee, 4); if (accumulator == null) { - if (isArr || isObject(object)) { - var Ctor = object.constructor; - if (isArr) { - accumulator = isArray(object) ? new Ctor : []; - } else { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - } else { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { accumulator = {}; } } - (isArr ? arrayEach : baseForOwn)(object, function(value, index, object) { + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { return iteratee(accumulator, value, index, object); }); return accumulator; diff --git a/package.json b/package.json index 3691feafa5..6e27b4f770 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lodash", - "version": "4.16.3", + "version": "4.16.4", "license": "MIT", "private": true, "main": "lodash.js", @@ -47,7 +47,7 @@ "markdown-doctest": "^0.8.1", "optional-dev-dependency": "^1.3.0", "platform": "^1.3.1", - "qunit-extras": "^2.1.0", + "qunit-extras": "^3.0.0", "qunitjs": "^2.0.1", "request": "^2.75.0", "requirejs": "^2.3.2", diff --git a/test/index.html b/test/index.html index aee3942499..8d3f64f8f4 100644 --- a/test/index.html +++ b/test/index.html @@ -83,17 +83,7 @@ // Set bad shims. setProperty(Object, '_create', Object.create); - setProperty(Object, 'create', (function() { - function object() {} - return function(prototype) { - if (prototype === Object(prototype)) { - object.prototype = prototype; - var result = new object; - object.prototype = undefined; - } - return result || {}; - }; - }())); + setProperty(Object, 'create', undefined); setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols); setProperty(Object, 'getOwnPropertySymbols', undefined); diff --git a/test/test.js b/test/test.js index 5dd4e08f16..c36c73e28c 100644 --- a/test/test.js +++ b/test/test.js @@ -518,18 +518,7 @@ funcProto._method = noop; // Set bad shims. - setProperty(Object, 'create', (function() { - function object() {} - return function(prototype) { - if (lodashStable.isObject(prototype)) { - object.prototype = prototype; - var result = new object; - object.prototype = undefined; - } - return result || {}; - }; - }())); - + setProperty(Object, 'create', undefined); setProperty(Object, 'getOwnPropertySymbols', undefined); var _propertyIsEnumerable = objectProto.propertyIsEnumerable; @@ -823,7 +812,7 @@ }); QUnit.test('should avoid non-native built-ins', function(assert) { - assert.expect(7); + assert.expect(6); function message(lodashMethod, nativeMethod) { return '`' + lodashMethod + '` should avoid overwritten native `' + nativeMethod + '`'; @@ -840,20 +829,12 @@ if (lodashBizarro) { try { - var actual = lodashBizarro.keysIn(new Foo).sort(); + var actual = lodashBizarro.create(Foo.prototype); } catch (e) { actual = null; } - var label = message('_.keysIn', 'Object#propertyIsEnumerable'); - assert.deepEqual(actual, ['a', 'b'], label); - - try { - var actual = lodashBizarro.isEmpty({}); - } catch (e) { - actual = null; - } - var label = message('_.isEmpty', 'Object#propertyIsEnumerable'); - assert.strictEqual(actual, true, label); + var label = message('_.create', 'Object.create'); + assert.ok(actual instanceof Foo, label); try { actual = [ @@ -864,7 +845,7 @@ } catch (e) { actual = null; } - label = message('_.difference`, `_.intersection`, and `_.uniq', 'Object.create` and `Map'); + label = message('_.difference`, `_.intersection`, and `_.uniq', 'Map'); assert.deepEqual(actual, [[otherObject], [object], [object]], label); try { @@ -882,13 +863,10 @@ assert.deepEqual(actual, [object, object], label); try { - var symObject = Object(symbol); - - // Avoid symbol detection in Babel's `typeof` helper. - symObject.constructor = Object; - + // Avoid buggy symbol detection in Babel's `_typeof` helper. + var symObject = setProperty(Object(symbol), 'constructor', Object); actual = [ - Symbol ? lodashBizarro.clone(symObject) : { 'constructor': Object }, + Symbol ? lodashBizarro.clone(symObject) : {}, Symbol ? lodashBizarro.isEqual(symObject, Object(symbol)) : false, Symbol ? lodashBizarro.toString(symObject) : '' ]; @@ -896,7 +874,7 @@ actual = null; } label = message('_.clone`, `_.isEqual`, and `_.toString', 'Symbol'); - assert.deepEqual(actual, [{ 'constructor': Object }, false, ''], label); + assert.deepEqual(actual, [{}, false, ''], label); try { var map = new lodashBizarro.memoize.Cache; @@ -920,7 +898,7 @@ assert.deepEqual(actual, [], label); } else { - skipAssert(assert, 7); + skipAssert(assert, 6); } }); }()); @@ -9366,6 +9344,18 @@ assert.strictEqual(_.isEmpty(args), false); }); + QUnit.test('should work with prototytpe objects', function(assert) { + assert.expect(2); + + function Foo() {} + Foo.prototype = { 'constructor': Foo }; + + assert.strictEqual(_.isEmpty(Foo.prototype), true); + + Foo.prototype.a = 1; + assert.strictEqual(_.isEmpty(Foo.prototype), false); + }); + QUnit.test('should work with jQuery/MooTools DOM query collections', function(assert) { assert.expect(1); @@ -14918,10 +14908,6 @@ var arrays = [array2, array1, array4, array3, array2, array4, array4, array3, array2], buffer = ArrayBuffer && new ArrayBuffer(8); - // Juggle for `Float64Array` shim. - if (root.Float64Array && (new Float64Array(buffer)).length == 8) { - arrays[1] = array4; - } var expected = lodashStable.map(typedArrays, function(type, index) { var array = arrays[index].slice(); array[0] = 1; @@ -14961,7 +14947,7 @@ assert.strictEqual(actual.a, null); }); - QUnit.test('should assign non array/typed-array/plain-object sources directly', function(assert) { + QUnit.test('should assign non array/buffer/typed-array/plain-object source values directly', function(assert) { assert.expect(1); function Foo() {} @@ -14970,32 +14956,50 @@ expected = lodashStable.map(values, stubTrue); var actual = lodashStable.map(values, function(value) { - var object = _.merge({}, { 'value': value }); - return object.value === value; + var object = _.merge({}, { 'a': value, 'b': { 'c': value } }); + return object.a === value && object.b.c === value; }); assert.deepEqual(actual, expected); }); - QUnit.test('should deep clone array/typed-array/plain-object sources', function(assert) { + QUnit.test('should clone buffer source values', function(assert) { + assert.expect(3); + + if (Buffer) { + var buffer = new Buffer([1]), + actual = _.merge({}, { 'value': buffer }).value; + + assert.ok(lodashStable.isBuffer(actual)); + assert.strictEqual(actual[0], buffer[0]); + assert.notStrictEqual(actual, buffer); + } + else { + skipAssert(assert, 3); + } + }); + + QUnit.test('should deep clone array/typed-array/plain-object source values', function(assert) { assert.expect(1); var typedArray = Uint8Array - ? new Uint8Array(new ArrayBuffer(2)) - : { 'buffer': [0, 0] }; + ? new Uint8Array([1]) + : { 'buffer': [1] }; - var props = ['0', 'a', 'buffer'], - values = [[{ 'a': 1 }], { 'a': [1] }, typedArray], + var props = ['0', 'buffer', 'a'], + values = [[{ 'a': 1 }], typedArray, { 'a': [1] }], expected = lodashStable.map(values, stubTrue); var actual = lodashStable.map(values, function(value, index) { var key = props[index], object = _.merge({}, { 'value': value }), - newValue = object.value; + subValue = value[key], + newValue = object.value, + newSubValue = newValue[key]; return ( newValue !== value && - newValue[key] !== value[key] && + newSubValue !== subValue && lodashStable.isEqual(newValue, value) ); }); @@ -16059,7 +16063,7 @@ assert.expect(1); var argCount, - count = 4, + count = 5, negate = _.negate(function() { argCount = arguments.length; }), expected = lodashStable.times(count, stubTrue); @@ -23714,6 +23718,13 @@ assert.deepEqual(actual, expected); }); + QUnit.test('should preserve the sign of `0` in an array', function(assert) { + assert.expect(1); + + var values = [-0, Object(-0), 0, Object(0)]; + assert.deepEqual(_.toString(values), '-0,-0,0,0'); + }); + QUnit.test('should not error on symbols', function(assert) { assert.expect(1); @@ -23729,6 +23740,21 @@ } }); + QUnit.test('should not error on an array of symbols', function(assert) { + assert.expect(1); + + if (Symbol) { + try { + assert.strictEqual(_.toString([symbol]), 'Symbol(a)'); + } catch (e) { + assert.ok(false, e.message); + } + } + else { + skipAssert(assert); + } + }); + QUnit.test('should return the `toString` result of the wrapped value', function(assert) { assert.expect(1);