Ensure _.merge passes the right arguments to the callback when comparing objects. [closes #231]

Former-commit-id: 7c1ff861f753d3a2bdf62a753c94df2052d03d78
This commit is contained in:
John-David Dalton
2013-04-08 21:01:57 -07:00
parent 4a11a3559d
commit ad0c287053
7 changed files with 115 additions and 91 deletions

2
dist/lodash.min.js vendored
View File

@@ -11,7 +11,7 @@ if(typeof t=="function"&&(u=r,r=t,t=!1),typeof r=="function"){if(r=typeof u=="un
}),f}function L(n){var t=[];return ke(n,function(n,e){X(n)&&t.push(e)}),t.sort()}function Q(n){for(var t=-1,e=ye(n),r=e.length,u={};++t<r;){var a=e[t];u[n[a]]=a}return u}function W(n,t,e,r,u,i){var f=e===o;if(typeof e=="function"&&!f){e=a.createCallback(e,r,2);var c=e(n,t);if(typeof c!="undefined")return!!c}if(n===t)return 0!==n||1/n==1/t;var l=typeof n,p=typeof t;if(n===n&&(!n||"function"!=l&&"object"!=l)&&(!t||"function"!=p&&"object"!=p))return!1;if(null==n||null==t)return n===t;if(p=Wt.call(n),l=Wt.call(t),p==w&&(p=N),l==w&&(l=N),p!=l)return!1;
switch(p){case C:case x:return+n==+t;case O:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case E:case I:return n==Ft(t)}if(l=p==j,!l){if(Ht.call(n,"__wrapped__")||Ht.call(t,"__wrapped__"))return W(n.__wrapped__||n,t.__wrapped__||t,e,r,u,i);if(p!=N)return!1;var p=n.constructor,s=t.constructor;if(p!=s&&(!X(p)||!(p instanceof p&&X(s)&&s instanceof s)))return!1}for(u||(u=[]),i||(i=[]),p=u.length;p--;)if(u[p]==n)return i[p]==t;var v=0,c=!0;if(u.push(n),i.push(t),l){if(p=n.length,v=t.length,c=v==n.length,!c&&!f)return c;
for(;v--;)if(l=p,s=t[v],f)for(;l--&&!(c=W(n[l],s,e,r,u,i)););else if(!(c=W(n[v],s,e,r,u,i)))break;return c}return ke(t,function(t,a,o){return Ht.call(o,a)?(v++,c=Ht.call(n,a)&&W(n[a],t,e,r,u,i)):void 0}),c&&!f&&ke(n,function(n,t,e){return Ht.call(e,t)?c=-1<--v:void 0}),c}function X(n){return typeof n=="function"}function Y(n){return n?A[typeof n]:!1}function Z(n){return typeof n=="number"||Wt.call(n)==O}function nt(n){return typeof n=="string"||Wt.call(n)==I}function tt(n,t,e){var r=arguments,u=0,i=2;
if(!Y(n))return n;if(e===o)var f=r[3],c=r[4],l=r[5];else c=[],l=[],typeof e!="number"&&(i=r.length),3<i&&"function"==typeof r[i-2]?f=a.createCallback(r[--i-1],r[i--],2):2<i&&"function"==typeof r[i-1]&&(f=r[--i]);for(;++u<i;)(ge(r[u])?ot:we)(r[u],function(t,e){var r,u,a=t,i=n[e];if(t&&((u=ge(t))||je(t))){for(a=c.length;a--;)if(r=c[a]==t){i=l[a];break}if(!r){var p,i=u?ge(i)?i:[]:je(i)?i:{};f&&(a=f(i,t),p=typeof a!="undefined")&&(i=a),c.push(t),l.push(i),p||(i=tt(i,t,o,f,c,l))}}else f&&(a=f(i,t),typeof a=="undefined"&&(a=t)),typeof a!="undefined"&&(i=a);
if(!Y(n))return n;if(e===o)var f=r[3],c=r[4],l=r[5];else c=[],l=[],typeof e!="number"&&(i=r.length),3<i&&"function"==typeof r[i-2]?f=a.createCallback(r[--i-1],r[i--],2):2<i&&"function"==typeof r[i-1]&&(f=r[--i]);for(;++u<i;)(ge(r[u])?ot:we)(r[u],function(t,e){var r,u,a=t,i=n[e];if(t&&((u=ge(t))||je(t))){for(a=c.length;a--;)if(r=c[a]==t){i=l[a];break}if(!r){var p;f&&(a=f(i,t),p=typeof a!="undefined")&&(i=a),p||(i=u?ge(i)?i:[]:je(i)?i:{}),c.push(t),l.push(i),p||(i=tt(i,t,o,f,c,l))}}else f&&(a=f(i,t),typeof a=="undefined"&&(a=t)),typeof a!="undefined"&&(i=a);
n[e]=i});return n}function et(n){for(var t=-1,e=ye(n),r=e.length,u=Nt(r);++t<r;)u[t]=n[e[t]];return u}function rt(n,t,e){var r=-1,u=n?n.length:0,a=!1;return e=(0>e?ee(0,u+e):e)||0,typeof u=="number"?a=-1<(nt(n)?n.indexOf(t,e):mt(n,t,e)):we(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function ut(n,t,e){var r=!0;t=a.createCallback(t,e),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&(r=!!t(n[e],e,n)););else we(n,function(n,e,u){return r=!!t(n,e,u)});return r}function at(n,t,e){var r=[];
t=a.createCallback(t,e),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u;){var i=n[e];t(i,e,n)&&r.push(i)}else we(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function it(n,t,e){t=a.createCallback(t,e),e=-1;var r=n?n.length:0;if(typeof r!="number"){var u;return we(n,function(n,e,r){return t(n,e,r)?(u=n,!1):void 0}),u}for(;++e<r;){var i=n[e];if(t(i,e,n))return i}}function ot(n,t,e){var r=-1,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:a.createCallback(t,e),typeof u=="number")for(;++r<u&&!1!==t(n[r],r,n););else we(n,t);
return n}function ft(n,t,e){var r=-1,u=n?n.length:0;if(t=a.createCallback(t,e),typeof u=="number")for(var i=Nt(u);++r<u;)i[r]=t(n[r],r,n);else i=[],we(n,function(n,e,u){i[++r]=t(n,e,u)});return i}function ct(n,t,e){var r=-1/0,u=r;if(!t&&ge(n)){e=-1;for(var i=n.length;++e<i;){var o=n[e];o>u&&(u=o)}}else t=!t&&nt(n)?F:a.createCallback(t,e),ot(n,function(n,e,a){e=t(n,e,a),e>r&&(r=e,u=n)});return u}function lt(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number")for(var u=Nt(r);++e<r;)u[e]=n[e][t];return u||ft(n,t)