UNPKG

@knighttower/utility

Version:

UtilityJs is a utility library that provides a collection of utility functions for various tasks. The library is designed to be easy to use and covers the most common use cases.

1 lines 4.79 kB
(()=>{"use strict";var e={d:(t,n)=>{for(var r in n){e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})}},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){if("boolean"==typeof e){return e}if("string"==typeof e){const t=e.trim().toLowerCase();return!!["true","1","yes","on"].includes(t)||!["false","0","no","off",""].includes(t)&&Boolean(t)}return"number"==typeof e?0!==e:Boolean(e)}function r(e){const t=M(e);return null!==t?t:e}function o(e){return Number(e.replace(/[^0-9.-]+/g,""))}function i(e,t){if(!e||isNaN(new Date(e).getTime())){return null}const n=new Date(e),r=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",timeZone:"UTC"}).format(n);if(t){const e={hour:"2-digit",minute:"2-digit",hour12:!0,timeZone:"UTC"};return`${r} @ ${new Intl.DateTimeFormat("en-US",e).format(n)}`}return r}function a(e){if(e=r(e)){return new Intl.NumberFormat("en-US",{minimumFractionDigits:2}).format(e)}}function u(e,t=null){return null!==M(e)||"boolean"==typeof e?e:j(e)?t:e}e.r(t),e.d(t,{convertToBool:()=>n,convertToNumber:()=>r,currencyToDecimal:()=>o,dateFormat:()=>i,decimalToCurrency:()=>a,dynamicId:()=>y,emptyOrValue:()=>u,extend:()=>c,formatPhoneNumber:()=>l,getDynamicId:()=>b,getGoogleMapsAddress:()=>h,getRandomId:()=>g,includes:()=>w,instanceOf:()=>O,isEmpty:()=>j,isNumber:()=>M,isPlainObject:()=>s,makeArray:()=>f,openGoogleMapsAddress:()=>S,randomId:()=>p,toCurrency:()=>A,toDollarString:()=>T,typeOf:()=>v,uniqueId:()=>m,uuid:()=>d,validateEmail:()=>k,validatePhone:()=>D});const s=e=>e&&"object"==typeof e&&e.constructor===Object,c=(e,...t)=>t.reduce((e,t)=>(s(t)?Object.entries(t).forEach(([t,n])=>{e[t]=s(n)&&s(e[t])?c(e[t],n):n}):Object.assign(e,t),e),{...e});function l(e,t){const n=e.replace(/\D/g,"");if(n.length<10){throw new Error("Invalid phone number length")}let r=0;return t.split("").map(e=>"0"===e&&r<n.length?n[r++]:e).join("")}const f=e=>Array.isArray(e)?e:[e],d=(e=20)=>{const t=()=>Math.random().toString(36).substring(2,15);e=e||40;for(var n="",r=0;r<e/3+1;r++){n+=t()}return n.substring(0,e)},m=d;function b(){return"id__"+d(8)+"__"+(new Date).getTime()}const g=b,y=b,p=b;function h(e){if(!e){return!1}let t="";if(v(e,"string")){t=e}else{t=["address","address1","city","state","zip","zipcode"].reduce((t,n)=>{const r=Object.keys(e).find(t=>t.includes(n)&&e[t]);return r?`${t} ${e[r]}`:t},"")}return t=t.trim().replace(/\s+|,/g,"+"),`https://maps.google.it/maps?q=${t}`}function w(e,t,n=0){if(null==e){return!1}t="string"==typeof t?t.toLowerCase():t;switch(v(e)){case"array":return e.some(e=>w(e,t));case"string":return e.toLowerCase().includes(t,n);case"number":case"boolean":return e.toString().includes(t.toString(),n);case"object":return Object.values(e).some(e=>w(e,t))}return e.includes(t,n)}function j(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:ArrayBuffer.isView(e)?0===e.byteLength:"object"==typeof e&&0===Object.keys(e).length)}function M(e){const t=typeof e;switch(e){case null:case void 0:case"":return null;case"0":case 0:return 0;default:if(!("number"!==t&&"string"!==t||"number"!=typeof e&&Number.isNaN(Number(e)))){return+e}}return null}function O(e,t){let n="unknown";if(null===e||!("function"==typeof e||"object"==typeof e)){return!1}const r=[Date,RegExp,Promise,Map,Set,WeakMap,WeakSet,ArrayBuffer,DataView];let o=r.length;for(;o--;){if(e instanceof r[o]){n=r[o].name;break}}return t?(t="string"==typeof t?t.toLowerCase():t.name.toLowerCase(),"unknown"===n&&(n=e.name),t===n.toLowerCase()):n}function S(e){if(!v(e,"string")||!v(e,"object")){throw new Error("The input must be a string or an object.")}const t=h(e);if(!j(t)||!v(t,"string")){throw new Error("The address you are trying to open is invalid.")}return window.open(t,"_blank")}function A(e){return a(e)}function T(e){return v(e,"string")&&(e=o(e)),Math.abs(e)>999&&Math.abs(e)<999999?Math.sign(e)*(Math.abs(e)/1e3).toFixed(1)+"K":Math.abs(e)>999999?Math.sign(e)*(Math.abs(e)/1e6).toFixed(1)+"M":Math.sign(e)*Math.abs(e)}function v(e,t){if(null===e){return t?null===t||"null"===t:"null"}let n;switch(typeof e){case"number":case"string":case"boolean":case"undefined":case"bigint":case"symbol":case"function":n=typeof e;break;case"object":n=Array.isArray(e)?"array":"object";break;default:n="unknown"}if(t){if(t.includes("|")){for(let e of t.split("|")){if(n===e){return e}}return!1}return t===n}return n}function k(e){return/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(e)}function D(e){return/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/.test(e)}window.utility=t})();