From 7beb204b9d816d80531f801741dda30f84072f2d Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Wed, 1 Jan 2014 23:10:27 -0600 Subject: [PATCH] Remove `forEach` dep from `mixin`. --- dist/lodash.compat.js | 46 +++++++++++++----------- dist/lodash.compat.min.js | 4 +-- dist/lodash.js | 46 +++++++++++++----------- dist/lodash.min.js | 62 ++++++++++++++++---------------- dist/lodash.underscore.js | 30 +++++++++------- dist/lodash.underscore.min.js | 68 +++++++++++++++++------------------ lodash.js | 44 ++++++++++++----------- 7 files changed, 159 insertions(+), 141 deletions(-) diff --git a/dist/lodash.compat.js b/dist/lodash.compat.js index 33b4dc879..a404f2353 100644 --- a/dist/lodash.compat.js +++ b/dist/lodash.compat.js @@ -40,7 +40,7 @@ '\n\r\u2028\u2029' + // unicode category "Zs" space separators - '\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000' + '\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000' ); /** Used to match empty string literals in compiled template source */ @@ -6415,7 +6415,6 @@ if (options == null) { options = source; } - ctor = lodashWrapper; source = object; object = lodash; methodNames = functions(source); @@ -6425,30 +6424,35 @@ } else if (isObject(options) && 'chain' in options) { chain = options.chain; } - var ctor = object, - isFunc = isFunction(ctor); + var index = -1, + isFunc = isFunction(object), + length = methodNames ? methodNames.length : 0; + + while (++index < length) { + var methodName = methodNames[index], + func = object[methodName] = source[methodName]; - forEach(methodNames, function(methodName) { - var func = object[methodName] = source[methodName]; if (isFunc) { - ctor.prototype[methodName] = function() { - var chainAll = this.__chain__, - value = this.__wrapped__, - args = [value]; + object.prototype[methodName] = (function(func) { + return function() { + var chainAll = this.__chain__, + value = this.__wrapped__, + args = [value]; - push.apply(args, arguments); - var result = func.apply(object, args); - if (chain || chainAll) { - if (value === result && isObject(result)) { - return this; + push.apply(args, arguments); + var result = func.apply(object, args); + if (chain || chainAll) { + if (value === result && isObject(result)) { + return this; + } + result = new object(result); + result.__chain__ = chainAll; } - result = new ctor(result); - result.__chain__ = chainAll; - } - return result; - }; + return result; + }; + }(func)); } - }); + } } /** diff --git a/dist/lodash.compat.min.js b/dist/lodash.compat.min.js index 6f8d99f92..df5adbdd4 100644 --- a/dist/lodash.compat.min.js +++ b/dist/lodash.compat.min.js @@ -28,8 +28,8 @@ else lt(n,function(n,r,e){a[++u]=t(n,r,e)});return a}function Kt(n,t,r){var o=-1 for(t=e.createCallback(t,r,3);++ae?Vr(0,u+e):e||0}else if(e)return e=Qt(n,r),n[e]===r?e:-1;return t(n,r,e)}function Jt(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,a=n?n.length:0;for(t=e.createCallback(t,r,3);++o>>1,r(n[u])r?0:r);++t=y; -m?(a&&(a=Sr(a)),s=f,i=n.apply(l,o)):a||(a=Dr(e,y))}return m&&c?c=Sr(c):c||t===g||(c=Dr(u,t)),r&&(m=true,i=n.apply(l,o)),!m||c||a||(o=l=null),i}}function er(n){return n}function ur(n){n||(n={});var t=re(n),r=t[0],e=n[r];return 1!=t.length||e!==e||Tt(e)?function(r){for(var e=t.length,u=false;e--&&(u=pt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function or(n,t,r){var u=true,o=t&&At(t);t&&(r||o.length)||(null==r&&(r=t),a=m,t=n,n=e,o=At(t)),false===r?u=false:Tt(r)&&"chain"in r&&(u=r.chain); -var a=n,i=Nt(a);Lt(o,function(r){var e=n[r]=t[r];i&&(a.prototype[r]=function(){var t=this.__chain__,r=this.__wrapped__,o=[r];if(Pr.apply(o,arguments),o=e.apply(n,o),u||t){if(r===o&&Tt(o))return this;o=new a(o),o.__chain__=t}return o})})}function ar(){}function ir(n){return function(t){return t[n]}}function fr(){return this.__wrapped__}n=n?ft.defaults(ut.Object(),n,ft.pick(ut,B)):ut;var lr=n.Array,cr=n.Boolean,pr=n.Date,sr=n.Function,gr=n.Math,hr=n.Number,vr=n.Object,yr=n.RegExp,mr=n.String,dr=n.TypeError,br=lr.prototype,_r=n.Error.prototype,wr=vr.prototype,jr=mr.prototype,xr=(xr=n.window)&&xr.document,Cr=n._,kr=wr.toString,Or=yr("^"+mr(kr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Er=gr.ceil,Sr=n.clearTimeout,Ar=gr.floor,Ir=sr.prototype.toString,Nr=_t(Nr=vr.getPrototypeOf)&&Nr,Tr=wr.hasOwnProperty,Pr=br.push,Rr=wr.propertyIsEnumerable,Dr=n.setTimeout,qr=br.splice,Fr=br.unshift,$r=function(){try{var n={},t=_t(t=vr.defineProperty)&&t,r=t(n,n,n)&&t +m?(a&&(a=Sr(a)),s=f,i=n.apply(l,o)):a||(a=Dr(e,y))}return m&&c?c=Sr(c):c||t===g||(c=Dr(u,t)),r&&(m=true,i=n.apply(l,o)),!m||c||a||(o=l=null),i}}function er(n){return n}function ur(n){n||(n={});var t=re(n),r=t[0],e=n[r];return 1!=t.length||e!==e||Tt(e)?function(r){for(var e=t.length,u=false;e--&&(u=pt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function or(n,t,r){var u=true,o=t&&At(t);t&&(r||o.length)||(null==r&&(r=t),t=n,n=e,o=At(t)),false===r?u=false:Tt(r)&&"chain"in r&&(u=r.chain),r=-1; +for(var a=Nt(n),i=o?o.length:0;++rr||13r||8202t||typeof n=="undefined")return 1;if(nr?0:r);++er?0:r);++e=_&&o===t,l=[]; +};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Yt(n,t)}function it(n){function t(){var n=f?i:this;if(u){var v=h(u);Ar.apply(v,arguments)}return(o||c)&&(v||(v=h(arguments)),o&&Ar.apply(v,o),c&&v.length=_&&o===t,l=[]; if(f){var c=a(e);c?(o=r,e=c):f=false}for(;++uo(e,c)&&l.push(c);return f&&s(e),l}function ft(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e=_&&i===t,h=u||v?l():c;for(v&&(h=a(h),i=r);++oi(h,y))&&((u||v)&&h.push(y),c.push(g)) -}return v?(p(h.g),s(h)):u&&p(h),c}function vt(n){return function(t,r,e){var u={};r=m.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++e=_&&i===t,v=u||h?l():c;for(h&&(v=a(v),i=r);++oi(v,y))&&((u||h)&&v.push(y),c.push(g)) +}return h?(p(v.g),s(v)):u&&p(v),c}function ht(n){return function(t,r,e){var u={};r=m.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++eo&&(o=a)}}else t=null==t&&St(n)?u:m.createCallback(t,r,3),Bt(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function Pt(n,t,r,e){var u=3>arguments.length;t=m.createCallback(t,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(r=n[++o]);++oarguments.length;return t=m.createCallback(t,e,4),qt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o) -}),r}function Lt(n){var t=-1,r=n?n.length:0,e=ir(typeof r=="number"?r:0);return Bt(n,function(n){var r=pt(0,++t);e[t]=e[r],e[r]=n}),e}function Mt(n,t,r){var e;t=m.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++re?zr(0,u+e):e||0}else if(e)return e=Gt(n,r),n[e]===r?e:-1;return t(n,r,e)}function Xt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=m.createCallback(t,r,3);++u>>1,r(n[e])r?0:r);++t=g;m?(i&&(i=xr(i)),s=f,a=n.apply(l,o)):i||(i=Ir(e,g))}return m&&c?c=xr(c):c||t===v||(c=Ir(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function nr(n){return n}function tr(n){n||(n={});var t=Jr(n),r=t[0],e=n[r]; -return 1!=t.length||e!==e||At(e)?function(r){for(var e=t.length,u=false;e--&&(u=lt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function rr(n,t,r){var e=true,u=t&&Ot(t);t&&(r||u.length)||(null==r&&(r=t),o=w,t=n,n=m,u=Ot(t)),false===r?e=false:At(r)&&"chain"in r&&(e=r.chain);var o=n,i=Nt(o);Bt(u,function(r){var u=n[r]=t[r];i&&(o.prototype[r]=function(){var t=this.__chain__,r=this.__wrapped__,i=[r];if(Ar.apply(i,arguments),i=u.apply(n,i),e||t){if(r===i&&At(i))return this; -i=new o(i),i.__chain__=t}return i})})}function er(){}function ur(n){return function(t){return t[n]}}function or(){return this.__wrapped__}n=n?ot.defaults(tt.Object(),n,ot.pick(tt,q)):tt;var ir=n.Array,ar=n.Boolean,fr=n.Date,lr=n.Function,cr=n.Math,pr=n.Number,sr=n.Object,vr=n.RegExp,hr=n.String,gr=n.TypeError,yr=ir.prototype,mr=sr.prototype,br=hr.prototype,dr=(dr=n.window)&&dr.document,_r=n._,wr=mr.toString,jr=vr("^"+hr(wr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),kr=cr.ceil,xr=n.clearTimeout,Cr=cr.floor,Or=lr.prototype.toString,Er=mt(Er=sr.getPrototypeOf)&&Er,Nr=mr.hasOwnProperty,Ar=yr.push,Ir=n.setTimeout,Sr=yr.splice,Tr=yr.unshift,Rr=function(){try{var n={},t=mt(t=sr.defineProperty)&&t,r=t(n,n,n)&&t -}catch(e){}return r}(),Dr=mt(Dr=br.contains)&&Dr,Fr=mt(Fr=sr.create)&&Fr,$r=mt($r=ir.isArray)&&$r,Br=n.isFinite,qr=n.isNaN,Wr=mt(Wr=sr.keys)&&Wr,zr=cr.max,Pr=cr.min,Kr=n.parseInt,Lr=cr.random,Mr=mt(Mr=br.trim)&&Mr,Vr={};Vr[z]=ir,Vr[P]=ar,Vr[K]=fr,Vr[L]=lr,Vr[V]=sr,Vr[M]=pr,Vr[U]=vr,Vr[X]=hr,w.prototype=m.prototype;var Ur=m.support={};Ur.funcDecomp=!mt(n.WinRTError)&&$.test(h),Ur.funcNames=typeof lr.name=="string";try{Ur.dom=11===dr.createDocumentFragment().nodeType}catch(Xr){Ur.dom=false}m.templateSettings={escape:N,evaluate:A,interpolate:I,variable:"",imports:{_:m}},Fr||(et=function(){function t(){}return function(r){if(At(r)){t.prototype=r; -var e=new t;t.prototype=null}return e||n.Object()}}());var Gr=Rr?function(n,t){J.value=t,Rr(n,"__bindData__",J)}:er;(!Mr||Mr.call(j))&&(dt=function(n){if(n=null==n?"":hr(n)){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160r||13r||8202u||13u||8202e?zr(0,u+e):e||0}else if(e)return e=Gt(n,r),n[e]===r?e:-1;return t(n,r,e)}function Xt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=m.createCallback(t,r,3);++u>>1,r(n[e])r?0:r);++t=g;m?(i&&(i=xr(i)),s=f,a=n.apply(l,o)):i||(i=Ir(e,g))}return m&&c?c=xr(c):c||t===h||(c=Ir(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function nr(n){return n}function tr(n){n||(n={});var t=Jr(n),r=t[0],e=n[r]; +return 1!=t.length||e!==e||At(e)?function(r){for(var e=t.length,u=false;e--&&(u=lt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function rr(n,t,r){var e=true,u=t&&Ot(t);t&&(r||u.length)||(null==r&&(r=t),t=n,n=m,u=Ot(t)),false===r?e=false:At(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=Nt(n),i=u?u.length:0;++rr||13r||8202u||13u||8202--n?t.apply(this,arguments):void 0}},m.assign=jt,m.at=function(n){for(var t=arguments,r=-1,e=ft(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:e.length,u=ir(t);++r=_&&a(e?n[e]:c)))}var f=n[0],h=-1,g=f?f.length:0,y=[];n:for(;++h(m?r(m,v):i(c,v))){for(e=u,(m||c).push(v);--e;)if(m=o[e],0>(m?r(m,v):i(n[e],v)))continue n;y.push(v) -}}for(;u--;)(m=o[u])&&s(m);return p(o),p(c),y},m.invert=function(n,t){for(var r=-1,e=Jr(n),u=e.length,o={};++r=_&&a(e?n[e]:c)))}var f=n[0],v=-1,g=f?f.length:0,y=[];n:for(;++v(m?r(m,h):i(c,h))){for(e=u,(m||c).push(h);--e;)if(m=o[e],0>(m?r(m,h):i(n[e],h)))continue n;y.push(h) +}}for(;u--;)(m=o[u])&&s(m);return p(o),p(c),y},m.invert=function(n,t){for(var r=-1,e=Jr(n),u=e.length,o={};++rr?zr(0,e+r):Pr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},m.mixin=rr,m.noConflict=function(){return n._=_r,this},m.noop=er,m.now=re,m.parseInt=ee,m.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Lr(),Pr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):pt(n,t) -},m.reduce=Pt,m.reduceRight=Kt,m.result=function(n,t){if(n){var r=n[t];return Nt(r)?n[t]():r}},m.runInContext=h,m.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Jr(n).length},m.some=Mt,m.sortedIndex=Gt,m.template=function(n,t,r){var e=m.templateSettings;n=hr(n||""),r=kt({},r,e);var u,o=kt({},r.imports,e.imports),e=Jr(o),o=Tt(o),i=0,a=r.interpolate||F,l="__p+='",a=vr((r.escape||F).source+"|"+a.source+"|"+(a===I?S:F).source+"|"+(r.evaluate||F).source+"|$","g");n.replace(a,function(t,r,e,o,a,c){return e||(e=o),l+=n.slice(i,c).replace(B,f),r&&(l+="'+__e("+r+")+'"),a&&(u=true,l+="';"+a+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t -}),l+="';",a=r=r.variable,a||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace(k,""):l).replace(x,"$1").replace(C,"$1;"),l="function("+r+"){"+(a?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=lr(e,"return "+l).apply(g,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},m.unescape=function(n){return null==n?"":(n=hr(n),0>n.indexOf(";")?n:n.replace(O,_t))},m.uniqueId=function(n){var t=++b; -return hr(null==n?"":n)+t},m.all=Dt,m.any=Mt,m.detect=$t,m.findWhere=$t,m.foldl=Pt,m.foldr=Kt,m.include=Rt,m.inject=Pt,rr(function(){var n={};return xt(m,function(t,r){m.prototype[r]||(n[r]=t)}),n}(),false),m.first=Vt,m.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=m.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:g;return v(n,zr(0,u-e))},m.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=Tt(n)),null==t||r?n?n[pt(0,n.length-1)]:g:(n=Lt(n),n.length=Pr(zr(0,t),n.length),n) -},m.take=Vt,m.head=Vt,xt(m,function(n,t){var r="sample"!==t;m.prototype[t]||(m.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new w(o,u):o})}),m.VERSION="2.4.1",m.prototype.chain=function(){return this.__chain__=true,this},m.prototype.toString=function(){return hr(this.__wrapped__)},m.prototype.value=or,m.prototype.valueOf=or,Bt(["join","pop","shift"],function(n){var t=yr[n];m.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments); +},m.reduce=Pt,m.reduceRight=Kt,m.result=function(n,t){if(n){var r=n[t];return Nt(r)?n[t]():r}},m.runInContext=v,m.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Jr(n).length},m.some=Mt,m.sortedIndex=Gt,m.template=function(n,t,r){var e=m.templateSettings;n=vr(n||""),r=kt({},r,e);var u,o=kt({},r.imports,e.imports),e=Jr(o),o=Tt(o),i=0,a=r.interpolate||F,l="__p+='",a=hr((r.escape||F).source+"|"+a.source+"|"+(a===I?S:F).source+"|"+(r.evaluate||F).source+"|$","g");n.replace(a,function(t,r,e,o,a,c){return e||(e=o),l+=n.slice(i,c).replace(B,f),r&&(l+="'+__e("+r+")+'"),a&&(u=true,l+="';"+a+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t +}),l+="';",a=r=r.variable,a||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace(k,""):l).replace(x,"$1").replace(C,"$1;"),l="function("+r+"){"+(a?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=lr(e,"return "+l).apply(g,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},m.unescape=function(n){return null==n?"":(n=vr(n),0>n.indexOf(";")?n:n.replace(O,_t))},m.uniqueId=function(n){var t=++b; +return vr(null==n?"":n)+t},m.all=Dt,m.any=Mt,m.detect=$t,m.findWhere=$t,m.foldl=Pt,m.foldr=Kt,m.include=Rt,m.inject=Pt,rr(function(){var n={};return xt(m,function(t,r){m.prototype[r]||(n[r]=t)}),n}(),false),m.first=Vt,m.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=m.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:g;return h(n,zr(0,u-e))},m.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=Tt(n)),null==t||r?n?n[pt(0,n.length-1)]:g:(n=Lt(n),n.length=Pr(zr(0,t),n.length),n) +},m.take=Vt,m.head=Vt,xt(m,function(n,t){var r="sample"!==t;m.prototype[t]||(m.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new w(o,u):o})}),m.VERSION="2.4.1",m.prototype.chain=function(){return this.__chain__=true,this},m.prototype.toString=function(){return vr(this.__wrapped__)},m.prototype.value=or,m.prototype.valueOf=or,Bt(["join","pop","shift"],function(n){var t=yr[n];m.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments); return n?new w(r,n):r}}),Bt(["push","reverse","sort","unshift"],function(n){var t=yr[n];m.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Bt(["concat","slice","splice"],function(n){var t=yr[n];m.prototype[n]=function(){return new w(t.apply(this.__wrapped__,arguments),this.__chain__)}}),m}var g,y=[],m=[],b=0,d=+new Date+"",_=75,w=40,j=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",k=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,C=/(__e\(.*?\)|\b__t\))\+'';/g,O=/&(?:amp|lt|gt|quot|#39);/g,E=/[&<>"']/g,N=/<%-([\s\S]+?)%>/g,A=/<%([\s\S]+?)%>/g,I=/<%=([\s\S]+?)%>/g,S=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,T=/\w*$/,R=/^\s*function[ \n\r\t]+\w/,D=/^0[xX]/,F=/($^)/,$=/\bthis\b/,B=/['\n\r\t\u2028\u2029\\]/g,q="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),W="[object Arguments]",z="[object Array]",P="[object Boolean]",K="[object Date]",L="[object Function]",M="[object Number]",V="[object Object]",U="[object RegExp]",X="[object String]",G={}; G[L]=false,G[W]=G[z]=G[P]=G[K]=G[M]=G[V]=G[U]=G[X]=true;var H={leading:false,maxWait:0,trailing:false},J={configurable:false,enumerable:false,value:null,writable:false},Q={"&":"&","<":"<",">":">",'"':""","'":"'"},Y={"&":"&","<":"<",">":">",""":'"',"'":"'"},Z={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},nt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},tt=Z[typeof window]&&window||this,rt=Z[typeof exports]&&exports&&!exports.nodeType&&exports,et=Z[typeof global]&&global; -!et||et.global!==et&&et.window!==et||(tt=et);var ut=(et=Z[typeof module]&&module&&!module.nodeType&&module)&&et.exports===rt&&rt,ot=h();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(tt._=ot, define(function(){return ot})):rt&&et?ut?(et.exports=ot)._=ot:rt._=ot:tt._=ot}).call(this); \ No newline at end of file +!et||et.global!==et&&et.window!==et||(tt=et);var ut=(et=Z[typeof module]&&module&&!module.nodeType&&module)&&et.exports===rt&&rt,ot=v();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(tt._=ot, define(function(){return ot})):rt&&et?ut?(et.exports=ot)._=ot:rt._=ot:tt._=ot}).call(this); \ No newline at end of file diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index 5792ceb97..bbe718357 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -4361,20 +4361,26 @@ * _('fred').capitalize(); * // => 'Fred' */ - function mixin(object) { - forEach(functions(object), function(methodName) { - var func = lodash[methodName] = object[methodName]; + function mixin(source) { + var index = -1, + methodNames = functions(source), + length = methodNames.length; - lodash.prototype[methodName] = function() { - var args = [this.__wrapped__]; - push.apply(args, arguments); + while (++index < length) { + var methodName = methodNames[index]; + lodash.prototype[methodName] = (function() { + var func = lodash[methodName] = source[methodName]; + return function() { + var args = [this.__wrapped__]; + push.apply(args, arguments); - var result = func.apply(lodash, args); - return this.__chain__ - ? new lodashWrapper(result, true) - : result; - }; - }); + var result = func.apply(lodash, args); + return this.__chain__ + ? new lodashWrapper(result, true) + : result; + }; + }()); + } } /** diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index 6ee3f6c14..3f26e5a94 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -3,37 +3,37 @@ * Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` */ -;(function(){function n(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++re||typeof r=="undefined"){r=1;break n}if(rr?0:r);++ee(t,i)&&o.push(i)}return o}function p(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++eu(f,l))&&(r&&f.push(l),i.push(a))}return i}function h(n){return function(t,r,e){var u={};r=X(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++eu&&(u=r); -else t=X(t,r,3),$(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function W(n,t,r,e){var u=3>arguments.length;t=X(t,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(r=n[++o]);++oarguments.length;return t=X(t,e,4),D(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function C(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return $(n,function(n){var r;r=++t,r=0+Bt(Ht()*(r-0+1)),e[t]=e[r],e[r]=n -}),e}function P(n,t,r){var e;t=X(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++re?Vt(0,u+e):e||0}else if(e)return e=J(t,r),t[e]===r?e:-1; -return n(t,r,e)}function H(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,i=n?n.length:0;for(t=X(t,r,3);++o>>1,r(n[e])=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(v,y))}return m&&a?a=clearTimeout(a):a||t===p||(a=setTimeout(h,t)),r&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function X(n,t,r){var e=typeof n;return null==n||"function"==e?a(n,t,r):"object"!=e?tt(n):Z(n)}function Y(n){return n}function Z(n){n||(n={});var t=Qt(n);return function(r){for(var e=t.length,u=false;e--&&(u=r[t[e]]===n[t[e]]););return u}}function nt(n){$(T(n),function(t){var r=u[t]=n[t]; -u.prototype[t]=function(){var n=[this.__wrapped__];return Dt.apply(n,arguments),n=r.apply(u,n),this.__chain__?new o(n,true):n}})}function tt(n){return function(t){return t[n]}}var rt,et=0,ut={},ot=+new Date+"",it=/&(?:amp|lt|gt|quot|#x27);/g,ft=/[&<>"']/g,at=/($^)/,lt=/['\n\r\t\u2028\u2029\\]/g,ct="[object Arguments]",pt="[object Array]",st="[object Boolean]",gt="[object Date]",ht="[object Number]",vt="[object Object]",yt="[object RegExp]",mt="[object String]",_t={"&":"&","<":"<",">":">",'"':""","'":"'"},dt={"&":"&","<":"<",">":">",""":'"',"'":"'"},bt={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},wt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},jt=bt[typeof window]&&window||this,xt=bt[typeof exports]&&exports&&!exports.nodeType&&exports,Tt=bt[typeof global]&&global; -!Tt||Tt.global!==Tt&&Tt.window!==Tt||(jt=Tt);var At=bt[typeof module]&&module&&!module.nodeType&&module,Et=At&&At.exports===xt&&xt,Ot=Array.prototype,St=Object.prototype,kt=jt._,Nt=St.toString,qt=RegExp("^"+(Nt+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=Math.ceil,Bt=Math.floor,Rt=Function.prototype.toString,$t=St.hasOwnProperty,Dt=Ot.push,It=St.propertyIsEnumerable,Mt=Ot.splice,Wt=_(Wt=Object.create)&&Wt,zt=_(zt=Array.isArray)&&zt,Ct=jt.isFinite,Pt=jt.isNaN,Ut=_(Ut=Object.keys)&&Ut,Vt=Math.max,Gt=Math.min,Ht=Math.random; -o.prototype=u.prototype;var Jt={};!function(){var n={0:1,length:1};Jt.spliceObjects=(Mt.call(n,0,1),!n[0])}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Wt||(f=function(){function n(){}return function(t){if(O(t)){n.prototype=t;var r=new n;n.prototype=null}return r||jt.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&$t.call(n,"callee")&&!It.call(n,"callee")||false});var Kt=zt||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Nt.call(n)==pt||false -},Lt=function(n){var t=[];if(!n||!bt[typeof n])return t;for(var r in n)$t.call(n,r)&&t.push(r);return t},Qt=Ut?function(n){return O(n)?Ut(n):[]}:Lt,Xt=function(n,t){if(!n||!bt[typeof n])return n;for(var r in n)if(t(n[r],r,n)===ut)break;return n};E(/x/)&&(E=function(n){return typeof n=="function"&&"[object Function]"==Nt.call(n)});var Yt=h(function(n,t,r){$t.call(n,r)?n[r]++:n[r]=1}),Zt=h(function(n,t,r){($t.call(n,r)?n[r]:n[r]=[]).push(t)}),nr=h(function(n,t,r){n[r]=t}),tr=I,rr=_(rr=Date.now)&&rr||function(){return(new Date).getTime() -};u.after=function(n,t){if(!E(t))throw new TypeError;return function(){return 1>--n?t.apply(this,arguments):void 0}},u.bind=L,u.bindAll=function(n){for(var t=1i(a,e)){for(t=r;--t;)if(0>i(n[t],e))continue n;a.push(e)}return a},u.invert=function(n,t){for(var r=-1,e=Qt(n),u=e.length,o={};++rt?0:t);++nr?Vt(0,e+r):Gt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},u.mixin=nt,u.noConflict=function(){return jt._=kt,this},u.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0,n+Bt(Ht()*(t-n+1)) -},u.reduce=W,u.reduceRight=z,u.result=function(n,t){if(n){var r=n[t];return E(r)?n[t]():r}},u.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Qt(n).length},u.some=P,u.sortedIndex=J,u.template=function(n,t,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=j({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||at).source+"|"+(e.interpolate||at).source+"|"+(e.evaluate||at).source+"|$","g"),function(t,e,u,o,i){return a+=n.slice(f,i).replace(lt,r),e&&(a+="'+_.escape("+e+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+t.length,t -}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return t?l(t):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(it,d))},u.uniqueId=function(n){var t=++et+"";return n?n+t:t},u.all=F,u.any=P,u.detect=R,u.findWhere=function(n,t){return U(n,t,true)},u.foldl=W,u.foldr=z,u.include=q,u.inject=W,u.first=V,u.last=function(n,t,r){var u=0,o=n?n.length:0; -if(typeof t!="number"&&null!=t){var i=o;for(t=X(t,r,3);i--&&t(n[i],i,n);)u++}else if(u=t,null==u||r)return n?n[o-1]:rt;return e(n,Vt(0,o-u))},u.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=N(n)),null==t||r?n?n[0+Bt(Ht()*(n.length-1-0+1))]:rt:(n=C(n),n.length=Gt(Vt(0,t),n.length),n)},u.take=V,u.head=V,nt(w({},u)),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},$("pop push reverse shift sort splice unshift".split(" "),function(n){var t=Ot[n]; -u.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),Jt.spliceObjects||0!==n.length||delete n[0],this}}),$(["concat","join","slice"],function(n){var t=Ot[n];u.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(jt._=u, define(function(){return u})):xt&&At?Et?(At.exports=u)._=u:xt._=u:jt._=u}).call(this); \ No newline at end of file +;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++te||typeof t=="undefined"){t=1;break n}if(tt?0:t);++ee(r,i)&&o.push(i)}return o}function p(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++eu(f,l))&&(t&&f.push(l),i.push(a))}return i}function v(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++eu&&(u=t); +else r=X(r,t,3),$(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function W(n,r,t,e){var u=3>arguments.length;r=X(r,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(t=n[++o]);++oarguments.length;return r=X(r,e,4),D(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function C(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return $(n,function(n){var t;t=++r,t=0+Br(Hr()*(t-0+1)),e[r]=e[t],e[t]=n +}),e}function P(n,r,t){var e;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++te?Vr(0,u+e):e||0}else if(e)return e=J(r,t),r[e]===t?e:-1; +return n(r,t,e)}function H(n,r,t){if(typeof r!="number"&&null!=r){var u=0,o=-1,i=n?n.length:0;for(r=X(r,t,3);++o>>1,t(n[e])=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(h,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(v,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function X(n,r,t){var e=typeof n;return null==n||"function"==e?a(n,r,t):"object"!=e?rr(n):Z(n)}function Y(n){return n}function Z(n){n||(n={});var r=Qr(n);return function(t){for(var e=r.length,u=false;e--&&(u=t[r[e]]===n[r[e]]););return u}}function nr(n){for(var r=-1,t=T(n),e=t.length;++r"']/g,ar=/($^)/,lr=/['\n\r\t\u2028\u2029\\]/g,cr="[object Arguments]",pr="[object Array]",sr="[object Boolean]",gr="[object Date]",vr="[object Number]",hr="[object Object]",yr="[object RegExp]",mr="[object String]",_r={"&":"&","<":"<",">":">",'"':""","'":"'"},dr={"&":"&","<":"<",">":">",""":'"',"'":"'"},br={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},wr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},jr=br[typeof window]&&window||this,xr=br[typeof exports]&&exports&&!exports.nodeType&&exports,Tr=br[typeof global]&&global; +!Tr||Tr.global!==Tr&&Tr.window!==Tr||(jr=Tr);var Ar=br[typeof module]&&module&&!module.nodeType&&module,Er=Ar&&Ar.exports===xr&&xr,Or=Array.prototype,Sr=Object.prototype,kr=jr._,Nr=Sr.toString,qr=RegExp("^"+(Nr+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fr=Math.ceil,Br=Math.floor,Rr=Function.prototype.toString,$r=Sr.hasOwnProperty,Dr=Or.push,Ir=Sr.propertyIsEnumerable,Mr=Or.splice,Wr=_(Wr=Object.create)&&Wr,zr=_(zr=Array.isArray)&&zr,Cr=jr.isFinite,Pr=jr.isNaN,Ur=_(Ur=Object.keys)&&Ur,Vr=Math.max,Gr=Math.min,Hr=Math.random; +o.prototype=u.prototype;var Jr={};!function(){var n={0:1,length:1};Jr.spliceObjects=(Mr.call(n,0,1),!n[0])}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Wr||(f=function(){function n(){}return function(r){if(O(r)){n.prototype=r;var t=new n;n.prototype=null}return t||jr.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&$r.call(n,"callee")&&!Ir.call(n,"callee")||false});var Kr=zr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Nr.call(n)==pr||false +},Lr=function(n){var r=[];if(!n||!br[typeof n])return r;for(var t in n)$r.call(n,t)&&r.push(t);return r},Qr=Ur?function(n){return O(n)?Ur(n):[]}:Lr,Xr=function(n,r){if(!n||!br[typeof n])return n;for(var t in n)if(r(n[t],t,n)===ur)break;return n};E(/x/)&&(E=function(n){return typeof n=="function"&&"[object Function]"==Nr.call(n)});var Yr=v(function(n,r,t){$r.call(n,t)?n[t]++:n[t]=1}),Zr=v(function(n,r,t){($r.call(n,t)?n[t]:n[t]=[]).push(r)}),nt=v(function(n,r,t){n[t]=r}),rt=I,tt=_(tt=Date.now)&&tt||function(){return(new Date).getTime() +};u.after=function(n,r){if(!E(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=L,u.bindAll=function(n){for(var r=1i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},u.invert=function(n,r){for(var t=-1,e=Qr(n),u=e.length,o={};++tr?0:r);++nt?Vr(0,e+t):Gr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=nr,u.noConflict=function(){return jr._=kr,this},u.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Br(Hr()*(r-n+1)) +},u.reduce=W,u.reduceRight=z,u.result=function(n,r){if(n){var t=n[r];return E(t)?n[r]():t}},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Qr(n).length},u.some=P,u.sortedIndex=J,u.template=function(n,r,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=j({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||ar).source+"|"+(e.interpolate||ar).source+"|"+(e.evaluate||ar).source+"|$","g"),function(r,e,u,o,i){return a+=n.slice(f,i).replace(lr,t),e&&(a+="'+_.escape("+e+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r +}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(ir,d))},u.uniqueId=function(n){var r=++er+"";return n?n+r:r},u.all=F,u.any=P,u.detect=R,u.findWhere=function(n,r){return U(n,r,true)},u.foldl=W,u.foldr=z,u.include=q,u.inject=W,u.first=V,u.last=function(n,r,t){var u=0,o=n?n.length:0; +if(typeof r!="number"&&null!=r){var i=o;for(r=X(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:tr;return e(n,Vr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=N(n)),null==r||t?n?n[0+Br(Hr()*(n.length-1-0+1))]:tr:(n=C(n),n.length=Gr(Vr(0,r),n.length),n)},u.take=V,u.head=V,nr(w({},u)),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},$("pop push reverse shift sort splice unshift".split(" "),function(n){var r=Or[n]; +u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Jr.spliceObjects||0!==n.length||delete n[0],this}}),$(["concat","join","slice"],function(n){var r=Or[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(jr._=u, define(function(){return u})):xr&&Ar?Er?(Ar.exports=u)._=u:xr._=u:jr._=u}).call(this); \ No newline at end of file diff --git a/lodash.js b/lodash.js index 461913287..e322461ef 100644 --- a/lodash.js +++ b/lodash.js @@ -6432,7 +6432,6 @@ if (options == null) { options = source; } - ctor = lodashWrapper; source = object; object = lodash; methodNames = functions(source); @@ -6442,30 +6441,35 @@ } else if (isObject(options) && 'chain' in options) { chain = options.chain; } - var ctor = object, - isFunc = isFunction(ctor); + var index = -1, + isFunc = isFunction(object), + length = methodNames ? methodNames.length : 0; + + while (++index < length) { + var methodName = methodNames[index], + func = object[methodName] = source[methodName]; - forEach(methodNames, function(methodName) { - var func = object[methodName] = source[methodName]; if (isFunc) { - ctor.prototype[methodName] = function() { - var chainAll = this.__chain__, - value = this.__wrapped__, - args = [value]; + object.prototype[methodName] = (function(func) { + return function() { + var chainAll = this.__chain__, + value = this.__wrapped__, + args = [value]; - push.apply(args, arguments); - var result = func.apply(object, args); - if (chain || chainAll) { - if (value === result && isObject(result)) { - return this; + push.apply(args, arguments); + var result = func.apply(object, args); + if (chain || chainAll) { + if (value === result && isObject(result)) { + return this; + } + result = new object(result); + result.__chain__ = chainAll; } - result = new ctor(result); - result.__chain__ = chainAll; - } - return result; - }; + return result; + }; + }(func)); } - }); + } } /**