Add _.chain tests and ensure they pass.

Former-commit-id: e365b65da8a740383c975c7b904ad2156d1cc8ab
This commit is contained in:
John-David Dalton
2013-05-14 22:48:34 -07:00
parent fdc9d5f1fd
commit ee1933389a
9 changed files with 51 additions and 24 deletions

12
dist/lodash.min.js vendored
View File

@@ -21,7 +21,7 @@ if(typeof u!="number")var i=we(n),u=i.length;return t=G.createCallback(t,r,4),bt
if(typeof t!="number"&&t!=u){var o=-1;for(t=G.createCallback(t,e);++o<a&&t(n[o],o,n);)r++}else if(r=t,r==u||e)return n[0];return tt(n,0,ye(ge(0,r),a))}}function Ot(n,t,r,o){var i=-1,f=n?n.length:0,c=[];for(typeof t!="boolean"&&t!=u&&(o=r,r=o&&o[t]===n?e:t,t=a),r!=u&&(r=G.createCallback(r,o));++i<f;)o=n[i],r&&(o=r(o,i,n)),ke(o)?ae.apply(c,t?o:Ot(o)):c.push(o);return c}function Et(n,t,e){var r=-1,u=n?n.length:0;if(typeof e=="number")r=(0>e?ge(0,u+e):e||0)-1;else if(e)return r=Nt(n,t),n[r]===t?r:-1;
for(;++r<u;)if(n[r]===t)return r;return-1}function It(n,t,e){if(typeof t!="number"&&t!=u){var r=0,a=-1,o=n?n.length:0;for(t=G.createCallback(t,e);++a<o&&t(n[a],a,n);)r++}else r=t==u||e?1:ge(0,t);return tt(n,r)}function Nt(n,t,e,r){var u=0,a=n?n.length:u;for(e=e?G.createCallback(e,r,1):Rt,t=e(t);u<a;)r=u+a>>>1,e(n[r])<t?u=r+1:a=r;return u}function St(n,t,r,o){var i=-1,f=n?n.length:0,c=[],l=c;typeof t!="boolean"&&t!=u&&(o=r,r=o&&o[t]===n?e:t,t=a);var v=!t&&f>=s;if(v)var g={};for(r!=u&&(l=[],r=G.createCallback(r,o));++i<f;){o=n[i];
var y=r?r(o,i,n):o;if(v)var h=p+y,h=g[h]?!(l=g[h]):l=g[h]=[];(t?!i||l[l.length-1]!==y:h||0>Et(l,y))&&((r||v)&&l.push(y),c.push(o))}return c}function At(n){for(var t=-1,e=n?dt(_t(n,"length")):0,r=Dt(0>e?0:e);++t<e;)r[t]=_t(n,t);return r}function $t(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var a=n[e];t?u[a]=t[e]:u[a[0]]=a[1]}return u}function Bt(n,t){return _e.fastBind||ce&&2<arguments.length?ce.call.apply(ce,arguments):Q(n,t,me.call(arguments,2))}function Ft(n){var t=me.call(arguments,1);return ie(function(){n.apply(e,t)
},1)}function Rt(n){return n}function Tt(n){bt(ut(n),function(t){var e=G[t]=n[t];G.prototype[t]=function(){var n=this.__wrapped__,t=[n];return ae.apply(t,arguments),t=e.apply(G,t),n&&typeof n=="object"&&n==t?this:new Y(t)}})}function qt(){return this.__wrapped__}o=o?z.defaults(n.Object(),o,z.pick(n,x)):n;var Dt=o.Array,zt=o.Boolean,Pt=o.Date,Kt=o.d,Mt=o.Function,Ut=o.Math,Vt=o.Number,Gt=o.Object,Ht=o.RegExp,Jt=o.String,Lt=o.TypeError,Qt=Dt.prototype,Wt=Gt.prototype,Xt=o._,Yt=Ht("^"+Jt(Wt.valueOf).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Zt=Ut.ceil,ne=o.clearTimeout,te=Qt.concat,ee=Ut.floor,re=Yt.test(re=Gt.getPrototypeOf)&&re,ue=Wt.hasOwnProperty,ae=Qt.push,oe=o.setImmediate,ie=o.setTimeout,fe=Wt.toString,ce=Yt.test(ce=fe.bind)&&ce,le=Yt.test(le=Dt.isArray)&&le,pe=o.isFinite,se=o.isNaN,ve=Yt.test(ve=Gt.keys)&&ve,ge=Ut.max,ye=Ut.min,he=o.parseInt,be=Ut.random,me=Qt.slice,Ut=Yt.test(o.attachEvent),Ut=ce&&!/\n|true/.test(ce+Ut),de={};
},1)}function Rt(n){return n}function Tt(n){bt(ut(n),function(t){var e=G[t]=n[t];G.prototype[t]=function(){var n=this.__wrapped__,t=[n];return ae.apply(t,arguments),t=e.apply(G,t),n&&typeof n=="object"&&n==t?this:new Y(t)}})}function qt(){return this.__wrapped__}o=o?z.defaults(n.Object(),o,z.pick(n,x)):n;var Dt=o.Array,zt=o.Boolean,Pt=o.Date,Kt=o.Error,Mt=o.Function,Ut=o.Math,Vt=o.Number,Gt=o.Object,Ht=o.RegExp,Jt=o.String,Lt=o.TypeError,Qt=Dt.prototype,Wt=Gt.prototype,Xt=o._,Yt=Ht("^"+Jt(Wt.valueOf).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Zt=Ut.ceil,ne=o.clearTimeout,te=Qt.concat,ee=Ut.floor,re=Yt.test(re=Gt.getPrototypeOf)&&re,ue=Wt.hasOwnProperty,ae=Qt.push,oe=o.setImmediate,ie=o.setTimeout,fe=Wt.toString,ce=Yt.test(ce=fe.bind)&&ce,le=Yt.test(le=Dt.isArray)&&le,pe=o.isFinite,se=o.isNaN,ve=Yt.test(ve=Gt.keys)&&ve,ge=Ut.max,ye=Ut.min,he=o.parseInt,be=Ut.random,me=Qt.slice,Ut=Yt.test(o.attachEvent),Ut=ce&&!/\n|true/.test(ce+Ut),de={};
de[E]=Dt,de[I]=zt,de[N]=Pt,de[S]=Kt,de[A]=Mt,de[B]=Gt,de[$]=Vt,de[F]=Ht,de[R]=Jt;var _e=G.support={};_e.fastBind=ce&&!Ut,G.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:d,variable:"",imports:{_:G}},Y.prototype=G.prototype;var ke=le,we=ve?function(n){return ft(n)?ve(n):[]}:V,je={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ce=at(je);return Ut&&i&&typeof oe=="function"&&(Ft=Bt(oe,o)),zt=8==he(_+"08")?he:function(n,t){return he(lt(n)?n.replace(k,""):n,t||0)
},G.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},G.assign=U,G.at=function(n){for(var t=-1,e=te.apply(Qt,me.call(arguments,1)),r=e.length,u=Dt(r);++t<r;)u[t]=n[e[t]];return u},G.bind=Bt,G.bindAll=function(n){for(var t=1<arguments.length?te.apply(Qt,me.call(arguments,1)):ut(n),e=-1,r=t.length;++e<r;){var u=t[e];n[u]=Bt(n[u],n)}return n},G.bindKey=function(n,t){return Q(n,t,me.call(arguments,2),l)},G.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];
u&&r.push(u)}return r},G.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},G.countBy=function(n,t,e){var r={};return t=G.createCallback(t,e),bt(n,function(n,e,u){e=Jt(t(n,e,u)),ue.call(r,e)?r[e]++:r[e]=1}),r},G.createCallback=function(n,t,e){if(n==u)return Rt;var r=typeof n;if("function"!=r){if("object"!=r)return function(t){return t[n]};var o=we(n);return function(t){for(var e=o.length,r=a;e--&&(r=ot(t[o[e]],n[o[e]],l)););return r
@@ -32,11 +32,11 @@ return ue.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}return e.cache={},e},G.mer
return function(){return t?e:(t=r,e=n.apply(this,arguments),n=u,e)}},G.pairs=function(n){for(var t=-1,e=we(n),r=e.length,u=Dt(r);++t<r;){var a=e[t];u[t]=[a,n[a]]}return u},G.partial=function(n){return Q(n,me.call(arguments,1))},G.partialRight=function(n){return Q(n,me.call(arguments,1),u,l)},G.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,a=te.apply(Qt,me.call(arguments,1)),o=ft(n)?a.length:0;++u<o;){var i=a[u];i in n&&(r[i]=n[i])}else t=G.createCallback(t,e),K(n,function(n,e,u){t(n,e,u)&&(r[e]=n)
});return r},G.pluck=_t,G.range=function(n,t,e){n=+n||0,e=+e||1,t==u&&(t=n,n=0);var r=-1;t=ge(0,Zt((t-n)/e));for(var a=Dt(t);++r<t;)a[r]=n,n+=e;return a},G.reject=function(n,t,e){return t=G.createCallback(t,e),yt(n,function(n,e,r){return!t(n,e,r)})},G.rest=It,G.shuffle=function(n){var t=-1,e=n?n.length:0,r=Dt(typeof e=="number"?e:0);return bt(n,function(n){var e=ee(be()*(++t+1));r[t]=r[e],r[e]=n}),r},G.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,a=Dt(typeof u=="number"?u:0);for(t=G.createCallback(t,e),bt(n,function(n,e,u){a[++r]={a:t(n,e,u),b:r,c:n}
}),u=a.length,a.sort(L);u--;)a[u]=a[u].c;return a},G.tap=function(n,t){return t(n),n},G.throttle=function(n,t,e){function o(){l=u,v&&(p=new Pt,f=n.apply(c,i))}var i,f,c,l,p=0,s=r,v=r;return e===a?s=a:e&&q[typeof e]&&(s="leading"in e?e.leading:s,v="trailing"in e?e.trailing:v),function(){var e=new Pt;!l&&!s&&(p=e);var r=t-(e-p);return i=arguments,c=this,0<r?l||(l=ie(o,r)):(ne(l),l=u,p=e,f=n.apply(c,i)),f}},G.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Dt(n);for(t=G.createCallback(t,e,1);++r<n;)u[r]=t(r);
return u},G.toArray=function(n){return n&&typeof n.length=="number"?tt(n):st(n)},G.union=function(n){return ke(n)||(arguments[0]=n?me.call(n):Qt),St(te.apply(Qt,arguments))},G.uniq=St,G.unzip=At,G.values=st,G.where=yt,G.without=function(n){return Ct(n,me.call(arguments,1))},G.wrap=function(n,t){return function(){var e=[n];return ae.apply(e,arguments),t.apply(this,e)}},G.zip=function(n){return n?At(arguments):[]},G.zipObject=$t,G.chain=G,G.collect=mt,G.drop=It,G.each=bt,G.extend=U,G.methods=ut,G.object=$t,G.select=yt,G.tail=It,G.unique=St,Tt(G),G.clone=rt,G.cloneDeep=function(n,t,e){return rt(n,r,t,e)
},G.contains=vt,G.escape=function(n){return n==u?"":Jt(n).replace(j,X)},G.every=gt,G.find=ht,G.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=G.createCallback(t,e);++r<u;)if(t(n[r],r,n))return r;return-1},G.findKey=function(n,t,e){var r;return t=G.createCallback(t,e),P(n,function(n,e,u){return t(n,e,u)?(r=e,a):void 0}),r},G.has=function(n,t){return n?ue.call(n,t):a},G.identity=Rt,G.indexOf=Et,G.isArguments=function(n){return fe.call(n)==O},G.isArray=ke,G.isBoolean=function(n){return n===r||n===a||fe.call(n)==I
},G.isDate=function(n){return n?typeof n=="object"&&fe.call(n)==N:a},G.isElement=function(n){return n?1===n.nodeType:a},G.isEmpty=function(n){var t=r;if(!n)return t;var e=fe.call(n),u=n.length;return e==E||e==R||e==O||e==B&&typeof u=="number"&&it(n.splice)?!u:(P(n,function(){return t=a}),t)},G.isEqual=ot,G.isFinite=function(n){return pe(n)&&!se(parseFloat(n))},G.isFunction=it,G.isNaN=function(n){return ct(n)&&n!=+n},G.isNull=function(n){return n===u},G.isNumber=ct,G.isObject=ft,G.isPlainObject=f,G.isRegExp=function(n){return n?typeof n=="object"&&fe.call(n)==F:a
},G.isString=lt,G.isUndefined=function(n){return typeof n=="undefined"},G.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?ge(0,r+e):ye(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},G.mixin=Tt,G.noConflict=function(){return o._=Xt,this},G.parseInt=zt,G.random=function(n,t){n==u&&t==u&&(t=1),n=+n||0,t==u?(t=n,n=0):t=+t||0;var e=be();return n%1||t%1?n+ye(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+ee(e*(t-n+1))},G.reduce=kt,G.reduceRight=wt,G.result=function(n,t){var r=n?n[t]:e;
return it(r)?n[t]():r},G.runInContext=t,G.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:we(n).length},G.some=jt,G.sortedIndex=Nt,G.template=function(n,t,u){var a=G.templateSettings;n||(n=""),u=M({},u,a);var o,i=M({},u.imports,a.imports),a=we(i),i=st(i),f=0,c=u.interpolate||w,l="__p+='",c=Ht((u.escape||w).source+"|"+c.source+"|"+(c===d?b:w).source+"|"+(u.evaluate||w).source+"|$","g");n.replace(c,function(t,e,u,a,i,c){return u||(u=a),l+=n.slice(f,c).replace(C,W),e&&(l+="'+__e("+e+")+'"),i&&(o=r,l+="';"+i+";__p+='"),u&&(l+="'+((__t=("+u+"))==null?'':__t)+'"),f=c+t.length,t
return u},G.toArray=function(n){return n&&typeof n.length=="number"?tt(n):st(n)},G.union=function(n){return ke(n)||(arguments[0]=n?me.call(n):Qt),St(te.apply(Qt,arguments))},G.uniq=St,G.unzip=At,G.values=st,G.where=yt,G.without=function(n){return Ct(n,me.call(arguments,1))},G.wrap=function(n,t){return function(){var e=[n];return ae.apply(e,arguments),t.apply(this,e)}},G.zip=function(n){return n?At(arguments):[]},G.zipObject=$t,G.collect=mt,G.drop=It,G.each=bt,G.extend=U,G.methods=ut,G.object=$t,G.select=yt,G.tail=It,G.unique=St,G.chain=G,G.prototype.chain=function(){return this
},Tt(G),G.clone=rt,G.cloneDeep=function(n,t,e){return rt(n,r,t,e)},G.contains=vt,G.escape=function(n){return n==u?"":Jt(n).replace(j,X)},G.every=gt,G.find=ht,G.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=G.createCallback(t,e);++r<u;)if(t(n[r],r,n))return r;return-1},G.findKey=function(n,t,e){var r;return t=G.createCallback(t,e),P(n,function(n,e,u){return t(n,e,u)?(r=e,a):void 0}),r},G.has=function(n,t){return n?ue.call(n,t):a},G.identity=Rt,G.indexOf=Et,G.isArguments=function(n){return fe.call(n)==O
},G.isArray=ke,G.isBoolean=function(n){return n===r||n===a||fe.call(n)==I},G.isDate=function(n){return n?typeof n=="object"&&fe.call(n)==N:a},G.isElement=function(n){return n?1===n.nodeType:a},G.isEmpty=function(n){var t=r;if(!n)return t;var e=fe.call(n),u=n.length;return e==E||e==R||e==O||e==B&&typeof u=="number"&&it(n.splice)?!u:(P(n,function(){return t=a}),t)},G.isEqual=ot,G.isFinite=function(n){return pe(n)&&!se(parseFloat(n))},G.isFunction=it,G.isNaN=function(n){return ct(n)&&n!=+n},G.isNull=function(n){return n===u
},G.isNumber=ct,G.isObject=ft,G.isPlainObject=f,G.isRegExp=function(n){return n?typeof n=="object"&&fe.call(n)==F:a},G.isString=lt,G.isUndefined=function(n){return typeof n=="undefined"},G.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?ge(0,r+e):ye(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},G.mixin=Tt,G.noConflict=function(){return o._=Xt,this},G.parseInt=zt,G.random=function(n,t){n==u&&t==u&&(t=1),n=+n||0,t==u?(t=n,n=0):t=+t||0;var e=be();return n%1||t%1?n+ye(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+ee(e*(t-n+1))
},G.reduce=kt,G.reduceRight=wt,G.result=function(n,t){var r=n?n[t]:e;return it(r)?n[t]():r},G.runInContext=t,G.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:we(n).length},G.some=jt,G.sortedIndex=Nt,G.template=function(n,t,u){var a=G.templateSettings;n||(n=""),u=M({},u,a);var o,i=M({},u.imports,a.imports),a=we(i),i=st(i),f=0,c=u.interpolate||w,l="__p+='",c=Ht((u.escape||w).source+"|"+c.source+"|"+(c===d?b:w).source+"|"+(u.evaluate||w).source+"|$","g");n.replace(c,function(t,e,u,a,i,c){return u||(u=a),l+=n.slice(f,c).replace(C,W),e&&(l+="'+__e("+e+")+'"),i&&(o=r,l+="';"+i+";__p+='"),u&&(l+="'+((__t=("+u+"))==null?'':__t)+'"),f=c+t.length,t
}),l+="';\n",c=u=u.variable,c||(u="obj",l="with("+u+"){"+l+"}"),l=(o?l.replace(v,""):l).replace(g,"$1").replace(y,"$1;"),l="function("+u+"){"+(c?"":u+"||("+u+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var p=Mt(a,"return "+l).apply(e,i)}catch(s){throw s.source=l,s}return t?p(t):(p.source=l,p)},G.unescape=function(n){return n==u?"":Jt(n).replace(h,et)},G.uniqueId=function(n){var t=++c;return Jt(n==u?"":n)+t
},G.all=gt,G.any=jt,G.detect=ht,G.foldl=kt,G.foldr=wt,G.include=vt,G.inject=kt,P(G,function(n,t){G.prototype[t]||(G.prototype[t]=function(){var t=[this.__wrapped__];return ae.apply(t,arguments),n.apply(G,t)})}),G.first=xt,G.last=function(n,t,e){if(n){var r=0,a=n.length;if(typeof t!="number"&&t!=u){var o=a;for(t=G.createCallback(t,e);o--&&t(n[o],o,n);)r++}else if(r=t,r==u||e)return n[a-1];return tt(n,ge(0,a-r))}},G.take=xt,G.head=xt,P(G,function(n,t){G.prototype[t]||(G.prototype[t]=function(t,e){var r=n(this.__wrapped__,t,e);
return t==u||e&&typeof t!="function"?r:new Y(r)})}),G.VERSION="1.2.1",G.prototype.toString=function(){return Jt(this.__wrapped__)},G.prototype.value=qt,G.prototype.valueOf=qt,bt(["join","pop","shift"],function(n){var t=Qt[n];G.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),bt(["push","reverse","sort","unshift"],function(n){var t=Qt[n];G.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),bt(["concat","slice","splice"],function(n){var t=Qt[n];G.prototype[n]=function(){return new Y(t.apply(this.__wrapped__,arguments))