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 5.02 kB
var e,t;e=this,t=()=>(()=>{"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,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:()=>g,emptyOrValue:()=>u,extend:()=>c,formatPhoneNumber:()=>l,getDynamicId:()=>b,getGoogleMapsAddress:()=>h,getRandomId:()=>y,includes:()=>w,instanceOf:()=>S,isEmpty:()=>j,isNumber:()=>M,isPlainObject:()=>s,makeArray:()=>f,openGoogleMapsAddress:()=>O,randomId:()=>p,toCurrency:()=>v,toDollarString:()=>A,typeOf:()=>T,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 y=b,g=b,p=b;function h(e){if(!e){return!1}let t="";return t=T(e,"string")?e:["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},""),t=t.trim().replace(/\s+|,/g,"+"),`https://maps.google.it/maps?q=${t}`}function w(e,t,n=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 S(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 O(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 v(e){return a(e)}function A(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)}return t})(),"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("utility",[],t):"object"==typeof exports?exports.utility=t():e.utility=t();