@crossfox/utils
Version:
The package is a collection of useful utilities and functions designed to streamline and enhance the development process of web applications and other software projects. This package provides developers with a set of tools for more efficient work, reducin
2 lines (1 loc) • 1.94 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});const e=void 0,t="undefined",r="__proto__";const o=e=>"string"==typeof e,n=Array.isArray,s=e=>"[object Object]"===Object.prototype.toString.call(e);exports.checkType=function(e,t,r,n){let s;if(o(n)?s=typeof r!==n:(s=n(r),n=n.name||"Custom"),s)throw TypeError(e+": "+t+" must be a "+n)},exports.classNames=function(...e){return e.filter((e=>e)).join(" ")},exports.clone=e=>structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e)),exports.crop=(e,t,r=!1)=>{const o={};for(const n of t)o[n]=e[n],r&&delete e[n];return o},exports.isArray=n,exports.isBoolean=e=>"boolean"==typeof e||["true","false","0","1"].includes((""+e).toLowerCase()),exports.isEmpty=function(t){return"string"==typeof t&&(t=t.trim()),null===t||t===e||t[r].length!==e&&!t.length||t[r].size!==e&&!t.size},exports.isFunction=e=>"function"==typeof e,exports.isNull=e=>null===e,exports.isSimpleObject=s,exports.isString=o,exports.isUndefined=e=>typeof e===t||e===t,exports.makeSize=function(e){const t=["B","KB","MB","GB","TB","PB"],r=t.length-1;let o=0;do{if(e<1e3||o>r)break;o++}while(e/=1024);return+e.toFixed(3)+" "+t[o]},exports.maskValue=(e,t,r=/\s+|[^0-9]+/g)=>{const o=e.replace(r,""),n=o.length;let s="";for(let e=0,r=0;r<n&&e<t.length;e++)s+="X"===t[e]?o[r++]:t[e];return s},exports.merge=function e(t,...r){if(!r.length)return t;const o=r.shift();if(s(t)&&s(o))for(const r in o)s(o[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],o[r])):Object.assign(t,{[r]:o[r]});return e(t,...r)},exports.parseJSON=function(e,t={}){if(!o(e))return t;try{return JSON.parse(e)}catch(e){return t}},exports.range=function(e,t,r){const o=[],n=t<=e;for(r||(r=n?-1:1);n?t<=e:e<=t;e+=r)o.push(e);return o},exports.setObject=e=>(...t)=>{for(let r=0;r<t.length;r+=2)e[t[r]]=t[r+1];return Object.assign({},e)},exports.takeItem=function(e,t,r=null){const o=e[t]||r;return delete e[t],o};//# sourceMappingURL=index.js.map
;