Make _.memoize avoid using keyPrefix if passed a resolver function. [closes #330]

Former-commit-id: 97e3bb353d988c92eea394dfb496ebf7594ae25f
This commit is contained in:
John-David Dalton
2013-08-19 22:42:15 -07:00
parent 1901134601
commit a562126f2f
8 changed files with 103 additions and 33 deletions

2
dist/lodash.min.js vendored
View File

@@ -32,7 +32,7 @@ return dr.apply(e,arguments)});var Qr=8==Br(C+"08")?Br:function(n,t){return Br(d
}return n},Z.bindKey=function(n,t){return ft(n,19,Dr.call(arguments,2),m,t)},Z.chain=function(n){return n=new nt(n),n.__chain__=y,n},Z.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},Z.compose=function(){for(var n=arguments,t=n.length||1;t--;)if(!mt(n[t]))throw new ar;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},Z.countBy=Gr,Z.createCallback=function(n,t,r){var e=typeof n;if(n==m||"function"==e)return rt(n,t,r);
if("object"!=e)return function(t){return t[n]};var u=Kr(n),o=u[0],a=n[o];return 1!=u.length||a!==a||_t(a)?function(t){for(var r=u.length,e=_;r--&&(e=ut(t[u[r]],n[u[r]],m,y)););return e}:function(n){return n=n[o],a===n&&(0!==a||1/a==1/n)}},Z.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,ft(n,4,m,m,m,t)},Z.debounce=Ut,Z.defaults=H,Z.defer=Vt,Z.delay=function(n,t){if(!mt(n))throw new ar;var r=Dr.call(arguments,2);return wr(function(){n.apply(g,r)},t)},Z.difference=Ft,Z.filter=xt,Z.flatten=function(n,t,r,e){return typeof t!="boolean"&&t!=m&&(e=r,r=e&&e[t]===n?g:t,t=_),r!=m&&(n=It(n,r,e)),et(n,t)
},Z.forEach=Ot,Z.forEachRight=Et,Z.forIn=x,Z.forInRight=function(n,t,r){var e=[];x(n,function(n,t){e.push(t,n)});var u=e.length;for(t=rt(t,r,3);u--&&t(e[u--],e[u],n)!==false;);return n},Z.forOwn=d,Z.forOwnRight=ht,Z.functions=gt,Z.groupBy=Hr,Z.indexBy=Jr,Z.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=m){var o=u;for(t=Z.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else e=t==m||r?1:t||e;return v(n,0,Rr(Nr(0,u-e),u))},Z.intersection=function(n){for(var e=arguments,u=e.length,o=-1,i=f(),c=-1,l=lt(),v=n?n.length:0,h=[],g=f();++o<u;){var y=e[o];
i[o]=l===t&&(y?y.length:0)>=k&&a(o?e[o]:g)}n:for(;++c<v;){var m=i[0],y=n[c];if(0>(m?r(m,y):l(g,y))){for(o=u,(m||g).push(y);--o;)if(m=i[o],0>(m?r(m,y):l(e[o],y)))continue n;h.push(y)}}for(;u--;)(m=i[u])&&s(m);return p(i),p(g),h},Z.invert=yt,Z.invoke=function(n,t){var r=Dr.call(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=Xt(typeof o=="number"?o:0);return Ot(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},Z.keys=Kr,Z.map=It,Z.max=St,Z.memoize=function(n,t){function r(){var e=r.cache,u=j+(t?t.apply(this,arguments):arguments[0]);
i[o]=l===t&&(y?y.length:0)>=k&&a(o?e[o]:g)}n:for(;++c<v;){var m=i[0],y=n[c];if(0>(m?r(m,y):l(g,y))){for(o=u,(m||g).push(y);--o;)if(m=i[o],0>(m?r(m,y):l(e[o],y)))continue n;h.push(y)}}for(;u--;)(m=i[u])&&s(m);return p(i),p(g),h},Z.invert=yt,Z.invoke=function(n,t){var r=Dr.call(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=Xt(typeof o=="number"?o:0);return Ot(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},Z.keys=Kr,Z.map=It,Z.max=St,Z.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):j+arguments[0];
return mr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!mt(n))throw new ar;return r.cache={},r},Z.merge=function(n){var t=arguments,r=2;if(!_t(n))return n;if("number"!=typeof t[2]&&(r=t.length),3<r&&"function"==typeof t[r-2])var e=rt(t[--r-1],t[r--],2);else 2<r&&"function"==typeof t[r-1]&&(e=t[--r]);for(var t=Dr.call(arguments,1,r),u=-1,o=f(),a=f();++u<r;)ot(n,t[u],e,o,a);return p(o),p(a),n},Z.min=function(n,t,r){var e=1/0,o=e;if(!t&&Pr(n)){r=-1;for(var a=n.length;++r<a;){var i=n[r];i<o&&(o=i)}}else t=!t&&dt(n)?u:Z.createCallback(t,r,3),Ot(n,function(n,r,u){r=t(n,r,u),r<e&&(e=r,o=n)
});return o},Z.omit=function(n,t,r){var e=lt(),u=typeof t=="function",o={};if(u)t=Z.createCallback(t,r,3);else var a=et(arguments,y,_,1);return x(n,function(n,r,i){(u?!t(n,r,i):0>e(a,r))&&(o[r]=n)}),o},Z.once=function(n){var t,r;if(!mt(n))throw new ar;return function(){return t?r:(t=y,r=n.apply(this,arguments),n=m,r)}},Z.pairs=function(n){for(var t=-1,r=Kr(n),e=r.length,u=Xt(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},Z.partial=function(n){return ft(n,16,Dr.call(arguments,1))},Z.partialRight=function(n){return ft(n,32,m,Dr.call(arguments,1))
},Z.pick=function(n,t,r){var e={};if(typeof t!="function")for(var u=-1,o=et(arguments,y,_,1),a=_t(n)?o.length:0;++u<a;){var i=o[u];i in n&&(e[i]=n[i])}else t=Z.createCallback(t,r,3),x(n,function(n,r,u){t(n,r,u)&&(e[r]=n)});return e},Z.pluck=At,Z.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,a=t[r];++o<u;)n[o]===a&&(jr.call(n,o--,1),u--);return n},Z.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,t==m&&(t=n,n=0);var e=-1;t=Nr(0,pr((t-n)/(r||1)));