!function(){var a=function(a){this.is=b.is(a)};a.prototype.category=function(){switch(this.is){case"integer":case"float":return"number";case"NaN":case"null":case"infinite":case"undefined":return"unusable";default:return this.is}},a.prototype.switch=function(a){for(var b in a)if(this.is===b||this.category()===b)return a[b](),this;return"function"==typeof a.default&&a.default(),this};var b=function(b){return new a(b)};b.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)},b.isNaN=function(a){return"function"==typeof Number.isNaN?Number.isNaN(a):"number"==typeof a&&isNaN(a)},b.isFinite=function(a){return"function"==typeof Number.isFinite?Number.isFinite(a):"number"==typeof a&&isFinite(a)},b.isInt=function(a){return b.isFinite(a)&&a%1===0},b.isFloat=function(a){return b.isFinite(a)&&a%1!==0},b.is=function(a){switch(typeof a){case"undefined":case"string":case"function":case"boolean":case"xml":return typeof a;case"number":return b.isNaN(a)?"NaN":b.isFinite(a)?b.isInt(a)?"integer":"float":"infinite";case"object":return null===a?"null":b.isArray(a)?"array":"object"}},"function"==typeof define&&define.amd?define(b):"object"==typeof module&&module.exports?module.exports=b:this.wtf=b}();