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

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