From 98a09532eb341c617f3c16b367a6a24e872375f6 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 14 Oct 2012 01:52:48 -0700 Subject: [PATCH] Avoid argument issues in `_.merge`. Former-commit-id: 2f8a798654e903454050211886b19b3b581a3c88 --- lodash.js | 6 +++-- lodash.min.js | 67 ++++++++++++++++++++++++++------------------------- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/lodash.js b/lodash.js index a45037c12..5e06a74d0 100644 --- a/lodash.js +++ b/lodash.js @@ -1669,10 +1669,12 @@ * _.merge(stooges, ages); * // => [{ 'name': 'moe', 'age': 40 }, { 'name': 'larry', 'age': 50 }] */ - function merge(object, source, indicator, stackA, stackB) { + function merge(object, source, indicator) { var args = arguments, index = 0, - length = 2; + length = 2, + stackA = args[3], + stackB = args[4]; if (indicator != compareAscending) { stackA = []; diff --git a/lodash.min.js b/lodash.min.js index c84a53061..6d5e0f978 100644 --- a/lodash.min.js +++ b/lodash.min.js @@ -2,38 +2,39 @@ Lo-Dash 0.8.2 lodash.com/license Underscore.js 1.4.2 underscorejs.org/LICENSE */ -;(function(e,t){function s(e){if(e&&e.__wrapped__)return e;if(!(this instanceof s))return new s(e);this.__wrapped__=e}function o(e,t,n){t||(t=0);var r=e.length,i=r-t>=(n||U),s=i?{}:e;if(i)for(n=t-1;++nn||e===t)return 1;if(e=(n||W),s=i?{}:e;if(i)for(n=t-1;++nn||e===t)return 1;if(es;s++)i+="h='"+e.o[s]+"';if(","constructor"==e.o[s]&&(i+="!(f&&f.prototype===i)&&"),i+="g.call(i,h)){u=i[h];"+ -e.l.h+"}"}if(e.c||e.m)i+="}"}return i+=e.e+";return p",Function("v,e,forIn,g,x,y,z,k,o,r,t","return function("+t+"){"+i+"}")(H,f,sn,ot,v,m,Ut,dt,at,Nt,lt)}function c(e){return"\\"+zt[e]}function h(e){return en[e]}function p(){}function d(e){return tn[e]}function v(e){return lt.call(e)==yt}function m(e){return"function"==typeof e}function g(e){var t=i;if(!e||"object"!=typeof e||v(e))return t;var n=e.constructor;return(!Ht||"function"==typeof e.toString||"string"!=typeof (e+""))&&(!m(n)||n instanceof -n)?Ot?(sn(e,function(e,n,r){return t=!ot.call(r,n),i}),t===i):(sn(e,function(e,n){t=n}),t===i||ot.call(e,t)):t}function y(e,t,n,s,o){if(e==r)return e;n&&(t=i);if(n=Ut[typeof e]){var u=lt.call(e);if(!Rt[u]||_t&&v(e))return e;var a=u==bt,n=a||(u==xt?Yt(e):n)}if(!n||!t)return n?a?ft.call(e):rn({},e):e;n=e.constructor;switch(u){case wt:case Et:return new n(+e);case St:case Nt:return new n(e);case Tt:return n(e.source,K.exec(e))}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u];var f=a?n( -e.length):{};return s.push(e),o.push(f),(a?ln:on)(e,function(e,n){f[n]=y(e,t,r,s,o)}),f}function b(e){var t=[];return sn(e,function(e,n){m(e)&&t.push(n)}),t.sort()}function w(e,t,s,o){if(e==r||t==r)return e===t;if(e===t)return 0!==e||1/e==1/t;if(Ut[typeof e]||Ut[typeof t])e=e.__wrapped__||e,t=t.__wrapped__||t;var u=lt.call(e);if(u!=lt.call(t))return i;switch(u){case wt:case Et:return+e==+t;case St:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case Tt:case Nt:return e==t+""}var a=qt[u];if(_t&&!a&&(a=v(e) -)&&!v(t)||!a&&(u!=xt||Ht&&("function"!=typeof e.toString&&"string"==typeof (e+"")||"function"!=typeof t.toString&&"string"==typeof (t+""))))return i;s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u]==t;var u=-1,f=n,l=0;s.push(e),o.push(t);if(a){l=e.length;if(f=l==t.length)for(;l--&&(f=w(e[l],t[l],s,o)););return f}a=e.constructor,f=t.constructor;if(a!=f&&(!m(a)||!(a instanceof a&&m(f)&&f instanceof f)))return i;for(var c in e)if(ot.call(e,c)&&(l++,!ot.call(t,c)||!w(e[c],t[c],s,o)))return i -;for(c in t)if(ot.call(t,c)&&!(l--))return i;if(Lt)for(;7>++u;)if(c=tt[u],ot.call(e,c)&&(!ot.call(t,c)||!w(e[c],t[c],s,o)))return i;return n}function E(e,t,n,s,o){var a=arguments,f=0,l=2;n!=u&&(s=[],o=[],l=a.length);for(;++fr&&(r=n,o=e)});else for(;++io&&(o=e[i]);return o}function C(e,t){var n=[];return ln(e,function(e){n.push(e[t])}),n}function k(e,t,n,r){var s=3>arguments.length, -t=f(t,r);return ln(e,function(e,r,o){n=s?(s=i,e):t(n,e,r,o)}),n}function L(e,t,n,r){var s=e,o=e?e.length:0,u=3>arguments.length;if(o!==+o)var a=un(e),o=a.length;else Pt&<.call(e)==Nt&&(s=e.split(""));return ln(e,function(e,f,l){f=a?a[--o]:--o,n=u?(u=i,s[f]):t.call(r,n,s[f],f,l)}),n}function A(e,t,n){if(e)return t==r||n?e[0]:ft.call(e,0,t)}function O(e,t){for(var n=-1,r=e?e.length:0,i=[];++nn?vt(0,i+n):n||0)-1;else if(n)return r=D(e,t),e[r]===t?r:-1;for(;++r>>1,n(e[r])>>1,e[r]M(a,r))a.push(r),u.push(e[s]);return u -}function H(e,t){return jt||ct&&2|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,X=/&(?:amp|lt|gt|quot|#x27);/g,V=/\b__p\+='';/g,$=/\b(__p\+=)''\+/g,J=/(__e\(.*?\)|\b__t\))\+'';/g,K=/\w*$/,Q=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,G=RegExp("^"+(q.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Y=/($^)/,Z=/[&<>"']/g,et=/['\n\r\t\u2028\u2029\\]/g,tt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf" -.split(" "),nt=Math.ceil,rt=I.concat,it=Math.floor,st=G.test(st=Object.getPrototypeOf)&&st,ot=q.hasOwnProperty,ut=I.push,at=q.propertyIsEnumerable,ft=I.slice,lt=q.toString,ct=G.test(ct=ft.bind)&&ct,ht=G.test(ht=Array.isArray)&&ht,pt=e.isFinite,dt=G.test(dt=Object.keys)&&dt,vt=Math.max,mt=Math.min,gt=Math.random,yt="[object Arguments]",bt="[object Array]",wt="[object Boolean]",Et="[object Date]",St="[object Number]",xt="[object Object]",Tt="[object RegExp]",Nt="[object String]",Ct=e.clearTimeout,kt= -e.setTimeout,Lt,At,Ot,Mt=n;(function(){function e(){this.x=1}var t={0:1,length:1},n=[];e.prototype={valueOf:1,y:1};for(var r in new e)n.push(r);for(r in arguments)Mt=!r;Lt=4>(n+"").length,Ot="x"!=n[0],At=(n.splice.call(t,0,1),t[0])})(1);var _t=!v(arguments),Dt="x"!=ft.call("x")[0],Pt="xx"!="x"[0]+Object("x")[0];try{var Ht=("[object Object]",lt.call(e.document||0)==xt)}catch(Bt){}var jt=ct&&/\n|Opera/.test(ct+lt.call(e.opera)),Ft=dt&&/^.+$|true/.test(dt+!!e.attachEvent),It=!jt,qt={};qt[wt]=qt[Et]=qt["[object Function]" -]=qt[St]=qt[xt]=qt[Tt]=i,qt[yt]=qt[bt]=qt[Nt]=n;var Rt={};Rt[yt]=Rt["[object Function]"]=i,Rt[bt]=Rt[wt]=Rt[Et]=Rt[St]=Rt[xt]=Rt[Tt]=Rt[Nt]=n;var Ut={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i,unknown:n},zt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};s.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var Wt={a:"d,c,s",p:"c=e(c,s)",h:"if(c(u,h,d)===false)return p"},Xt={i:"true" -,h:"if(!c(u,h,d))return!p"},Vt={q:i,r:i,a:"l",p:"for(var a=1,b=arguments.length;a":">",'"':""","'":"'"},tn=Qt(en),nn=l(Vt,{h:"if(p[h]==null)"+Vt.h}),rn=l(Vt),sn=l(Wt,Jt,Kt,{q:i}),on=l(Wt,Jt,Kt),un=dt?function(e){var t=typeof e;return"function"==t&&at.call(e,"prototype")?Zt(e):e&&Ut[t]?dt(e):[]}:Zt,an=l(Wt,Xt),fn=l(Wt,$t),ln=l(Wt,Jt),cn=l(Wt,{i:"d||[]",d:{b:"p=Array(j)",k:"p="+(Ft?"Array(j)":"[]")},h:{b:"p[h]=c(u,h,d)",k:"p"+(Ft?"[m]=":".push")+"(c(u,h,d))"}} -),hn=l(Wt,$t,{h:"!"+$t.h}),pn=l(Wt,Xt,{i:"false",h:Xt.h.replace("!","")}),dn=l({q:i,r:i,a:"l",p:"var w=arguments,h=0,j=w.length;if(j>1){while(++he?t():function(){if(1>--e)return t.apply(this,arguments)}},s.bind=H,s.bindAll=dn,s.chain=function(e){return e=new s(e),e.__chain__=n,e},s.clone=y,s.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++tM(s,u)){for(var a=1;an?vt(0,r+n):mt(n,r-1))+1); -r--;)if(e[r]===t)return r;return-1},s.lateBind=function(e,t){return a(t,e,ft.call(arguments,2))},s.map=cn,s.max=N,s.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return ot.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},s.merge=E,s.min=function(e,t,n){var r=Infinity,i=-1,s=e?e.length:0,o=r;if(t||s!==+s)t=f(t,n),ln(e,function(e,n,i){n=t(e,n,i),nM(s,n,1))i[n]=e}),i},s.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},s.pairs=function(e){var t=[];return on(e,function(e,n){t.push([n,e])}),t},s.partial=function(e){return a(e,ft.call(arguments -,1))},s.pick=function(e,t,n){var r={};if("function"!=typeof t)for(var i=0,s=rt.apply(I,arguments),o=s.length;++i=f?(Ct(u),a=r,s=e.apply(o,i)):u||(u=kt(n,f)),s}},s.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++rM(r,i)&&r.push(i)}return r},s.uniq=P,s.uniqueId= -function(e){var t=R++;return e?e+t:t},s.values=S,s.where=function(e,t){var r=[];sn(t,function(e,t){r.push(t)});var i=r.length,s=[];return ln(e,function(e){for(var o=n,u=0;u++u;)if(c=rt[u],at.call(e,c)&&(!at.call(t,c)||!S(e[c],t[c],s,o)))return i;return n}function x(e,t,n){var s=arguments,o=0,a=2,f=s[3],l=s[4];n!=u&&(f=[],l=[],a=s.length);for(;++or&&(r=n,o=e)});else for(;++io&&(o=e[i]);return o}function L(e,t){var n=[];return ln(e,function(e){n.push(e[t])}),n}function A(e,t,n,r){var s=3>arguments.length,t=f(t,r);return ln(e,function(e,r,o){n=s?(s=i,e):t(n,e,r,o)}),n}function O(e,t,n,r){var s=e,o=e?e.length:0,u=3>arguments.length;if(o!==+o)var a=un(e),o=a.length;else Bt&&ht.call(e)==kt&&(s=e.split(""));return ln(e,function(e,f,l){f=a?a[--o]:--o,n=u?(u=i,s[f]):t.call(r,n,s[f],f,l)}),n}function M(e,t,n){if(e)return t==r||n?e[0]:ct.call(e,0,t)}function _(e,t){for(var n=-1 +,r=e?e.length:0,i=[];++nn?gt(0,i+n):n||0)-1;else if(n)return r=H(e,t),e[r]===t?r:-1;for(;++r>>1,n(e[r])>>1,e[r]D(a,r))a.push(r),u.push(e[s]);return u}function j(e,t){return It||pt&&2|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,$=/&(?:amp|lt|gt|quot|#x27);/g,J=/\b__p\+='';/g,K=/\b(__p\+=)''\+/g,Q=/(__e\(.*?\)|\b__t\))\+'';/g,G=/\w*$/,Y=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,Z=RegExp("^"+(U.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?" +)+"$"),et=/($^)/,tt=/[&<>"']/g,nt=/['\n\r\t\u2028\u2029\\]/g,rt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),it=Math.ceil,st=R.concat,ot=Math.floor,ut=Z.test(ut=Object.getPrototypeOf)&&ut,at=U.hasOwnProperty,ft=R.push,lt=U.propertyIsEnumerable,ct=R.slice,ht=U.toString,pt=Z.test(pt=ct.bind)&&pt,dt=Z.test(dt=Array.isArray)&&dt,vt=e.isFinite,mt=Z.test(mt=Object.keys)&&mt,gt=Math.max,yt=Math.min,bt=Math.random,wt="[object Arguments]",Et="[object Array]" +,St="[object Boolean]",xt="[object Date]",Tt="[object Number]",Nt="[object Object]",Ct="[object RegExp]",kt="[object String]",Lt=e.clearTimeout,At=e.setTimeout,Ot,Mt,_t,Dt=n;(function(){function e(){this.x=1}var t={0:1,length:1},n=[];e.prototype={valueOf:1,y:1};for(var r in new e)n.push(r);for(r in arguments)Dt=!r;Ot=4>(n+"").length,_t="x"!=n[0],Mt=(n.splice.call(t,0,1),t[0])})(1);var Pt=!v(arguments),Ht="x"!=ct.call("x")[0],Bt="xx"!="x"[0]+Object("x")[0];try{var jt=("[object Object]",ht.call(e.document||0 +)==Nt)}catch(Ft){}var It=pt&&/\n|Opera/.test(pt+ht.call(e.opera)),qt=mt&&/^.+$|true/.test(mt+!!e.attachEvent),Rt=!It,Ut={};Ut[St]=Ut[xt]=Ut["[object Function]"]=Ut[Tt]=Ut[Nt]=Ut[Ct]=i,Ut[wt]=Ut[Et]=Ut[kt]=n;var zt={};zt[wt]=zt["[object Function]"]=i,zt[Et]=zt[St]=zt[xt]=zt[Tt]=zt[Nt]=zt[Ct]=zt[kt]=n;var Wt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i,unknown:n},Xt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};s.templateSettings={escape:/<%-([\s\S]+?)%>/g +,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var Vt={a:"d,c,s",p:"c=e(c,s)",h:"if(c(u,h,d)===false)return p"},$t={i:"true",h:"if(!c(u,h,d))return!p"},Jt={q:i,r:i,a:"l",p:"for(var a=1,b=arguments.length;a":">",'"':""","'":"'"},rn=E(nn),sn=l(Jt,{h:"if(p[h]==null)"+Jt.h}),on=l(Jt),un=mt?function(e){var t=typeof e;return"function"==t&<.call(e,"prototype")?y(e):e&&Wt[t]?mt(e):[]}:y,an=l(Vt,$t),fn=l(Vt,Kt),ln=l(Vt,Qt),cn=l(Vt,{i:"d||[]",d:{b:"p=Array(j)",k:"p="+(qt?"Array(j)" +:"[]")},h:{b:"p[h]=c(u,h,d)",k:"p"+(qt?"[m]=":".push")+"(c(u,h,d))"}}),hn=l(Vt,Kt,{h:"!"+Kt.h}),pn=l(Vt,$t,{i:"false",h:$t.h.replace("!","")}),dn=l({q:i,r:i,a:"l",p:"var w=arguments,h=0,j=w.length;if(j>1){while(++he?t():function(){if(1>--e)return t.apply(this,arguments)}},s.bind=j,s.bindAll=dn,s.chain=function(e){return e=new s(e),e.__chain__=n,e},s.clone=b,s.compact=function(e){for(var t=-1 +,n=e?e.length:0,r=[];++tD(s,u)){for(var a=1;an?gt(0,r+n):yt(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},s.lateBind=function(e,t){return a(t,e,ct.call(arguments,2))},s.map=cn,s.max=k,s.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return at.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},s.merge=x,s.min=function(e,t,n){var r=Infinity,i=-1,s=e?e.length:0,o=r;if(t||s!==+s)t=f(t,n),ln(e,function(e,n,i){n=t(e,n,i),nD(s,n,1))i[n]=e}),i},s.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},s.pairs=function(e){var t=[];return Zt(e,function( +e,n){t.push([n,e])}),t},s.partial=function(e){return a(e,ct.call(arguments,1))},s.pick=function(e,t,n){var r={};if("function"!=typeof t)for(var i=0,s=st.apply(R,arguments),o=s.length;++i=f?(Lt(u),a=r,s=e.apply(o,i)):u||(u=At(n,f)),s}},s.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++rD(r,i)&&r.push(i)}return r},s.uniq=B,s.uniqueId=function(e){var t=z++;return e?e+t:t},s.values=T,s.where=function(e,t){var r=[];Yt(t,function(e,t){r.push(t)});var i=r.length,s=[];return ln(e,function(e){for(var o=n,u=0;u