@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 • 5.12 kB
JavaScript
(()=>{"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){switch(typeof e){case"boolean":return e;case"string":return"false"!==e.toLowerCase()&&"0"!==e;case"number":return 0!==e;default:return 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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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:()=>g,getGoogleMapsAddress:()=>h,getRandomId:()=>b,includes:()=>w,instanceOf:()=>v,isEmpty:()=>j,isNumber:()=>M,isPlainObject:()=>s,makeArray:()=>f,openGoogleMapsAddress:()=>S,randomId:()=>p,toCurrency:()=>A,toDollarString:()=>O,typeOf:()=>T,uniqueId:()=>m,uuid:()=>d,validateEmail:()=>k,validatePhone:()=>D});const s=e=>e&&"object"==typeof e&&e.constructor===Object,c=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return n.reduce(((e,t)=>(s(t)?Object.entries(t).forEach((t=>{let[n,r]=t;e[n]=s(r)&&s(e[n])?c(e[n],r):r})):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=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;e=e||40;for(var t="",n=0;n<e/3+1;n++){t+=Math.random().toString(36).substring(2,15)}return t.substring(0,e)},m=d;function g(){return"id__"+d(8)+"__"+(new Date).getTime()}const b=g,y=g,p=g;function h(e){if(!e){return!1}let t="";if(T(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){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t="string"==typeof t?t.toLowerCase():t;const r=T(e),o=r=>{const o=T(r);return"object"===o||"array"===o?w(r,t,n):"number"===o||"boolean"===o?e.toString().includes(t.toString(),n):r.includes(t,n)};switch(r){case"array":return e.some((e=>o(e)));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=>o(e)))}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 v(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(!T(e,"string")||!T(e,"object")){throw new Error("The input must be a string or an object.")}const t=h(e);if(!j(t)||!T(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 O(e){return T(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 T(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})();