@utilify/types
Version:
A utility library for type checks and type manipulation in JavaScript and TypeScript, providing functions to determine types and verify values like null, undefined, boolean, number, and more.
2 lines (1 loc) • 1.69 kB
JavaScript
;function t(t){const n=Object.prototype.toString.call(t).slice(8,-1).toLowerCase();if("number"===n){if(isNaN(t))return"nan";if(!isFinite(t))return"infinity"}return n}function n(t){return[void 0,null,!1,NaN,0,0n,""].includes(t)}exports.getInstanceType=function(t){if(null!==t&&"object"==typeof t)return t.constructor.name.toLowerCase();console.error("Value must be a non-null object.")},exports.getType=t,exports.isArray=function(t){return Array.isArray(t)},exports.isAsync=function(t){return"function"==typeof t&&"AsyncFunction"===t.constructor.name},exports.isBigint=function(t){return"bigint"==typeof t},exports.isBoolean=function(t){return"boolean"==typeof t},exports.isDate=function(t){return t instanceof Date},exports.isEqualType=function(n,e){return t(n)===t(e)},exports.isFalsy=n,exports.isFunction=function(t){return"function"==typeof t},exports.isJSON=function(t){try{return JSON.parse(t),!0}catch(t){return!1}},exports.isMap=function(t){return t instanceof Map},exports.isNull=function(t){return null===t},exports.isNumber=function(t){return"number"==typeof t},exports.isObject=function(n){return"object"===t(n)},exports.isPlainObject=function(t){return null!==t&&"object"==typeof t&&t.constructor===Object},exports.isPrimitive=function(t){return null===t||"object"!=typeof t&&"function"!=typeof t},exports.isPromise=function(t){return t instanceof Promise},exports.isRegExp=function(t){return t instanceof RegExp},exports.isSet=function(t){return t instanceof Set},exports.isString=function(t){return"string"==typeof t},exports.isSymbol=function(t){return"symbol"==typeof t},exports.isTruthy=function(t){return!n(t)},exports.isUndefined=function(t){return void 0===t};