From 58ce97c0b43ff3a4bb880d0ccf982bd8ad9322df Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Mon, 20 Jan 2014 11:33:31 -0800 Subject: [PATCH] Ensure `_.flatten` works with `_.map` in underscore builds. --- dist/lodash.underscore.js | 6 ++++- dist/lodash.underscore.min.js | 45 ++++++++++++++++++----------------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index a8762dd31..b2b90bf1e 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -1179,7 +1179,11 @@ * _.flatten(characters, 'pets'); * // => ['hoppy', 'baby puss', 'dino'] */ - function flatten(array, isShallow) { + function flatten(array, isShallow, guard) { + var type = typeof isShallow; + if ((type == 'number' || type == 'string') && guard && guard[isShallow] === array) { + isShallow = false; + } return baseFlatten(array, isShallow); } diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index db4dea59b..6fa1588d2 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -5,35 +5,36 @@ */ ;(function(){function n(n){var r=[];if(!L(n))return r;for(var t in n)Pr.call(n,t)&&r.push(t);return r}function r(n,r){if(L(n))for(var t in n)if(r(n[t],t,n)===ir)break}function t(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++te||typeof t=="undefined"){t=1;break n}if(te(r,i)&&o.push(i)}return o}function h(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(;++te(r,i)&&o.push(i)}return o}function v(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(;++tu(f,c))&&(t&&f.push(c),i.push(a))}return i}function _(n){return function(r,t,e){var u={};t=Z(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++eu(f,c))&&(t&&f.push(c),i.push(a))}return i}function _(n){return function(r,t,e){var u={};t=Z(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++ee?Xr(0,u+e):e||0;else if(e)return e=O(n,r),u&&n[e]===r?e:-1; return t(n,r,e)}function A(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=Z(r,t,3);++ur?r=Xr(u+r,0):r>u&&(r=u),typeof t=="undefined"?t=u:0>t?t=Xr(u+t,0):t>u&&(t=u),u=t-r||0,t=Array(u);++e>>1,t(n[e])u&&(u=t);else r=Z(r,t,3),h(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function M(n,r,t,e){var u=3>arguments.length; -r=Z(r,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(t=n[++o]);++oarguments.length;return r=Z(r,e,4),R(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function W(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return h(n,function(n){var t;t=++r,t=0+zr(nt()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function z(n,r,t){var e;r=Z(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t=y;m?(i&&(i=clearTimeout(i)),s=a,f=n.apply(c,o)):i||(i=setTimeout(e,y))}return m&&l?l=clearTimeout(l):l||r===g||(l=setTimeout(u,r)),t&&(m=true,f=n.apply(c,o)),!m||l||i||(o=c=null),f}}function V(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++uu&&(u=t);else r=Z(r,t,3),v(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function M(n,r,t,e){var u=3>arguments.length; +r=Z(r,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(t=n[++o]);++oarguments.length;return r=Z(r,e,4),R(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function W(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return v(n,function(n){var t;t=++r,t=0+zr(nt()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function z(n,r,t){var e;r=Z(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t=y;m?(i&&(i=clearTimeout(i)),s=a,f=n.apply(c,o)):i||(i=setTimeout(e,y))}return m&&l?l=clearTimeout(l):l||r===g||(l=setTimeout(u,r)),t&&(m=true,f=n.apply(c,o)),!m||l||i||(o=c=null),f}}function V(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u"']/g,vr=/($^)/,yr=/['\n\r\t\u2028\u2029\\]/g,mr="[object Arguments]",_r="[object Array]",br="[object Boolean]",dr="[object Date]",wr="[object Number]",jr="[object Object]",xr="[object RegExp]",Tr="[object String]",Ar={"&":"&","<":"<",">":">",'"':""","'":"'"},Er={"&":"&","<":"<",">":">",""":'"',"'":"'"},Or={"function":true,object:true},Sr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},kr=Or[typeof window]&&window||this,Nr=Or[typeof exports]&&exports&&!exports.nodeType&&exports,qr=Or[typeof global]&&global; +f.prototype[u]=function(){var r=f[u]=n[u];return function(){var n=[this.__wrapped__];return Ur.apply(n,arguments),n=r.apply(f,n),this.__chain__?new a(n,true):n}}()}}function er(n){return function(r){return r[n]}}var ur,or=0,ir="__lodash_break_1335248838000__",fr=1,ar=2,cr=4,lr=8,pr=16,sr=32,gr=/&(?:amp|lt|gt|quot|#x27);/g,vr=/[&<>"']/g,hr=/($^)/,yr=/['\n\r\t\u2028\u2029\\]/g,mr="[object Arguments]",_r="[object Array]",br="[object Boolean]",dr="[object Date]",wr="[object Number]",jr="[object Object]",xr="[object RegExp]",Tr="[object String]",Ar={"&":"&","<":"<",">":">",'"':""","'":"'"},Er={"&":"&","<":"<",">":">",""":'"',"'":"'"},Or={"function":true,object:true},Sr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},kr=Or[typeof window]&&window||this,Nr=Or[typeof exports]&&exports&&!exports.nodeType&&exports,qr=Or[typeof global]&&global; !qr||qr.global!==qr&&qr.window!==qr||(kr=qr);var Fr=Or[typeof module]&&module&&!module.nodeType&&module,Br=Fr&&Fr.exports===Nr&&Nr,Rr=Array.prototype,$r=Object.prototype,Ir=kr._,Mr=$r.toString,Dr=RegExp("^"+(Mr+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Wr=Math.ceil,zr=Math.floor,Cr=Function.prototype.toString,Pr=$r.hasOwnProperty,Ur=Rr.push,Vr=$r.propertyIsEnumerable,Gr=Rr.splice,Hr=w(Hr=Object.create)&&Hr,Jr=w(Jr=Array.isArray)&&Jr,Kr=kr.isFinite,Lr=kr.isNaN,Qr=w(Qr=Object.keys)&&Qr,Xr=Math.max,Yr=Math.min,Zr=w(Zr=Date.now)&&Zr,nt=Math.random; a.prototype=f.prototype;var rt={};!function(){var n={0:1,length:1};rt.spliceObjects=(Gr.call(n,0,1),!n[0])}(1),f.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Hr||(l=function(){function n(){}return function(r){if(L(r)){n.prototype=r;var t=new n;n.prototype=null}return t||kr.Object()}}()),j(arguments)||(j=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Pr.call(n,"callee")&&!Vr.call(n,"callee")||false});var tt=_(function(n,r,t){Pr.call(n,t)?n[t]++:n[t]=1 -}),et=_(function(n,r,t){Pr.call(n,t)?n[t].push(r):n[t]=[r]}),ut=_(function(n,r,t){n[t]=r}),ot=$,it=Jr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Mr.call(n)==_r||false};K(/x/)&&(K=function(n){return typeof n=="function"&&"[object Function]"==Mr.call(n)});var ft=Qr?function(n){return L(n)?Qr(n):[]}:n,at=Zr||function(){return(new Date).getTime()};f.after=function(n,r){if(!K(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},f.bind=P,f.bindAll=function(n){for(var r=1--n?r.apply(this,arguments):void 0}},f.bind=P,f.bindAll=function(n){for(var r=1i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},f.invert=function(n){for(var r=-1,t=ft(n),e=t.length,u={};++rr?0:r);++nt?Xr(0,e+t):Yr(t,e-1))+1);e--;)if(n[e]===r)return e; -return-1},f.mixin=tr,f.noConflict=function(){return kr._=Ir,this},f.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+zr(nt()*(r-n+1))},f.reduce=M,f.reduceRight=D,f.result=function(n,r){if(null!=n){var t=n[r];return K(t)?n[r]():t}},f.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:ft(n).length},f.some=z,f.sortedIndex=O,f.template=function(n,r,t){var e=f,u=e.templateSettings;n=(n||"")+"",t=G({},t,u);var i=0,a="__p+='",u=t.variable;n.replace(RegExp((t.escape||vr).source+"|"+(t.interpolate||vr).source+"|"+(t.evaluate||vr).source+"|$","g"),function(r,t,e,u,f){return a+=n.slice(i,f).replace(yr,o),t&&(a+="'+_.escape("+t+")+'"),u&&(a+="';"+u+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),i=f+r.length,r +},1)},f.delay=function(n,r){if(!K(n))throw new TypeError;var t=E(arguments,2);return setTimeout(function(){n.apply(ur,t)},r)},f.difference=function(n){return g(n,h(arguments,true,true,1))},f.filter=q,f.flatten=function(n,r,t){var e=typeof r;return"number"!=e&&"string"!=e||!t||t[r]!==n||(r=false),h(n,r)},f.forEach=B,f.functions=H,f.groupBy=et,f.indexBy=ut,f.initial=function(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=u;for(r=Z(r,t,3);o--&&r(n[o],o,n);)e++}else e=null==r||t?1:r||e; +return e=u-e,E(n,0,0i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},f.invert=function(n){for(var r=-1,t=ft(n),e=t.length,u={};++rr?0:r);++nt?Xr(0,e+t):Yr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},f.mixin=tr,f.noConflict=function(){return kr._=Ir,this},f.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+zr(nt()*(r-n+1))},f.reduce=M,f.reduceRight=D,f.result=function(n,r){if(null!=n){var t=n[r]; +return K(t)?n[r]():t}},f.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:ft(n).length},f.some=z,f.sortedIndex=O,f.template=function(n,r,t){var e=f,u=e.templateSettings;n=(n||"")+"",t=G({},t,u);var i=0,a="__p+='",u=t.variable;n.replace(RegExp((t.escape||hr).source+"|"+(t.interpolate||hr).source+"|"+(t.evaluate||hr).source+"|$","g"),function(r,t,e,u,f){return a+=n.slice(i,f).replace(yr,o),t&&(a+="'+_.escape("+t+")+'"),u&&(a+="';"+u+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),i=f+r.length,r }),a+="';",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var c=Function("_","return "+a)(e)}catch(l){throw l.source=a,l}return r?c(r):(c.source=a,c)},f.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(gr,i))},f.uniqueId=function(n){var r=++or+"";return n?n+r:r},f.all=N,f.any=z,f.detect=F,f.findWhere=function(n,r){return C(n,r,true)},f.foldl=M,f.foldr=D,f.include=k,f.inject=M,f.first=x,f.last=function(n,r,t){var e=0,u=n?n.length:0; -if(typeof r!="number"&&null!=r){var o=u;for(r=Z(r,t,3);o--&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[u-1]:ur;return e=u-e,E(n,0