Ensure _.every and _.some work in Underscore builds without the "exit early" feature of _.forEach and reduce unexposed forIn and forOwn.

Former-commit-id: 35488c1c0f70cb5446c875bd4647b0ce47077d9e
This commit is contained in:
John-David Dalton
2012-10-20 02:38:59 -07:00
parent 7dfe69f6a5
commit 84eec23793
3 changed files with 56 additions and 33 deletions

View File

@@ -1185,9 +1185,17 @@
// simplify DOM node check from `_.isEqual`
source = source.replace(/(if *\(className *!= *objectClass).+?noNodeClass[\s\S]+?{/, '$1) {');
// remove "exit early" feature from `_.forEach`, `_.forIn`, and `_.forOwn`
// unexpose "exit early" feature from `_.forEach`, `_.forIn`, and `_.forOwn`
source = source.replace(/( +)var forEachIteratorOptions *=[\s\S]+?\n\1.+?;/, function(match) {
return match.replace(/if *\(callback[^']+/, 'callback(value, index, collection)');
return match.replace(/=== *false\)/, '=== objectTypes)');
});
source = source.replace(matchFunction(source, 'every'), function(match) {
return match.replace(/\(result *= *(.+?)\);/, '!(result = $1) && objectTypes;');
});
source = source.replace(matchFunction(source, 'some'), function(match) {
return match.replace(/!\(result *= *(.+?)\);/, '(result = $1) && objectTypes;');
});
// remove unused features from `createBound`
@@ -1406,6 +1414,18 @@
source = source.replace(/(?:\s*\/\/.*)*\n( +)if *\(hasObjectSpliceBug[\s\S]+?\n\1}/, '');
}
// remove `thisArg` from unexposed `forIn` and `forOwn`
_.each([
{ 'methodName': 'forIn', 'flag': exposeForIn },
{ 'methodName': 'forOwn', 'flag': exposeForOwn }
], function(data) {
if (!data.flag) {
source = source.replace(matchFunction(source, data.methodName), function(match) {
return match.replace(/(callback), *thisArg/g, '$1');
});
}
});
// remove `iteratesOwnLast` from `isPlainObject`
source = source.replace(/(?:\s*\/\/.*)*\n( +)if *\(iteratesOwnLast[\s\S]+?\n\1}/, '');

View File

@@ -2,30 +2,30 @@
Lo-Dash 0.8.2 lodash.com/license
Underscore.js 1.4.2 underscorejs.org/LICENSE
*/
;(function(e,t){function s(e,t,n){var r;if(!e)return e;var t=p(t,n),i=e.length,n=-1;if("number"==typeof i)for(;++n<i;)r=e[n],t(r,n,e);else for(n in e)rt.call(e,n)&&(r=e[n],t(r,n,e));return e}function o(e){var t,n,r=e;if(!e)return e;for(var i=1,s=arguments.length;i<s;i++)if(r=arguments[i])for(t in r)n=r[t],e[t]=n;return e}function u(e){var t,n,i=e;if(!e)return e;for(var s=1,o=arguments.length;s<o;s++)if(i=arguments[s])for(t in i)n=i[t],e[t]==r&&(e[t]=n);return e}function a(e,t){var n,r;if(e)for(n in
t=p(t,void 0),e)rt.call(e,n)&&(r=e[n],t(r,n,e))}function f(e,t){var n,r;if(e)for(n in t=p(t,void 0),e)r=e[n],t(r,n,e)}function l(e){if(e&&e.__wrapped__)return e;if(!(this instanceof l))return new l(e);this.__wrapped__=e}function c(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<i?-1:1}function h(e,t,n){function r(){var i=arguments,s=t;return n.length&&(i=i.length?n.concat(st.call(i)):n),this instanceof r?(m.prototype=e.prototype,s=new m,(i=e.apply
(s,i))&&Nt[typeof i]?i:s):e.apply(s,i)}return r}function p(e,n){return e?"function"!=typeof e?function(t){return t[e]}:n!==t?function(t,r,i){return e.call(n,t,r,i)}:e:U}function d(e){return"\\"+Ct[e]}function v(e){return Lt[e]}function m(){}function g(e){return At[e]}function y(e){return"function"==typeof e}function b(e){var t=[];return a(e,function(e,n){t.push(n)}),t}function w(e){var t=[];return f(e,function(e,n){y(e)&&t.push(n)}),t.sort()}function E(e){var t={};return a(e,function(e,n){t[e]=n}
),t}function S(e,t,s,o){if(e===t)return 0!==e||1/e==1/t;if(e==r||t==r)return e===t;var u=ot.call(e);if(u!=ot.call(t))return i;switch(u){case vt:case mt:return+e==+t;case gt:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case bt:case wt:return e==t+""}var a=u==dt;if(!a){if(e.__wrapped__||t.__wrapped__)return S(e.__wrapped__||e,t.__wrapped__||t);if(u!=yt)return i;var u=e.constructor,f=t.constructor;if(u!=f&&(!y(u)||!(u instanceof u&&y(f)&&f instanceof f)))return i}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(
s[u]==e)return o[u]==t;u=n,f=0,s.push(e),o.push(t);if(a){f=e.length;if(u=f==t.length)for(;f--&&(u=S(e[f],t[f],s,o)););return u}for(var l in e)if(rt.call(e,l)&&(f++,!rt.call(t,l)||!S(e[l],t[l],s,o)))return i;for(l in t)if(rt.call(t,l)&&!(f--))return i;return n}function x(e){return ot.call(e)==wt}function T(e){var t=[];return a(e,function(e){t.push(e)}),t}function N(e,t){return"number"==typeof (e?e.length:0)?-1<j(e,t):P(e,function(e){return e===t})}function C(e,t,r){var i=n,t=p(t,r);return s(e,function(
e,n,r){return i=t(e,n,r)}),!!i}function k(e,t,n){var r=[],t=p(t,n);return s(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function L(e,t,r){var i,t=p(t,r);return P(e,function(e,r,s){return t(e,r,s)&&(i=e,n)}),i}function A(e,t,n){var r=-1,i=e?e.length:0,o=Array(i),t=p(t,n);if(kt(e))for(;++r<i;)o[r]=t(e[r],r,e);else s(e,function(e,n,i){o[++r]=t(e,n,i)});return o}function O(e,t,n){var r=-Infinity,i=-1,o=e?e.length:0,u=r;if(t||o!==+o)t=p(t,n),s(e,function(e,n,i){n=t(e,n,i),n>r&&(r=n,u=e)});else for(;++i<
o;)e[i]>u&&(u=e[i]);return u}function M(e,t){var n=[];return s(e,function(e){n.push(e[t])}),n}function _(e,t,n,r){var o=3>arguments.length,t=p(t,r);return s(e,function(e,r,s){n=o?(o=i,e):t(n,e,r,s)}),n}function D(e,t,n,r){var o=e?e.length:0,u=3>arguments.length;if(o!==+o)var a=Ot(e),o=a.length;return s(e,function(s,f,l){f=a?a[--o]:--o,n=u?(u=i,e[f]):t.call(r,n,e[f],f,l)}),n}function P(e,t,n){var r,t=p(t,n);return s(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function H(e,t,n){if(e)return t==r||n?
e[0]:st.call(e,0,t)}function B(e,t){for(var n=-1,r=e?e.length:0,i=[];++n<r;){var s=e[n];kt(s)?it.apply(i,t?s:B(s)):i.push(s)}return i}function j(e,t,n){var r=-1,i=e?e.length:0;if("number"==typeof n)r=(0>n?ct(0,i+n):n||0)-1;else if(n)return r=I(e,t),e[r]===t?r:-1;for(;++r<i;)if(e[r]===t)return r;return-1}function F(e,t,n){return e?st.call(e,t==r||n?1:t):[]}function I(e,t,n,r){var i=0,s=e?e.length:i;if(n){n=p(n,r);for(t=n(t);i<s;)r=i+s>>>1,n(e[r])<t?i=r+1:s=r}else for(;i<s;)r=i+s>>>1,e[r]<t?i=r+1:s=
r;return i}function q(e,t,n,r){var s=-1,o=e?e.length:0,u=[],a=[];"function"==typeof t&&(r=n,n=t,t=i);for(n=p(n,r);++s<o;)if(r=n(e[s],s,e),t?!s||a[a.length-1]!==r:0>j(a,r))a.push(r),u.push(e[s]);return u}function R(e,t){return Tt||ut&&2<arguments.length?ut.call.apply(ut,arguments):h(e,t,st.call(arguments,2))}function U(e){return e}function z(e){s(w(e),function(t){var r=l[t]=e[t];l.prototype[t]=function(){var e=[this.__wrapped__];return arguments.length&&it.apply(e,arguments),e=r.apply(l,e),this.__chain__&&
(e=new l(e),e.__chain__=n),e}})}var n=!0,r=null,i=!1,W="object"==typeof exports&&exports&&("object"==typeof global&&global&&global==global.global&&(e=global),exports),X=Array.prototype,V=Object.prototype,$=0,J=e._,K=/&(?:amp|lt|gt|quot|#x27);/g,Q=RegExp("^"+(V.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),G=/($^)/,Y=/[&<>"']/g,Z=/['\n\r\t\u2028\u2029\\]/g,et=Math.ceil,tt=X.concat,nt=Math.floor,rt=V.hasOwnProperty,it=X.push,st=X.slice,ot=V.toString
,ut=Q.test(ut=st.bind)&&ut,at=Q.test(at=Array.isArray)&&at,ft=e.isFinite,lt=Q.test(lt=Object.keys)&&lt,ct=Math.max,ht=Math.min,pt=Math.random,dt="[object Array]",vt="[object Boolean]",mt="[object Date]",gt="[object Number]",yt="[object Object]",bt="[object RegExp]",wt="[object String]",Et=e.clearTimeout,St=e.setTimeout,xt;(function(){function e(){this.x=1}var t={0:1,length:1},n=[];e.prototype={valueOf:1,y:1};for(var r in new e)n.push(r);xt=(n.splice.call(t,0,1),t[0])})(1);var Tt=ut&&/\n|Opera/.test(ut+
ot.call(e.opera)),Nt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i,unknown:n},Ct={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};l.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},l.isArguments=function(e){return"[object Arguments]"==ot.call(e)},l.isArguments(arguments)||(l.isArguments=function(e){return e?rt.call(e,"callee"):i});var kt=at||function(e){return ot.call(e)==dt};y(/x/
)&&(y=function(e){return"[object Function]"==ot.call(e)});var Lt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},At=E(Lt),Ot=lt?function(e){return e&&Nt[typeof e]?lt(e):[]}:b;l.VERSION="0.8.2",l.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},l.bind=R,l.bindAll=function(e){var t,n,r=e;if(!e)return r;var i=arguments;t=1<i.length?0:(i=w(e),-1);for(var s=i.length;++t<s;)n=i[t],r[n]=R(r[n],r);return r},l.chain=function(e){return e=new l(e),e.__chain__=
n,e},l.clone=function(e){return e&&Nt[typeof e]?kt(e)?st.call(e):o({},e):e},l.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++t<n;){var i=e[t];i&&r.push(i)}return r},l.compose=function(){var e=arguments;return function(){for(var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},l.contains=N,l.countBy=function(e,t,n){var r={},t=p(t,n);return s(e,function(e,n,i){n=t(e,n,i),rt.call(r,n)?r[n]++:r[n]=1}),r},l.debounce=function(e,t,n){function i(){a=r,n||(o=e.apply(u,s))}var s,o,u
,a;return function(){var r=n&&!a;return s=arguments,u=this,Et(a),a=St(i,t),r&&(o=e.apply(u,s)),o}},l.defaults=u,l.defer=function(e){var n=st.call(arguments,1);return St(function(){return e.apply(t,n)},1)},l.delay=function(e,n){var r=st.call(arguments,2);return St(function(){return e.apply(t,r)},n)},l.difference=function(e){for(var t=-1,n=e.length,r=tt.apply(X,arguments),i=[];++t<n;){var s=e[t];0>j(r,s,n)&&i.push(s)}return i},l.escape=function(e){return e==r?"":(e+"").replace(Y,v)},l.every=C,l.extend=
o,l.filter=k,l.find=L,l.first=H,l.flatten=B,l.forEach=s,l.functions=w,l.groupBy=function(e,t,n){var r={},t=p(t,n);return s(e,function(e,n,i){n=t(e,n,i),(rt.call(r,n)?r[n]:r[n]=[]).push(e)}),r},l.has=function(e,t){return e?rt.call(e,t):i},l.identity=U,l.indexOf=j,l.initial=function(e,t,n){return e?st.call(e,0,-(t==r||n?1:t)):[]},l.intersection=function(e){var t=arguments.length,n=-1,r=e.length,i=[];e:for(;++n<r;){var s=e[n];if(0>j(i,s)){for(var o=1;o<t;o++)if(0>j(arguments[o],s))continue e;i.push(
s)}}return i},l.invert=E,l.invoke=function(e,t){var n=st.call(arguments,2),r="function"==typeof t,i=[];return s(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},l.isArray=kt,l.isBoolean=function(e){return e===n||e===i||ot.call(e)==vt},l.isDate=function(e){return ot.call(e)==mt},l.isElement=function(e){return e?1===e.nodeType:i},l.isEmpty=function(e){if(!e)return n;if(kt(e)||x(e))return!e.length;for(var t in e)if(rt.call(e,t))return i;return n},l.isEqual=S,l.isFinite=function(e){return ft(e)&&ot.call
(e)==gt},l.isFunction=y,l.isNaN=function(e){return ot.call(e)==gt&&e!=+e},l.isNull=function(e){return e===r},l.isNumber=function(e){return ot.call(e)==gt},l.isObject=function(e){return e?Nt[typeof e]:i},l.isRegExp=function(e){return ot.call(e)==bt},l.isString=x,l.isUndefined=function(e){return e===t},l.keys=Ot,l.last=function(e,t,n){if(e){var i=e.length;return t==r||n?e[i-1]:st.call(e,-t||i)}},l.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof n&&(r=(0>n?ct(0,r+n):ht(n,r-1))+1)
;r--;)if(e[r]===t)return r;return-1},l.map=A,l.max=O,l.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return rt.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},l.min=function(e,t,n){var r=Infinity,i=-1,o=e?e.length:0,u=r;if(t||o!==+o)t=p(t,n),s(e,function(e,n,i){n=t(e,n,i),n<r&&(r=n,u=e)});else for(;++i<o;)e[i]<u&&(u=e[i]);return u},l.mixin=z,l.noConflict=function(){return e._=J,this},l.object=function(e,t){for(var n=-1,r=e?e.length:0,i={};++n<r;){var s=
e[n];t?i[s]=t[n]:i[s[0]]=s[1]}return i},l.omit=function(e){var t=tt.apply(X,arguments),n={};return f(e,function(e,r){0>j(t,r,1)&&(n[r]=e)}),n},l.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},l.pairs=function(e){var t=[];return a(e,function(e,n){t.push([n,e])}),t},l.pick=function(e){for(var t=0,n=tt.apply(X,arguments),r=n.length,i={};++t<r;){var s=n[t];s in e&&(i[s]=e[s])}return i},l.pluck=M,l.random=function(e,t){return e==r&&t==r&&(t=1),e=+e||0,t==
r&&(t=e,e=0),e+nt(pt()*((+t||0)-e+1))},l.range=function(e,t,n){e=+e||0,n=+n||1,t==r&&(t=e,e=0);for(var i=-1,t=ct(0,et((t-e)/n)),s=Array(t);++i<t;)s[i]=e,e+=n;return s},l.reduce=_,l.reduceRight=D,l.reject=function(e,t,n){return t=p(t,n),k(e,function(e,n,r){return!t(e,n,r)})},l.rest=F,l.result=function(e,t){var n=e?e[t]:r;return y(n)?e[t]():n},l.shuffle=function(e){var t=-1,n=Array(e?e.length:0);return s(e,function(e){var r=nt(pt()*(++t+1));n[t]=n[r],n[r]=e}),n},l.size=function(e){var t=e?e.length:0
;return"number"==typeof t?t:Ot(e).length},l.some=P,l.sortBy=function(e,t,n){var r=[],t=p(t,n);s(e,function(e,n,i){r.push({a:t(e,n,i),b:n,c:e})}),e=r.length;for(r.sort(c);e--;)r[e]=r[e].c;return r},l.sortedIndex=I,l.tap=function(e,t){return t(e),e},l.template=function(e,t,n){e||(e="");var n=u({},n,l.templateSettings),r=0,i="__p += '",s=n.variable;e.replace(RegExp((n.escape||G).source+"|"+(n.interpolate||G).source+"|"+(n.evaluate||G).source+"|$","g"),function(t,n,s,o,u){i+=e.slice(r,u).replace(Z,d)
,i+=n?"'+_['escape']("+n+")+'":o?"';"+o+";__p+='":s?"'+((__t=("+s+"))==null?'':__t)+'":"",r=u+t.length}),i+="';",s||(s="obj",i="with("+s+"||{}){"+i+"}"),i="function("+s+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var o=Function("_","return "+i)(l)}catch(a){throw a.source=i,a}return t?o(t):(o.source=i,o)},l.throttle=function(e,t){function n(){a=new Date,u=r,s=e.apply(o,i)}var i,s,o,u,a=0;return function(){var r=new Date,f=t-(r-a);return i=
arguments,o=this,0>=f?(Et(u),a=r,s=e.apply(o,i)):u||(u=St(n,f)),s}},l.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r<e;)i[r]=t.call(n,r);return i},l.toArray=function(e){return e?"number"==typeof e.length?"string"==typeof e?e.split(""):st.call(e):T(e):[]},l.unescape=function(e){return e==r?"":(e+"").replace(K,g)},l.union=function(){for(var e=-1,t=tt.apply(X,arguments),n=t.length,r=[];++e<n;){var i=t[e];0>j(r,i)&&r.push(i)}return r},l.uniq=q,l.uniqueId=function(e){var t=$++;return e?e+t:
t},l.values=T,l.where=function(e,t){var n=[];f(t,function(e,t){n.push(t)});var r=n.length,i=[];return s(e,function(e){for(var s=-1;++s<r;){var o=n[s],o=e[o]===t[o];if(!o)break}o&&i.push(e)}),i},l.without=function(e){for(var t=-1,n=e.length,r=[];++t<n;){var i=e[t];0>j(arguments,i,1)&&r.push(i)}return r},l.wrap=function(e,t){return function(){var n=[e];return arguments.length&&it.apply(n,arguments),t.apply(this,n)}},l.zip=function(e){for(var t=-1,n=e?O(M(arguments,"length")):0,r=Array(n);++t<n;)r[t
]=M(arguments,t);return r},l.all=C,l.any=P,l.collect=A,l.detect=L,l.drop=F,l.each=s,l.foldl=_,l.foldr=D,l.head=H,l.include=N,l.inject=_,l.methods=w,l.select=k,l.tail=F,l.take=H,l.unique=q,z(l),l.prototype.chain=function(){return this.__chain__=n,this},l.prototype.value=function(){return this.__wrapped__},s("pop push reverse shift sort splice unshift".split(" "),function(e){var t=X[e];l.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),xt&&e.length===0&&delete e[0],this.__chain__&&
(e=new l(e),e.__chain__=n),e}}),s(["concat","join","slice"],function(e){var t=X[e];l.prototype[e]=function(){var e=t.apply(this.__wrapped__,arguments);return this.__chain__&&(e=new l(e),e.__chain__=n),e}}),W?"object"==typeof module&&module&&module.exports==W?(module.exports=l)._=l:W._=l:e._=l})(this);
;(function(e,t){function s(e,t,n){var r;if(!e)return e;var t=p(t,n),i=e.length,n=-1;if("number"==typeof i)for(;++n<i&&(r=e[n],t(r,n,e)!==Nt););else for(n in e)if(rt.call(e,n)&&(r=e[n],t(r,n,e)===Nt))break;return e}function o(e){var t,n,r=e;if(!e)return e;for(var i=1,s=arguments.length;i<s;i++)if(r=arguments[i])for(t in r)n=r[t],e[t]=n;return e}function u(e){var t,n,i=e;if(!e)return e;for(var s=1,o=arguments.length;s<o;s++)if(i=arguments[s])for(t in i)n=i[t],e[t]==r&&(e[t]=n);return e}function a(e,
t){var n,r;if(e)for(n in t=p(t),e)if(rt.call(e,n)&&(r=e[n],t(r,n,e)===Nt))break}function f(e,t){var n,r;if(e)for(n in t=p(t),e)if(r=e[n],t(r,n,e)===Nt)break}function l(e){if(e&&e.__wrapped__)return e;if(!(this instanceof l))return new l(e);this.__wrapped__=e}function c(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<i?-1:1}function h(e,t,n){function r(){var i=arguments,s=t;return n.length&&(i=i.length?n.concat(st.call(i)):n),this instanceof r?(m.prototype=
e.prototype,s=new m,(i=e.apply(s,i))&&Nt[typeof i]?i:s):e.apply(s,i)}return r}function p(e,n){return e?"function"!=typeof e?function(t){return t[e]}:n!==t?function(t,r,i){return e.call(n,t,r,i)}:e:U}function d(e){return"\\"+Ct[e]}function v(e){return Lt[e]}function m(){}function g(e){return At[e]}function y(e){return"function"==typeof e}function b(e){var t=[];return a(e,function(e,n){t.push(n)}),t}function w(e){var t=[];return f(e,function(e,n){y(e)&&t.push(n)}),t.sort()}function E(e){var t={};return a
(e,function(e,n){t[e]=n}),t}function S(e,t,s,o){if(e===t)return 0!==e||1/e==1/t;if(e==r||t==r)return e===t;var u=ot.call(e);if(u!=ot.call(t))return i;switch(u){case vt:case mt:return+e==+t;case gt:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case bt:case wt:return e==t+""}var a=u==dt;if(!a){if(e.__wrapped__||t.__wrapped__)return S(e.__wrapped__||e,t.__wrapped__||t);if(u!=yt)return i;var u=e.constructor,f=t.constructor;if(u!=f&&(!y(u)||!(u instanceof u&&y(f)&&f instanceof f)))return i}s||(s=[]),o||(o=[]
);for(u=s.length;u--;)if(s[u]==e)return o[u]==t;u=n,f=0,s.push(e),o.push(t);if(a){f=e.length;if(u=f==t.length)for(;f--&&(u=S(e[f],t[f],s,o)););return u}for(var l in e)if(rt.call(e,l)&&(f++,!rt.call(t,l)||!S(e[l],t[l],s,o)))return i;for(l in t)if(rt.call(t,l)&&!(f--))return i;return n}function x(e){return ot.call(e)==wt}function T(e){var t=[];return a(e,function(e){t.push(e)}),t}function N(e,t){return"number"==typeof (e?e.length:0)?-1<j(e,t):P(e,function(e){return e===t})}function C(e,t,r){var i=n
,t=p(t,r);return s(e,function(e,n,r){return!(i=t(e,n,r))&&Nt}),!!i}function k(e,t,n){var r=[],t=p(t,n);return s(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function L(e,t,r){var i,t=p(t,r);return P(e,function(e,r,s){return t(e,r,s)&&(i=e,n)}),i}function A(e,t,n){var r=-1,i=e?e.length:0,o=Array(i),t=p(t,n);if(kt(e))for(;++r<i;)o[r]=t(e[r],r,e);else s(e,function(e,n,i){o[++r]=t(e,n,i)});return o}function O(e,t,n){var r=-Infinity,i=-1,o=e?e.length:0,u=r;if(t||o!==+o)t=p(t,n),s(e,function(e,n,i){n=t(e,
n,i),n>r&&(r=n,u=e)});else for(;++i<o;)e[i]>u&&(u=e[i]);return u}function M(e,t){var n=[];return s(e,function(e){n.push(e[t])}),n}function _(e,t,n,r){var o=3>arguments.length,t=p(t,r);return s(e,function(e,r,s){n=o?(o=i,e):t(n,e,r,s)}),n}function D(e,t,n,r){var o=e?e.length:0,u=3>arguments.length;if(o!==+o)var a=Ot(e),o=a.length;return s(e,function(s,f,l){f=a?a[--o]:--o,n=u?(u=i,e[f]):t.call(r,n,e[f],f,l)}),n}function P(e,t,n){var r,t=p(t,n);return s(e,function(e,n,i){return(r=t(e,n,i))&&Nt}),!!r
}function H(e,t,n){if(e)return t==r||n?e[0]:st.call(e,0,t)}function B(e,t){for(var n=-1,r=e?e.length:0,i=[];++n<r;){var s=e[n];kt(s)?it.apply(i,t?s:B(s)):i.push(s)}return i}function j(e,t,n){var r=-1,i=e?e.length:0;if("number"==typeof n)r=(0>n?ct(0,i+n):n||0)-1;else if(n)return r=I(e,t),e[r]===t?r:-1;for(;++r<i;)if(e[r]===t)return r;return-1}function F(e,t,n){return e?st.call(e,t==r||n?1:t):[]}function I(e,t,n,r){var i=0,s=e?e.length:i;if(n){n=p(n,r);for(t=n(t);i<s;)r=i+s>>>1,n(e[r])<t?i=r+1:s=r}
else for(;i<s;)r=i+s>>>1,e[r]<t?i=r+1:s=r;return i}function q(e,t,n,r){var s=-1,o=e?e.length:0,u=[],a=[];"function"==typeof t&&(r=n,n=t,t=i);for(n=p(n,r);++s<o;)if(r=n(e[s],s,e),t?!s||a[a.length-1]!==r:0>j(a,r))a.push(r),u.push(e[s]);return u}function R(e,t){return Tt||ut&&2<arguments.length?ut.call.apply(ut,arguments):h(e,t,st.call(arguments,2))}function U(e){return e}function z(e){s(w(e),function(t){var r=l[t]=e[t];l.prototype[t]=function(){var e=[this.__wrapped__];return arguments.length&&it.apply
(e,arguments),e=r.apply(l,e),this.__chain__&&(e=new l(e),e.__chain__=n),e}})}var n=!0,r=null,i=!1,W="object"==typeof exports&&exports&&("object"==typeof global&&global&&global==global.global&&(e=global),exports),X=Array.prototype,V=Object.prototype,$=0,J=e._,K=/&(?:amp|lt|gt|quot|#x27);/g,Q=RegExp("^"+(V.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),G=/($^)/,Y=/[&<>"']/g,Z=/['\n\r\t\u2028\u2029\\]/g,et=Math.ceil,tt=X.concat,nt=Math.floor,rt=V.hasOwnProperty
,it=X.push,st=X.slice,ot=V.toString,ut=Q.test(ut=st.bind)&&ut,at=Q.test(at=Array.isArray)&&at,ft=e.isFinite,lt=Q.test(lt=Object.keys)&&lt,ct=Math.max,ht=Math.min,pt=Math.random,dt="[object Array]",vt="[object Boolean]",mt="[object Date]",gt="[object Number]",yt="[object Object]",bt="[object RegExp]",wt="[object String]",Et=e.clearTimeout,St=e.setTimeout,xt;(function(){function e(){this.x=1}var t={0:1,length:1},n=[];e.prototype={valueOf:1,y:1};for(var r in new e)n.push(r);xt=(n.splice.call(t,0,1),t[0]
)})(1);var Tt=ut&&/\n|Opera/.test(ut+ot.call(e.opera)),Nt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i,unknown:n},Ct={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};l.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},l.isArguments=function(e){return"[object Arguments]"==ot.call(e)},l.isArguments(arguments)||(l.isArguments=function(e){return e?rt.call(e,"callee"):i});var kt=at||function(
e){return ot.call(e)==dt};y(/x/)&&(y=function(e){return"[object Function]"==ot.call(e)});var Lt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},At=E(Lt),Ot=lt?function(e){return e&&Nt[typeof e]?lt(e):[]}:b;l.VERSION="0.8.2",l.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},l.bind=R,l.bindAll=function(e){var t,n,r=e;if(!e)return r;var i=arguments;t=1<i.length?0:(i=w(e),-1);for(var s=i.length;++t<s;)n=i[t],r[n]=R(r[n],r);return r},l.chain=function(
e){return e=new l(e),e.__chain__=n,e},l.clone=function(e){return e&&Nt[typeof e]?kt(e)?st.call(e):o({},e):e},l.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++t<n;){var i=e[t];i&&r.push(i)}return r},l.compose=function(){var e=arguments;return function(){for(var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},l.contains=N,l.countBy=function(e,t,n){var r={},t=p(t,n);return s(e,function(e,n,i){n=t(e,n,i),rt.call(r,n)?r[n]++:r[n]=1}),r},l.debounce=function(e,t,n){function i(){
a=r,n||(o=e.apply(u,s))}var s,o,u,a;return function(){var r=n&&!a;return s=arguments,u=this,Et(a),a=St(i,t),r&&(o=e.apply(u,s)),o}},l.defaults=u,l.defer=function(e){var n=st.call(arguments,1);return St(function(){return e.apply(t,n)},1)},l.delay=function(e,n){var r=st.call(arguments,2);return St(function(){return e.apply(t,r)},n)},l.difference=function(e){for(var t=-1,n=e.length,r=tt.apply(X,arguments),i=[];++t<n;){var s=e[t];0>j(r,s,n)&&i.push(s)}return i},l.escape=function(e){return e==r?"":(e+""
).replace(Y,v)},l.every=C,l.extend=o,l.filter=k,l.find=L,l.first=H,l.flatten=B,l.forEach=s,l.functions=w,l.groupBy=function(e,t,n){var r={},t=p(t,n);return s(e,function(e,n,i){n=t(e,n,i),(rt.call(r,n)?r[n]:r[n]=[]).push(e)}),r},l.has=function(e,t){return e?rt.call(e,t):i},l.identity=U,l.indexOf=j,l.initial=function(e,t,n){return e?st.call(e,0,-(t==r||n?1:t)):[]},l.intersection=function(e){var t=arguments.length,n=-1,r=e.length,i=[];e:for(;++n<r;){var s=e[n];if(0>j(i,s)){for(var o=1;o<t;o++)if(0>j
(arguments[o],s))continue e;i.push(s)}}return i},l.invert=E,l.invoke=function(e,t){var n=st.call(arguments,2),r="function"==typeof t,i=[];return s(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},l.isArray=kt,l.isBoolean=function(e){return e===n||e===i||ot.call(e)==vt},l.isDate=function(e){return ot.call(e)==mt},l.isElement=function(e){return e?1===e.nodeType:i},l.isEmpty=function(e){if(!e)return n;if(kt(e)||x(e))return!e.length;for(var t in e)if(rt.call(e,t))return i;return n},l.isEqual=S,l.isFinite=
function(e){return ft(e)&&ot.call(e)==gt},l.isFunction=y,l.isNaN=function(e){return ot.call(e)==gt&&e!=+e},l.isNull=function(e){return e===r},l.isNumber=function(e){return ot.call(e)==gt},l.isObject=function(e){return e?Nt[typeof e]:i},l.isRegExp=function(e){return ot.call(e)==bt},l.isString=x,l.isUndefined=function(e){return e===t},l.keys=Ot,l.last=function(e,t,n){if(e){var i=e.length;return t==r||n?e[i-1]:st.call(e,-t||i)}},l.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof n&&
(r=(0>n?ct(0,r+n):ht(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},l.map=A,l.max=O,l.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return rt.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},l.min=function(e,t,n){var r=Infinity,i=-1,o=e?e.length:0,u=r;if(t||o!==+o)t=p(t,n),s(e,function(e,n,i){n=t(e,n,i),n<r&&(r=n,u=e)});else for(;++i<o;)e[i]<u&&(u=e[i]);return u},l.mixin=z,l.noConflict=function(){return e._=J,this},l.object=function(e,t){for(var n=-1,r=
e?e.length:0,i={};++n<r;){var s=e[n];t?i[s]=t[n]:i[s[0]]=s[1]}return i},l.omit=function(e){var t=tt.apply(X,arguments),n={};return f(e,function(e,r){0>j(t,r,1)&&(n[r]=e)}),n},l.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},l.pairs=function(e){var t=[];return a(e,function(e,n){t.push([n,e])}),t},l.pick=function(e){for(var t=0,n=tt.apply(X,arguments),r=n.length,i={};++t<r;){var s=n[t];s in e&&(i[s]=e[s])}return i},l.pluck=M,l.random=function(e,t){return e==
r&&t==r&&(t=1),e=+e||0,t==r&&(t=e,e=0),e+nt(pt()*((+t||0)-e+1))},l.range=function(e,t,n){e=+e||0,n=+n||1,t==r&&(t=e,e=0);for(var i=-1,t=ct(0,et((t-e)/n)),s=Array(t);++i<t;)s[i]=e,e+=n;return s},l.reduce=_,l.reduceRight=D,l.reject=function(e,t,n){return t=p(t,n),k(e,function(e,n,r){return!t(e,n,r)})},l.rest=F,l.result=function(e,t){var n=e?e[t]:r;return y(n)?e[t]():n},l.shuffle=function(e){var t=-1,n=Array(e?e.length:0);return s(e,function(e){var r=nt(pt()*(++t+1));n[t]=n[r],n[r]=e}),n},l.size=function(
e){var t=e?e.length:0;return"number"==typeof t?t:Ot(e).length},l.some=P,l.sortBy=function(e,t,n){var r=[],t=p(t,n);s(e,function(e,n,i){r.push({a:t(e,n,i),b:n,c:e})}),e=r.length;for(r.sort(c);e--;)r[e]=r[e].c;return r},l.sortedIndex=I,l.tap=function(e,t){return t(e),e},l.template=function(e,t,n){e||(e="");var n=u({},n,l.templateSettings),r=0,i="__p += '",s=n.variable;e.replace(RegExp((n.escape||G).source+"|"+(n.interpolate||G).source+"|"+(n.evaluate||G).source+"|$","g"),function(t,n,s,o,u){i+=e.slice
(r,u).replace(Z,d),i+=n?"'+_['escape']("+n+")+'":o?"';"+o+";__p+='":s?"'+((__t=("+s+"))==null?'':__t)+'":"",r=u+t.length}),i+="';",s||(s="obj",i="with("+s+"||{}){"+i+"}"),i="function("+s+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var o=Function("_","return "+i)(l)}catch(a){throw a.source=i,a}return t?o(t):(o.source=i,o)},l.throttle=function(e,t){function n(){a=new Date,u=r,s=e.apply(o,i)}var i,s,o,u,a=0;return function(){var r=new
Date,f=t-(r-a);return i=arguments,o=this,0>=f?(Et(u),a=r,s=e.apply(o,i)):u||(u=St(n,f)),s}},l.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r<e;)i[r]=t.call(n,r);return i},l.toArray=function(e){return e?"number"==typeof e.length?"string"==typeof e?e.split(""):st.call(e):T(e):[]},l.unescape=function(e){return e==r?"":(e+"").replace(K,g)},l.union=function(){for(var e=-1,t=tt.apply(X,arguments),n=t.length,r=[];++e<n;){var i=t[e];0>j(r,i)&&r.push(i)}return r},l.uniq=q,l.uniqueId=function(e)
{var t=$++;return e?e+t:t},l.values=T,l.where=function(e,t){var n=[];f(t,function(e,t){n.push(t)});var r=n.length,i=[];return s(e,function(e){for(var s=-1;++s<r;){var o=n[s],o=e[o]===t[o];if(!o)break}o&&i.push(e)}),i},l.without=function(e){for(var t=-1,n=e.length,r=[];++t<n;){var i=e[t];0>j(arguments,i,1)&&r.push(i)}return r},l.wrap=function(e,t){return function(){var n=[e];return arguments.length&&it.apply(n,arguments),t.apply(this,n)}},l.zip=function(e){for(var t=-1,n=e?O(M(arguments,"length"))
:0,r=Array(n);++t<n;)r[t]=M(arguments,t);return r},l.all=C,l.any=P,l.collect=A,l.detect=L,l.drop=F,l.each=s,l.foldl=_,l.foldr=D,l.head=H,l.include=N,l.inject=_,l.methods=w,l.select=k,l.tail=F,l.take=H,l.unique=q,z(l),l.prototype.chain=function(){return this.__chain__=n,this},l.prototype.value=function(){return this.__wrapped__},s("pop push reverse shift sort splice unshift".split(" "),function(e){var t=X[e];l.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),xt&&e.length===0&&delete
e[0],this.__chain__&&(e=new l(e),e.__chain__=n),e}}),s(["concat","join","slice"],function(e){var t=X[e];l.prototype[e]=function(){var e=t.apply(this.__wrapped__,arguments);return this.__chain__&&(e=new l(e),e.__chain__=n),e}}),W?"object"==typeof module&&module&&module.exports==W?(module.exports=l)._=l:W._=l:e._=l})(this);

View File

@@ -631,15 +631,16 @@
return false;
});
var object = { 'fn': lodash.bind(function(x) { return this.x + x; }, { 'x': 1 }, 1) };
equal(object.fn(), 2, '_.bind: ' + basename);
ok(lodash.clone(array, true)[0] === array[0], '_.clone: ' + basename);
equal(last.value, 2, '_.each: ' + basename);
equal(lodash.every([true, false, true]), false, '_.every: ' + basename);
var object = { 'length': 0, 'splice': Array.prototype.splice };
object = { 'length': 0, 'splice': Array.prototype.splice };
equal(lodash.isEmpty(object), false, '_.isEmpty: ' + basename);
object = { 'fn': lodash.bind(function(x) { return this.x + x; }, { 'x': 1 }, 1) };
equal(object.fn(), 2, '_.bind: ' + basename);
// avoid issues comparing objects with `deepEqual`
object = { 'a': 1, 'b': 2, 'c': 3 };
var actual = lodash.omit(object, function(value) { return value == 3; });
@@ -647,6 +648,8 @@
actual = lodash.pick(object, function(value) { return value != 3; });
deepEqual(_.keys(actual), [], '_.pick: ' + basename);
equal(lodash.some([false, true, false]), true, '_.some: ' + basename);
start();
});
});