From e884916275ac167f1190488127e68ba29369f9b7 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 15 Jun 2014 13:46:51 -0700 Subject: [PATCH] Rebuild dist. --- dist/lodash.compat.js | 140 +++++++++++++++++++++------------- dist/lodash.compat.min.js | 85 +++++++++++---------- dist/lodash.js | 125 +++++++++++++++++++----------- dist/lodash.min.js | 125 +++++++++++++++--------------- dist/lodash.underscore.js | 35 ++++----- dist/lodash.underscore.min.js | 18 ++--- 6 files changed, 294 insertions(+), 234 deletions(-) diff --git a/dist/lodash.compat.js b/dist/lodash.compat.js index 6794893c6..5827ddf8e 100644 --- a/dist/lodash.compat.js +++ b/dist/lodash.compat.js @@ -163,16 +163,16 @@ /** Used to identify object classifications that `_.clone` supports */ var cloneableClasses = {}; - cloneableClasses[argsClass] = - cloneableClasses[arrayClass] = cloneableClasses[arrayBufferClass] = - cloneableClasses[boolClass] = cloneableClasses[dateClass] = - cloneableClasses[errorClass] = cloneableClasses[float32Class] = + cloneableClasses[argsClass] = cloneableClasses[arrayClass] = + cloneableClasses[arrayBufferClass] = cloneableClasses[boolClass] = + cloneableClasses[dateClass] = cloneableClasses[float32Class] = cloneableClasses[float64Class] = cloneableClasses[int8Class] = cloneableClasses[int16Class] = cloneableClasses[int32Class] = cloneableClasses[numberClass] = cloneableClasses[objectClass] = cloneableClasses[regexpClass] = cloneableClasses[stringClass] = cloneableClasses[uint8Class] = cloneableClasses[uint8ClampedClass] = cloneableClasses[uint16Class] = cloneableClasses[uint32Class] = true; + cloneableClasses[errorClass] = cloneableClasses[funcClass] = cloneableClasses[mapClass] = cloneableClasses[setClass] = cloneableClasses[weakMapClass] = false; @@ -713,17 +713,14 @@ nonEnumProps[errorClass] = nonEnumProps[funcClass] = nonEnumProps[regexpClass] = { 'constructor': true, 'toString': true }; nonEnumProps[objectClass] = { 'constructor': true }; - (function() { - var length = shadowedProps.length; - while (length--) { - var key = shadowedProps[length]; - for (var className in nonEnumProps) { - if (hasOwnProperty.call(nonEnumProps, className) && !hasOwnProperty.call(nonEnumProps[className], key)) { - nonEnumProps[className][key] = false; - } + arrayEach(shadowedProps, function(key) { + for (var className in nonEnumProps) { + if (hasOwnProperty.call(nonEnumProps, className)) { + var props = nonEnumProps[className]; + props[key] = hasOwnProperty.call(props, key); } } - }()); + }); /*--------------------------------------------------------------------------*/ @@ -1238,9 +1235,6 @@ case dateClass: return new Ctor(+value); - case errorClass: - return new Ctor(value.message); - case float32Class: case float64Class: case int8Class: case int16Class: case int32Class: case uint8Class: case uint8ClampedClass: case uint16Class: case uint32Class: @@ -1465,7 +1459,7 @@ * of values to exclude. * * @private - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {Array} [values] The array of values to exclude. * @returns {Array} Returns the new array of filtered values. */ @@ -1602,6 +1596,7 @@ function baseFlatten(array, isShallow, isStrict, fromIndex) { var index = (fromIndex || 0) - 1, length = array ? array.length : 0, + resIndex = 0, result = []; while (++index < length) { @@ -1614,15 +1609,14 @@ value = baseFlatten(value, isShallow, isStrict); } var valIndex = -1, - valLength = value.length, - resIndex = result.length; + valLength = value.length; result.length += valLength; while (++valIndex < valLength) { result[resIndex++] = value[valIndex]; } } else if (!isStrict) { - result.push(value); + result[resIndex++] = value; } } return result; @@ -1792,10 +1786,6 @@ // to `1` or `0` treating invalid dates coerced to `NaN` as not equal return +value == +other; - case errorClass: - // check properties instead of coercing to strings to support IE < 8 - return value.name === other.name && value.message === other.message; - case numberClass: // treat `NaN` vs. `NaN` as equal return (value != +value) @@ -1805,18 +1795,20 @@ case regexpClass: case stringClass: - // coerce regexes to strings (http://es5.github.io/#x15.10.6.4) - // treat string primitives and object instances as equal + // coerce regexes to strings (http://es5.github.io/#x15.10.6.4) and + // treat strings primitives and string objects as equal return value == String(other); } + var isArr = arrayLikeClasses[valClass], + isErr = valClass == errorClass; + if (!support.argsClass) { valIsArg = isArguments(value); othIsArg = isArguments(other); } - var isArr = arrayLikeClasses[valClass]; if (!isArr) { - // exit for functions and DOM nodes - if (valClass != objectClass || (!support.nodeClass && (isNode(value) || isNode(other)))) { + // exit for things like functions and DOM nodes + if (!(isErr || valClass == objectClass) || (!support.nodeClass && (isNode(value) || isNode(other)))) { return false; } // unwrap any `lodash` wrapped values @@ -1837,6 +1829,10 @@ var valCtor = valIsArg ? Object : value.constructor, othCtor = othIsArg ? Object : other.constructor; + // error objects of different types are not equal + if (isErr && valCtor.prototype.name != othCtor.prototype.name) { + return false; + } // non `Object` object instances with different constructors are not equal if (valCtor != othCtor && !(isFunction(valCtor) && valCtor instanceof valCtor && isFunction(othCtor) && othCtor instanceof othCtor) && @@ -1896,8 +1892,8 @@ } } else { - var valProps = keys(value), - othProps = keys(other); + var valProps = isErr ? ['message', 'name'] : keys(value), + othProps = isErr ? valProps : keys(other); if (valIsArg) { valProps.push('length'); @@ -1911,7 +1907,8 @@ if (result || isWhere) { while (++index < length) { var key = valProps[index]; - result = hasOwnProperty.call(other, key); + result = isErr || hasOwnProperty.call(other, key); + if (result) { valValue = value[key]; othValue = other[key]; @@ -2095,7 +2092,7 @@ * and `this` binding. * * @private - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. * @param {Function} [callback] The function called per iteration. * @returns {Array} Returns the new duplicate-value-free array. @@ -2308,7 +2305,7 @@ var args = arguments, length = args.length; - if (!object || length < 2) { + if (object == null || length < 2) { return object; } // enables use as a callback for functions like `_.reduce` @@ -2649,6 +2646,37 @@ /*--------------------------------------------------------------------------*/ + /** + * Creates an array of elements split into groups the length of `chunkSize`. + * If `collection` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to process. + * @param {numer} [chunkSize=1] The size of each chunk. + * @returns {Array} Returns the new array containing chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, chunkSize) { + var index = 0, + length = array ? array.length : 0, + result = []; + + chunkSize = nativeMax(+chunkSize || 1, 1); + while (index < length) { + result.push(slice(array, index, (index += chunkSize))); + } + return result; + } + /** * Creates an array with all falsey values removed. The values `false`, `null`, * `0`, `""`, `undefined`, and `NaN` are all falsey. @@ -2685,7 +2713,7 @@ * @static * @memberOf _ * @category Arrays - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {...Array} [values] The arrays of values to exclude. * @returns {Array} Returns the new array of filtered values. * @example @@ -3680,7 +3708,7 @@ * @memberOf _ * @alias unique * @category Arrays - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. * @param {Function|Object|string} [callback] The function called per iteration. * If a property name or object is provided it is used to create a "_.pluck" @@ -3806,8 +3834,8 @@ function zip() { var array = arguments.length > 1 ? arguments : arguments[0], index = -1, - length = array ? max(pluck(array, 'length')) : 0, - result = Array(length < 0 ? 0 : length); + length = isObject(length = max(array, 'length')) && length.length || 0, + result = Array(length); while (++index < length) { result[index] = pluck(array, index); @@ -5515,7 +5543,7 @@ trailing = false; } else if (isObject(options)) { leading = options.leading; - maxWait = 'maxWait' in options && nativeMax(wait, +options.maxWait || 0); + maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait); trailing = 'trailing' in options ? options.trailing : trailing; } @@ -5790,9 +5818,9 @@ * @example * * var greet = function(greeting, name) { return greeting + ' ' + name; }; - * var hi = _.partial(greet, 'hi'); - * hi('fred'); - * // => 'hi fred' + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' */ function partial(func) { if (func) { @@ -5819,6 +5847,12 @@ * @returns {Function} Returns the new partially applied function. * @example * + * var greet = function(greeting, name) { return greeting + ' ' + name; }; + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hello'); + * // => 'hello fred' + * + * // create a deep `_.defaults` * var defaultsDeep = _.partialRight(_.merge, function deep(value, other) { * return _.merge(value, other, deep); * }); @@ -6117,7 +6151,7 @@ * // => { 'name': 'barney', 'age': 36, 'employer': 'slate' } */ function defaults(object) { - if (!object) { + if (object == null) { return object; } var args = slice(arguments); @@ -6539,7 +6573,7 @@ /** * Checks if a collection is empty. A value is considered empty unless it is * an array, array-like object, or string with a length greater than `0` or - * an object with own properties. + * an object with own enumerable properties. * * @static * @memberOf _ @@ -7173,13 +7207,8 @@ if (typeof predicate == 'function') { return basePick(object, negate(lodash.createCallback(predicate, thisArg, 3))); } - var omitProps = baseFlatten(arguments, true, false, 1), - length = omitProps.length; - - while (length--) { - omitProps[length] = String(omitProps[length]); - } - return basePick(object, baseDifference(keysIn(object), omitProps)); + var omitProps = baseFlatten(arguments, true, false, 1); + return basePick(object, baseDifference(keysIn(object), arrayMap(omitProps, String))); } /** @@ -7800,7 +7829,7 @@ string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { interpolateValue || (interpolateValue = esTemplateValue); - // escape characters that cannot be included in string literals + // escape characters that can't be included in string literals source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); // replace delimiters with snippets @@ -8176,17 +8205,17 @@ // property containing a primitive value if (propsLength == 1 && value === value && !isObject(value)) { return function(object) { - if (!(object && hasOwnProperty.call(object, key))) { + if (object == null) { return false; } // treat `-0` vs. `+0` as not equal var other = object[key]; - return value === other && (value !== 0 || (1 / value == 1 / other)); + return value === other && (value !== 0 || (1 / value == 1 / other)) && hasOwnProperty.call(object, key); }; } return function(object) { var length = propsLength; - if (length && !object) { + if (length && object == null) { return false; } while (length--) { @@ -8612,6 +8641,7 @@ lodash.bindAll = bindAll; lodash.bindKey = bindKey; lodash.chain = chain; + lodash.chunk = chunk; lodash.compact = compact; lodash.compose = compose; lodash.constant = constant; diff --git a/dist/lodash.compat.min.js b/dist/lodash.compat.min.js index 6a10a4762..d3f251cd4 100644 --- a/dist/lodash.compat.min.js +++ b/dist/lodash.compat.min.js @@ -4,68 +4,69 @@ * Build: `lodash -o ./dist/lodash.compat.js` */ ;(function(){function n(n,t){for(var r=-1,e=t.length,u=Array(e);++rt||typeof n=="undefined")return 1;if(ne||13e||8202r||13r||8202>>0:0,u=ue(e);++ra(t,l)&&f.push(l);return f}function Lt(n,t){var r=-1,e=n,u=n?n.length:0;if(typeof u=="number"&&-1l)for(;++fl)for(;++so?0:o>>>0);return Lt(n,function(n){var o=u?t:null!=n&&n[t];a[++e]=o?o.apply(n,r):m}),a}function Vt(n,t,r,e,u){var o=ar(t);return(o?jt:zt)(t,function(t,a,i){var l=t&&ar(t),f=t&&iu(t),c=n[a];if(l||f){for(e||(e=[]),u||(u=[]),f=e.length;f--;)if(e[f]==t)return void(n[a]=u[f]);i=r?r(c,t,a,n,i):m,(f=typeof i!="undefined")||(i=l?au(c)?c:[]:iu(c)?c:{}),e.push(t),u.push(i),f||Vt(i,t,r,e,u),n[a]=i}else i=r?r(c,t,a,n,i):m,typeof i=="undefined"&&(i=t),(o||typeof i!="undefined")&&(n[a]=i) -}),n}function Jt(n,t){var r={};if(typeof t=="function")return Dt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;for(var e=-1,u=t.length;++ei(s,g)&&((u||f)&&s.push(g),c.push(p)) +}),n}function Jt(n,t){var r={};if(typeof t=="function")return Dt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;for(var e=-1,u=t.length;++ei(s,h)&&((u||f)&&s.push(h),c.push(p)) }return c}function Gt(n,t){for(var r=-1,e=t(n),u=e.length,o=ue(u);++re)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3e)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3o?0:o)}function gr(n,t,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Ze(u+e,0):e||0;else if(e)return e=mr(n,t),u&&n[e]===t?e:-1;return r(n,t,e)}function hr(n,t,r){var e=n?n.length:0;if(typeof t!="number"&&null!=t){var u=e,o=0;for(t=q.createCallback(t,r,3);u--&&t(n[u],u,n);)o++}else o=null==t||r?1:t;return o=e-(o||0),dr(n,0,0>o?0:o)}function vr(n,t,r){var e=n?n.length:0;if(typeof t!="number"&&null!=t){var u=e,o=0; +for(t=q.createCallback(t,r,3);++eo?0:o)}function hr(n,t,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Ze(u+e,0):e||0;else if(e)return e=mr(n,t),u&&n[e]===t?e:-1;return r(n,t,e)}function gr(n,t,r){var e=n?n.length:0;if(typeof t!="number"&&null!=t){var u=e,o=0;for(t=q.createCallback(t,r,3);u--&&t(n[u],u,n);)o++}else o=null==t||r?1:t;return o=e-(o||0),dr(n,0,0>o?0:o)}function vr(n,t,r){var e=n?n.length:0;if(typeof t!="number"&&null!=t){var u=e,o=0; for(t=q.createCallback(t,r,3);u--&&t(n[u],u,n);)o++}else if(o=t,null==o||r)return n?n[e-1]:m;return o=e-(o||0),dr(n,0>o?0:o)}function yr(n,t,r){if(typeof t!="number"&&null!=t){var e=-1,u=n?n.length:0,o=0;for(t=q.createCallback(t,r,3);++et?0:t;return dr(n,o)}function dr(n,t,r){var e=-1,u=n?n.length:0;for(t=null==t?0:+t||0,0>t?t=Ze(u+t,0):t>u&&(t=u),r=typeof r=="undefined"?u:+r||0,0>r?r=Ze(u+r,0):r>u&&(r=u),u=t>r?0:r-t,r=ue(u);++e>>1,r(n[e])r?0:r);++t>>1,r(n[e])r?Ze(e+r,0):r||0:0,typeof n=="string"||!au(n)&&Kr(n)?ro&&(o=i)}else t=null==t&&Kr(n)?u:q.createCallback(t,r,3),Lt(n,function(n,r,u){r=t(n,r,u),(r>e||-1/0===r&&r===o)&&(e=r,o=n)});return o}function Rr(n,t){return Ir(n,ee(t))}function Ur(n,t,r,e){var u=3>arguments.length; if(t=q.createCallback(t,e,4),au(n)){var o=-1,a=n.length;for(u&&a&&(r=n[++o]);++oarguments.length;return t=q.createCallback(t,e,4),Tt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Nr(n){var t=-1,r=n&&n.length,e=ue(0>r?0:r>>>0);return Lt(n,function(n){var r=Xt(0,++t);e[t]=e[r],e[r]=n}),e}function Lr(n,t,r){var e;if((typeof t!="function"||typeof r!="undefined")&&(t=q.createCallback(t,r,3)),au(n)){r=-1; -for(var u=n.length;++rarguments.length)return er(n,b,null,t);if(n)var r=n[k]?n[k][2]:n.length,e=dr(arguments,2),r=r-e.length;return er(n,b|A,r,t,e)}function Wr(n,t,r){function e(){var r=t-(gu()-f);0>=r||r>t?(i&&ke(i),r=p,i=s=p=m,r&&(g=gu(),l=n.apply(c,a),s||i||(a=c=null))):s=Ne(e,r)}function u(){s&&ke(s),i=s=p=m,(v||h!==t)&&(g=gu(),l=n.apply(c,a),s||i||(a=c=null))}function o(){if(a=arguments,f=gu(),c=this,p=v&&(s||!y),false===h)var r=y&&!s; -else{i||y||(g=f);var o=h-(f-g),d=0>=o||o>h;d?(i&&(i=ke(i)),g=f,l=n.apply(c,a)):i||(i=Ne(u,o))}return d&&s?s=ke(s):s||t===h||(s=Ne(e,t)),r&&(d=true,l=n.apply(c,a)),!d||s||i||(a=c=null),l}var a,i,l,f,c,s,p,g=0,h=false,v=true;if(!zr(n))throw new pe(O);if(t=0>t?0:t,true===r)var y=true,v=false;else qr(r)&&(y=r.leading,h="maxWait"in r&&Ze(t,+r.maxWait||0),v="trailing"in r?r.trailing:v);return o.cancel=function(){s&&ke(s),i&&ke(i),i=s=p=m},o}function $r(n){if(!zr(n))throw new pe(O);return function(){return!n.apply(this,arguments) -}}function Pr(n){return Mt(n,Vr)}function Br(n){return n&&typeof n=="object"&&typeof n.length=="number"&&we.call(n)==H||false}function Dr(n){return n&&typeof n=="object"&&1===n.nodeType&&(He.nodeClass?-1>>0,e=n.constructor,u=-1,o=e&&n===e.prototype,a=r-1,e=ue(r),i=0t||null==n||!ze(t))return r;n=se(n);do t%2&&(r+=n),t=Ee(t/2),n+=n;while(t);return r}function Gr(n,t){return(n=null==n?"":se(n))?null==t?n.slice(h(n),v(n)+1):(t=se(t),n.slice(o(n,t),a(n,t)+1)):n}function Hr(n,t,r){var e=typeof n,u="function"==e;return u&&typeof t=="undefined"?n:u||null==n?Ut(n,t,r):"object"==e?ne(n):ee(n) -}function Qr(n){return n}function ne(n){var t=lu(n),r=t.length,e=t[0],u=r&&n[e];return 1!=r||u!==u||qr(u)?function(e){var u=r;if(u&&!e)return false;for(;u--;){var o=t[u];if(!Se.call(e,o)||!Zt(n[o],e[o],null,true))return false}return true}:function(n){return n&&Se.call(n,e)?(n=n[e],u===n&&(0!==u||1/u==1/n)):false}}function te(n,t,r){var e=true,u=t&&Mt(t,lu);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=Mt(t,lu)),false===r?e=false:qr(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=zr(n),a=u?u.length:0;++rarguments.length)return er(n,b,null,t);if(n)var r=n[k]?n[k][2]:n.length,e=dr(arguments,2),r=r-e.length;return er(n,b|A,r,t,e)}function Wr(n,t,r){function e(){var r=t-(hu()-f);0>=r||r>t?(i&&ke(i),r=p,i=s=p=m,r&&(h=hu(),l=n.apply(c,a),s||i||(a=c=null))):s=Ne(e,r)}function u(){s&&ke(s),i=s=p=m,(v||g!==t)&&(h=hu(),l=n.apply(c,a),s||i||(a=c=null))}function o(){if(a=arguments,f=hu(),c=this,p=v&&(s||!y),false===g)var r=y&&!s; +else{i||y||(h=f);var o=g-(f-h),d=0>=o||o>g;d?(i&&(i=ke(i)),h=f,l=n.apply(c,a)):i||(i=Ne(u,o))}return d&&s?s=ke(s):s||t===g||(s=Ne(e,t)),r&&(d=true,l=n.apply(c,a)),!d||s||i||(a=c=null),l}var a,i,l,f,c,s,p,h=0,g=false,v=true;if(!zr(n))throw new pe(O);if(t=0>t?0:t,true===r)var y=true,v=false;else qr(r)&&(y=r.leading,g="maxWait"in r&&Ze(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);return o.cancel=function(){s&&ke(s),i&&ke(i),i=s=p=m},o}function $r(n){if(!zr(n))throw new pe(O);return function(){return!n.apply(this,arguments) +}}function Pr(n){return Mt(n,Vr)}function Br(n){return n&&typeof n=="object"&&typeof n.length=="number"&&we.call(n)==H||false}function Dr(n){return n&&typeof n=="object"&&1===n.nodeType&&(He.nodeClass?-1>>0,e=n.constructor,u=-1,o=e&&n===e.prototype,a=r-1,e=ue(r),i=0t||null==n||!ze(t))return r;n=se(n);do t%2&&(r+=n),t=Ee(t/2),n+=n;while(t);return r}function Gr(n,t){return(n=null==n?"":se(n))?null==t?n.slice(g(n),v(n)+1):(t=se(t),n.slice(o(n,t),a(n,t)+1)):n}function Hr(n,t,r){var e=typeof n,u="function"==e;return u&&typeof t=="undefined"?n:u||null==n?Ut(n,t,r):"object"==e?ne(n):ee(n) +}function Qr(n){return n}function ne(n){var t=lu(n),r=t.length,e=t[0],u=r&&n[e];return 1!=r||u!==u||qr(u)?function(e){var u=r;if(u&&null==e)return false;for(;u--;){var o=t[u];if(!Se.call(e,o)||!Zt(n[o],e[o],null,true))return false}return true}:function(n){if(null==n)return false;var t=n[e];return u===t&&(0!==u||1/u==1/t)&&Se.call(n,e)}}function te(n,t,r){var e=true,u=t&&Mt(t,lu);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=Mt(t,lu)),false===r?e=false:qr(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=zr(n),a=u?u.length:0;++r--n?t.apply(this,arguments):void 0}},q.assign=ou,q.at=function(t){return He.unindexedChars&&Kr(t)&&(t=t.split("")),n(t,$t(arguments,true,false,1))},q.bind=Tr,q.bindAll=function(n){for(var t=n,r=1arguments.length?er(t,b|_,null,n):er(t,b|_|A,null,n,dr(arguments,2)) -},q.chain=function(n){return new J(n,true)},q.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t(p?e(p,l):a(s,l))){for(t=u;--t;){var g=o[t];if(0>(g?e(g,l):a(n[t],l)))continue n}p&&p.push(l),s.push(l)}return s},q.invert=function(n,t){for(var r=-1,e=lu(n),u=e.length,o={};++ru?0:u>>>0);for(o||(t=q.createCallback(t,r,3)),Lt(n,function(n,r,u){if(o)for(r=t.length,u=ue(r);r--;)u[r]=n[t[r]];else u=t(n,r,u);a[++e]={a:u,b:e,c:n}}),u=a.length,a.sort(o?l:i);u--;)a[u]=a[u].c;return a},q.tap=function(n,t,r){return t.call(r,n),n},q.throttle=function(n,t,r){var e=true,u=true;if(!zr(n))throw new pe(O);return false===r?e=false:qr(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),_t.leading=e,_t.maxWait=+t,_t.trailing=u,Wr(n,t,_t) -},q.times=function(n,t,r){n=0>n?0:n>>>0,t=Ut(t,r,1),r=-1;for(var e=ue(n);++rr?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},q.escape=function(n){return null==n?"":se(n).replace(N,s)},q.escapeRegExp=Xr,q.every=Cr,q.find=kr,q.findIndex=sr,q.findKey=function(n,t,r){return t=q.createCallback(t,r,3),Wt(n,t,zt,true) -},q.findLast=function(n,t,r){return t=q.createCallback(t,r,3),Wt(n,t,Tt)},q.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=q.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},q.findLastKey=function(n,t,r){return t=q.createCallback(t,r,3),Wt(n,t,qt,true)},q.findWhere=function(n,t){return kr(n,ne(t))},q.has=function(n,t){return n?Se.call(n,t):false},q.identity=Qr,q.indexOf=gr,q.isArguments=Br,q.isArray=au,q.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&we.call(n)==nt||false -},q.isDate=function(n){return n&&typeof n=="object"&&we.call(n)==tt||false},q.isElement=Dr,q.isEmpty=function(n){var t=true;if(!n)return t;var r=n.length;return-1r?Ze(e+r,0):Ke(r||0,e-1))+1);e--;)if(n[e]===t)return e;return-1},q.noConflict=function(){return c._=_e,this},q.noop=re,q.now=gu,q.pad=function(n,t,r){n=null==n?"":se(n),t=+t; -var e=n.length;return e(p?e(p,l):a(s,l))){for(t=u;--t;){var h=o[t]; +if(0>(h?e(h,l):a(n[t],l)))continue n}p&&p.push(l),s.push(l)}return s},q.invert=function(n,t){for(var r=-1,e=lu(n),u=e.length,o={};++ru?0:u>>>0);for(o||(t=q.createCallback(t,r,3)),Lt(n,function(n,r,u){if(o)for(r=t.length,u=ue(r);r--;)u[r]=n[t[r]]; +else u=t(n,r,u);a[++e]={a:u,b:e,c:n}}),u=a.length,a.sort(o?l:i);u--;)a[u]=a[u].c;return a},q.tap=function(n,t,r){return t.call(r,n),n},q.throttle=function(n,t,r){var e=true,u=true;if(!zr(n))throw new pe(O);return false===r?e=false:qr(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),_t.leading=e,_t.maxWait=+t,_t.trailing=u,Wr(n,t,_t)},q.times=function(n,t,r){n=0>n?0:n>>>0,t=Ut(t,r,1),r=-1;for(var e=ue(n);++rr?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},q.escape=function(n){return null==n?"":se(n).replace(N,s)},q.escapeRegExp=Xr,q.every=Cr,q.find=kr,q.findIndex=sr,q.findKey=function(n,t,r){return t=q.createCallback(t,r,3),Wt(n,t,zt,true)},q.findLast=function(n,t,r){return t=q.createCallback(t,r,3),Wt(n,t,Tt) +},q.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=q.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},q.findLastKey=function(n,t,r){return t=q.createCallback(t,r,3),Wt(n,t,qt,true)},q.findWhere=function(n,t){return kr(n,ne(t))},q.has=function(n,t){return n?Se.call(n,t):false},q.identity=Qr,q.indexOf=hr,q.isArguments=Br,q.isArray=au,q.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&we.call(n)==nt||false},q.isDate=function(n){return n&&typeof n=="object"&&we.call(n)==tt||false +},q.isElement=Dr,q.isEmpty=function(n){var t=true;if(!n)return t;var r=n.length;return-1r?Ze(e+r,0):Ke(r||0,e-1))+1);e--;)if(n[e]===t)return e;return-1},q.noConflict=function(){return c._=_e,this},q.noop=re,q.now=hu,q.pad=function(n,t,r){n=null==n?"":se(n),t=+t;var e=n.length; +return er?0:+r||0,n.length),n.lastIndexOf(t,r)==r},q.template=function(n,t,r){var e=q.templateSettings;r=ou({},r,e,xt),n=se(null==n?"":n);var u,o,a=ou({},r.imports,e.imports,xt),e=lu(a),a=Jr(a),i=0,l=r.interpolate||M,f="__p+='",l=ce((r.escape||M).source+"|"+l.source+"|"+(l===W?$:M).source+"|"+(r.evaluate||M).source+"|$","g"); return n.replace(l,function(t,r,e,a,l,c){return e||(e=a),f+=n.slice(i,c).replace(V,p),r&&(u=true,f+="'+__e("+r+")+'"),l&&(o=true,f+="';"+l+";\n__p+='"),e&&(f+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t}),f+="';",(r=r.variable)||(f="with(obj){"+f+"}"),f=(o?f.replace(S,""):f).replace(R,"$1").replace(U,"$1;"),f="function("+(r||"obj")+"){"+(r?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}",r=Ht(f,e,a),t?r(t):r -},q.trim=Gr,q.trimLeft=function(n,t){return(n=null==n?"":se(n))?null==t?n.slice(h(n)):(t=se(t),n.slice(o(n,t))):n},q.trimRight=function(n,t){return(n=null==n?"":se(n))?null==t?n.slice(0,v(n)+1):(t=se(t),n.slice(0,a(n,t)+1)):n},q.trunc=function(n,t){var r=30,e="...";if(t&&qr(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?se(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":se(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;if(r=n.slice(0,o),null==u)return r+e; +},q.trim=Gr,q.trimLeft=function(n,t){return(n=null==n?"":se(n))?null==t?n.slice(g(n)):(t=se(t),n.slice(o(n,t))):n},q.trimRight=function(n,t){return(n=null==n?"":se(n))?null==t?n.slice(0,v(n)+1):(t=se(t),n.slice(0,a(n,t)+1)):n},q.trunc=function(n,t){var r=30,e="...";if(t&&qr(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?se(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":se(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;if(r=n.slice(0,o),null==u)return r+e; if(Zr(u)){if(n.slice(o).search(u)){var a,i,l=n.slice(0,o);for(u.global||(u=ce(u.source,(P.exec(u)||"")+"g")),u.lastIndex=0;a=u.exec(l);)i=a.index;r=r.slice(0,null==i?o:i)}}else n.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),-1n.indexOf(";")?n:n.replace(F,y))},q.uniqueId=function(n){var t=++E;return se(null==n?"":n)+t},q.all=Cr,q.any=Lr,q.detect=kr,q.foldl=Ur,q.foldr=Fr,q.include=Ar,q.inject=Ur,te(q,function(){var n={};return zt(q,function(t,r){q.prototype[r]||(n[r]=t) }),n}(),false),q.first=pr,q.last=vr,q.sample=function(n,t,r){return n&&typeof n.length!="number"?n=Jr(n):He.unindexedChars&&Kr(n)&&(n=n.split("")),null==t||r?(t=n?n.length:0,0t?0:+t||0,n.length),n)},q.take=pr,q.takeRight=vr,q.takeRightWhile=vr,q.takeWhile=pr,q.head=pr,zt(q,function(n,t){var r="sample"!=t;q.prototype[t]||(q.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new J(o,u):o}) -}),q.VERSION=x,q.prototype.chain=function(){return this.__chain__=true,this},q.prototype.toJSON=jr,q.prototype.toString=function(){return se(this.__wrapped__)},q.prototype.value=jr,q.prototype.valueOf=jr,jt(["join","pop","shift"],function(n){var t=ge[n];q.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new J(r,n):r}}),jt(["push","reverse","sort","unshift"],function(n){var t=ge[n];q.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),jt(["concat","splice"],function(n){var t=ge[n]; -q.prototype[n]=function(){return new J(t.apply(this.__wrapped__,arguments),this.__chain__)}}),He.spliceObjects||jt(["pop","shift","splice"],function(n){var t=ge[n],r="splice"==n;q.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new J(u,n):u}}),q}var m,b=1,_=2,w=4,j=8,A=16,C=32,x="2.5.0-pre",k="__lodash@"+x+"__",O="Expected a function",E=0,I=/^[A-Z]+$/,S=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,F=/&(?:amp|lt|gt|quot|#39|#96);/g,N=/[&<>"'`]/g,L=/<%-([\s\S]+?)%>/g,T=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,$=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,P=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,D=/^0[xX]/,z=/^\[object .+?Constructor\]$/,q=/[\xC0-\xFF]/g,M=/($^)/,Z=/[.*+?^${}()|[\]\/\\]/g,K=/\bthis\b/,V=/['\n\r\u2028\u2029\\]/g,J=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,X=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",Y="Array ArrayBuffer Boolean Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),G="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),H="[object Arguments]",Q="[object Array]",nt="[object Boolean]",tt="[object Date]",rt="[object Error]",et="[object Function]",ut="[object Number]",ot="[object Object]",at="[object RegExp]",it="[object String]",lt="[object ArrayBuffer]",ft="[object Float32Array]",ct="[object Float64Array]",st="[object Int8Array]",pt="[object Int16Array]",gt="[object Int32Array]",ht="[object Uint8Array]",vt="[object Uint8ClampedArray]",yt="[object Uint16Array]",dt="[object Uint32Array]",mt={}; -mt[H]=mt[Q]=mt[ft]=mt[ct]=mt[st]=mt[pt]=mt[gt]=mt[ht]=mt[vt]=mt[yt]=mt[dt]=true,mt[lt]=mt[nt]=mt[tt]=mt[rt]=mt[et]=mt["[object Map]"]=mt[ut]=mt[ot]=mt[at]=mt["[object Set]"]=mt[it]=mt["[object WeakMap]"]=false;var bt={};bt[H]=bt[Q]=bt[lt]=bt[nt]=bt[tt]=bt[rt]=bt[ft]=bt[ct]=bt[st]=bt[pt]=bt[gt]=bt[ut]=bt[ot]=bt[at]=bt[it]=bt[ht]=bt[vt]=bt[yt]=bt[dt]=true,bt[et]=bt["[object Map]"]=bt["[object Set]"]=bt["[object WeakMap]"]=false;var _t={leading:false,maxWait:0,trailing:false},wt={configurable:false,enumerable:false,value:null,writable:false},jt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},At={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Ct={\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"AE",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss","\xd7":" ","\xf7":" "},xt={"function":true,object:true},kt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ot=xt[typeof window]&&window||this,Et=xt[typeof exports]&&exports&&!exports.nodeType&&exports,xt=xt[typeof module]&&module&&!module.nodeType&&module,It=Et&&xt&&typeof global=="object"&&global; +}),q.VERSION=x,q.prototype.chain=function(){return this.__chain__=true,this},q.prototype.toJSON=jr,q.prototype.toString=function(){return se(this.__wrapped__)},q.prototype.value=jr,q.prototype.valueOf=jr,jt(["join","pop","shift"],function(n){var t=he[n];q.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new J(r,n):r}}),jt(["push","reverse","sort","unshift"],function(n){var t=he[n];q.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),jt(["concat","splice"],function(n){var t=he[n]; +q.prototype[n]=function(){return new J(t.apply(this.__wrapped__,arguments),this.__chain__)}}),He.spliceObjects||jt(["pop","shift","splice"],function(n){var t=he[n],r="splice"==n;q.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new J(u,n):u}}),q}var m,b=1,_=2,w=4,j=8,A=16,C=32,x="2.5.0-pre",k="__lodash@"+x+"__",O="Expected a function",E=0,I=/^[A-Z]+$/,S=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,F=/&(?:amp|lt|gt|quot|#39|#96);/g,N=/[&<>"'`]/g,L=/<%-([\s\S]+?)%>/g,T=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,$=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,P=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,D=/^0[xX]/,z=/^\[object .+?Constructor\]$/,q=/[\xC0-\xFF]/g,M=/($^)/,Z=/[.*+?^${}()|[\]\/\\]/g,K=/\bthis\b/,V=/['\n\r\u2028\u2029\\]/g,J=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,X=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",Y="Array ArrayBuffer Boolean Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),G="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),H="[object Arguments]",Q="[object Array]",nt="[object Boolean]",tt="[object Date]",rt="[object Error]",et="[object Function]",ut="[object Number]",ot="[object Object]",at="[object RegExp]",it="[object String]",lt="[object ArrayBuffer]",ft="[object Float32Array]",ct="[object Float64Array]",st="[object Int8Array]",pt="[object Int16Array]",ht="[object Int32Array]",gt="[object Uint8Array]",vt="[object Uint8ClampedArray]",yt="[object Uint16Array]",dt="[object Uint32Array]",mt={}; +mt[H]=mt[Q]=mt[ft]=mt[ct]=mt[st]=mt[pt]=mt[ht]=mt[gt]=mt[vt]=mt[yt]=mt[dt]=true,mt[lt]=mt[nt]=mt[tt]=mt[rt]=mt[et]=mt["[object Map]"]=mt[ut]=mt[ot]=mt[at]=mt["[object Set]"]=mt[it]=mt["[object WeakMap]"]=false;var bt={};bt[H]=bt[Q]=bt[lt]=bt[nt]=bt[tt]=bt[ft]=bt[ct]=bt[st]=bt[pt]=bt[ht]=bt[ut]=bt[ot]=bt[at]=bt[it]=bt[gt]=bt[vt]=bt[yt]=bt[dt]=true,bt[rt]=bt[et]=bt["[object Map]"]=bt["[object Set]"]=bt["[object WeakMap]"]=false;var _t={leading:false,maxWait:0,trailing:false},wt={configurable:false,enumerable:false,value:null,writable:false},jt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},At={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Ct={\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"AE",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss","\xd7":" ","\xf7":" "},xt={"function":true,object:true},kt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ot=xt[typeof window]&&window||this,Et=xt[typeof exports]&&exports&&!exports.nodeType&&exports,xt=xt[typeof module]&&module&&!module.nodeType&&module,It=Et&&xt&&typeof global=="object"&&global; !It||It.global!==It&&It.window!==It&&It.self!==It||(Ot=It);var It=xt&&xt.exports===Et&&Et,St=d();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ot._=St, define(function(){return St})):Et&&xt?It?(xt.exports=St)._=St:Et._=St:Ot._=St}).call(this); \ No newline at end of file diff --git a/dist/lodash.js b/dist/lodash.js index ab8f859f1..f73ae96e2 100644 --- a/dist/lodash.js +++ b/dist/lodash.js @@ -157,16 +157,16 @@ /** Used to identify object classifications that `_.clone` supports */ var cloneableClasses = {}; - cloneableClasses[argsClass] = - cloneableClasses[arrayClass] = cloneableClasses[arrayBufferClass] = - cloneableClasses[boolClass] = cloneableClasses[dateClass] = - cloneableClasses[errorClass] = cloneableClasses[float32Class] = + cloneableClasses[argsClass] = cloneableClasses[arrayClass] = + cloneableClasses[arrayBufferClass] = cloneableClasses[boolClass] = + cloneableClasses[dateClass] = cloneableClasses[float32Class] = cloneableClasses[float64Class] = cloneableClasses[int8Class] = cloneableClasses[int16Class] = cloneableClasses[int32Class] = cloneableClasses[numberClass] = cloneableClasses[objectClass] = cloneableClasses[regexpClass] = cloneableClasses[stringClass] = cloneableClasses[uint8Class] = cloneableClasses[uint8ClampedClass] = cloneableClasses[uint16Class] = cloneableClasses[uint32Class] = true; + cloneableClasses[errorClass] = cloneableClasses[funcClass] = cloneableClasses[mapClass] = cloneableClasses[setClass] = cloneableClasses[weakMapClass] = false; @@ -1077,9 +1077,6 @@ case dateClass: return new Ctor(+value); - case errorClass: - return new Ctor(value.message); - case float32Class: case float64Class: case int8Class: case int16Class: case int32Class: case uint8Class: case uint8ClampedClass: case uint16Class: case uint32Class: @@ -1300,7 +1297,7 @@ * of values to exclude. * * @private - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {Array} [values] The array of values to exclude. * @returns {Array} Returns the new array of filtered values. */ @@ -1431,6 +1428,7 @@ function baseFlatten(array, isShallow, isStrict, fromIndex) { var index = (fromIndex || 0) - 1, length = array ? array.length : 0, + resIndex = 0, result = []; while (++index < length) { @@ -1443,15 +1441,14 @@ value = baseFlatten(value, isShallow, isStrict); } var valIndex = -1, - valLength = value.length, - resIndex = result.length; + valLength = value.length; result.length += valLength; while (++valIndex < valLength) { result[resIndex++] = value[valIndex]; } } else if (!isStrict) { - result.push(value); + result[resIndex++] = value; } } return result; @@ -1621,10 +1618,6 @@ // to `1` or `0` treating invalid dates coerced to `NaN` as not equal return +value == +other; - case errorClass: - // check properties instead of coercing to strings to support IE < 8 - return value.name === other.name && value.message === other.message; - case numberClass: // treat `NaN` vs. `NaN` as equal return (value != +value) @@ -1634,14 +1627,16 @@ case regexpClass: case stringClass: - // coerce regexes to strings (http://es5.github.io/#x15.10.6.4) - // treat string primitives and object instances as equal + // coerce regexes to strings (http://es5.github.io/#x15.10.6.4) and + // treat strings primitives and string objects as equal return value == String(other); } - var isArr = arrayLikeClasses[valClass]; + var isArr = arrayLikeClasses[valClass], + isErr = valClass == errorClass; + if (!isArr) { - // exit for functions and DOM nodes - if (valClass != objectClass) { + // exit for things like functions and DOM nodes + if (!(isErr || valClass == objectClass)) { return false; } // unwrap any `lodash` wrapped values @@ -1662,6 +1657,10 @@ var valCtor = valIsArg ? Object : value.constructor, othCtor = othIsArg ? Object : other.constructor; + // error objects of different types are not equal + if (isErr && valCtor.prototype.name != othCtor.prototype.name) { + return false; + } // non `Object` object instances with different constructors are not equal if (valCtor != othCtor && !(isFunction(valCtor) && valCtor instanceof valCtor && isFunction(othCtor) && othCtor instanceof othCtor) && @@ -1721,8 +1720,8 @@ } } else { - var valProps = keys(value), - othProps = keys(other); + var valProps = isErr ? ['message', 'name'] : keys(value), + othProps = isErr ? valProps : keys(other); if (valIsArg) { valProps.push('length'); @@ -1736,7 +1735,8 @@ if (result || isWhere) { while (++index < length) { var key = valProps[index]; - result = hasOwnProperty.call(other, key); + result = isErr || hasOwnProperty.call(other, key); + if (result) { valValue = value[key]; othValue = other[key]; @@ -1920,7 +1920,7 @@ * and `this` binding. * * @private - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. * @param {Function} [callback] The function called per iteration. * @returns {Array} Returns the new duplicate-value-free array. @@ -2133,7 +2133,7 @@ var args = arguments, length = args.length; - if (!object || length < 2) { + if (object == null || length < 2) { return object; } // enables use as a callback for functions like `_.reduce` @@ -2461,6 +2461,37 @@ /*--------------------------------------------------------------------------*/ + /** + * Creates an array of elements split into groups the length of `chunkSize`. + * If `collection` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to process. + * @param {numer} [chunkSize=1] The size of each chunk. + * @returns {Array} Returns the new array containing chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, chunkSize) { + var index = 0, + length = array ? array.length : 0, + result = []; + + chunkSize = nativeMax(+chunkSize || 1, 1); + while (index < length) { + result.push(slice(array, index, (index += chunkSize))); + } + return result; + } + /** * Creates an array with all falsey values removed. The values `false`, `null`, * `0`, `""`, `undefined`, and `NaN` are all falsey. @@ -2497,7 +2528,7 @@ * @static * @memberOf _ * @category Arrays - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {...Array} [values] The arrays of values to exclude. * @returns {Array} Returns the new array of filtered values. * @example @@ -3492,7 +3523,7 @@ * @memberOf _ * @alias unique * @category Arrays - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. * @param {Function|Object|string} [callback] The function called per iteration. * If a property name or object is provided it is used to create a "_.pluck" @@ -3618,8 +3649,8 @@ function zip() { var array = arguments.length > 1 ? arguments : arguments[0], index = -1, - length = array ? max(pluck(array, 'length')) : 0, - result = Array(length < 0 ? 0 : length); + length = isObject(length = max(array, 'length')) && length.length || 0, + result = Array(length); while (++index < length) { result[index] = pluck(array, index); @@ -5333,7 +5364,7 @@ trailing = false; } else if (isObject(options)) { leading = options.leading; - maxWait = 'maxWait' in options && nativeMax(wait, +options.maxWait || 0); + maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait); trailing = 'trailing' in options ? options.trailing : trailing; } @@ -5608,9 +5639,9 @@ * @example * * var greet = function(greeting, name) { return greeting + ' ' + name; }; - * var hi = _.partial(greet, 'hi'); - * hi('fred'); - * // => 'hi fred' + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' */ function partial(func) { if (func) { @@ -5637,6 +5668,12 @@ * @returns {Function} Returns the new partially applied function. * @example * + * var greet = function(greeting, name) { return greeting + ' ' + name; }; + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hello'); + * // => 'hello fred' + * + * // create a deep `_.defaults` * var defaultsDeep = _.partialRight(_.merge, function deep(value, other) { * return _.merge(value, other, deep); * }); @@ -5935,7 +5972,7 @@ * // => { 'name': 'barney', 'age': 36, 'employer': 'slate' } */ function defaults(object) { - if (!object) { + if (object == null) { return object; } var args = slice(arguments); @@ -6350,7 +6387,7 @@ /** * Checks if a collection is empty. A value is considered empty unless it is * an array, array-like object, or string with a length greater than `0` or - * an object with own properties. + * an object with own enumerable properties. * * @static * @memberOf _ @@ -6953,13 +6990,8 @@ if (typeof predicate == 'function') { return basePick(object, negate(lodash.createCallback(predicate, thisArg, 3))); } - var omitProps = baseFlatten(arguments, true, false, 1), - length = omitProps.length; - - while (length--) { - omitProps[length] = String(omitProps[length]); - } - return basePick(object, baseDifference(keysIn(object), omitProps)); + var omitProps = baseFlatten(arguments, true, false, 1); + return basePick(object, baseDifference(keysIn(object), arrayMap(omitProps, String))); } /** @@ -7580,7 +7612,7 @@ string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { interpolateValue || (interpolateValue = esTemplateValue); - // escape characters that cannot be included in string literals + // escape characters that can't be included in string literals source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); // replace delimiters with snippets @@ -7956,17 +7988,17 @@ // property containing a primitive value if (propsLength == 1 && value === value && !isObject(value)) { return function(object) { - if (!(object && hasOwnProperty.call(object, key))) { + if (object == null) { return false; } // treat `-0` vs. `+0` as not equal var other = object[key]; - return value === other && (value !== 0 || (1 / value == 1 / other)); + return value === other && (value !== 0 || (1 / value == 1 / other)) && hasOwnProperty.call(object, key); }; } return function(object) { var length = propsLength; - if (length && !object) { + if (length && object == null) { return false; } while (length--) { @@ -8392,6 +8424,7 @@ lodash.bindAll = bindAll; lodash.bindKey = bindKey; lodash.chain = chain; + lodash.chunk = chunk; lodash.compact = compact; lodash.compose = compose; lodash.constant = constant; diff --git a/dist/lodash.min.js b/dist/lodash.min.js index 973b119b3..0e34b905d 100644 --- a/dist/lodash.min.js +++ b/dist/lodash.min.js @@ -3,66 +3,67 @@ * Lo-Dash 2.5.0-pre (Custom Build) lodash.com/license | Underscore.js 1.6.0 underscorejs.org/LICENSE * Build: `lodash modern -o ./dist/lodash.js` */ -;(function(){function n(n,t){for(var e=-1,r=t.length,u=Array(r);++et||typeof n=="undefined")return 1;if(nr||13r||8202e||13e||8202>>0:0,u=tr(r);++ea(t,f)&&l.push(f);return l}function St(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number"&&-1f)for(;++lo?0:o>>>0);return St(n,function(n){var o=u?t:null!=n&&n[t];a[++r]=o?o.apply(n,e):m}),a}function Zt(n,t,e,r,u){var o=re(t);return(o?dt:Bt)(t,function(t,a,i){var f=t&&re(t),l=t&&nu(t),c=n[a]; -if(f||l){for(r||(r=[]),u||(u=[]),l=r.length;l--;)if(r[l]==t)return void(n[a]=u[l]);i=e?e(c,t,a,n,i):m,(l=typeof i!="undefined")||(i=f?Qr(c)?c:[]:nu(c)?c:{}),r.push(t),u.push(i),l||Zt(i,t,e,r,u),n[a]=i}else i=e?e(c,t,a,n,i):m,typeof i=="undefined"&&(i=t),(o||typeof i!="undefined")&&(n[a]=i)}),n}function Pt(n,t){var e={};if(typeof t=="function")return Lt(n,function(n,r,u){t(n,r,u)&&(e[r]=n)}),e;for(var r=-1,u=t.length;++ri(p,h)&&((u||l)&&p.push(h),c.push(s))}return c}function Jt(n,t){for(var e=-1,r=t(n),u=r.length,o=tr(u);++er)return t;var u=typeof e[2];if("number"!=u&&"string"!=u||!e[3]||e[3][e[2]]!==e[1]||(r=2),3o?0:o)}function ce(n,t,r){var u=n?n.length:0;if(typeof r=="number")r=0>r?Dr(u+r,0):r||0;else if(r)return r=ve(n,t),u&&n[r]===t?r:-1;return e(n,t,r)}function pe(n,t,e){var r=n?n.length:0;if(typeof t!="number"&&null!=t){var u=r,o=0; -for(t=q.createCallback(t,e,3);u--&&t(n[u],u,n);)o++}else o=null==t||e?1:t;return o=r-(o||0),ge(n,0,0>o?0:o)}function se(n,t,e){var r=n?n.length:0;if(typeof t!="number"&&null!=t){var u=r,o=0;for(t=q.createCallback(t,e,3);u--&&t(n[u],u,n);)o++}else if(o=t,null==o||e)return n?n[r-1]:m;return o=r-(o||0),ge(n,0>o?0:o)}function he(n,t,e){if(typeof t!="number"&&null!=t){var r=-1,u=n?n.length:0,o=0;for(t=q.createCallback(t,e,3);++rt?0:t;return ge(n,o)}function ge(n,t,e){var r=-1,u=n?n.length:0; -for(t=null==t?0:+t||0,0>t?t=Dr(u+t,0):t>u&&(t=u),e=typeof e=="undefined"?u:+e||0,0>e?e=Dr(u+e,0):e>u&&(e=u),u=t>e?0:e-t,e=tr(u);++r>>1,e(n[r])e?0:e);++te?Dr(r+e,0):e||0:0,typeof n=="string"||!Qr(n)&&Me(n)?eo&&(o=i)}else t=null==t&&Me(n)?u:q.createCallback(t,e,3),St(n,function(n,e,u){e=t(n,e,u),(e>r||-1/0===e&&e===o)&&(r=e,o=n)});return o}function Ie(n,t){return Ce(n,nr(t))}function Ee(n,t,e,r){var u=3>arguments.length;t=q.createCallback(t,r,4);var o=-1,a=n?n.length:0;if(typeof a=="number"&&-1arguments.length;return t=q.createCallback(t,r,4),Ut(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)}),e}function Fe(n){var t=-1,e=n&&n.length,r=tr(0>e?0:e>>>0);return St(n,function(n){var e=Kt(0,++t);r[t]=r[e],r[e]=n}),r}function Se(n,t,e){var r;(typeof t!="function"||typeof e!="undefined")&&(t=q.createCallback(t,e,3)),e=-1;var u=n?n.length:0;if(typeof u=="number"&&-1arguments.length)return ne(n,b,null,t);if(n)var e=n[x]?n[x][2]:n.length,r=ge(arguments,2),e=e-r.length;return ne(n,b|j,e,t,r)}function Ne(n,t,e){function r(){var e=t-(au()-l);0>=e||e>t?(i&&wr(i),e=s,i=p=s=m,e&&(h=au(),f=n.apply(c,a),p||i||(a=c=null))):p=Er(r,e)}function u(){p&&wr(p),i=p=s=m,(v||g!==t)&&(h=au(),f=n.apply(c,a),p||i||(a=c=null))}function o(){if(a=arguments,l=au(),c=this,s=v&&(p||!y),false===g)var e=y&&!p; -else{i||y||(h=l);var o=g-(l-h),m=0>=o||o>g;m?(i&&(i=wr(i)),h=l,f=n.apply(c,a)):i||(i=Er(u,o))}return m&&p?p=wr(p):p||t===g||(p=Er(r,t)),e&&(m=true,f=n.apply(c,a)),!m||p||i||(a=c=null),f}var a,i,f,l,c,p,s,h=0,g=false,v=true;if(!Be(n))throw new fr(C);if(t=0>t?0:t,true===e)var y=true,v=false;else De(e)&&(y=e.leading,g="maxWait"in e&&Dr(t,+e.maxWait||0),v="trailing"in e?e.trailing:v);return o.cancel=function(){p&&wr(p),i&&wr(i),i=p=s=m},o}function Te(n){if(!Be(n))throw new fr(C);return function(){return!n.apply(this,arguments) -}}function We(n){return zt(n,Ze)}function $e(n){return n&&typeof n=="object"&&typeof n.length=="number"&&yr.call(n)==Y||false}function Le(n){return n&&typeof n=="object"&&1===n.nodeType&&-1>>0,r=n.constructor,u=-1,r=r&&n===r.prototype,o=e-1,a=tr(e),i=0t||null==n||!$r(t))return e;n=ir(n);do t%2&&(e+=n),t=Ar(t/2),n+=n;while(t);return e}function Je(n,t){return(n=null==n?"":ir(n))?null==t?n.slice(h(n),g(n)+1):(t=ir(t),n.slice(o(n,t),a(n,t)+1)):n -}function Xe(n,t,e){var r=typeof n,u="function"==r;return u&&typeof t=="undefined"?n:u||null==n?Et(n,t,e):"object"==r?Ge(n):nr(n)}function Ye(n){return n}function Ge(n){var t=tu(n),e=t.length,r=t[0],u=e&&n[r];return 1!=e||u!==u||De(u)?function(r){var u=e;if(u&&!r)return false;for(;u--;){var o=t[u];if(!xr.call(r,o)||!qt(n[o],r[o],null,true))return false}return true}:function(n){return n&&xr.call(n,r)?(n=n[r],u===n&&(0!==u||1/u==1/n)):false}}function He(n,t,e){var r=true,u=t&&zt(t,tu);t&&(e||u.length)||(null==e&&(e=t),t=n,n=this,u=zt(t,tu)),false===e?r=false:De(e)&&"chain"in e&&(r=e.chain),e=-1; -for(var o=Be(n),a=u?u.length:0;++e--n?t.apply(this,arguments):void 0}},q.assign=Hr,q.at=function(t){return n(t,Tt(arguments,true,false,1))},q.bind=Ue,q.bindAll=function(n){for(var t=n,e=1arguments.length?ne(t,b|d,null,n):ne(t,b|d|j,null,n,ge(arguments,2))},q.chain=function(n){return new V(n,true) -},q.compact=function(n){for(var t=-1,e=n?n.length:0,r=0,u=[];++t(s?r(s,f):a(p,f))){for(t=u;--t;){var h=o[t];if(0>(h?r(h,f):a(n[t],f)))continue n}s&&s.push(f),p.push(f)}return p},q.invert=function(n,t){for(var e=-1,r=tu(n),u=r.length,o={};++eu?0:u>>>0);for(o||(t=q.createCallback(t,e,3)),St(n,function(n,e,u){if(o)for(e=t.length,u=tr(e);e--;)u[e]=n[t[e]];else u=t(n,e,u);a[++r]={a:u,b:r,c:n}}),u=a.length,a.sort(o?f:i);u--;)a[u]=a[u].c;return a},q.tap=function(n,t,e){return t.call(e,n),n},q.throttle=function(n,t,e){var r=true,u=true;if(!Be(n))throw new fr(C);return false===e?r=false:De(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),mt.leading=r,mt.maxWait=+t,mt.trailing=u,Ne(n,t,mt) -},q.times=function(n,t,e){n=0>n?0:n>>>0,t=Et(t,e,1),e=-1;for(var r=tr(n);++ee?0:+e||0,r))-t.length,0<=e&&n.indexOf(t,e)==e},q.escape=function(n){return null==n?"":ir(n).replace(U,p)},q.escapeRegExp=Ke,q.every=we,q.find=Ae,q.findIndex=fe,q.findKey=function(n,t,e){return t=q.createCallback(t,e,3),Nt(n,t,Bt,true) -},q.findLast=function(n,t,e){return t=q.createCallback(t,e,3),Nt(n,t,Ut)},q.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=q.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},q.findLastKey=function(n,t,e){return t=q.createCallback(t,e,3),Nt(n,t,Dt,true)},q.findWhere=function(n,t){return Ae(n,Ge(t))},q.has=function(n,t){return n?xr.call(n,t):false},q.identity=Ye,q.indexOf=ce,q.isArguments=$e,q.isArray=Qr,q.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&yr.call(n)==H||false -},q.isDate=function(n){return n&&typeof n=="object"&&yr.call(n)==Q||false},q.isElement=Le,q.isEmpty=function(n){var t=true;if(!n)return t;var e=n.length;return-1e?Dr(r+e,0):zr(e||0,r-1))+1);r--;)if(n[r]===t)return r;return-1},q.noConflict=function(){return c._=vr,this},q.noop=Qe,q.now=au,q.pad=function(n,t,e){n=null==n?"":ir(n),t=+t; -var r=n.length;return re?0:+e||0,n.length),n.lastIndexOf(t,e)==e},q.template=function(n,t,e){var r=q.templateSettings;e=Hr({},e,r,jt),n=ir(null==n?"":n);var u,o,a=Hr({},e.imports,r.imports,jt),r=tu(a),a=Pe(a),i=0,f=e.interpolate||M,l="__p+='",f=ar((e.escape||M).source+"|"+f.source+"|"+(f===W?$:M).source+"|"+(e.evaluate||M).source+"|$","g"); -return n.replace(f,function(t,e,r,a,f,c){return r||(r=a),l+=n.slice(i,c).replace(K,s),e&&(u=true,l+="'+__e("+e+")+'"),f&&(o=true,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),i=c+t.length,t}),l+="';",(e=e.variable)||(l="with(obj){"+l+"}"),l=(o?l.replace(E,""):l).replace(R,"$1").replace(F,"$1;"),l="function("+(e||"obj")+"){"+(e?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}",e=Xt(l,r,a,void 0),t?e(t):e -},q.trim=Je,q.trimLeft=function(n,t){return(n=null==n?"":ir(n))?null==t?n.slice(h(n)):(t=ir(t),n.slice(o(n,t))):n},q.trimRight=function(n,t){return(n=null==n?"":ir(n))?null==t?n.slice(0,g(n)+1):(t=ir(t),n.slice(0,a(n,t)+1)):n},q.trunc=function(n,t){var e=30,r="...";if(t&&De(t))var u="separator"in t?t.separator:u,e="length"in t?+t.length||0:e,r="omission"in t?ir(t.omission):r;else null!=t&&(e=+t||0);if(n=null==n?"":ir(n),e>=n.length)return n;var o=e-r.length;if(1>o)return r;if(e=n.slice(0,o),null==u)return e+r; -if(qe(u)){if(n.slice(o).search(u)){var a,i,f=n.slice(0,o);for(u.global||(u=ar(u.source,(L.exec(u)||"")+"g")),u.lastIndex=0;a=u.exec(f);)i=a.index;e=e.slice(0,null==i?o:i)}}else n.indexOf(u,o)!=o&&(u=e.lastIndexOf(u),-1n.indexOf(";")?n:n.replace(S,v))},q.uniqueId=function(n){var t=++O;return ir(null==n?"":n)+t},q.all=we,q.any=Se,q.detect=Ae,q.foldl=Ee,q.foldr=Re,q.include=_e,q.inject=Ee,He(q,function(){var n={};return Bt(q,function(t,e){q.prototype[e]||(n[e]=t) -}),n}(),false),q.first=le,q.last=se,q.sample=function(n,t,e){return n&&typeof n.length!="number"&&(n=Pe(n)),null==t||e?(t=n?n.length:0,0t?0:+t||0,n.length),n)},q.take=le,q.takeRight=se,q.takeRightWhile=se,q.takeWhile=le,q.head=le,Bt(q,function(n,t){var e="sample"!=t;q.prototype[t]||(q.prototype[t]=function(t,r){var u=this.__chain__,o=n(this.__wrapped__,t,r);return u||null!=t&&(!r||e&&typeof t=="function")?new V(o,u):o})}),q.VERSION=k,q.prototype.chain=function(){return this.__chain__=true,this -},q.prototype.toJSON=de,q.prototype.toString=function(){return ir(this.__wrapped__)},q.prototype.value=de,q.prototype.valueOf=de,dt(["join","pop","shift"],function(n){var t=lr[n];q.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);return n?new V(e,n):e}}),dt(["push","reverse","sort","unshift"],function(n){var t=lr[n];q.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),dt(["concat","splice"],function(n){var t=lr[n];q.prototype[n]=function(){return new V(t.apply(this.__wrapped__,arguments),this.__chain__) -}}),q}var m,b=1,d=2,_=4,w=8,j=16,A=32,k="2.5.0-pre",x="__lodash@"+k+"__",C="Expected a function",O=0,I=/^[A-Z]+$/,E=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,F=/(__e\(.*?\)|\b__t\))\+'';/g,S=/&(?:amp|lt|gt|quot|#39|#96);/g,U=/[&<>"'`]/g,N=/<%-([\s\S]+?)%>/g,T=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,$=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,L=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,D=/^0[xX]/,z=/^\[object .+?Constructor\]$/,q=/[\xC0-\xFF]/g,M=/($^)/,Z=/[.*+?^${}()|[\]\/\\]/g,P=/\bthis\b/,K=/['\n\r\u2028\u2029\\]/g,V=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,J=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",X="Array ArrayBuffer Boolean Date Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),Y="[object Arguments]",G="[object Array]",H="[object Boolean]",Q="[object Date]",nt="[object Error]",tt="[object Number]",et="[object Object]",rt="[object RegExp]",ut="[object String]",ot="[object ArrayBuffer]",at="[object Float32Array]",it="[object Float64Array]",ft="[object Int8Array]",lt="[object Int16Array]",ct="[object Int32Array]",pt="[object Uint8Array]",st="[object Uint8ClampedArray]",ht="[object Uint16Array]",gt="[object Uint32Array]",vt={}; -vt[Y]=vt[G]=vt[at]=vt[it]=vt[ft]=vt[lt]=vt[ct]=vt[pt]=vt[st]=vt[ht]=vt[gt]=true,vt[ot]=vt[H]=vt[Q]=vt[nt]=vt["[object Function]"]=vt["[object Map]"]=vt[tt]=vt[et]=vt[rt]=vt["[object Set]"]=vt[ut]=vt["[object WeakMap]"]=false;var yt={};yt[Y]=yt[G]=yt[ot]=yt[H]=yt[Q]=yt[nt]=yt[at]=yt[it]=yt[ft]=yt[lt]=yt[ct]=yt[tt]=yt[et]=yt[rt]=yt[ut]=yt[pt]=yt[st]=yt[ht]=yt[gt]=true,yt["[object Function]"]=yt["[object Map]"]=yt["[object Set]"]=yt["[object WeakMap]"]=false;var mt={leading:false,maxWait:0,trailing:false},bt={configurable:false,enumerable:false,value:null,writable:false},dt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},_t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},wt={\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"AE",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss","\xd7":" ","\xf7":" "},jt={"function":true,object:true},At={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},kt=jt[typeof window]&&window||this,xt=jt[typeof exports]&&exports&&!exports.nodeType&&exports,jt=jt[typeof module]&&module&&!module.nodeType&&module,Ct=xt&&jt&&typeof global=="object"&&global; +;(function(){function n(n,t){for(var r=-1,e=t.length,u=Array(e);++rt||typeof n=="undefined")return 1;if(ne||13e||8202r||13r||8202>>0:0,u=te(e);++ra(t,f)&&l.push(f);return l}function St(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number"&&-1f)for(;++po?0:o>>>0);return St(n,function(n){var o=u?t:null!=n&&n[t];a[++e]=o?o.apply(n,r):m}),a}function Zt(n,t,r,e,u){var o=er(t);return(o?dt:Bt)(t,function(t,a,i){var f=t&&er(t),l=t&&nu(t),c=n[a]; +if(f||l){for(e||(e=[]),u||(u=[]),l=e.length;l--;)if(e[l]==t)return void(n[a]=u[l]);i=r?r(c,t,a,n,i):m,(l=typeof i!="undefined")||(i=f?Qe(c)?c:[]:nu(c)?c:{}),e.push(t),u.push(i),l||Zt(i,t,r,e,u),n[a]=i}else i=r?r(c,t,a,n,i):m,typeof i=="undefined"&&(i=t),(o||typeof i!="undefined")&&(n[a]=i)}),n}function Pt(n,t){var r={};if(typeof t=="function")return Lt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r;for(var e=-1,u=t.length;++ei(p,h)&&((u||l)&&p.push(h),c.push(s))}return c}function Jt(n,t){for(var r=-1,e=t(n),u=e.length,o=te(u);++re)return t;var u=typeof r[2];if("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2),3o?0:o)}function cr(n,t,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?De(u+e,0):e||0;else if(e)return e=vr(n,t),u&&n[e]===t?e:-1;return r(n,t,e) +}function pr(n,t,r){var e=n?n.length:0;if(typeof t!="number"&&null!=t){var u=e,o=0;for(t=q.createCallback(t,r,3);u--&&t(n[u],u,n);)o++}else o=null==t||r?1:t;return o=e-(o||0),gr(n,0,0>o?0:o)}function sr(n,t,r){var e=n?n.length:0;if(typeof t!="number"&&null!=t){var u=e,o=0;for(t=q.createCallback(t,r,3);u--&&t(n[u],u,n);)o++}else if(o=t,null==o||r)return n?n[e-1]:m;return o=e-(o||0),gr(n,0>o?0:o)}function hr(n,t,r){if(typeof t!="number"&&null!=t){var e=-1,u=n?n.length:0,o=0;for(t=q.createCallback(t,r,3);++et?0:t;return gr(n,o)}function gr(n,t,r){var e=-1,u=n?n.length:0;for(t=null==t?0:+t||0,0>t?t=De(u+t,0):t>u&&(t=u),r=typeof r=="undefined"?u:+r||0,0>r?r=De(u+r,0):r>u&&(r=u),u=t>r?0:r-t,r=te(u);++e>>1,r(n[e])r?De(e+r,0):r||0:0,typeof n=="string"||!Qe(n)&&Mr(n)?ro&&(o=i)}else t=null==t&&Mr(n)?u:q.createCallback(t,r,3),St(n,function(n,r,u){r=t(n,r,u),(r>e||-1/0===r&&r===o)&&(e=r,o=n)});return o}function Ir(n,t){return Cr(n,ne(t))}function Er(n,t,r,e){var u=3>arguments.length;t=q.createCallback(t,e,4);var o=-1,a=n?n.length:0;if(typeof a=="number"&&-1arguments.length;return t=q.createCallback(t,e,4),Ut(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Fr(n){var t=-1,r=n&&n.length,e=te(0>r?0:r>>>0);return St(n,function(n){var r=Kt(0,++t);e[t]=e[r],e[r]=n}),e}function Sr(n,t,r){var e;(typeof t!="function"||typeof r!="undefined")&&(t=q.createCallback(t,r,3)),r=-1;var u=n?n.length:0;if(typeof u=="number"&&-1arguments.length)return nr(n,b,null,t);if(n)var r=n[x]?n[x][2]:n.length,e=gr(arguments,2),r=r-e.length;return nr(n,b|j,r,t,e)}function Nr(n,t,r){function e(){var r=t-(au()-l);0>=r||r>t?(i&&we(i),r=s,i=p=s=m,r&&(h=au(),f=n.apply(c,a),p||i||(a=c=null))):p=Ee(e,r)}function u(){p&&we(p),i=p=s=m,(v||g!==t)&&(h=au(),f=n.apply(c,a),p||i||(a=c=null))}function o(){if(a=arguments,l=au(),c=this,s=v&&(p||!y),false===g)var r=y&&!p; +else{i||y||(h=l);var o=g-(l-h),m=0>=o||o>g;m?(i&&(i=we(i)),h=l,f=n.apply(c,a)):i||(i=Ee(u,o))}return m&&p?p=we(p):p||t===g||(p=Ee(e,t)),r&&(m=true,f=n.apply(c,a)),!m||p||i||(a=c=null),f}var a,i,f,l,c,p,s,h=0,g=false,v=true;if(!Br(n))throw new fe(C);if(t=0>t?0:t,true===r)var y=true,v=false;else Dr(r)&&(y=r.leading,g="maxWait"in r&&De(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);return o.cancel=function(){p&&we(p),i&&we(i),i=p=s=m},o}function Tr(n){if(!Br(n))throw new fe(C);return function(){return!n.apply(this,arguments) +}}function Wr(n){return zt(n,Zr)}function $r(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ye.call(n)==Y||false}function Lr(n){return n&&typeof n=="object"&&1===n.nodeType&&-1>>0,e=n.constructor,u=-1,e=e&&n===e.prototype,o=r-1,a=te(r),i=0t||null==n||!$e(t))return r;n=ie(n);do t%2&&(r+=n),t=Ae(t/2),n+=n;while(t);return r}function Jr(n,t){return(n=null==n?"":ie(n))?null==t?n.slice(h(n),g(n)+1):(t=ie(t),n.slice(o(n,t),a(n,t)+1)):n +}function Xr(n,t,r){var e=typeof n,u="function"==e;return u&&typeof t=="undefined"?n:u||null==n?Et(n,t,r):"object"==e?Gr(n):ne(n)}function Yr(n){return n}function Gr(n){var t=tu(n),r=t.length,e=t[0],u=r&&n[e];return 1!=r||u!==u||Dr(u)?function(e){var u=r;if(u&&null==e)return false;for(;u--;){var o=t[u];if(!xe.call(e,o)||!qt(n[o],e[o],null,true))return false}return true}:function(n){if(null==n)return false;var t=n[e];return u===t&&(0!==u||1/u==1/t)&&xe.call(n,e)}}function Hr(n,t,r){var e=true,u=t&&zt(t,tu);t&&(r||u.length)||(null==r&&(r=t),t=n,n=this,u=zt(t,tu)),false===r?e=false:Dr(r)&&"chain"in r&&(e=r.chain),r=-1; +for(var o=Br(n),a=u?u.length:0;++r--n?t.apply(this,arguments):void 0}},q.assign=He,q.at=function(t){return n(t,Tt(arguments,true,false,1))},q.bind=Ur,q.bindAll=function(n){for(var t=n,r=1arguments.length?nr(t,b|d,null,n):nr(t,b|d|j,null,n,gr(arguments,2))},q.chain=function(n){return new V(n,true) +},q.chunk=function(n,t){var r=0,e=n?n.length:0,u=[];for(t=De(+t||1,1);r(s?e(s,f):a(p,f))){for(t=u;--t;){var h=o[t]; +if(0>(h?e(h,f):a(n[t],f)))continue n}s&&s.push(f),p.push(f)}return p},q.invert=function(n,t){for(var r=-1,e=tu(n),u=e.length,o={};++ru?0:u>>>0);for(o||(t=q.createCallback(t,r,3)),St(n,function(n,r,u){if(o)for(r=t.length,u=te(r);r--;)u[r]=n[t[r]]; +else u=t(n,r,u);a[++e]={a:u,b:e,c:n}}),u=a.length,a.sort(o?f:i);u--;)a[u]=a[u].c;return a},q.tap=function(n,t,r){return t.call(r,n),n},q.throttle=function(n,t,r){var e=true,u=true;if(!Br(n))throw new fe(C);return false===r?e=false:Dr(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),mt.leading=e,mt.maxWait=+t,mt.trailing=u,Nr(n,t,mt)},q.times=function(n,t,r){n=0>n?0:n>>>0,t=Et(t,r,1),r=-1;for(var e=te(n);++rr?0:+r||0,e))-t.length,0<=r&&n.indexOf(t,r)==r},q.escape=function(n){return null==n?"":ie(n).replace(U,p)},q.escapeRegExp=Kr,q.every=wr,q.find=Ar,q.findIndex=fr,q.findKey=function(n,t,r){return t=q.createCallback(t,r,3),Nt(n,t,Bt,true)},q.findLast=function(n,t,r){return t=q.createCallback(t,r,3),Nt(n,t,Ut) +},q.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=q.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},q.findLastKey=function(n,t,r){return t=q.createCallback(t,r,3),Nt(n,t,Dt,true)},q.findWhere=function(n,t){return Ar(n,Gr(t))},q.has=function(n,t){return n?xe.call(n,t):false},q.identity=Yr,q.indexOf=cr,q.isArguments=$r,q.isArray=Qe,q.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&ye.call(n)==H||false},q.isDate=function(n){return n&&typeof n=="object"&&ye.call(n)==Q||false +},q.isElement=Lr,q.isEmpty=function(n){var t=true;if(!n)return t;var r=n.length;return-1r?De(e+r,0):ze(r||0,e-1))+1);e--;)if(n[e]===t)return e;return-1},q.noConflict=function(){return c._=ve,this},q.noop=Qr,q.now=au,q.pad=function(n,t,r){n=null==n?"":ie(n),t=+t;var e=n.length; +return er?0:+r||0,n.length),n.lastIndexOf(t,r)==r},q.template=function(n,t,r){var e=q.templateSettings;r=He({},r,e,jt),n=ie(null==n?"":n);var u,o,a=He({},r.imports,e.imports,jt),e=tu(a),a=Pr(a),i=0,f=r.interpolate||M,l="__p+='",f=ae((r.escape||M).source+"|"+f.source+"|"+(f===W?$:M).source+"|"+(r.evaluate||M).source+"|$","g"); +return n.replace(f,function(t,r,e,a,f,c){return e||(e=a),l+=n.slice(i,c).replace(K,s),r&&(u=true,l+="'+__e("+r+")+'"),f&&(o=true,l+="';"+f+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t}),l+="';",(r=r.variable)||(l="with(obj){"+l+"}"),l=(o?l.replace(E,""):l).replace(R,"$1").replace(F,"$1;"),l="function("+(r||"obj")+"){"+(r?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}",r=Xt(l,e,a,void 0),t?r(t):r +},q.trim=Jr,q.trimLeft=function(n,t){return(n=null==n?"":ie(n))?null==t?n.slice(h(n)):(t=ie(t),n.slice(o(n,t))):n},q.trimRight=function(n,t){return(n=null==n?"":ie(n))?null==t?n.slice(0,g(n)+1):(t=ie(t),n.slice(0,a(n,t)+1)):n},q.trunc=function(n,t){var r=30,e="...";if(t&&Dr(t))var u="separator"in t?t.separator:u,r="length"in t?+t.length||0:r,e="omission"in t?ie(t.omission):e;else null!=t&&(r=+t||0);if(n=null==n?"":ie(n),r>=n.length)return n;var o=r-e.length;if(1>o)return e;if(r=n.slice(0,o),null==u)return r+e; +if(qr(u)){if(n.slice(o).search(u)){var a,i,f=n.slice(0,o);for(u.global||(u=ae(u.source,(L.exec(u)||"")+"g")),u.lastIndex=0;a=u.exec(f);)i=a.index;r=r.slice(0,null==i?o:i)}}else n.indexOf(u,o)!=o&&(u=r.lastIndexOf(u),-1n.indexOf(";")?n:n.replace(S,v))},q.uniqueId=function(n){var t=++O;return ie(null==n?"":n)+t},q.all=wr,q.any=Sr,q.detect=Ar,q.foldl=Er,q.foldr=Rr,q.include=_r,q.inject=Er,Hr(q,function(){var n={};return Bt(q,function(t,r){q.prototype[r]||(n[r]=t) +}),n}(),false),q.first=lr,q.last=sr,q.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=Pr(n)),null==t||r?(t=n?n.length:0,0t?0:+t||0,n.length),n)},q.take=lr,q.takeRight=sr,q.takeRightWhile=sr,q.takeWhile=lr,q.head=lr,Bt(q,function(n,t){var r="sample"!=t;q.prototype[t]||(q.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new V(o,u):o})}),q.VERSION=k,q.prototype.chain=function(){return this.__chain__=true,this +},q.prototype.toJSON=dr,q.prototype.toString=function(){return ie(this.__wrapped__)},q.prototype.value=dr,q.prototype.valueOf=dr,dt(["join","pop","shift"],function(n){var t=le[n];q.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new V(r,n):r}}),dt(["push","reverse","sort","unshift"],function(n){var t=le[n];q.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),dt(["concat","splice"],function(n){var t=le[n];q.prototype[n]=function(){return new V(t.apply(this.__wrapped__,arguments),this.__chain__) +}}),q}var m,b=1,d=2,_=4,w=8,j=16,A=32,k="2.5.0-pre",x="__lodash@"+k+"__",C="Expected a function",O=0,I=/^[A-Z]+$/,E=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,F=/(__e\(.*?\)|\b__t\))\+'';/g,S=/&(?:amp|lt|gt|quot|#39|#96);/g,U=/[&<>"'`]/g,N=/<%-([\s\S]+?)%>/g,T=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,$=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,L=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,D=/^0[xX]/,z=/^\[object .+?Constructor\]$/,q=/[\xC0-\xFF]/g,M=/($^)/,Z=/[.*+?^${}()|[\]\/\\]/g,P=/\bthis\b/,K=/['\n\r\u2028\u2029\\]/g,V=/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,J=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",X="Array ArrayBuffer Boolean Date Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array window WinRTError".split(" "),Y="[object Arguments]",G="[object Array]",H="[object Boolean]",Q="[object Date]",nt="[object Error]",tt="[object Number]",rt="[object Object]",et="[object RegExp]",ut="[object String]",ot="[object ArrayBuffer]",at="[object Float32Array]",it="[object Float64Array]",ft="[object Int8Array]",lt="[object Int16Array]",ct="[object Int32Array]",pt="[object Uint8Array]",st="[object Uint8ClampedArray]",ht="[object Uint16Array]",gt="[object Uint32Array]",vt={}; +vt[Y]=vt[G]=vt[at]=vt[it]=vt[ft]=vt[lt]=vt[ct]=vt[pt]=vt[st]=vt[ht]=vt[gt]=true,vt[ot]=vt[H]=vt[Q]=vt[nt]=vt["[object Function]"]=vt["[object Map]"]=vt[tt]=vt[rt]=vt[et]=vt["[object Set]"]=vt[ut]=vt["[object WeakMap]"]=false;var yt={};yt[Y]=yt[G]=yt[ot]=yt[H]=yt[Q]=yt[at]=yt[it]=yt[ft]=yt[lt]=yt[ct]=yt[tt]=yt[rt]=yt[et]=yt[ut]=yt[pt]=yt[st]=yt[ht]=yt[gt]=true,yt[nt]=yt["[object Function]"]=yt["[object Map]"]=yt["[object Set]"]=yt["[object WeakMap]"]=false;var mt={leading:false,maxWait:0,trailing:false},bt={configurable:false,enumerable:false,value:null,writable:false},dt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},_t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},wt={\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"AE",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss","\xd7":" ","\xf7":" "},jt={"function":true,object:true},At={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},kt=jt[typeof window]&&window||this,xt=jt[typeof exports]&&exports&&!exports.nodeType&&exports,jt=jt[typeof module]&&module&&!module.nodeType&&module,Ct=xt&&jt&&typeof global=="object"&&global; !Ct||Ct.global!==Ct&&Ct.window!==Ct&&Ct.self!==Ct||(kt=Ct);var Ct=jt&&jt.exports===xt&&xt,Ot=y();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(kt._=Ot, define(function(){return Ot})):xt&&jt?Ct?(jt.exports=Ot)._=Ot:xt._=Ot:kt._=Ot}).call(this); \ No newline at end of file diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index 8ca6cb080..452965c15 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -640,7 +640,7 @@ * of values to exclude. * * @private - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {Array} [values] The array of values to exclude. * @returns {Array} Returns the new array of filtered values. */ @@ -752,6 +752,7 @@ function baseFlatten(array, isShallow, isStrict, fromIndex) { var index = (fromIndex || 0) - 1, length = array ? array.length : 0, + resIndex = 0, result = []; while (++index < length) { @@ -764,15 +765,14 @@ value = baseFlatten(value, isShallow, isStrict); } var valIndex = -1, - valLength = value.length, - resIndex = result.length; + valLength = value.length; result.length += valLength; while (++valIndex < valLength) { result[resIndex++] = value[valIndex]; } } else if (!isStrict) { - result.push(value); + result[resIndex++] = value; } } return result; @@ -1085,7 +1085,7 @@ * and `this` binding. * * @private - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. * @param {Function} [callback] The function called per iteration. * @returns {Array} Returns the new duplicate-value-free array. @@ -1388,7 +1388,7 @@ * @static * @memberOf _ * @category Arrays - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {...Array} [values] The arrays of values to exclude. * @returns {Array} Returns the new array of filtered values. * @example @@ -1934,7 +1934,7 @@ * @memberOf _ * @alias unique * @category Arrays - * @param {Array} array The array to process. + * @param {Array} array The array to inspect. * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. * @param {Function|Object|string} [callback] The function called per iteration. * If a property name or object is provided it is used to create a "_.pluck" @@ -3541,7 +3541,7 @@ trailing = false; } else if (isObject(options)) { leading = options.leading; - maxWait = 'maxWait' in options && nativeMax(wait, +options.maxWait || 0); + maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait); trailing = 'trailing' in options ? options.trailing : trailing; } @@ -3814,9 +3814,9 @@ * @example * * var greet = function(greeting, name) { return greeting + ' ' + name; }; - * var hi = _.partial(greet, 'hi'); - * hi('fred'); - * // => 'hi fred' + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' */ function partial(func) { return createWrapper(func, PARTIAL_FLAG, null, null, slice(arguments, 1)); @@ -4235,7 +4235,7 @@ /** * Checks if a collection is empty. A value is considered empty unless it is * an array, array-like object, or string with a length greater than `0` or - * an object with own properties. + * an object with own enumerable properties. * * @static * @memberOf _ @@ -4636,13 +4636,8 @@ if (!isObject(object)) { return {}; } - var omitProps = baseFlatten(arguments, true, false, 1), - length = omitProps.length; - - while (length--) { - omitProps[length] = String(omitProps[length]); - } - return basePick(object, baseDifference(keysIn(object), omitProps)); + var omitProps = baseFlatten(arguments, true, false, 1); + return basePick(object, baseDifference(keysIn(object), arrayMap(omitProps, String))); } /** @@ -5058,7 +5053,7 @@ } while (length--) { var key = props[length]; - if (!(hasOwnProperty.call(object, key) && object[key] === source[key])) { + if (!(object[key] === source[key] && hasOwnProperty.call(object, key))) { return false } } diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index e6aaa1f88..32299960f 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -6,8 +6,8 @@ ;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++te||typeof t=="undefined"){t=1;break n}if(t>>0:0,u=Array(e);++tu(r,i)&&o.push(i)}return o}function g(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number"&&-1o?0:o>>>0);return g(n,function(n){var o=u?r:null!=n&&n[r];i[++e]=o?o.apply(n,t):sr}),i}function j(n,r){var t={};if(typeof r=="function")return b(n,function(n,e,u){r(n,e,u)&&(t[e]=n)}),t;for(var e=-1,u=r.length;++eo(f,c)&&(t&&f.push(c),i.push(a)) }return i}function x(n,r){var t,e=["_"];try{var u=Function(e,"return "+n+(t?"\n/*\n//# sourceURL="+t+"\n*/":"")).apply(sr,r);u.source=n}catch(o){throw o.source=n,o}return u}function T(n,r){return function(t,e,u){var o=r?r():{};e=fr(e,u,3),u=-1;var i=t?t.length:0;if(typeof i=="number"&&-1u&&(u=t);else r=fr(r,t,3),g(n,function(n,t,o){t=r(n,t,o),(t>e||-1/0===t&&t===u)&&(e=t,u=n)});return u}function L(n,r){return z(n,pr(r))}function P(n,r,t,e){var u=3>arguments.length;r=fr(r,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number"&&-1arguments.length;return r=fr(r,e,4),h(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function G(n){var r=-1,t=n&&n.length,e=Array(0>t?0:t>>>0);return g(n,function(n){var t=w(++r);e[r]=e[t],e[t]=n}),e}function H(n,r,t){var e;(typeof r!="function"||typeof t!="undefined")&&(r=fr(r,t,3)),t=-1;var u=n?n.length:0;if(typeof u=="number"&&-1arguments.length?E(n,gr,r):E(n,gr|vr,r,N(arguments,2)) }function K(n,r,t){function e(){var t=r-(dt()-c);0>=t||t>r?(f&&clearTimeout(f),t=s,f=p=s=sr,t&&(g=dt(),a=n.apply(l,i),p||f||(i=l=null))):p=setTimeout(e,t)}function u(){p&&clearTimeout(p),f=p=s=sr,(v||h!==r)&&(g=dt(),a=n.apply(l,i),p||f||(i=l=null))}function o(){if(i=arguments,c=dt(),l=this,s=v&&(p||!y),false===h)var t=y&&!p;else{f||y||(g=c);var o=h-(c-g),m=0>=o||o>h;m?(f&&(f=clearTimeout(f)),g=c,a=n.apply(l,i)):f||(f=setTimeout(u,o))}return m&&p?p=clearTimeout(p):p||r===h||(p=setTimeout(e,r)),t&&(m=true,a=n.apply(l,i)),!m||p||f||(i=l=null),a -}var i,f,a,c,l,p,s,g=0,h=false,v=true;if(!rr(n))throw new TypeError(mr);if(r=0>r?0:r,true===t)var y=true,v=false;else tr(t)&&(y=t.leading,h="maxWait"in t&&it(r,+t.maxWait||0),v="trailing"in t?t.trailing:v);return o.cancel=function(){p&&clearTimeout(p),f&&clearTimeout(f),f=p=s=sr},o}function Q(n){if(!rr(n))throw new TypeError(mr);return function(){return!n.apply(this,arguments)}}function X(n){if(!n)return n;var r=arguments,t=0,e=r.length,u=typeof r[2];for("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2);++tr?0:r,true===t)var y=true,v=false;else tr(t)&&(y=t.leading,h="maxWait"in t&&it(+t.maxWait||0,r),v="trailing"in t?t.trailing:v);return o.cancel=function(){p&&clearTimeout(p),f&&clearTimeout(f),f=p=s=sr},o}function Q(n){if(!rr(n))throw new TypeError(mr);return function(){return!n.apply(this,arguments)}}function X(n){if(null==n)return n;var r=arguments,t=0,e=r.length,u=typeof r[2];for("number"!=u&&"string"!=u||!r[3]||r[3][r[2]]!==r[1]||(e=2);++t"'`]/g,jr=/^\[object .+?Constructor\]$/,wr=/($^)/,Ar=/[.*+?^${}()|[\]\/\\]/g,xr=/['\n\r\u2028\u2029\\]/g,Tr="[object Arguments]",Er="[object Boolean]",kr="[object Date]",Or="[object Number]",Sr="[object Object]",Fr="[object RegExp]",Ir="[object String]",Mr={}; +}function cr(n){var r=bt(n),t=r.length;return function(e){var u=t;if(u&&null==e)return false;for(;u--;){var o=r[u];if(e[o]!==n[o]||!Xr.call(e,o))return false}return true}}function lr(n){for(var r=-1,t=Z(n),e=t.length;++r"'`]/g,jr=/^\[object .+?Constructor\]$/,wr=/($^)/,Ar=/[.*+?^${}()|[\]\/\\]/g,xr=/['\n\r\u2028\u2029\\]/g,Tr="[object Arguments]",Er="[object Boolean]",kr="[object Date]",Or="[object Number]",Sr="[object Object]",Fr="[object RegExp]",Ir="[object String]",Mr={}; Mr[Tr]=Mr["[object Array]"]=Mr["[object Float32Array]"]=Mr["[object Float64Array]"]=Mr["[object Int8Array]"]=Mr["[object Int16Array]"]=Mr["[object Int32Array]"]=Mr["[object Uint8Array]"]=Mr["[object Uint8ClampedArray]"]=Mr["[object Uint16Array]"]=Mr["[object Uint32Array]"]=true,Mr["[object ArrayBuffer]"]=Mr[Er]=Mr[kr]=Mr["[object Error]"]=Mr["[object Function]"]=Mr["[object Map]"]=Mr[Or]=Mr[Sr]=Mr[Fr]=Mr["[object Set]"]=Mr[Ir]=Mr["[object WeakMap]"]=false;var Nr={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},qr={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Br={"function":true,object:true},Rr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$r=Br[typeof window]&&window||this,Ur=Br[typeof exports]&&exports&&!exports.nodeType&&exports,Wr=Br[typeof module]&&module&&!module.nodeType&&module,Dr=Ur&&Wr&&typeof global=="object"&&global; !Dr||Dr.global!==Dr&&Dr.window!==Dr&&Dr.self!==Dr||($r=Dr);var zr=Wr&&Wr.exports===Ur&&Ur,Cr=Array.prototype,Lr=Object.prototype,Pr=Function.prototype.toString,Vr=Math.pow(2,53)-1,Gr=$r._,Hr=Lr.toString,Jr=RegExp("^"+(null==Hr?"":(Hr+"").replace(Ar,"\\$&")).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Kr=Math.ceil,Qr=Math.floor,Xr=Lr.hasOwnProperty,Yr=Cr.push,Zr=Lr.propertyIsEnumerable,nt=Cr.splice,rt=O(rt=Object.create)&&rt,tt=O(tt=Array.isArray)&&tt,et=$r.isFinite,ut=$r.isNaN,ot=O(ot=Object.keys)&&ot,it=Math.max,ft=Math.min,at=O(at=Date.now)&&at,ct=Math.random; i.prototype=o.prototype;var lt={};!function(){var n={0:1,length:1};lt.spliceObjects=(nt.call(n,0,1),!n[0])}(0,0),o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},rt||(c=function(){function n(){}return function(r){if(tr(r)){n.prototype=r;var t=new n;n.prototype=null}return t||$r.Object()}}());var pt=M,st=F,gt=T(function(n,r,t){Xr.call(n,t)?n[t]++:n[t]=1}),ht=T(function(n,r,t){Xr.call(n,t)?n[t].push(r):n[t]=[r]}),vt=T(function(n,r,t){n[t]=r @@ -30,10 +30,10 @@ return n=et(n=+n)?n:0,function(){return 1>--n?r.apply(this,arguments):void 0}},o return e}},o.constant=function(n){return function(){return n}},o.countBy=gt,o.debounce=K,o.defaults=Y,o.defer=function(n){if(!rr(n))throw new TypeError(mr);var r=N(arguments,1);return setTimeout(function(){n.apply(sr,r)},1)},o.delay=function(n,r){if(!rr(n))throw new TypeError(mr);var t=N(arguments,2);return setTimeout(function(){n.apply(sr,t)},r)},o.difference=function(){for(var n=-1,r=arguments.length;++nr?0:r)},o.intersection=function(){for(var n=[],r=-1,t=arguments.length;++ri(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},o.invert=function(n){for(var r=-1,t=bt(n),e=t.length,u={};++ro?0:o>>>0);for(t=fr(t,e,3),g(n,function(n,r,e){i[++u]={a:t(n,r,e),b:u,c:n}}),o=i.length,i.sort(r);o--;)i[o]=i[o].c;return i -},o.tap=function(n,r){return r(n),n},o.throttle=function(n,r,t){var e=true,u=true;if(!rr(n))throw new TypeError(mr);return false===t?e=false:tr(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),K(n,r,{leading:e,maxWait:r,trailing:u})},o.times=function(n,r,t){n=0>n?0:n>>>0,r=l(r,t,1),t=-1;for(var e=Array(n);++tr?0:r);++no?0:o>>>0);for(t=fr(t,e,3),g(n,function(n,r,e){i[++u]={a:t(n,r,e),b:u,c:n}}),o=i.length,i.sort(r);o--;)i[o]=i[o].c;return i},o.tap=function(n,r){return r(n),n},o.throttle=function(n,r,t){var e=true,u=true; +if(!rr(n))throw new TypeError(mr);return false===t?e=false:tr(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),K(n,r,{leading:e,maxWait:r,trailing:u})},o.times=function(n,r,t){n=0>n?0:n>>>0,r=l(r,t,1),t=-1;for(var e=Array(n);++tt?it(e+t,0):ft(t||0,e-1))+1);e--;)if(n[e]===r)return e;return-1},o.noConflict=function(){return $r._=Gr,this },o.now=dt,o.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Qr(ct()*(r-n+1))},o.reduce=P,o.reduceRight=V,o.result=function(n,r){if(null!=n){var t=n[r];return rr(t)?n[r]():t}},o.size=function(n){var r=n?n.length:0;return typeof r=="number"&&-1