From 3131cc3160481e0b7a87379b357f00699f40cdb0 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Tue, 5 Mar 2013 02:05:44 -0800 Subject: [PATCH] Replace `createWrapper` references with `new lodashWrapper` references and refine Closure Compiler fix. Former-commit-id: 552b98a4e9ccd42a00a980dd850e3b154cb7cd32 --- build.js | 8 +++---- build/post-compile.js | 6 ++---- dist/lodash.underscore.js | 6 +++--- dist/lodash.underscore.min.js | 40 +++++++++++++++++------------------ 4 files changed, 29 insertions(+), 31 deletions(-) diff --git a/build.js b/build.js index efce2d9a1..34baebc1f 100755 --- a/build.js +++ b/build.js @@ -319,7 +319,7 @@ " * // => 'moe is 40'", ' */', 'function chain(value) {', - ' value = new lodash(value);', + ' value = new lodashWrapper(value);', ' value.__chain__ = true;', ' return value;', '}', @@ -395,7 +395,7 @@ '', ' var result = func.apply(lodash, args);', ' if (this.__chain__) {', - ' result = createWrapper(result);', + ' result = new lodashWrapper(result);', ' result.__chain__ = true;', ' }', ' return result;', @@ -431,7 +431,7 @@ ' result = func.apply(value, arguments);', '', ' if (this.__chain__) {', - ' result = new lodash(result);', + ' result = new lodashWrapper(result);', ' result.__chain__ = true;', ' }', ' return result;', @@ -2536,7 +2536,7 @@ ' var result = func.apply(lodash, args);', " return (value && typeof value == 'object' && value == result)", ' ? this', - ' : createWrapper(result);', + ' : new lodashWrapper(result);', ' };', '});' ].join('\n' + indent); diff --git a/build/post-compile.js b/build/post-compile.js index d6cddae79..1cd032b6b 100644 --- a/build/post-compile.js +++ b/build/post-compile.js @@ -32,10 +32,8 @@ .replace(/prototype\s*=\s*{\s*valueOf\s*:\s*1\s*}/, 'prototype={valueOf:1,y:1}') .replace(/(document[^&]+&&)\s*(?:\w+|!\d)/, '$1!({toString:0}+"")') - source = source.replace(/(\w+\.prototype\s*=\s*)(\w+)(?=\.prototype;)/, function(match, left, funcName) { - return RegExp('\\b(function ' + funcName + '|' + funcName + '=function)\\(').test(source) - ? match - : left + /\w+(?=\.VERSION)/.exec(source); + source = source.replace(/(\w+\.prototype\s*=\s*)\w+(?=\.prototype;)/, function(match, left) { + return left + /\w+(?=\.VERSION)/.exec(source); }); // flip `typeof` expressions to help optimize Safari and diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index 0bf693446..f2e20f54c 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -3750,7 +3750,7 @@ var result = func.apply(lodash, args); if (this.__chain__) { - result = createWrapper(result); + result = new lodashWrapper(result); result.__chain__ = true; } return result; @@ -4070,7 +4070,7 @@ * // => 'moe is 40' */ function chain(value) { - value = new lodash(value); + value = new lodashWrapper(value); value.__chain__ = true; return value; } @@ -4321,7 +4321,7 @@ result = func.apply(value, arguments); if (this.__chain__) { - result = new lodash(result); + result = new lodashWrapper(result); result.__chain__ = true; } return result; diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index b48a42183..1880ca9b1 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -4,31 +4,31 @@ * Build: `lodash underscore -o ./dist/lodash.underscore.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;(function(n){function r(n,r){var t;if(n&&vr[typeof n])for(t in r||(r=G),n)if(wr.call(n,t)&&r(n[t],t,n)===nr)break}function t(n,r){var t;if(n&&vr[typeof n])for(t in r||(r=G),n)if(r(n[t],t,n)===nr)break}function e(n,r,t){if(n){r=r&&typeof t=="undefined"?r:V(r,t);var e=n.length;if(t=-1,typeof e=="number")for(;++tr||typeof n=="undefined")return 1; +;(function(n){function r(n,r){var t;if(n&&vr[typeof n])for(t in r||(r=G),n)if(wr.call(n,t)&&r(n[t],t,n)===nr)break}function t(n,r){var t;if(n&&vr[typeof n])for(t in r||(r=G),n)if(r(n[t],t,n)===nr)break}function e(n,r,t){if(n){r=r&&typeof t=="undefined"?r:W(r,t);var e=n.length;if(t=-1,typeof e=="number")for(;++tr||typeof n=="undefined")return 1; if(nt?0:t);++et?0:t);++eo&&(o=a)}}else r=V(r,t),e(n,function(n,t,e){t=r(n,t,e),t>u&&(u=t,o=n)});return o}function B(n,r,t,u){var o=3>arguments.length;if(r=V(r,u,4),Ir(n)){var i=-1,a=n.length;for(o&&(t=n[++i]);++iarguments.length; -if(typeof u!="number")var i=Tr(n),u=i.length;return r=V(r,e,4),F(n,function(e,a,f){a=i?i[--u]:--u,t=o?(o=L,n[a]):r(t,n[a],a,f)}),t}function M(n,r,t){var u;if(r=V(r,t),Ir(n)){t=-1;for(var o=n.length;++tt?Rr(0,u+t):t||0)-1;else if(t)return e=C(n,r),n[e]===r?e:-1;for(;++e>>1,t(n[e])z(a,f))&&(t&&a.push(f),i.push(e))}return i}function U(n,r){return Dr||Or&&2o&&(o=a)}}else r=W(r,t),e(n,function(n,t,e){t=r(n,t,e),t>u&&(u=t,o=n)});return o}function B(n,r,t,u){var o=3>arguments.length;if(r=W(r,u,4),Ir(n)){var i=-1,a=n.length;for(o&&(t=n[++i]);++iarguments.length; +if(typeof u!="number")var i=Tr(n),u=i.length;return r=W(r,e,4),F(n,function(e,a,f){a=i?i[--u]:--u,t=o?(o=L,n[a]):r(t,n[a],a,f)}),t}function M(n,r,t){var u;if(r=W(r,t),Ir(n)){t=-1;for(var o=n.length;++tt?Rr(0,u+t):t||0)-1;else if(t)return e=P(n,r),n[e]===r?e:-1;for(;++e>>1,t(n[e])z(a,f))&&(t&&a.push(f),i.push(e))}return i}function V(n,r){return Dr||Or&&2"']/g,ur=/['\n\r\t\u2028\u2029\\]/g,or="[object Arguments]",ir="[object Array]",ar="[object Boolean]",fr="[object Date]",cr="[object Number]",lr="[object Object]",pr="[object RegExp]",sr="[object String]",vr={"boolean":L,"function":J,object:J,number:L,string:L,undefined:L},gr={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},hr=[],Y={},yr=n._,mr=RegExp("^"+(Y.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),_r=Math.ceil,dr=n.clearTimeout,br=hr.concat,jr=Math.floor,wr=Y.hasOwnProperty,Ar=hr.push,xr=n.setTimeout,Er=Y.toString,Or=mr.test(Or=p.bind)&&Or,Sr=mr.test(Sr=Array.isArray)&&Sr,Nr=n.isFinite,kr=n.isNaN,Fr=mr.test(Fr=Object.keys)&&Fr,Rr=Math.max,qr=Math.min,Br=Math.random,Y=mr.test(n.attachEvent),Y=Or&&!/\n|true/.test(Or+Y),Dr=Or&&!Y,Mr=(Mr={0:1,length:1},hr.splice.call(Mr,0,1),Mr[0]),$r=arguments.constructor==Object; -u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},c.prototype=u.prototype,v(arguments)||(v=function(n){return n?wr.call(n,"callee"):L});var Ir=Sr||function(n){return $r&&n instanceof Array||Er.call(n)==ir},Tr=Fr?function(n){return w(n)?Fr(n):[]}:g,zr={"&":"&","<":"<",">":">",'"':""","'":"'"},Wr=_(zr);j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==Er.call(n)});var Cr=R;u.after=function(n,r){return 1>n?r():function(){return 1>--n?r.apply(this,arguments):void 0 -}},u.bind=U,u.bindAll=function(n){for(var r=br.apply(hr,arguments),t=1/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},c.prototype=u.prototype,v(arguments)||(v=function(n){return n?wr.call(n,"callee"):L});var Ir=Sr||function(n){return $r&&n instanceof Array||Er.call(n)==ir},Tr=Fr?function(n){return w(n)?Fr(n):[]}:g,zr={"&":"&","<":"<",">":">",'"':""","'":"'"},Cr=_(zr);j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==Er.call(n)});var Pr=R;u.after=function(n,r){return 1>n?r():function(){return 1>--n?r.apply(this,arguments):void 0 +}},u.bind=V,u.bindAll=function(n){for(var r=br.apply(hr,arguments),t=1z(e,o,t)&&u.push(o)}return u},u.filter=N,u.flatten=T,u.forEach=F,u.functions=m,u.groupBy=function(n,r,t){var e={}; -return r=V(r,t),F(n,function(n,t,u){t=r(n,t,u)+"",(wr.call(e,t)?e[t]:e[t]=[]).push(n)}),e},u.initial=function(n,r,t){if(!n)return[];var e=0,u=n.length;if(typeof r!="number"&&r!=K){var o=u;for(r=V(r,t);o--&&r(n[o],o,n);)e++}else e=r==K||t?1:r||e;return p(n,0,qr(Rr(0,u-e),u))},u.intersection=function(n){var r=arguments,t=r.length,e=-1,u=n?n.length:0,o=[];n:for(;++ez(o,i)){for(var a=t;--a;)if(0>z(r[a],i))continue n;o.push(i)}}return o},u.invert=_,u.invoke=function(n,r){var t=p(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0); -return F(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},u.keys=Tr,u.map=R,u.max=q,u.memoize=function(n,r){var t={};return function(){var e=(r?r.apply(this,arguments):arguments[0])+"";return wr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var u=1/0,o=u;if(!r&&Ir(n)){t=-1;for(var i=n.length;++tz(r,t,1)&&(e[t]=n) -}),e},u.once=function(n){var r,t;return function(){return r?t:(r=J,t=n.apply(this,arguments),n=K,t)}},u.pairs=function(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++rz(arguments,u,1)&&e.push(u)}return e},u.wrap=function(n,r){return function(){var t=[n]; -return Ar.apply(t,arguments),r.apply(this,t)}},u.zip=function(n){for(var r=-1,t=n?q(Cr(arguments,"length")):0,e=Array(t);++rz(o,i)){for(var a=t;--a;)if(0>z(r[a],i))continue n;o.push(i)}}return o},u.invert=_,u.invoke=function(n,r){var t=p(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0); +return F(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},u.keys=Tr,u.map=R,u.max=q,u.memoize=function(n,r){var t={};return function(){var e=(r?r.apply(this,arguments):arguments[0])+"";return wr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var u=1/0,o=u;if(!r&&Ir(n)){t=-1;for(var i=n.length;++tz(r,t,1)&&(e[t]=n) +}),e},u.once=function(n){var r,t;return function(){return r?t:(r=J,t=n.apply(this,arguments),n=K,t)}},u.pairs=function(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++rz(arguments,u,1)&&e.push(u)}return e},u.wrap=function(n,r){return function(){var t=[n]; +return Ar.apply(t,arguments),r.apply(this,t)}},u.zip=function(n){for(var r=-1,t=n?q(Pr(arguments,"length")):0,e=Array(t);++rt?Rr(0,e+t):qr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=H,u.noConflict=function(){return n._=yr,this},u.random=function(n,r){return n==K&&r==K&&(r=1),n=+n||0,r==K&&(r=n,n=0),n+jr(Br()*((+r||0)-n+1))},u.reduce=B,u.reduceRight=D,u.result=function(n,r){var t=n?n[r]:K;return j(t)?n[r]():t},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Tr(n).length -},u.some=M,u.sortedIndex=C,u.template=function(n,r,t){n||(n=""),t=y({},t,u.templateSettings);var e=0,o="__p+='",i=t.variable;n.replace(RegExp((t.escape||tr).source+"|"+(t.interpolate||tr).source+"|"+(t.evaluate||tr).source+"|$","g"),function(r,t,u,i,f){return o+=n.slice(e,f).replace(ur,a),t&&(o+="'+_['escape']("+t+")+'"),i&&(o+="';"+i+";__p+='"),u&&(o+="'+((__t=("+u+"))==null?'':__t)+'"),e=f+r.length,r}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}"; -try{var f=Function("_","return "+o)(u)}catch(c){throw c.source=o,c}return r?f(r):(f.source=o,f)},u.unescape=function(n){return n==K?"":(n+"").replace(rr,s)},u.uniqueId=function(n){var r=++Z+"";return n?n+r:r},u.all=S,u.any=M,u.detect=k,u.foldl=B,u.foldr=D,u.include=O,u.inject=B,u.first=I,u.last=function(n,r,t){if(n){var e=0,u=n.length;if(typeof r!="number"&&r!=K){var o=u;for(r=V(r,t);o--&&r(n[o],o,n);)e++}else if(e=r,e==K||t)return n[u-1];return p(n,Rr(0,u-e))}},u.take=I,u.head=I,u.chain=function(n){return n=new u(n),n.__chain__=J,n -},u.VERSION="1.0.1",H(u),u.prototype.chain=function(){return this.__chain__=J,this},u.prototype.value=function(){return this.__wrapped__},e("pop push reverse shift sort splice unshift".split(" "),function(n){var r=hr[n];u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Mr&&0===n.length&&delete n[0],this}}),e(["concat","join","slice"],function(n){var r=hr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new u(n),n.__chain__=J),n +},u.some=M,u.sortedIndex=P,u.template=function(n,r,t){n||(n=""),t=y({},t,u.templateSettings);var e=0,o="__p+='",i=t.variable;n.replace(RegExp((t.escape||tr).source+"|"+(t.interpolate||tr).source+"|"+(t.evaluate||tr).source+"|$","g"),function(r,t,u,i,f){return o+=n.slice(e,f).replace(ur,a),t&&(o+="'+_['escape']("+t+")+'"),i&&(o+="';"+i+";__p+='"),u&&(o+="'+((__t=("+u+"))==null?'':__t)+'"),e=f+r.length,r}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}"; +try{var f=Function("_","return "+o)(u)}catch(c){throw c.source=o,c}return r?f(r):(f.source=o,f)},u.unescape=function(n){return n==K?"":(n+"").replace(rr,s)},u.uniqueId=function(n){var r=++Z+"";return n?n+r:r},u.all=S,u.any=M,u.detect=k,u.foldl=B,u.foldr=D,u.include=O,u.inject=B,u.first=I,u.last=function(n,r,t){if(n){var e=0,u=n.length;if(typeof r!="number"&&r!=K){var o=u;for(r=W(r,t);o--&&r(n[o],o,n);)e++}else if(e=r,e==K||t)return n[u-1];return p(n,Rr(0,u-e))}},u.take=I,u.head=I,u.chain=function(n){return n=new c(n),n.__chain__=J,n +},u.VERSION="1.0.1",H(u),u.prototype.chain=function(){return this.__chain__=J,this},u.prototype.value=function(){return this.__wrapped__},e("pop push reverse shift sort splice unshift".split(" "),function(n){var r=hr[n];u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Mr&&0===n.length&&delete n[0],this}}),e(["concat","join","slice"],function(n){var r=hr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new c(n),n.__chain__=J),n }}),Q&&!Q.nodeType?X?(X.exports=u)._=u:Q._=u:n._=u})(this); \ No newline at end of file