From 5f1a4ea08da29a3f02d7f64dc42cc60c271e6953 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Mon, 1 Jul 2013 08:46:44 -0700 Subject: [PATCH] Fix build. Former-commit-id: e936444a8db7c16fd4cc456e5d8f9fbadf935ad1 --- build.js | 26 +++++++-------- dist/lodash.underscore.js | 40 +++++++++++------------ dist/lodash.underscore.min.js | 60 +++++++++++++++++------------------ test/test-build.js | 14 ++++---- 4 files changed, 71 insertions(+), 69 deletions(-) diff --git a/build.js b/build.js index 0484e457b..09062995e 100755 --- a/build.js +++ b/build.js @@ -660,7 +660,7 @@ source = source.replace(/^ *lodash\.prototype\.(?:toString|valueOf) *=.+\n/gm, ''); // remove `lodash.prototype` batch method assignments - source = source.replace(/(?:\s*\/\/.*)*\n( *)forOwn\(lodash, *function\(func, *methodName\)[\s\S]+?\n\1}.+/g, ''); + source = source.replace(/(?:\s*\/\/.*)*\n( *)forOwn\(lodash,[\s\S]+?\n\1}.+/g, ''); // replace `_.mixin` source = replaceFunction(source, 'mixin', [ @@ -2434,7 +2434,9 @@ var categories = _.intersection(funcNames, allCategories); categories.forEach(function(category) { - var otherFuncs = getNamesByCategory(category); + var otherFuncs = getNamesByCategory(category).filter(function(identifier) { + return typeof _[identifier] == 'function'; + }); // limit function names to those available for specific builds if (isBackbone) { @@ -3657,7 +3659,7 @@ source = source.replace(/(\?\s*)basicEach(?=\s*:)/g, '$1forEach'); // replace `basicEach` with `_.forEach` in the function assignment snippet - source = source.replace(/\bbasicEach(?=\(\[)/g, 'forEach'); + source = source.replace(/\bbasicEach(?=\(\[')/g, 'forEach'); } var context = vm.createContext({ @@ -3807,6 +3809,10 @@ } }); + // replace `lodash.createCallback` references with `createCallback` + if (!isLodashFunc('createCallback')) { + source = source.replace(/\blodash\.(createCallback\()\b/g, '$1'); + } // remove chainability from `basicEach` and `_.forEach` if (!isLodashFunc('forEach')) { _.each(['basicEach', 'forEach'], function(funcName) { @@ -3919,7 +3925,7 @@ // remove all `lodash.prototype` additions source = source - .replace(/(?:\s*\/\/.*)*\n( *)forOwn\(lodash, *function\(func, *funcName\)[\s\S]+?\n\1}.+/g, '') + .replace(/(?:\s*\/\/.*)*\n( *)forOwn\(lodash,[\s\S]+?\n\1}.+/g, '') .replace(/(?:\s*\/\/.*)*\n( *)(?:basicEach|forEach)\(\['[\s\S]+?\n\1}.+/g, '') .replace(/(?:\s*\/\/.*)*\n *lodash\.prototype.[\s\S]+?;/g, ''); } @@ -4020,7 +4026,8 @@ // remove functions from the build allFuncs.forEach(function(otherName) { if (!_.contains(buildFuncs, otherName) && - !(otherName == 'findWhere' && !isUnderscore)) { + !(otherName == 'findWhere' && !isUnderscore) && + !(otherName == 'lodash' && !isNoDep)) { source = removeFunction(source, otherName); if (!isNoDep) { source = removeFromCreateIterator(source, otherName); @@ -4042,13 +4049,6 @@ } }); - // remove unneeded function variable dependencies - _.each(varDependencies, function(varName) { - if (!_.contains(includeVars, varName)) { - source = removeVar(source, varName); - } - }); - // remove unused variables (function() { var isShallow = isExcluded('runInContext'), @@ -4077,7 +4077,7 @@ }()); if (isNoDep) { - // convert the `lodash.templateSettings` property assignment to a variable assignment + // replace the `lodash.templateSettings` property assignment with a variable assignment source = source.replace(/\b(lodash\.)(?=templateSettings *=)/, 'var '); // remove the `lodash` namespace from properties diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index 0aa4fb546..1320c9dd0 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -1500,7 +1500,7 @@ */ function countBy(collection, callback, thisArg) { var result = {}; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); forEach(collection, function(value, key, collection) { key = String(callback(value, key, collection)); @@ -1552,7 +1552,7 @@ */ function every(collection, callback, thisArg) { var result = true; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); var index = -1, length = collection ? collection.length : 0; @@ -1613,7 +1613,7 @@ */ function filter(collection, callback, thisArg) { var result = []; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); var index = -1, length = collection ? collection.length : 0; @@ -1679,7 +1679,7 @@ * // => { 'name': 'banana', 'organic': true, 'type': 'fruit' } */ function find(collection, callback, thisArg) { - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); var index = -1, length = collection ? collection.length : 0; @@ -1756,7 +1756,7 @@ var index = -1, length = collection ? collection.length : 0; - callback = callback && typeof thisArg == 'undefined' ? callback : lodash.createCallback(callback, thisArg); + callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg); if (typeof length == 'number') { while (++index < length) { if (callback(collection[index], index, collection) === indicatorObject) { @@ -1804,7 +1804,7 @@ */ function groupBy(collection, callback, thisArg) { var result = {}; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); forEach(collection, function(value, key, collection) { key = String(callback(value, key, collection)); @@ -1891,7 +1891,7 @@ var index = -1, length = collection ? collection.length : 0; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); if (typeof length == 'number') { var result = Array(length); while (++index < length) { @@ -1960,7 +1960,7 @@ } } } else { - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); forEach(collection, function(value, index, collection) { var current = callback(value, index, collection); @@ -2027,7 +2027,7 @@ } } } else { - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); forEach(collection, function(value, index, collection) { var current = callback(value, index, collection); @@ -2106,7 +2106,7 @@ function reduce(collection, callback, accumulator, thisArg) { if (!collection) return accumulator; var noaccum = arguments.length < 3; - callback = lodash.createCallback(callback, thisArg, 4); + callback = createCallback(callback, thisArg, 4); var index = -1, length = collection.length; @@ -2156,7 +2156,7 @@ var props = keys(collection); length = props.length; } - callback = lodash.createCallback(callback, thisArg, 4); + callback = createCallback(callback, thisArg, 4); forEach(collection, function(value, index, collection) { index = props ? props[--length] : --length; accumulator = noaccum @@ -2206,7 +2206,7 @@ * // => [{ 'name': 'carrot', 'organic': true, 'type': 'vegetable' }] */ function reject(collection, callback, thisArg) { - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); return filter(collection, function(value, index, collection) { return !callback(value, index, collection); }); @@ -2308,7 +2308,7 @@ */ function some(collection, callback, thisArg) { var result; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); var index = -1, length = collection ? collection.length : 0; @@ -2367,7 +2367,7 @@ length = collection ? collection.length : 0, result = Array(typeof length == 'number' ? length : 0); - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); forEach(collection, function(value, key, collection) { result[++index] = { 'criteria': callback(value, key, collection), @@ -2562,7 +2562,7 @@ if (typeof callback != 'number' && callback != null) { var index = -1; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); while (++index < length && callback(array[index], index, array)) { n++; } @@ -2733,7 +2733,7 @@ if (typeof callback != 'number' && callback != null) { var index = length; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); while (index-- && callback(array[index], index, array)) { n++; } @@ -2846,7 +2846,7 @@ if (typeof callback != 'number' && callback != null) { var index = length; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); while (index-- && callback(array[index], index, array)) { n++; } @@ -3006,7 +3006,7 @@ index = -1, length = array ? array.length : 0; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); while (++index < length && callback(array[index], index, array)) { n++; } @@ -3069,7 +3069,7 @@ high = array ? array.length : low; // explicitly reference `identity` for better inlining in Firefox - callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity; + callback = callback ? createCallback(callback, thisArg, 1) : identity; value = callback(value); while (low < high) { @@ -3160,7 +3160,7 @@ } if (callback != null) { seen = []; - callback = lodash.createCallback(callback, thisArg); + callback = createCallback(callback, thisArg); } while (++index < length) { var value = array[index], diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index a014513a9..561824954 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -4,33 +4,33 @@ * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(ne&&(e=r,u=n) -});else for(;++ou&&(u=r);return u}function N(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;t=a.createCallback(t,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(r=n[++o]);++oarguments.length;if(typeof u!="number")var i=qt(n),u=i.length;return t=a.createCallback(t,e,4),E(n,function(e,a,l){a=i?i[--u]:--u,r=o?(o=!1,n[a]):t(r,n[a],a,l) -}),r}function q(n,t,r){var e;t=a.createCallback(t,r),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++rr(u,o)&&a.push(o)}return a}function M(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=-1;for(t=a.createCallback(t,r);++oe?Ot(0,u+e):e||0}else if(e)return e=P(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function z(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=a.createCallback(t,r);++u>>1,r(n[e])o(c,p))&&(r&&c.push(p),l.push(e))}return l}function V(n,t){return Bt.fastBind||jt&&2"']/g,Y=/['\n\r\t\u2028\u2029\\]/g,Z="[object Arguments]",nt="[object Array]",tt="[object Boolean]",rt="[object Date]",et="[object Number]",ut="[object Object]",at="[object RegExp]",ot="[object String]",it={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},lt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},ct=it[typeof exports]&&exports,ft=it[typeof module]&&module&&module.exports==ct&&module,pt=it[typeof global]&&global; -!pt||pt.global!==pt&&pt.window!==pt||(n=pt);var st=[],pt=Object.prototype,vt=n._,gt=RegExp("^"+(pt.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ht=Math.ceil,yt=st.concat,mt=Math.floor,bt=pt.hasOwnProperty,_t=st.push,dt=pt.toString,jt=gt.test(jt=dt.bind)&&jt,kt=gt.test(kt=Object.create)&&kt,wt=gt.test(wt=Array.isArray)&&wt,Ct=n.isFinite,At=n.isNaN,xt=gt.test(xt=Object.keys)&&xt,Ot=Math.max,Et=Math.min,St=Math.random,Tt=st.slice,pt=gt.test(n.attachEvent),Nt=jt&&!/\n|true/.test(jt+pt); -o.prototype=a.prototype;var Bt={};!function(){var n={0:1,length:1};Bt.fastBind=jt&&!Nt,Bt.spliceObjects=(st.splice.call(n,0,1),!n[0])}(1),a.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},kt||(l=function(n){if(d(n)){u.prototype=n;var t=new u;u.prototype=null}return t||{}}),s(arguments)||(s=function(n){return n?bt.call(n,"callee"):!1});var Ft=wt||function(n){return n?typeof n=="object"&&dt.call(n)==nt:!1},wt=function(n){var t,r=[]; -if(!n||!it[typeof n])return r;for(t in n)bt.call(n,t)&&r.push(t);return r},qt={}.o=xt?function(n){return d(n)?xt(n):[]}:wt,Rt={"&":"&","<":"<",">":">",'"':""","'":"'"},Dt=y(Rt),Mt=function(n,t){var r;if(!n||!it[typeof n])return n;for(r in n)if(t(n[r],r,n)===J)break;return n},$t=function(n,t){var r;if(!n||!it[typeof n])return n;for(r in n)if(bt.call(n,r)&&t(n[r],r,n)===J)break;return n};_(/x/)&&(_=function(n){return typeof n=="function"&&"[object Function]"==dt.call(n)}),a.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0 -}},a.bind=V,a.bindAll=function(n){for(var t=1u(o,i)){for(var l=r;--l;)if(0>u(t[l],i))continue n;o.push(i)}}return o -},a.invert=y,a.invoke=function(n,t){var r=Tt.call(arguments,2),e=-1,u=typeof t=="function",a=n?n.length:0,o=Array(typeof a=="number"?a:0);return E(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},a.keys=qt,a.map=S,a.max=T,a.memoize=function(n,t){var r={};return function(){var e=K+(t?t.apply(this,arguments):arguments[0]);return bt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},a.min=function(n,t,r){var e=1/0,u=e,o=-1,i=n?n.length:0;if(t||typeof i!="number")t=a.createCallback(t,r),E(n,function(n,r,a){r=t(n,r,a),rt(r,u)&&(e[u]=n)}),e},a.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},a.pairs=function(n){for(var t=-1,r=qt(n),e=r.length,u=Array(e);++tr?0:r);++tr?Ot(0,e+r):Et(r,e-1))+1);e--;)if(n[e]===t)return e; -return-1},a.mixin=G,a.noConflict=function(){return n._=vt,this},a.random=function(n,t){null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0;var r=St();return n%1||t%1?n+Et(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+mt(r*(t-n+1))},a.reduce=B,a.reduceRight=F,a.result=function(n,t){var r=n?n[t]:null;return _(r)?n[t]():r},a.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:qt(n).length},a.some=q,a.sortedIndex=P,a.template=function(n,t,r){var u=a.templateSettings;n||(n=""),r=g({},r,u); -var o=0,i="__p+='",u=r.variable;n.replace(RegExp((r.escape||Q).source+"|"+(r.interpolate||Q).source+"|"+(r.evaluate||Q).source+"|$","g"),function(t,r,u,a,l){return i+=n.slice(o,l).replace(Y,e),r&&(i+="'+_['escape']("+r+")+'"),a&&(i+="';"+a+";__p+='"),u&&(i+="'+((__t=("+u+"))==null?'':__t)+'"),o=l+t.length,t}),i+="';\n",u||(u="obj",i="with("+u+"||{}){"+i+"}"),i="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var l=Function("_","return "+i)(a) -}catch(c){throw c.source=i,c}return t?l(t):(l.source=i,l)},a.unescape=function(n){return null==n?"":(n+"").replace(L,p)},a.uniqueId=function(n){var t=++H+"";return n?n+t:t},a.all=A,a.any=q,a.detect=O,a.findWhere=function(n,t){return R(n,t,!0)},a.foldl=B,a.foldr=F,a.include=C,a.inject=B,a.first=M,a.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=a.createCallback(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[u-1];return Tt.call(n,Ot(0,u-e))}},a.take=M,a.head=M,a.VERSION="1.3.1",G(a),a.prototype.chain=function(){return this.__chain__=!0,this -},a.prototype.value=function(){return this.__wrapped__},E("pop push reverse shift sort splice unshift".split(" "),function(n){var t=st[n];a.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!Bt.spliceObjects&&0===n.length&&delete n[0],this}}),E(["concat","join","slice"],function(n){var t=st[n];a.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=a, define(function(){return a -})):ct&&!ct.nodeType?ft?(ft.exports=a)._=a:ct._=a:n._=a}(this); \ No newline at end of file +;!function(n){function t(n,t){var r;if(n&>[typeof n])for(r in n)if(Ot.call(n,r)&&t(n[r],r,n)===nt)break}function r(n,t){var r;if(n&>[typeof n])for(r in n)if(t(n[r],r,n)===nt)break}function e(n){var t,r=[];if(!n||!gt[typeof n])return r;for(t in n)Ot.call(n,t)&&r.push(t);return r}function u(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(ne&&(e=r,u=n)});else for(;++ou&&(u=r);return u}function R(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;r=J(r,u,4);var i=-1,a=n.length;if(typeof a=="number")for(o&&(e=n[++i]);++iarguments.length;if(typeof u!="number")var i=Pt(n),u=i.length;return t=J(t,e,4),B(n,function(e,a,f){a=i?i[--u]:--u,r=o?(o=Y,n[a]):t(r,n[a],a,f)}),r}function $(n,r,e){var u;r=J(r,e),e=-1;var o=n?n.length:0;if(typeof o=="number")for(;++er(u,i)&&o.push(i)}return o}function C(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=X){var o=-1;for(t=J(t,r);++or?Rt(0,e+r):r||0}else if(r)return r=W(n,t),n[r]===t?r:-1;return n?u(n,t,r):-1}function V(n,t,r){if(typeof t!="number"&&t!=X){var e=0,u=-1,o=n?n.length:0;for(t=J(t,r);++u>>1,r(n[e])o(f,c))&&(r&&f.push(c),a.push(e))}return a}function H(n,t){return zt.fastBind||Tt&&2"']/g,ot=/['\n\r\t\u2028\u2029\\]/g,it="[object Arguments]",at="[object Array]",ft="[object Boolean]",ct="[object Date]",lt="[object Number]",pt="[object Object]",st="[object RegExp]",vt="[object String]",gt={"boolean":Y,"function":Q,object:Q,number:Y,string:Y,undefined:Y},ht={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},yt=gt[typeof exports]&&exports,mt=gt[typeof module]&&module&&module.exports==yt&&module,_t=gt[typeof global]&&global; +!_t||_t.global!==_t&&_t.window!==_t||(n=_t);var dt=[],_t=Object.prototype,bt=n._,jt=RegExp("^"+(_t.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),wt=Math.ceil,At=dt.concat,xt=Math.floor,Ot=_t.hasOwnProperty,Et=dt.push,St=_t.toString,Tt=jt.test(Tt=St.bind)&&Tt,Nt=jt.test(Nt=Object.create)&&Nt,kt=jt.test(kt=Array.isArray)&&kt,Bt=n.isFinite,Ft=n.isNaN,qt=jt.test(qt=Object.keys)&&qt,Rt=Math.max,Dt=Math.min,Mt=Math.random,$t=dt.slice,_t=jt.test(n.attachEvent),It=Tt&&!/\n|true/.test(Tt+_t); +c.prototype=f.prototype;var zt={};!function(){var n={0:1,length:1};zt.fastBind=Tt&&!It,zt.spliceObjects=(dt.splice.call(n,0,1),!n[0])}(1),f.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Nt||(p=function(n){if(A(n)){a.prototype=n;var t=new a;a.prototype=X}return t||{}}),h(arguments)||(h=function(n){return n?Ot.call(n,"callee"):Y});var Ct=kt||function(n){return n?typeof n=="object"&&St.call(n)==at:Y},Pt={}.o=qt?function(n){return A(n)?qt(n):[] +}:e,Ut={"&":"&","<":"<",">":">",'"':""","'":"'"},Vt=d(Ut);w(/x/)&&(w=function(n){return typeof n=="function"&&"[object Function]"==St.call(n)}),f.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},f.bind=H,f.bindAll=function(n){for(var t=1u(i,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;i.push(a)}}return i},f.invert=d,f.invoke=function(n,t){var r=$t.call(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return B(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},f.keys=Pt,f.map=F,f.max=q,f.memoize=function(n,t){var r={};return function(){var e=tt+(t?t.apply(this,arguments):arguments[0]); +return Ot.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},f.min=function(n,t,r){var e=1/0,u=e,o=-1,i=n?n.length:0;if(t||typeof i!="number")t=J(t,r),B(n,function(n,r,o){r=t(n,r,o),rt(e,r)&&(u[r]=n)}),u},f.once=function(n){var t,r;return function(){return t?r:(t=Q,r=n.apply(this,arguments),n=X,r)}},f.pairs=function(n){for(var t=-1,r=Pt(n),e=r.length,u=Array(e);++tr?0:r);++tr?Rt(0,e+r):Dt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},f.mixin=L,f.noConflict=function(){return n._=bt,this},f.random=function(n,t){n==X&&t==X&&(t=1),n=+n||0,t==X?(t=n,n=0):t=+t||0;var r=Mt();return n%1||t%1?n+Dt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+xt(r*(t-n+1))},f.reduce=D,f.reduceRight=M,f.result=function(n,t){var r=n?n[t]:X;return w(r)?n[t]():r},f.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Pt(n).length},f.some=$,f.sortedIndex=W,f.template=function(n,t,r){var e=f.templateSettings; +n||(n=""),r=m({},r,e);var u=0,o="__p+='",e=r.variable;n.replace(RegExp((r.escape||et).source+"|"+(r.interpolate||et).source+"|"+(r.evaluate||et).source+"|$","g"),function(t,r,e,a,f){return o+=n.slice(u,f).replace(ot,i),r&&(o+="'+_['escape']("+r+")+'"),a&&(o+="';"+a+";__p+='"),e&&(o+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+t.length,t}),o+="';\n",e||(e="obj",o="with("+e+"||{}){"+o+"}"),o="function("+e+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}"; +try{var a=Function("_","return "+o)(f)}catch(c){throw c.source=o,c}return t?a(t):(a.source=o,a)},f.unescape=function(n){return n==X?"":(n+"").replace(rt,g)},f.uniqueId=function(n){var t=++Z+"";return n?n+t:t},f.all=T,f.any=$,f.detect=k,f.findWhere=function(n,t){return I(n,t,Q)},f.foldl=D,f.foldr=M,f.include=S,f.inject=D,f.first=C,f.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=X){var o=u;for(t=J(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,e==X||r)return n[u-1];return $t.call(n,Rt(0,u-e)) +}},f.take=C,f.head=C,f.VERSION="1.3.1",L(f),f.prototype.chain=function(){return this.__chain__=Q,this},f.prototype.value=function(){return this.__wrapped__},B("pop push reverse shift sort splice unshift".split(" "),function(n){var t=dt[n];f.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!zt.spliceObjects&&0===n.length&&delete n[0],this}}),B(["concat","join","slice"],function(n){var t=dt[n];f.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new c(n),n.__chain__=Q),n +}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=f, define(function(){return f})):yt&&!yt.nodeType?mt?(mt.exports=f)._=f:yt._=f:n._=f}(this); \ No newline at end of file diff --git a/test/test-build.js b/test/test-build.js index 40f18aa64..a293f48f2 100644 --- a/test/test-build.js +++ b/test/test-build.js @@ -380,7 +380,7 @@ func = lodash[methodName]; try { - if (_.contains(arraysFuncs, methodName)) { + if (_.contains(categoryMap.Arrays, methodName)) { if (/(?:indexOf|sortedIndex|without)$/i.test(methodName)) { func(array, string); } else if (/^(?:difference|intersection|union|uniq|zip)/.test(methodName)) { @@ -391,10 +391,10 @@ func(array); } } - else if (_.contains(chainingFuncs, methodName)) { + else if (_.contains(categoryMap.Chaining, methodName)) { lodash(array)[methodName](noop); } - else if (_.contains(collectionsFuncs, methodName)) { + else if (_.contains(categoryMap.Collections, methodName)) { if (/^(?:count|group|sort)By$/.test(methodName)) { func(array, noop); func(array, string); @@ -422,7 +422,7 @@ func(object, noop, object); } } - else if (_.contains(functionsFuncs, methodName)) { + else if (_.contains(categoryMap.Functions, methodName)) { if (methodName == 'after') { func(1, noop); } else if (methodName == 'bindAll') { @@ -1489,7 +1489,7 @@ if (funcName == 'zip') { command += ',unzip'; } - if (funcName != 'chain' && _.contains(chainingFuncs.concat('mixin'), funcName)) { + if (funcName != 'chain' && _.contains(categoryMap.Chaining.concat('mixin'), funcName)) { command += ',chain'; } if (_.contains(['isEqual', 'isPlainObject'], funcName)) { @@ -1621,7 +1621,9 @@ // expand categories to function names funcNames.slice().forEach(function(category) { - var otherNames = categoryMap[category]; + var otherNames = _.filter(categoryMap[category], function(identifier) { + return typeof _[identifier] == 'function'; + }); // limit function names to those available for specific builds otherNames = _.intersection(otherNames,