Ensure _.merge doesn't iterate over a passed callback arg.

Former-commit-id: 2ed55922c2f5b4e47ac7e9763f3d76b4bec142da
This commit is contained in:
John-David Dalton
2013-02-06 00:38:28 -08:00
parent 5787436177
commit d2ba0d4e7a
5 changed files with 83 additions and 79 deletions

2
lodash.min.js vendored
View File

@@ -11,7 +11,7 @@ var r=n.constructor;return!j(r)&&(!Zt||!p(n))||r instanceof r?rt?(cr(n,function(
switch(u=rr[l],l){case Mt:case Pt:return c?a:new u(+a);case zt:case Lt:return c?a:new u(a);case Kt:return c?a:u(a.source,vt.exec(a))}for(o||(o=[]),i||(i=[]),l=o.length;l--;)if(o[l]==n)return i[l];return c||(a=s?u(a.length):{},s&&(At.call(n,"index")&&(a.index=n.index),At.call(n,"input")&&(a.input=n.input))),o.push(n),i.push(a),(s?$:lr)(c?a:n,function(n,u){a[u]=_(n,r,e,t,o,i)}),a}function d(n){var t=[];return cr(n,function(n,r){j(n)&&t.push(r)}),t.sort()}function b(n){for(var t=-1,r=sr(n),e=r.length,u={};++t<e;){var o=r[t];
u[n[o]]=o}return u}function w(n,r,e,u,o,i,a){if(e){e=typeof u=="undefined"?e:f(e,u,2);var c=e(n,r);if(typeof c!="undefined")return!!c}if(n===r)return 0!==n||1/n==1/r;u=typeof n;var l=typeof r;if(n===n&&(!n||"function"!=u&&"object"!=u)&&(!r||"function"!=l&&"object"!=l))return X;if(n==W||r==W)return n===r;if(l=Et.call(n),u=Et.call(r),l==Tt&&(l=Ct),u==Tt&&(u=Ct),l!=u)return X;switch(l){case Mt:case Pt:return+n==+r;case zt:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case Kt:case Lt:return n==r+""}if(u=l==Bt,!u){if(n.__wrapped__||r.__wrapped__)return w(n.__wrapped__||n,r.__wrapped__||r,e,t,o,i,a);
if(l!=Ct||Zt&&(p(n)||p(r)))return X;var l=!Wt&&h(n)?Object:n.constructor,s=!Wt&&h(r)?Object:r.constructor;if(l!=s&&(!j(l)||!(l instanceof l&&j(s)&&s instanceof s)))return X}for(i||(i=[]),a||(a=[]),l=i.length;l--;)if(i[l]==n)return a[l]==r;var v=0,c=Q;if(i.push(n),a.push(r),u){if(v=r.length,c=o==it||v==n.length)for(;v--&&(c=w(n[v],r[v],e,t,o,i,a)););return c}return cr(r,function(r,u,f){return At.call(f,u)?(v++,c=At.call(n,u)&&w(n[u],r,e,t,o,i,a)):void 0}),c&&o!=it&&cr(n,function(n,t,r){return At.call(r,t)?c=-1<--v:void 0
}),c}function j(n){return typeof n=="function"}function x(n){return n?er[typeof n]:X}function O(n){return typeof n=="number"||Et.call(n)==zt}function A(n){return typeof n=="string"||Et.call(n)==Lt}function S(n,t,r){var e=arguments,u=0,o=2;if(!x(n))return n;if(r===it)var i=e[3],a=e[4],c=e[5];else a=[],c=[],typeof r!="number"&&(o=e.length,i=typeof(i=e[o-2])=="function"?f(i,e[--o],2):typeof(i=e[o-1])=="function"&&i);for(;++u<o;)(pr(e[u])?$:lr)(e[u],function(t,r){var e,u,o=t,f=n[r];if(t&&((u=pr(t))||mr(t))){for(o=a.length;o--;)if(e=a[o]==t){f=c[o];
}),c}function j(n){return typeof n=="function"}function x(n){return n?er[typeof n]:X}function O(n){return typeof n=="number"||Et.call(n)==zt}function A(n){return typeof n=="string"||Et.call(n)==Lt}function S(n,t,r){var e=arguments,u=0,o=2;if(!x(n))return n;if(r===it)var i=e[3],a=e[4],c=e[5];else a=[],c=[],typeof r!="number"&&(o=e.length,"function"==typeof e[o-2]?i=f(e[--o-1],e[o--],2):"function"==typeof e[o-1]&&(i=e[--o]));for(;++u<o;)(pr(e[u])?$:lr)(e[u],function(t,r){var e,u,o=t,f=n[r];if(t&&((u=pr(t))||mr(t))){for(o=a.length;o--;)if(e=a[o]==t){f=c[o];
break}e||(f=u?pr(f)?f:[]:mr(f)?f:{},i&&(o=i(f,t),typeof o!="undefined"&&(f=o)),a.push(t),c.push(f),i||(f=S(f,t,it,i,a,c)))}else i&&(o=i(f,t),typeof o=="undefined"&&(o=t)),typeof o!="undefined"&&(f=o);n[r]=f});return n}function E(n){for(var t=-1,r=sr(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];return u}function k(n,t,r){var e=-1,u=n?n.length:0,o=X;return r=(0>r?Ft(0,u+r):r)||0,typeof u=="number"?o=-1<(A(n)?n.indexOf(t,r):C(n,t,r)):ar(n,function(n){return++e<r?void 0:!(o=n===t)}),o}function q(n,t,r){var e=Q;
if(t=f(t,r),pr(n)){r=-1;for(var u=n.length;++r<u&&(e=!!t(n[r],r,n)););}else ar(n,function(n,r,u){return e=!!t(n,r,u)});return e}function N(n,t,r){var e=[];if(t=f(t,r),pr(n)){r=-1;for(var u=n.length;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}}else ar(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function R(n,t,r){var e;return t=f(t,r),$(n,function(n,r,u){return t(n,r,u)?(e=n,X):void 0}),e}function $(n,t,r){if(t&&typeof r=="undefined"&&pr(n)){r=-1;for(var e=n.length;++r<e&&t(n[r],r,n)!==X;);}else ar(n,t,r);
return n}function F(n,t,r){var e=-1,u=n?n.length:0,o=Array(typeof u=="number"?u:0);if(t=f(t,r),pr(n))for(;++e<u;)o[e]=t(n[e],e,n);else ar(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function D(n,t,r){var e=-1/0,o=e;if(!t&&pr(n)){r=-1;for(var i=n.length;++r<i;){var a=n[r];a>o&&(o=a)}}else t=!t&&A(n)?u:f(t,r),ar(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function I(n,t){return F(n,t+"")}function T(n,t,r,e){var u=3>arguments.length;if(t=f(t,e,4),pr(n)){var o=-1,i=n.length;for(u&&(r=n[++o]);++o<i;)r=t(r,n[o],o,n)