Optimize _.isBoolean, _.isNumber, and _.isString for the false case.

This commit is contained in:
John-David Dalton
2013-10-17 23:59:02 -07:00
parent 31e86a36f8
commit c30460df4c
7 changed files with 73 additions and 65 deletions

26
dist/lodash.compat.js vendored
View File

@@ -2419,7 +2419,8 @@
* // => false
*/
function isBoolean(value) {
return value === true || value === false || toString.call(value) == boolClass;
return value === true || value === false ||
value && typeof value == 'object' && toString.call(value) == boolClass || false;
}
/**
@@ -2436,7 +2437,7 @@
* // => true
*/
function isDate(value) {
return value ? (typeof value == 'object' && toString.call(value) == dateClass) : false;
return value && typeof value == 'object' && toString.call(value) == dateClass || false;
}
/**
@@ -2453,7 +2454,7 @@
* // => true
*/
function isElement(value) {
return value ? value.nodeType === 1 : false;
return value && value.nodeType === 1 || false;
}
/**
@@ -2688,7 +2689,8 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' || toString.call(value) == numberClass;
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -2741,7 +2743,7 @@
* // => true
*/
function isRegExp(value) {
return (value && objectTypes[typeof value]) ? toString.call(value) == regexpClass : false;
return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
}
/**
@@ -2758,7 +2760,8 @@
* // => true
*/
function isString(value) {
return typeof value == 'string' || toString.call(value) == stringClass;
return typeof value == 'string' ||
value && typeof value == 'object' && toString.call(value) == stringClass || false;
}
/**
@@ -5896,12 +5899,11 @@
* @returns {Function} Returns the new function.
* @example
*
* var hello = function(name) { return 'hello ' + name; };
* hello = _.wrap(hello, function(func) {
* return 'before, ' + func('fred') + ', after';
* var pre= _.wrap(_.escape, function(func, text) {
* return '<div>' + func(text) + '</div>';
* });
* hello();
* // => 'before, hello fred, after'
* pre('Fred, Wilma, & Pebbles');
* // => '<div>Fred, Wilma, &amp; Pebbles</div>'
*/
function wrap(value, wrapper) {
if (!isFunction(wrapper)) {
@@ -5945,7 +5947,7 @@
* @example
*
* var object = { 'name': 'fred' };
* object === _.identity(object);
* _.identity(object) === object;
* // => true
*/
function identity(value) {

View File

@@ -17,9 +17,9 @@ if(!a||i||l||p||!(We.fastBind||Se&&c))v=function(){var g=arguments,h=a?u:this;re
var r="var n,t="+e.d+",E="+e.e+";if(!t)return E;"+e.i+";";e.b?(r+="var u=t.length;n=-1;if("+e.b+"){",We.unindexedChars&&(r+="if(s(t)){t=t.split('')}"),r+="while(++n<u){"+e.g+";}}else{"):We.nonEnumArgs&&(r+="var u=t.length;n=-1;if(u&&p(t)){while(++n<u){n+='';"+e.g+";}}else{"),We.enumPrototypes&&(r+="var G=typeof t=='function';"),We.enumErrorProps&&(r+="var F=t===k||t instanceof Error;");var u=[];if(We.enumPrototypes&&u.push('!(G&&n=="prototype")'),We.enumErrorProps&&u.push('!(F&&(n=="message"||n=="name"))'),e.j&&e.f)r+="var C=-1,D=B[typeof t]&&v(t),u=D?D.length:0;while(++C<u){n=D[C];",u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}";
else if(r+="for(n in t){",e.j&&u.push("m.call(t, n)"),u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}",We.nonEnumShadows){for(r+="if(t!==A){var i=t.constructor,r=t===(i&&i.prototype),f=t===J?I:t===k?j:L.call(t),x=y[f];",k=0;7>k;k++)r+="n='"+e.h[k]+"';if((!(r&&x[n])&&m.call(t,n))",e.j||(r+="||(!x[n]&&t[n]!==A[n])"),r+="){"+e.g+"}";r+="}"}return(e.b||We.nonEnumArgs)&&(r+="}"),r+=e.c+";return E",n("d,j,k,m,o,p,q,s,v,A,B,y,I,J,L",t+r+"}")(Z,K,le,de,_,yt,Je,xt,X.f,fe,Y,Ke,H,ce,ke)
}function pt(n){return wt(n)?Ie(n):{}}function st(n){return Xe[n]}function gt(){var t=(t=y.indexOf)===Tt?n:t;return t}function ht(n){var t,e;return!n||ke.call(n)!=J||(t=n.constructor,bt(t)&&!(t instanceof t))||!We.argsClass&&yt(n)||!We.nodeClass&&f(n)?!1:We.ownLast?(ur(n,function(n,t,r){return e=de.call(r,t),!1}),false!==e):(ur(n,function(n,t){e=t}),typeof e=="undefined"||de.call(n,e))}function vt(n){return Ye[n]}function yt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ke.call(n)==L||!1
}function mt(n,t,e){var r=He(n),u=r.length;for(t=Z(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function dt(n){var t=[];return ur(n,function(n,e){bt(n)&&t.push(e)}),t.sort()}function _t(n){for(var t=-1,e=He(n),r=e.length,u={};++t<r;){var o=e[t];u[n[o]]=o}return u}function bt(n){return typeof n=="function"}function wt(n){return!(!n||!Y[typeof n])}function jt(n){return typeof n=="number"||ke.call(n)==G}function xt(n){return typeof n=="string"||ke.call(n)==H}function Ct(n){for(var t=-1,e=He(n),r=e.length,u=Xt(r);++t<r;)u[t]=n[e[t]];
return u}function kt(n,t,e){var r=-1,u=gt(),o=n?n.length:0,a=!1;return e=(0>e?Pe(0,o+e):e)||0,Je(n)?a=-1<u(n,t,e):typeof o=="number"?a=-1<(xt(n)?n.indexOf(t,e):u(n,t,e)):tr(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function Et(n,t,e){var r=!0;if(t=y.createCallback(t,e,3),Je(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else tr(n,function(n,e,u){return r=!!t(n,e,u)});return r}function Ot(n,t,e){var r=[];if(t=y.createCallback(t,e,3),Je(n)){e=-1;for(var u=n.length;++e<u;){var o=n[e];
t(o,e,n)&&r.push(o)}}else tr(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function St(n,t,e){if(t=y.createCallback(t,e,3),!Je(n)){var r;return tr(n,function(n,e,u){return t(n,e,u)?(r=n,!1):void 0}),r}e=-1;for(var u=n.length;++e<u;){var o=n[e];if(t(o,e,n))return o}}function It(n,t,e){if(t&&typeof e=="undefined"&&Je(n)){e=-1;for(var r=n.length;++e<r&&false!==t(n[e],e,n););}else tr(n,t,e);return n}function At(n,t,e){var r=n,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:Z(t,e,3),Je(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=He(n),u=o.length;
}function mt(n,t,e){var r=He(n),u=r.length;for(t=Z(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function dt(n){var t=[];return ur(n,function(n,e){bt(n)&&t.push(e)}),t.sort()}function _t(n){for(var t=-1,e=He(n),r=e.length,u={};++t<r;){var o=e[t];u[n[o]]=o}return u}function bt(n){return typeof n=="function"}function wt(n){return!(!n||!Y[typeof n])}function jt(n){return typeof n=="number"||n&&typeof n=="object"&&ke.call(n)==G||!1}function xt(n){return typeof n=="string"||n&&typeof n=="object"&&ke.call(n)==H||!1
}function Ct(n){for(var t=-1,e=He(n),r=e.length,u=Xt(r);++t<r;)u[t]=n[e[t]];return u}function kt(n,t,e){var r=-1,u=gt(),o=n?n.length:0,a=!1;return e=(0>e?Pe(0,o+e):e)||0,Je(n)?a=-1<u(n,t,e):typeof o=="number"?a=-1<(xt(n)?n.indexOf(t,e):u(n,t,e)):tr(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function Et(n,t,e){var r=!0;if(t=y.createCallback(t,e,3),Je(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else tr(n,function(n,e,u){return r=!!t(n,e,u)});return r}function Ot(n,t,e){var r=[];if(t=y.createCallback(t,e,3),Je(n)){e=-1;
for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}}else tr(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function St(n,t,e){if(t=y.createCallback(t,e,3),!Je(n)){var r;return tr(n,function(n,e,u){return t(n,e,u)?(r=n,!1):void 0}),r}e=-1;for(var u=n.length;++e<u;){var o=n[e];if(t(o,e,n))return o}}function It(n,t,e){if(t&&typeof e=="undefined"&&Je(n)){e=-1;for(var r=n.length;++e<r&&false!==t(n[e],e,n););}else tr(n,t,e);return n}function At(n,t,e){var r=n,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:Z(t,e,3),Je(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=He(n),u=o.length;
else We.unindexedChars&&xt(n)&&(r=n.split(""));tr(n,function(n,e,a){return e=o?o[--u]:--u,t(r[e],e,a)})}return n}function Bt(n,t,e){var r=-1,u=n?n.length:0,o=Xt(typeof u=="number"?u:0);if(t=y.createCallback(t,e,3),Je(n))for(;++r<u;)o[r]=t(n[r],r,n);else tr(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function Dt(n,t,e){var u=-1/0,o=u;if(!t&&Je(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i>o&&(o=i)}}else t=!t&&xt(n)?r:y.createCallback(t,e,3),tr(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)});return o
}function Nt(n,t,e,r){var u=3>arguments.length;if(t=Z(t,r,4),Je(n)){var o=-1,a=n.length;for(u&&(e=n[++o]);++o<a;)e=t(e,n[o],o,n)}else tr(n,function(n,r,o){e=u?(u=!1,n):t(e,n,r,o)});return e}function Pt(n,t,e,r){var u=3>arguments.length;return t=Z(t,r,4),At(n,function(n,r,o){e=u?(u=!1,n):t(e,n,r,o)}),e}function Rt(n){var t=-1,e=n?n.length:0,r=Xt(typeof e=="number"?e:0);return It(n,function(n){var e=at(0,++t);r[t]=r[e],r[e]=n}),r}function Ft(n,t,e){var r;if(t=y.createCallback(t,e,3),Je(n)){e=-1;for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else tr(n,function(n,e,u){return!(r=t(n,e,u))
});return!!r}function $t(e){var r=-1,u=gt(),a=e?e.length:0,i=tt(arguments,!0,!0,1),l=[],f=a>=w&&u===n;if(f){var c=o(i);c?(u=t,i=c):f=!1}for(;++r<a;)c=e[r],0>u(i,c)&&l.push(c);return f&&s(i),l}function Lt(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=y.createCallback(t,e,3);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[0]:v;return g(n,0,Re(Pe(0,r),u))}function Tt(t,e,r){if(typeof r=="number"){var u=t?t.length:0;r=0>r?Pe(0,u+r):r||0}else if(r)return r=qt(t,e),t[r]===e?r:-1;
@@ -44,8 +44,8 @@ for(var u=Xt(t);++r<t;)u[r]=n,n+=e;return u},y.reject=function(n,t,e){return t=y
return a},y.tap=function(n,t){return t(n),n},y.throttle=function(n,t,e){var r=!0,u=!0;if(!bt(n))throw new ae;return false===e?r=!1:wt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),V.leading=r,V.maxWait=t,V.trailing=u,Mt(n,t,V)},y.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Xt(n);for(t=Z(t,e,1);++r<n;)u[r]=t(r);return u},y.toArray=function(n){return n&&typeof n.length=="number"?We.unindexedChars&&xt(n)?n.split(""):g(n):Ct(n)},y.transform=function(n,t,e,r){var u=Je(n);return t=Z(t,r,4),null==e&&(u?e=[]:(r=n&&n.constructor,e=pt(r&&r.prototype))),(u?tr:or)(n,function(n,r,u){return t(e,n,r,u)
}),e},y.union=function(){return it(tt(arguments,!0,!0))},y.uniq=Kt,y.values=Ct,y.where=Ot,y.without=function(n){return $t(n,Le.call(arguments,1))},y.wrap=function(n,t){if(!bt(t))throw new ae;return function(){var e=[n];return be.apply(e,arguments),t.apply(this,e)}},y.zip=Wt,y.zipObject=Gt,y.collect=Bt,y.drop=zt,y.each=It,y.eachRight=At,y.extend=er,y.methods=dt,y.object=Gt,y.select=Ot,y.tail=zt,y.unique=Kt,y.unzip=Wt,Vt(y),y.clone=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=t,t=!1),j(n,t,typeof e=="function"&&Z(e,r,1))
},y.cloneDeep=function(n,t,e){return j(n,!0,typeof t=="function"&&Z(t,e,1))},y.contains=kt,y.escape=function(n){return null==n?"":oe(n).replace(nr,st)},y.every=Et,y.find=St,y.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=y.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},y.findKey=function(n,t,e){var r;return t=y.createCallback(t,e,3),or(n,function(n,e,u){return t(n,e,u)?(r=e,!1):void 0}),r},y.findLast=function(n,t,e){var r;return t=y.createCallback(t,e,3),At(n,function(n,e,u){return t(n,e,u)?(r=n,!1):void 0
}),r},y.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=y.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},y.findLastKey=function(n,t,e){var r;return t=y.createCallback(t,e,3),mt(n,function(n,e,u){return t(n,e,u)?(r=e,!1):void 0}),r},y.has=function(n,t){return n?de.call(n,t):!1},y.identity=Ut,y.indexOf=Tt,y.isArguments=yt,y.isArray=Je,y.isBoolean=function(n){return true===n||false===n||ke.call(n)==z},y.isDate=function(n){return n?typeof n=="object"&&ke.call(n)==q:!1},y.isElement=function(n){return n?1===n.nodeType:!1
},y.isEmpty=function(n){var t=!0;if(!n)return t;var e=ke.call(n),r=n.length;return e==T||e==H||(We.argsClass?e==L:yt(n))||e==J&&typeof r=="number"&&bt(n.splice)?!r:(or(n,function(){return t=!1}),t)},y.isEqual=function(n,t,e,r){return et(n,t,typeof e=="function"&&Z(e,r,2))},y.isFinite=function(n){return Be(n)&&!De(parseFloat(n))},y.isFunction=bt,y.isNaN=function(n){return jt(n)&&n!=+n},y.isNull=function(n){return null===n},y.isNumber=jt,y.isObject=wt,y.isPlainObject=ar,y.isRegExp=function(n){return n&&Y[typeof n]?ke.call(n)==M:!1
}),r},y.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=y.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},y.findLastKey=function(n,t,e){var r;return t=y.createCallback(t,e,3),mt(n,function(n,e,u){return t(n,e,u)?(r=e,!1):void 0}),r},y.has=function(n,t){return n?de.call(n,t):!1},y.identity=Ut,y.indexOf=Tt,y.isArguments=yt,y.isArray=Je,y.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&ke.call(n)==z||!1},y.isDate=function(n){return n&&typeof n=="object"&&ke.call(n)==q||!1
},y.isElement=function(n){return n&&1===n.nodeType||!1},y.isEmpty=function(n){var t=!0;if(!n)return t;var e=ke.call(n),r=n.length;return e==T||e==H||(We.argsClass?e==L:yt(n))||e==J&&typeof r=="number"&&bt(n.splice)?!r:(or(n,function(){return t=!1}),t)},y.isEqual=function(n,t,e,r){return et(n,t,typeof e=="function"&&Z(e,r,2))},y.isFinite=function(n){return Be(n)&&!De(parseFloat(n))},y.isFunction=bt,y.isNaN=function(n){return jt(n)&&n!=+n},y.isNull=function(n){return null===n},y.isNumber=jt,y.isObject=wt,y.isPlainObject=ar,y.isRegExp=function(n){return n&&Y[typeof n]&&ke.call(n)==M||!1
},y.isString=xt,y.isUndefined=function(n){return typeof n=="undefined"},y.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Pe(0,r+e):Re(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},y.mixin=Vt,y.noConflict=function(){return e._=pe,this},y.parseInt=pr,y.random=function(n,t,e){var r=null==n,u=null==t;return null==e&&(typeof n=="boolean"&&u?(e=n,n=1):u||typeof t!="boolean"||(e=t,u=!0)),r&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,e||n%1||t%1?(e=$e(),Re(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):at(n,t)
},y.reduce=Nt,y.reduceRight=Pt,y.result=function(n,t){if(n){var e=n[t];return bt(e)?n[t]():e}},y.runInContext=h,y.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:He(n).length},y.some=Ft,y.sortedIndex=qt,y.template=function(n,t,e){var r=y.templateSettings;n=oe(n||""),e=rr({},e,r);var u,o=rr({},e.imports,r.imports),r=He(o),o=Ct(o),i=0,l=e.interpolate||N,f="__p+='",l=ue((e.escape||N).source+"|"+l.source+"|"+(l===B?S:N).source+"|"+(e.evaluate||N).source+"|$","g");n.replace(l,function(t,e,r,o,l,c){return r||(r=o),f+=n.slice(i,c).replace(R,a),e&&(f+="'+__e("+e+")+'"),l&&(u=!0,f+="';"+l+";\n__p+='"),r&&(f+="'+((__t=("+r+"))==null?'':__t)+'"),i=c+t.length,t
}),f+="';",l=e=e.variable,l||(e="obj",f="with("+e+"){"+f+"}"),f=(u?f.replace(C,""):f).replace(E,"$1").replace(O,"$1;"),f="function("+e+"){"+(l?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";try{var c=ne(r,"return "+f).apply(v,o)}catch(p){throw p.source=f,p}return t?c(t):(c.source=f,c)},y.unescape=function(n){return null==n?"":oe(n).replace(Ze,vt)},y.uniqueId=function(n){var t=++d;return oe(null==n?"":n)+t

26
dist/lodash.js vendored
View File

@@ -2086,7 +2086,8 @@
* // => false
*/
function isBoolean(value) {
return value === true || value === false || toString.call(value) == boolClass;
return value === true || value === false ||
value && typeof value == 'object' && toString.call(value) == boolClass || false;
}
/**
@@ -2103,7 +2104,7 @@
* // => true
*/
function isDate(value) {
return value ? (typeof value == 'object' && toString.call(value) == dateClass) : false;
return value && typeof value == 'object' && toString.call(value) == dateClass || false;
}
/**
@@ -2120,7 +2121,7 @@
* // => true
*/
function isElement(value) {
return value ? value.nodeType === 1 : false;
return value && value.nodeType === 1 || false;
}
/**
@@ -2348,7 +2349,8 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' || toString.call(value) == numberClass;
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -2401,7 +2403,7 @@
* // => true
*/
function isRegExp(value) {
return value ? (typeof value == 'object' && toString.call(value) == regexpClass) : false;
return value && typeof value == 'object' && toString.call(value) == regexpClass || false;
}
/**
@@ -2418,7 +2420,8 @@
* // => true
*/
function isString(value) {
return typeof value == 'string' || toString.call(value) == stringClass;
return typeof value == 'string' ||
value && typeof value == 'object' && toString.call(value) == stringClass || false;
}
/**
@@ -5557,12 +5560,11 @@
* @returns {Function} Returns the new function.
* @example
*
* var hello = function(name) { return 'hello ' + name; };
* hello = _.wrap(hello, function(func) {
* return 'before, ' + func('fred') + ', after';
* var pre= _.wrap(_.escape, function(func, text) {
* return '<div>' + func(text) + '</div>';
* });
* hello();
* // => 'before, hello fred, after'
* pre('Fred, Wilma, & Pebbles');
* // => '<div>Fred, Wilma, &amp; Pebbles</div>'
*/
function wrap(value, wrapper) {
if (!isFunction(wrapper)) {
@@ -5606,7 +5608,7 @@
* @example
*
* var object = { 'name': 'fred' };
* object === _.identity(object);
* _.identity(object) === object;
* // => true
*/
function identity(value) {

6
dist/lodash.min.js vendored
View File

@@ -17,7 +17,7 @@ break}if(!a){var c;e&&(f=e(l,t),c=typeof f!="undefined")&&(l=f),c||(l=i?Pe(l)?l:
}return h?(c(v.k),p(v)):u&&c(v),s}function ft(n){return function(t,e,r){var u={};e=Y.createCallback(e,r,3),r=-1;var o=t?t.length:0;if(typeof o=="number")for(;++r<o;){var a=t[r];n(u,a,e(a,r,t),t)}else y(t,function(t,r,o){n(u,t,e(t,r,o),o)});return u}}function lt(n,t,e,r,u,o){var a=1&t,i=2&t,f=4&t,l=8&t,c=16&t,p=32&t,s=n;if(!i&&!bt(n))throw new ae;c&&!e.length&&(t&=-17,c=e=!1),p&&!r.length&&(t&=-33,p=r=!1);var h=n&&n.__bindData__;if(h&&true!==h)return!a||1&h[1]||(h[4]=u),!a&&1&h[1]&&(t|=8),!f||4&h[1]||(h[5]=o),c&&_e.apply(h[2]||(h[2]=[]),e),p&&_e.apply(h[3]||(h[3]=[]),r),h[1]|=t,lt.apply(null,h);
if(!a||i||f||p||!(qe.fastBind||Ce&&c))g=function(){var h=arguments,v=a?u:this;return(f||c||p)&&(h=$e.call(h),c&&ke.apply(h,e),p&&_e.apply(h,r),f&&h.length<o)?(t|=16,lt(n,l?t:-4&t,h,null,u,o)):(i&&(n=v[s]),this instanceof g?(v=ct(n.prototype),h=n.apply(v,h),dt(h)?h:v):n.apply(v,h))};else{if(c){var v=[u];_e.apply(v,e)}var g=c?Ce.apply(n,v):Ce.call(n,u)}return ze(g,$e.call(arguments)),g}function ct(n){return dt(n)?Oe(n):{}}function pt(n){return Le[n]}function st(){var t=(t=Y.indexOf)===qt?n:t;return t
}function ht(n){var t,e;return n&&je.call(n)==z&&(t=n.constructor,!bt(t)||t instanceof t)?(d(n,function(n,t){e=t}),typeof e=="undefined"||ye.call(n,e)):!1}function vt(n){return Me[n]}function gt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&je.call(n)==B||!1}function yt(n,t,e){var r=Ke(n),u=r.length;for(t=et(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function mt(n){var t=[];return d(n,function(n,e){bt(n)&&t.push(e)}),t.sort()}function _t(n){for(var t=-1,e=Ke(n),r=e.length,u={};++t<r;){var o=e[t];
u[n[o]]=o}return u}function bt(n){return typeof n=="function"}function dt(n){return!(!n||!V[typeof n])}function wt(n){return typeof n=="number"||je.call(n)==q}function jt(n){return typeof n=="string"||je.call(n)==K}function kt(n){for(var t=-1,e=Ke(n),r=e.length,u=Xt(r);++t<r;)u[t]=n[e[t]];return u}function xt(n,t,e){var r=-1,u=st(),o=n?n.length:0,a=!1;return e=(0>e?Re(0,o+e):e)||0,Pe(n)?a=-1<u(n,t,e):typeof o=="number"?a=-1<(jt(n)?n.indexOf(t,e):u(n,t,e)):y(n,function(n){return++r<e?void 0:!(a=n===t)
u[n[o]]=o}return u}function bt(n){return typeof n=="function"}function dt(n){return!(!n||!V[typeof n])}function wt(n){return typeof n=="number"||n&&typeof n=="object"&&je.call(n)==q||!1}function jt(n){return typeof n=="string"||n&&typeof n=="object"&&je.call(n)==K||!1}function kt(n){for(var t=-1,e=Ke(n),r=e.length,u=Xt(r);++t<r;)u[t]=n[e[t]];return u}function xt(n,t,e){var r=-1,u=st(),o=n?n.length:0,a=!1;return e=(0>e?Re(0,o+e):e)||0,Pe(n)?a=-1<u(n,t,e):typeof o=="number"?a=-1<(jt(n)?n.indexOf(t,e):u(n,t,e)):y(n,function(n){return++r<e?void 0:!(a=n===t)
}),a}function Ct(n,t,e){var r=!0;t=Y.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&(r=!!t(n[e],e,n)););else y(n,function(n,e,u){return r=!!t(n,e,u)});return r}function Ot(n,t,e){var r=[];t=Y.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}else y(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function It(n,t,e){t=Y.createCallback(t,e,3),e=-1;var r=n?n.length:0;if(typeof r!="number"){var u;return y(n,function(n,e,r){return t(n,e,r)?(u=n,!1):void 0
}),u}for(;++e<r;){var o=n[e];if(t(o,e,n))return o}}function Nt(n,t,e){var r=-1,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:et(t,e,3),typeof u=="number")for(;++r<u&&false!==t(n[r],r,n););else y(n,t);return n}function Et(n,t,e){var r=n?n.length:0;if(t=t&&typeof e=="undefined"?t:et(t,e,3),typeof r=="number")for(;r--&&false!==t(n[r],r,n););else{var u=Ke(n),r=u.length;y(n,function(n,e,o){return e=u?u[--r]:--r,t(o[e],e,o)})}return n}function St(n,t,e){var r=-1,u=n?n.length:0;if(t=Y.createCallback(t,e,3),typeof u=="number")for(var o=Xt(u);++r<u;)o[r]=t(n[r],r,n);
else o=[],y(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function Rt(n,t,e){var u=-1/0,o=u;if(!t&&Pe(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i>o&&(o=i)}}else t=!t&&jt(n)?r:Y.createCallback(t,e,3),Nt(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)});return o}function At(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number")for(var u=Xt(r);++e<r;)u[e]=n[e][t];return u||St(n,t)}function Dt(n,t,e,r){if(!n)return e;var u=3>arguments.length;t=et(t,r,4);var o=-1,a=n.length;if(typeof a=="number")for(u&&(e=n[++o]);++o<a;)e=t(e,n[o],o,n);
@@ -42,8 +42,8 @@ for(var u=Xt(t);++r<t;)u[r]=n,n+=e;return u},Y.reject=function(n,t,e){return t=Y
return a},Y.tap=function(n,t){return t(n),n},Y.throttle=function(n,t,e){var r=!0,u=!0;if(!bt(n))throw new ae;return false===e?r=!1:dt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),M.leading=r,M.maxWait=t,M.trailing=u,Vt(n,t,M)},Y.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Xt(n);for(t=et(t,e,1);++r<n;)u[r]=t(r);return u},Y.toArray=function(n){return n&&typeof n.length=="number"?s(n):kt(n)},Y.transform=function(n,t,e,r){var u=Pe(n);return t=et(t,r,4),null==e&&(u?e=[]:(r=n&&n.constructor,e=ct(r&&r.prototype))),(u?Nt:y)(n,function(n,r,u){return t(e,n,r,u)
}),e},Y.union=function(){return it(rt(arguments,!0,!0))},Y.uniq=Kt,Y.values=kt,Y.where=Ot,Y.without=function(n){return Tt(n,$e.call(arguments,1))},Y.wrap=function(n,t){if(!bt(t))throw new ae;return function(){var e=[n];return _e.apply(e,arguments),t.apply(this,e)}},Y.zip=Lt,Y.zipObject=Mt,Y.collect=St,Y.drop=zt,Y.each=Nt,Y.eachRight=Et,Y.extend=J,Y.methods=mt,Y.object=Mt,Y.select=Ot,Y.tail=zt,Y.unique=Kt,Y.unzip=Lt,Jt(Y),Y.clone=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=t,t=!1),tt(n,t,typeof e=="function"&&et(e,r,1))
},Y.cloneDeep=function(n,t,e){return tt(n,!0,typeof t=="function"&&et(t,e,1))},Y.contains=xt,Y.escape=function(n){return null==n?"":oe(n).replace(Ve,pt)},Y.every=Ct,Y.find=It,Y.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=Y.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},Y.findKey=function(n,t,e){var r;return t=Y.createCallback(t,e,3),y(n,function(n,e,u){return t(n,e,u)?(r=e,!1):void 0}),r},Y.findLast=function(n,t,e){var r;return t=Y.createCallback(t,e,3),Et(n,function(n,e,u){return t(n,e,u)?(r=n,!1):void 0
}),r},Y.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=Y.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},Y.findLastKey=function(n,t,e){var r;return t=Y.createCallback(t,e,3),yt(n,function(n,e,u){return t(n,e,u)?(r=e,!1):void 0}),r},Y.has=function(n,t){return n?ye.call(n,t):!1},Y.identity=Ht,Y.indexOf=qt,Y.isArguments=gt,Y.isArray=Pe,Y.isBoolean=function(n){return true===n||false===n||je.call(n)==F},Y.isDate=function(n){return n?typeof n=="object"&&je.call(n)==T:!1},Y.isElement=function(n){return n?1===n.nodeType:!1
},Y.isEmpty=function(n){var t=!0;if(!n)return t;var e=je.call(n),r=n.length;return e==$||e==K||e==B||e==z&&typeof r=="number"&&bt(n.splice)?!r:(y(n,function(){return t=!1}),t)},Y.isEqual=function(n,t,e,r){return ut(n,t,typeof e=="function"&&et(e,r,2))},Y.isFinite=function(n){return Ne(n)&&!Ee(parseFloat(n))},Y.isFunction=bt,Y.isNaN=function(n){return wt(n)&&n!=+n},Y.isNull=function(n){return null===n},Y.isNumber=wt,Y.isObject=dt,Y.isPlainObject=g,Y.isRegExp=function(n){return n?typeof n=="object"&&je.call(n)==P:!1
}),r},Y.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=Y.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;return-1},Y.findLastKey=function(n,t,e){var r;return t=Y.createCallback(t,e,3),yt(n,function(n,e,u){return t(n,e,u)?(r=e,!1):void 0}),r},Y.has=function(n,t){return n?ye.call(n,t):!1},Y.identity=Ht,Y.indexOf=qt,Y.isArguments=gt,Y.isArray=Pe,Y.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&je.call(n)==F||!1},Y.isDate=function(n){return n&&typeof n=="object"&&je.call(n)==T||!1
},Y.isElement=function(n){return n&&1===n.nodeType||!1},Y.isEmpty=function(n){var t=!0;if(!n)return t;var e=je.call(n),r=n.length;return e==$||e==K||e==B||e==z&&typeof r=="number"&&bt(n.splice)?!r:(y(n,function(){return t=!1}),t)},Y.isEqual=function(n,t,e,r){return ut(n,t,typeof e=="function"&&et(e,r,2))},Y.isFinite=function(n){return Ne(n)&&!Ee(parseFloat(n))},Y.isFunction=bt,Y.isNaN=function(n){return wt(n)&&n!=+n},Y.isNull=function(n){return null===n},Y.isNumber=wt,Y.isObject=dt,Y.isPlainObject=g,Y.isRegExp=function(n){return n&&typeof n=="object"&&je.call(n)==P||!1
},Y.isString=jt,Y.isUndefined=function(n){return typeof n=="undefined"},Y.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Re(0,r+e):Ae(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},Y.mixin=Jt,Y.noConflict=function(){return e._=le,this},Y.parseInt=Qe,Y.random=function(n,t,e){var r=null==n,u=null==t;return null==e&&(typeof n=="boolean"&&u?(e=n,n=1):u||typeof t!="boolean"||(e=t,u=!0)),r&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,e||n%1||t%1?(e=Be(),Ae(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):at(n,t)
},Y.reduce=Dt,Y.reduceRight=Bt,Y.result=function(n,t){if(n){var e=n[t];return bt(e)?n[t]():e}},Y.runInContext=h,Y.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Ke(n).length},Y.some=Ft,Y.sortedIndex=Pt,Y.template=function(n,t,e){var r=Y.templateSettings;n=oe(n||""),e=G({},e,r);var u,o=G({},e.imports,r.imports),r=Ke(o),o=kt(o),i=0,f=e.interpolate||S,l="__p+='",f=ue((e.escape||S).source+"|"+f.source+"|"+(f===N?C:S).source+"|"+(e.evaluate||S).source+"|$","g");n.replace(f,function(t,e,r,o,f,c){return r||(r=o),l+=n.slice(i,c).replace(A,a),e&&(l+="'+__e("+e+")+'"),f&&(u=!0,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),i=c+t.length,t
}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(j,""):l).replace(k,"$1").replace(x,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=ne(r,"return "+l).apply(v,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},Y.unescape=function(n){return null==n?"":oe(n).replace(Ue,vt)},Y.uniqueId=function(n){var t=++m;return oe(null==n?"":n)+t

View File

@@ -1187,7 +1187,8 @@
* // => false
*/
function isBoolean(value) {
return value === true || value === false || toString.call(value) == boolClass;
return value === true || value === false ||
value && typeof value == 'object' && toString.call(value) == boolClass || false;
}
/**
@@ -1204,7 +1205,7 @@
* // => true
*/
function isDate(value) {
return value ? (typeof value == 'object' && toString.call(value) == dateClass) : false;
return value && typeof value == 'object' && toString.call(value) == dateClass || false;
}
/**
@@ -1221,7 +1222,7 @@
* // => true
*/
function isElement(value) {
return value ? value.nodeType === 1 : false;
return value && value.nodeType === 1 || false;
}
/**
@@ -1452,7 +1453,8 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' || toString.call(value) == numberClass;
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -1469,7 +1471,7 @@
* // => true
*/
function isRegExp(value) {
return (value && objectTypes[typeof value]) ? toString.call(value) == regexpClass : false;
return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
}
/**
@@ -1486,7 +1488,8 @@
* // => true
*/
function isString(value) {
return typeof value == 'string' || toString.call(value) == stringClass;
return typeof value == 'string' ||
value && typeof value == 'object' && toString.call(value) == stringClass || false;
}
/**
@@ -4063,12 +4066,11 @@
* @returns {Function} Returns the new function.
* @example
*
* var hello = function(name) { return 'hello ' + name; };
* hello = _.wrap(hello, function(func) {
* return 'before, ' + func('fred') + ', after';
* var pre= _.wrap(_.escape, function(func, text) {
* return '<div>' + func(text) + '</div>';
* });
* hello();
* // => 'before, hello fred, after'
* pre('Fred, Wilma, & Pebbles');
* // => '<div>Fred, Wilma, &amp; Pebbles</div>'
*/
function wrap(value, wrapper) {
if (!isFunction(wrapper)) {
@@ -4112,7 +4114,7 @@
* @example
*
* var object = { 'name': 'fred' };
* object === _.identity(object);
* _.identity(object) === object;
* // => true
*/
function identity(value) {

View File

@@ -9,13 +9,13 @@ if(null==n||null==r)return n===r;var o=Sr.call(n),i=Sr.call(r);if(o!=i)return!1;
var l=!0,c=0;if(t.push(n),e.push(r),i){if(c=r.length,l=c==n.length)for(;c--&&(l=a(n[c],r[c],t,e)););return l}return Qr(r,function(r,u,o){return Tr.call(o,u)?(c++,!(l=Tr.call(n,u)&&a(n[u],r,t,e))&&nr):void 0}),l&&Qr(n,function(n,r,t){return Tr.call(t,r)?!(l=-1<--c)&&nr:void 0}),l}function l(n,r,t){for(var e=-1,u=g(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;(r?!e||f[f.length-1]!==l:0>u(f,l))&&(t&&f.push(l),i.push(a))}return i}function c(n){return function(r,t,e){var u={};t=K(t,e,3),e=-1;
var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else Xr(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function p(n,r,t,e,u,o){var i=1&r,f=2&r,a=4&r,l=8&r,c=16&r,h=32&r,g=n;if(!f&&!j(n))throw new TypeError;if(c&&!t.length&&(r&=-17,c=t=!1),h&&!e.length&&(r&=-33,h=e=!1),!i||f||a||h||!(Pr.fastBind||Nr&&c))y=function(){var v=arguments,m=i?u:this;return(a||c||h)&&(v=Wr.call(v),c&&Br.apply(v,t),h&&Or.apply(v,e),a&&v.length<o)?(r|=16,p(n,l?r:-4&r,v,null,u,o)):(f&&(n=m[g]),this instanceof y?(m=s(n.prototype),v=n.apply(m,v),x(v)?v:m):n.apply(m,v))
};else{if(c){var v=[u];Or.apply(v,t)}var y=c?Nr.apply(n,v):Nr.call(n,u)}return y}function s(n){return x(n)?Rr(n):{}}function h(n){return Hr[n]}function g(){var r=(r=u.indexOf)===U?n:r;return r}function v(n){return Jr[n]}function y(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Sr.call(n)==ur||!1}function m(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]}return n}function _(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];
if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function d(n){var r=[];return Qr(n,function(n,t){j(n)&&r.push(t)}),r.sort()}function b(n){for(var r=-1,t=Gr(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u}function w(n){if(!n)return!0;if(Ur(n)||T(n))return!n.length;for(var r in n)if(Tr.call(n,r))return!1;return!0}function j(n){return typeof n=="function"}function x(n){return!(!n||!sr[typeof n])}function E(n){return typeof n=="number"||Sr.call(n)==ar}function T(n){return typeof n=="string"||Sr.call(n)==pr
}function A(n){for(var r=-1,t=Gr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function O(n,r){var t=g(),e=n?n.length:0,u=!1;return e&&typeof e=="number"?u=-1<t(n,r):Xr(n,function(n){return(u=n===r)&&nr}),u}function S(n,r,t){var e=!0;r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else Xr(n,function(n,t,u){return!(e=!!r(n,t,u))&&nr});return e}function B(n,r,t){var e=[];r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];
r(o,t,n)&&e.push(o)}else Xr(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function N(n,r,t){r=K(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Xr(n,function(n,t,e){return r(n,t,e)?(u=n,nr):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function R(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:i(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==nr;);else Xr(n,r)}function k(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=Gr(n),t=e.length;
Xr(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&nr})}}function F(n,r,t){var e=-1,u=n?n.length:0;if(r=K(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],Xr(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function q(n,r,t){var e=-1/0,u=e,o=-1,i=n?n.length:0;if(r||typeof i!="number")r=K(r,t,3),R(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});else for(;++o<i;)t=n[o],t>u&&(u=t);return u}function D(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++t<e;)u[t]=n[t][r];
return u||F(n,r)}function M(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=i(r,e,4);var o=-1,f=n.length;if(typeof f=="number")for(u&&(t=n[++o]);++o<f;)t=r(t,n[o],o,n);else Xr(n,function(n,e,o){t=u?(u=!1,n):r(t,n,e,o)});return t}function $(n,r,t,e){var u=3>arguments.length;return r=i(r,e,4),k(n,function(n,e,o){t=u?(u=!1,n):r(t,n,e,o)}),t}function I(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return R(n,function(n){var t;t=++r,t=0+Er(Ir()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function W(n,r,t){var e;
r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else Xr(n,function(n,t,u){return(e=r(n,t,u))&&nr});return!!e}function z(n,r,t){return t&&w(r)?Y:(t?N:B)(n,r)}function C(n){for(var r=-1,t=g(),e=n.length,u=f(arguments,!0,!0,1),o=[];++r<e;){var i=n[r];0>t(u,i)&&o.push(i)}return o}function P(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=-1;for(r=K(r,t,3);++o<u&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[0]:Y;return Wr.call(n,0,$r(Mr(0,e),u))
}function U(r,t,e){if(typeof e=="number"){var u=r?r.length:0;e=0>e?Mr(0,u+e):e||0}else if(e)return e=G(r,t),r[e]===t?e:-1;return n(r,t,e)}function V(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=K(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:Mr(0,r);return Wr.call(n,e)}function G(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?K(t,e,1):Q,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function H(n,r,t,e){return typeof r!="boolean"&&null!=r&&(t=(e=t)&&e[r]===n?null:r,r=!1),null!=t&&(t=K(t,e,3)),l(n,r,t)
if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function d(n){var r=[];return Qr(n,function(n,t){j(n)&&r.push(t)}),r.sort()}function b(n){for(var r=-1,t=Gr(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u}function w(n){if(!n)return!0;if(Ur(n)||T(n))return!n.length;for(var r in n)if(Tr.call(n,r))return!1;return!0}function j(n){return typeof n=="function"}function x(n){return!(!n||!sr[typeof n])}function E(n){return typeof n=="number"||n&&typeof n=="object"&&Sr.call(n)==ar||!1
}function T(n){return typeof n=="string"||n&&typeof n=="object"&&Sr.call(n)==pr||!1}function A(n){for(var r=-1,t=Gr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function O(n,r){var t=g(),e=n?n.length:0,u=!1;return e&&typeof e=="number"?u=-1<t(n,r):Xr(n,function(n){return(u=n===r)&&nr}),u}function S(n,r,t){var e=!0;r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else Xr(n,function(n,t,u){return!(e=!!r(n,t,u))&&nr});return e}function B(n,r,t){var e=[];
r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else Xr(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function N(n,r,t){r=K(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Xr(n,function(n,t,e){return r(n,t,e)?(u=n,nr):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function R(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:i(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==nr;);else Xr(n,r)}function k(n,r){var t=n?n.length:0;
if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=Gr(n),t=e.length;Xr(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&nr})}}function F(n,r,t){var e=-1,u=n?n.length:0;if(r=K(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],Xr(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function q(n,r,t){var e=-1/0,u=e,o=-1,i=n?n.length:0;if(r||typeof i!="number")r=K(r,t,3),R(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});else for(;++o<i;)t=n[o],t>u&&(u=t);return u
}function D(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++t<e;)u[t]=n[t][r];return u||F(n,r)}function M(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=i(r,e,4);var o=-1,f=n.length;if(typeof f=="number")for(u&&(t=n[++o]);++o<f;)t=r(t,n[o],o,n);else Xr(n,function(n,e,o){t=u?(u=!1,n):r(t,n,e,o)});return t}function $(n,r,t,e){var u=3>arguments.length;return r=i(r,e,4),k(n,function(n,e,o){t=u?(u=!1,n):r(t,n,e,o)}),t}function I(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);
return R(n,function(n){var t;t=++r,t=0+Er(Ir()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function W(n,r,t){var e;r=K(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else Xr(n,function(n,t,u){return(e=r(n,t,u))&&nr});return!!e}function z(n,r,t){return t&&w(r)?Y:(t?N:B)(n,r)}function C(n){for(var r=-1,t=g(),e=n.length,u=f(arguments,!0,!0,1),o=[];++r<e;){var i=n[r];0>t(u,i)&&o.push(i)}return o}function P(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=-1;for(r=K(r,t,3);++o<u&&r(n[o],o,n);)e++
}else if(e=r,null==e||t)return n?n[0]:Y;return Wr.call(n,0,$r(Mr(0,e),u))}function U(r,t,e){if(typeof e=="number"){var u=r?r.length:0;e=0>e?Mr(0,u+e):e||0}else if(e)return e=G(r,t),r[e]===t?e:-1;return n(r,t,e)}function V(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=K(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:Mr(0,r);return Wr.call(n,e)}function G(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?K(t,e,1):Q,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function H(n,r,t,e){return typeof r!="boolean"&&null!=r&&(t=(e=t)&&e[r]===n?null:r,r=!1),null!=t&&(t=K(t,e,3)),l(n,r,t)
}function J(n,r){return 2<arguments.length?p(n,17,Wr.call(arguments,2),null,r):p(n,1,null,null,r)}function K(n,r,t){var e=typeof n;if(null==n||"function"==e)return i(n,r,t);if("object"!=e)return function(r){return r[n]};var u=Gr(n);return function(r){for(var t=u.length,e=!1;t--&&(e=r[u[t]]===n[u[t]]););return e}}function L(n,r,t){var e,u,o,i,f,a,l,c=0,p=!1,s=!0;if(!j(n))throw new TypeError;if(r=Mr(0,r)||0,true===t)var h=!0,s=!1;else x(t)&&(h=t.leading,p="maxWait"in t&&(Mr(r,t.maxWait)||0),s="trailing"in t?t.trailing:s);
var g=function(){var t=r-(Ar()-i);0<t?a=setTimeout(g,t):(u&&clearTimeout(u),t=l,u=a=l=Y,t&&(c=Ar(),o=n.apply(f,e)))},v=function(){a&&clearTimeout(a),u=a=l=Y,(s||p!==r)&&(c=Ar(),o=n.apply(f,e))};return function(){if(e=arguments,i=Ar(),f=this,l=s&&(a||!h),false===p)var t=h&&!a;else{u||h||(c=i);var y=p-(i-c);0<y?u||(u=setTimeout(v,y)):(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e))}return a||r===p||(a=setTimeout(g,r)),t&&(o=n.apply(f,e)),o}}function Q(n){return n}function X(n){R(d(n),function(r){var t=u[r]=n[r];
u.prototype[r]=function(){var n=[this.__wrapped__];return Or.apply(n,arguments),n=t.apply(u,n),this.__chain__?new o(n,!0):n}})}var Y,Z=0,nr={},rr=+new Date+"",tr=/($^)/,er=/['\n\r\t\u2028\u2029\\]/g,ur="[object Arguments]",or="[object Array]",ir="[object Boolean]",fr="[object Date]",ar="[object Number]",lr="[object Object]",cr="[object RegExp]",pr="[object String]",sr={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},hr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},gr=sr[typeof window]&&window||this,vr=sr[typeof exports]&&exports&&!exports.nodeType&&exports,yr=sr[typeof module]&&module&&!module.nodeType&&module,mr=yr&&yr.exports===vr&&vr,_r=sr[typeof global]&&global;
@@ -30,8 +30,8 @@ i.push(f)}}return i},u.invert=b,u.invoke=function(n,r){var t=Wr.call(arguments,2
o in n&&(u[o]=n[o])}return u},u.pluck=D,u.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Mr(0,xr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},u.reject=function(n,r,t){return r=K(r,t,3),B(n,function(n,t,e){return!r(n,t,e)})},u.rest=V,u.shuffle=I,u.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=K(t,e,3),R(n,function(n,r,e){i[++u]={m:t(n,r,e),n:u,o:n}}),o=i.length,i.sort(r);o--;)i[o]=i[o].o;return i},u.tap=function(n,r){return r(n),n
},u.throttle=function(n,r,t){var e=!0,u=!0;if(!j(n))throw new TypeError;return false===t?e=!1:x(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,L(n,r,t)},u.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=i(r,t,1);++e<n;)u[e]=r(e);return u},u.toArray=function(n){return Ur(n)?Wr.call(n):n&&typeof n.length=="number"?F(n):A(n)},u.union=function(){return l(f(arguments,!0,!0))},u.uniq=H,u.values=A,u.where=z,u.without=function(n){return C(n,Wr.call(arguments,1))
},u.wrap=function(n,r){if(!j(r))throw new TypeError;return function(){var t=[n];return Or.apply(t,arguments),r.apply(this,t)}},u.zip=function(){for(var n=-1,r=q(D(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=D(arguments,n);return t},u.collect=F,u.drop=V,u.each=R,u.extend=m,u.methods=d,u.object=function(n,r){for(var t=-1,e=n?n.length:0,u={};++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},u.select=B,u.tail=V,u.unique=H,u.clone=function(n){return x(n)?Ur(n)?Wr.call(n):m({},n):n},u.contains=O,u.escape=function(n){return null==n?"":(n+"").replace(Lr,h)
},u.every=S,u.find=N,u.has=function(n,r){return n?Tr.call(n,r):!1},u.identity=Q,u.indexOf=U,u.isArguments=y,u.isArray=Ur,u.isBoolean=function(n){return true===n||false===n||Sr.call(n)==ir},u.isDate=function(n){return n?typeof n=="object"&&Sr.call(n)==fr:!1},u.isElement=function(n){return n?1===n.nodeType:!1},u.isEmpty=w,u.isEqual=function(n,r){return a(n,r)},u.isFinite=function(n){return Fr(n)&&!qr(parseFloat(n))},u.isFunction=j,u.isNaN=function(n){return E(n)&&n!=+n},u.isNull=function(n){return null===n
},u.isNumber=E,u.isObject=x,u.isRegExp=function(n){return n&&sr[typeof n]?Sr.call(n)==cr:!1},u.isString=T,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Mr(0,e+t):$r(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=X,u.noConflict=function(){return gr._=wr,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+Er(Ir()*(r-n+1))},u.reduce=M,u.reduceRight=$,u.result=function(n,r){if(n){var t=n[r];
},u.every=S,u.find=N,u.has=function(n,r){return n?Tr.call(n,r):!1},u.identity=Q,u.indexOf=U,u.isArguments=y,u.isArray=Ur,u.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Sr.call(n)==ir||!1},u.isDate=function(n){return n&&typeof n=="object"&&Sr.call(n)==fr||!1},u.isElement=function(n){return n&&1===n.nodeType||!1},u.isEmpty=w,u.isEqual=function(n,r){return a(n,r)},u.isFinite=function(n){return Fr(n)&&!qr(parseFloat(n))},u.isFunction=j,u.isNaN=function(n){return E(n)&&n!=+n},u.isNull=function(n){return null===n
},u.isNumber=E,u.isObject=x,u.isRegExp=function(n){return n&&sr[typeof n]&&Sr.call(n)==cr||!1},u.isString=T,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Mr(0,e+t):$r(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=X,u.noConflict=function(){return gr._=wr,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+Er(Ir()*(r-n+1))},u.reduce=M,u.reduceRight=$,u.result=function(n,r){if(n){var t=n[r];
return j(t)?n[r]():t}},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Gr(n).length},u.some=W,u.sortedIndex=G,u.template=function(n,r,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=_({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||tr).source+"|"+(e.interpolate||tr).source+"|"+(e.evaluate||tr).source+"|$","g"),function(r,e,u,o,i){return a+=n.slice(f,i).replace(er,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+"").replace(Kr,v)},u.uniqueId=function(n){var r=++Z+"";return n?n+r:r},u.all=S,u.any=W,u.detect=N,u.findWhere=function(n,r){return z(n,r,!0)},u.foldl=M,u.foldr=$,u.include=O,u.inject=M,u.first=P,u.last=function(n,r,t){var e=0,u=n?n.length:0;
if(typeof r!="number"&&null!=r){var o=u;for(r=K(r,t,3);o--&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[u-1]:Y;return Wr.call(n,Mr(0,u-e))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=A(n)),null==r||t?n?n[0+Er(Ir()*(n.length-1-0+1))]:Y:(n=I(n),n.length=$r(Mr(0,r),n.length),n)},u.take=P,u.head=P,X(u),u.VERSION="2.2.1",u.prototype.chain=function(){return this.__chain__=!0,this},u.prototype.value=function(){return this.__wrapped__},R("pop push reverse shift sort splice unshift".split(" "),function(n){var r=dr[n];

View File

@@ -2436,7 +2436,8 @@
* // => false
*/
function isBoolean(value) {
return value === true || value === false || toString.call(value) == boolClass;
return value === true || value === false ||
value && typeof value == 'object' && toString.call(value) == boolClass || false;
}
/**
@@ -2453,7 +2454,7 @@
* // => true
*/
function isDate(value) {
return value ? (typeof value == 'object' && toString.call(value) == dateClass) : false;
return value && typeof value == 'object' && toString.call(value) == dateClass || false;
}
/**
@@ -2470,7 +2471,7 @@
* // => true
*/
function isElement(value) {
return value ? value.nodeType === 1 : false;
return value && value.nodeType === 1 || false;
}
/**
@@ -2705,7 +2706,8 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' || toString.call(value) == numberClass;
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -2758,7 +2760,7 @@
* // => true
*/
function isRegExp(value) {
return (value && objectTypes[typeof value]) ? toString.call(value) == regexpClass : false;
return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
}
/**
@@ -2775,7 +2777,8 @@
* // => true
*/
function isString(value) {
return typeof value == 'string' || toString.call(value) == stringClass;
return typeof value == 'string' ||
value && typeof value == 'object' && toString.call(value) == stringClass || false;
}
/**
@@ -5913,12 +5916,11 @@
* @returns {Function} Returns the new function.
* @example
*
* var hello = function(name) { return 'hello ' + name; };
* hello = _.wrap(hello, function(func) {
* return 'before, ' + func('fred') + ', after';
* var pre= _.wrap(_.escape, function(func, text) {
* return '<div>' + func(text) + '</div>';
* });
* hello();
* // => 'before, hello fred, after'
* pre('Fred, Wilma, & Pebbles');
* // => '<div>Fred, Wilma, &amp; Pebbles</div>'
*/
function wrap(value, wrapper) {
if (!isFunction(wrapper)) {
@@ -5962,7 +5964,7 @@
* @example
*
* var object = { 'name': 'fred' };
* object === _.identity(object);
* _.identity(object) === object;
* // => true
*/
function identity(value) {