@ztimson/utils 0.16.3 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cache.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Map of data which tracks whether it is a complete collection & offers optional expiry of cached values
3
3
  */
4
- export declare class Cache<K, T> extends Map<K, T> {
4
+ export declare class Cache<K, T> {
5
5
  readonly key: keyof T;
6
6
  ttl?: number | undefined;
7
+ private store;
7
8
  /** Whether cache is complete */
8
9
  complete: boolean;
9
10
  /**
@@ -36,12 +37,36 @@ export declare class Cache<K, T> extends Map<K, T> {
36
37
  * @return {this}
37
38
  */
38
39
  addAll(rows: T[], complete?: boolean): this;
40
+ /**
41
+ * Delete an item from the cache
42
+ *
43
+ * @param {K} key Item's primary key
44
+ */
45
+ delete(key: K): void;
46
+ /**
47
+ * Return cache as an array of key-value pairs
48
+ * @return {[K, T][]} Key-value pairs array
49
+ */
50
+ entries(): [K, T][];
51
+ /**
52
+ * Get a list of cached keys
53
+ *
54
+ * @return {K[]} Array of keys
55
+ */
56
+ keys(): K[];
39
57
  /**
40
58
  * Add an item to the cache manually specifying the key
59
+ *
41
60
  * @param {K} key Key item will be cached under
42
61
  * @param {T} value Item to cache
43
62
  * @param {number | undefined} ttl Override default expiry
44
63
  * @return {this}
45
64
  */
46
65
  set(key: K, value: T, ttl?: number | undefined): this;
66
+ /**
67
+ * Get all cached items
68
+ *
69
+ * @return {T[]} Array of items
70
+ */
71
+ values: T[];
47
72
  }
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- (function(s,m){typeof exports=="object"&&typeof module<"u"?m(exports):typeof define=="function"&&define.amd?define(["exports"],m):(s=typeof globalThis<"u"?globalThis:s||self,m(s.utils={}))})(this,function(s){"use strict";var _t=Object.defineProperty;var te=(s,m,B)=>m in s?_t(s,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):s[m]=B;var a=(s,m,B)=>(te(s,typeof m!="symbol"?m+"":m,B),B);function m(n,t=!1){if(n==null)throw new Error("Cannot clean a NULL value");return Array.isArray(n)?n=n.filter(e=>e!=null):Object.entries(n).forEach(([e,r])=>{(t&&r===void 0||!t&&r==null)&&delete n[e]}),n}function B(n){return structuredClone(n)}function et(n,...t){return t.forEach(e=>{for(const r in e)e[r]&&typeof e[r]=="object"&&!Array.isArray(e[r])?(n[r]||(n[r]={}),et(n[r],e[r])):n[r]=e[r]}),n}function A(n,t,e){if(!(n==null||!t))return t.split(/[.[\]]/g).filter(r=>r.length).reduce((r,o,i,c)=>{if((o[0]=='"'||o[0]=="'")&&(o=o.slice(1,-1)),!(r!=null&&r.hasOwnProperty(o))){if(e==null)return;r[o]={}}return e!==void 0&&i==c.length-1?r[o]=e:r[o]},n)}function ht(n){return Object.entries(n).map(([t,e])=>encodeURIComponent(t)+"="+encodeURIComponent(e)).join("&")}function D(n,t,e={}){if(typeof n=="object"&&!Array.isArray(n)){for(const r of Object.keys(n)){const o=t?t+"."+r:r;typeof n[r]=="object"?D(n[r],o,e):e[o]=n[r]}return e}}function dt(n){const t=new FormData;return Object.entries(n).forEach(([e,r])=>t.append(e,r)),t}function I(n,t,e=!1){if(n==null)return e;if(Array.isArray(t))return t.findIndex((o,i)=>!I(n[i],t[i],e))==-1;const r=typeof t;return r!=typeof n?!1:r=="object"?Object.keys(t).find(o=>!I(n[o],t[o],e))==null:r=="function"?n.toString()==t.toString():n==t}function R(n,t){const e=typeof n,r=typeof t;return e!="object"||n==null||r!="object"||t==null?e=="function"&&r=="function"?n.toString()==t.toString():n===t:Object.keys(n).length!=Object.keys(t).length?!1:Object.keys(n).every(i=>R(n[i],t[i]))}function yt(n,t){t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))})})}function j(n){try{return JSON.parse(n)}catch{return n}}function gt(n,t){let e=[];return JSON.stringify(n,(r,o)=>{if(typeof o=="object"&&o!==null){if(e.includes(o))return;e.push(o)}return o},t)}function mt(n,t){return n.indexOf(t)===-1&&n.push(t),n}function pt(n,t){return rt([...n.filter(e=>!t.includes(r=>R(e,r))),...t.filter(e=>!n.includes(r=>R(e,r)))])}function Et(n){return function(t,e){const r=A(t,n),o=A(e,n);return typeof r!="string"||typeof o!="string"?1:r.toLowerCase().localeCompare(o.toLowerCase())}}function wt(n,t){return e=>R(A(e,n),t)}function nt(n,t=[]){return n.forEach(e=>Array.isArray(e)?nt(e,t):t.push(e)),t}function St(n,t=!1){return function(e,r){const o=A(e,n),i=A(r,n);return typeof o=="number"&&typeof i=="number"?(t?-1:1)*(o-i):o>i?t?-1:1:o<i?t?1:-1:0}}function rt(n){for(let t=n.length-1;t>=0;t--)n.slice(0,t).find(e=>R(e,n[t]))&&n.splice(t,1);return n}function ot(n){return Array.isArray(n)?n:[n]}class O extends Array{get size(){return this.length}constructor(t=[]){super(),t!=null&&t.forEach&&t.forEach(e=>this.add(e))}add(t){this.has(t)||this.push(t)}delete(t){const e=this.indexOf(t);e!=-1&&this.slice(e,1)}difference(t){return new O(this.filter(e=>!t.has(e)))}has(t){return this.indexOf(t)!=-1}intersection(t){return new O(this.filter(e=>t.has(e)))}isDisjointFrom(t){return this.intersection(t).size==0}isSubsetOf(t){return this.findIndex(e=>!t.has(e))==-1}isSuperset(t){return t.findIndex(e=>!this.has(e))==-1}symmetricDifference(t){return new O([...this.difference(t),...t.difference(this)])}union(t){return new O([...this,...t])}}class Bt extends Map{constructor(e,r){super();a(this,"complete",!1);this.key=e,this.ttl=r}getKey(e){return e[this.key]}all(){return Array.from(this.values())}add(e,r=this.ttl){const o=this.getKey(e);return this.set(o,e,r),this}addAll(e,r=!0){return e.forEach(o=>this.add(o)),this.complete=r,this}set(e,r,o=this.ttl){return super.set(e,r),o&&setTimeout(()=>{this.complete=!1,super.delete(e)},o),this}}function At(n,t=!0){const e=n.reduce((r,o)=>(Object.keys(t?D(o):o).forEach(i=>{r.includes(i)||r.push(i)}),r),[]);return[e.join(","),...n.map(r=>e.map(o=>{const i=A(r,o),c=typeof i;return c=="string"&&i.includes(",")?`"${i}"`:c=="object"?`"${JSON.stringify(i)}"`:i}).join(","))].join(`
2
- `)}class b extends Promise{constructor(e){super((r,o)=>e(i=>r(i),i=>o(i),i=>this.progress=i));a(this,"listeners",[]);a(this,"_progress",0)}get progress(){return this._progress}set progress(e){e!=this._progress&&(this._progress=e,this.listeners.forEach(r=>r(e)))}static from(e){return e instanceof b?e:new b((r,o)=>e.then((...i)=>r(...i)).catch((...i)=>o(...i)))}from(e){const r=b.from(e);return this.onProgress(o=>r.progress=o),r}onProgress(e){return this.listeners.push(e),this}then(e,r){const o=super.then(e,r);return this.from(o)}catch(e){return this.from(super.catch(e))}finally(e){return this.from(super.finally(e))}}function bt(n,t){n instanceof Blob||(n=new Blob(ot(n)));const e=URL.createObjectURL(n);it(e,t),URL.revokeObjectURL(e)}function it(n,t){const e=document.createElement("a");e.href=n,e.download=t||n.split("/").pop(),document.body.appendChild(e),e.click(),document.body.removeChild(e)}function Rt(n={}){return new Promise(t=>{const e=document.createElement("input");e.type="file",e.accept=n.accept||"*",e.style.display="none",e.multiple=!!n.multiple,e.onblur=e.onchange=async()=>{t(Array.from(e.files)),e.remove()},document.body.appendChild(e),e.click()})}function Ot(n,t=new Date){(typeof t=="number"||typeof t=="string")&&(t=new Date(t));const e=`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}_${t.getHours().toString().padStart(2,"0")}-${t.getMinutes().toString().padStart(2,"0")}-${t.getSeconds().toString().padStart(2,"0")}`;return n?n.replace("{{TIMESTAMP}}",e):e}function Ct(n){return new b((t,e,r)=>{const o=new XMLHttpRequest,i=new FormData;n.files.forEach(c=>i.append("file",c)),o.withCredentials=!!n.withCredentials,o.upload.addEventListener("progress",c=>c.lengthComputable?r(c.loaded/c.total):null),o.addEventListener("loadend",()=>t(j(o.responseText))),o.addEventListener("error",()=>e(j(o.responseText))),o.addEventListener("timeout",()=>e({error:"Request timed out"})),o.open("POST",n.url),Object.entries(n.headers||{}).forEach(([c,E])=>o.setRequestHeader(c,E)),o.send(i)})}class U{constructor(){a(this,"listeners",{})}static emit(t,...e){(this.listeners["*"]||[]).forEach(r=>r(t,...e)),(this.listeners[t.toString()]||[]).forEach(r=>r(...e))}static off(t,e){const r=t.toString();this.listeners[r]=(this.listeners[r]||[]).filter(o=>o===e)}static on(t,e){var o;const r=t.toString();return this.listeners[r]||(this.listeners[r]=[]),(o=this.listeners[r])==null||o.push(e),()=>this.off(t,e)}static once(t,e){return new Promise(r=>{const o=this.on(t,(...i)=>{r(i.length==1?i[0]:i),e&&e(...i),o()})})}emit(t,...e){(this.listeners["*"]||[]).forEach(r=>r(t,...e)),(this.listeners[t]||[]).forEach(r=>r(...e))}off(t,e){this.listeners[t]=(this.listeners[t]||[]).filter(r=>r===e)}on(t,e){var r;return this.listeners[t]||(this.listeners[t]=[]),(r=this.listeners[t])==null||r.push(e),()=>this.off(t,e)}once(t,e){return new Promise(r=>{const o=this.on(t,(...i)=>{r(i.length==1?i[0]:i),e&&e(...i),o()})})}}a(U,"listeners",{});class g extends Error{constructor(e,r){super(e);a(this,"_code");r!=null&&(this._code=r)}get code(){return this._code||this.constructor.code}set code(e){this._code=e}static from(e){const r=Number(e.statusCode)??Number(e.code),o=new this(e.message||e.toString());return Object.assign(o,{stack:e.stack,...e,code:r??void 0})}static instanceof(e){return e.constructor.code!=null}toString(){return this.message||super.toString()}}a(g,"code",500);class k extends g{constructor(t="Bad Request"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(k,"code",400);class P extends g{constructor(t="Unauthorized"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(P,"code",401);class G extends g{constructor(t="Payment Required"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(G,"code",402);class F extends g{constructor(t="Forbidden"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(F,"code",403);class q extends g{constructor(t="Not Found"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(q,"code",404);class v extends g{constructor(t="Method Not Allowed"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(v,"code",405);class H extends g{constructor(t="Not Acceptable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(H,"code",406);class Y extends g{constructor(t="Internal Server Error"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Y,"code",500);class W extends g{constructor(t="Not Implemented"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(W,"code",501);class z extends g{constructor(t="Bad Gateway"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(z,"code",502);class J extends g{constructor(t="Service Unavailable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(J,"code",503);class K extends g{constructor(t="Gateway Timeout"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(K,"code",504);function Lt(n,t){if(n>=200&&n<300)return null;switch(n){case 400:return new k(t);case 401:return new P(t);case 402:return new G(t);case 403:return new F(t);case 404:return new q(t);case 405:return new v(t);case 406:return new H(t);case 500:return new Y(t);case 501:return new W(t);case 502:return new z(t);case 503:return new J(t);case 504:return new K(t);default:return new g(t,n)}}const w=class w{constructor(t={}){a(this,"interceptors",{});a(this,"headers",{});a(this,"url");this.url=t.url??null,this.headers=t.headers||{},t.interceptors&&t.interceptors.forEach(e=>w.addInterceptor(e))}static addInterceptor(t){const e=Object.keys(w.interceptors).length.toString();return w.interceptors[e]=t,()=>{w.interceptors[e]=null}}addInterceptor(t){const e=Object.keys(this.interceptors).length.toString();return this.interceptors[e]=t,()=>{this.interceptors[e]=null}}request(t={}){var o;if(!this.url&&!t.url)throw new Error("URL needs to be set");let e=((o=t.url)!=null&&o.startsWith("http")?t.url:(this.url||"")+(t.url||"")).replace(/([^:]\/)\/+/g,"$1");if(t.fragment&&(e.includes("#")?e.replace(/#.*(\?|\n)/g,(i,c)=>`#${t.fragment}${c}`):e+="#"+t.fragment),t.query){const i=Array.isArray(t.query)?t.query:Object.keys(t.query).map(c=>({key:c,value:t.query[c]}));e+=(e.includes("?")?"&":"?")+i.map(c=>`${c.key}=${c.value}`).join("&")}const r=m({"Content-Type":t.body?t.body instanceof FormData?"multipart/form-data":"application/json":void 0,...w.headers,...this.headers,...t.headers});return typeof t.body=="object"&&t.body!=null&&r["Content-Type"]=="application/json"&&(t.body=JSON.stringify(t.body)),new b((i,c,E)=>{fetch(e,{headers:r,method:t.method||(t.body?"POST":"GET"),body:t.body}).then(async u=>{var lt,ft;for(let l of[...Object.values(w.interceptors),...Object.values(this.interceptors)])await new Promise(M=>l(u,()=>M()));const T=u.headers.get("Content-Length"),_=T?parseInt(T,10):0;let ut=0;const tt=(lt=u.body)==null?void 0:lt.getReader(),xt=new ReadableStream({start(l){function M(){tt==null||tt.read().then(N=>{if(N.done)return l.close();ut+=N.value.byteLength,E(ut/_),l.enqueue(N.value),M()}).catch(N=>l.error(N))}M()}});if(u.data=new Response(xt),t.decode==null||t.decode){const l=(ft=u.headers.get("Content-Type"))==null?void 0:ft.toLowerCase();l!=null&&l.includes("form")?u.data=await u.data.formData():l!=null&&l.includes("json")?u.data=await u.data.json():l!=null&&l.includes("text")?u.data=await u.data.text():l!=null&&l.includes("application")&&(u.data=await u.data.blob())}u.ok?i(u):c(u)})})}};a(w,"interceptors",{}),a(w,"headers",{});let V=w;const C={CLEAR:"\x1B[0m",BRIGHT:"\x1B[1m",DIM:"\x1B[2m",UNDERSCORE:"\x1B[4m",BLINK:"\x1B[5m",REVERSE:"\x1B[7m",HIDDEN:"\x1B[8m"},L={BLACK:"\x1B[30m",RED:"\x1B[31m",GREEN:"\x1B[32m",YELLOW:"\x1B[33m",BLUE:"\x1B[34m",MAGENTA:"\x1B[35m",CYAN:"\x1B[36m",LIGHT_GREY:"\x1B[37m",GREY:"\x1B[90m",LIGHT_RED:"\x1B[91m",LIGHT_GREEN:"\x1B[92m",LIGHT_YELLOW:"\x1B[93m",LIGHT_BLUE:"\x1B[94m",LIGHT_MAGENTA:"\x1B[95m",LIGHT_CYAN:"\x1B[96m",WHITE:"\x1B[97m"},Nt={BLACK:"\x1B[40m",RED:"\x1B[41m",GREEN:"\x1B[42m",YELLOW:"\x1B[43m",BLUE:"\x1B[44m",MAGENTA:"\x1B[45m",CYAN:"\x1B[46m",WHITE:"\x1B[47m",GREY:"\x1B[100m"};var ct=(n=>(n[n.ERROR=0]="ERROR",n[n.WARN=1]="WARN",n[n.INFO=2]="INFO",n[n.LOG=3]="LOG",n[n.DEBUG=4]="DEBUG",n))(ct||{});const p=class p extends U{constructor(t){super(),this.namespace=t}pad(t,e,r,o=!1){const i=t.toString(),c=e-i.length;if(c<=0)return i;const E=Array(~~(c/r.length)).fill(r).join("");return o?i+E:E+i}format(...t){const e=new Date;return`${`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()} ${this.pad(e.getHours().toString(),2,"0")}:${this.pad(e.getMinutes().toString(),2,"0")}:${this.pad(e.getSeconds().toString(),2,"0")}.${this.pad(e.getMilliseconds().toString(),3,"0",!0)}`}${this.namespace?` [${this.namespace}]`:""} ${t.join(" ")}`}debug(...t){if(p.LOG_LEVEL<4)return;const e=this.format(...t);p.emit(4,e),console.debug(L.LIGHT_GREY+e+C.CLEAR)}log(...t){if(p.LOG_LEVEL<3)return;const e=this.format(...t);p.emit(3,e),console.log(C.CLEAR+e)}info(...t){if(p.LOG_LEVEL<2)return;const e=this.format(...t);p.emit(2,e),console.info(L.BLUE+e+C.CLEAR)}warn(...t){if(p.LOG_LEVEL<1)return;const e=this.format(...t);p.emit(1,e),console.warn(L.YELLOW+e+C.CLEAR)}error(...t){if(p.LOG_LEVEL<0)return;const e=this.format(...t);p.emit(0,e),console.error(L.RED+e+C.CLEAR)}};a(p,"LOG_LEVEL",4);let Z=p;function $t(n){const t=(E,u)=>u<1e-7?E:t(u,~~(E%u)),e=n.toString().length-2;let r=Math.pow(10,e),o=n*r;const i=t(o,r);o=~~(o/i),r=~~(r/i);const c=~~(o/r);return o-=c*r,`${c?c+" ":""}${~~o}/${~~r}`}function Tt(n){let t=n.split(" ");const e=t.length==2?Number(t[0]):0;return t=t.pop().split("/"),e+Number(t[0])/Number(t[1])}const Q="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",X="0123456789",x="~`!@#$%^&*()_-+={[}]|\\:;\"'<,>.?/",Mt=Q+X+x;function Dt(n,t=2){if(n===0)return"0 Bytes";const e=1024,r=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(n)/Math.log(e));return parseFloat((n/Math.pow(e,o)).toFixed(t))+" "+r[o]}function It(n){const t=/(\+?1)?.*?(\d{3}).*?(\d{3}).*?(\d{4})/g.exec(n);if(!t)throw new Error(`Number cannot be parsed: ${n}`);return`${t[1]??""} (${t[2]}) ${t[3]}-${t[4]}`.trim()}function jt(n,t,e){return`${n.slice(0,e)}${t}${n.slice(e+1)}`}function Ut(n,t,e=" ",r=!0){return r?n.toString().padStart(t,e):n.toString().padEnd(t,e)}function kt(n){return Array(n).fill(null).map(()=>Math.round(Math.random()*15).toString(16)).join("")}function Pt(n,t=Mt){return Array(n).fill(null).map(()=>{const e=~~(Math.random()*t.length);return t[e]}).join("")}function Gt(n,t=!1,e=!1,r=!1){if(!t&&!e&&!r)throw new Error("Must enable at least one: letters, numbers, symbols");return Array(n).fill(null).map(()=>{let o;do{const i=~~(Math.random()*3);t&&i==0?o=Q[~~(Math.random()*Q.length)]:e&&i==1?o=X[~~(Math.random()*X.length)]:r&&i==2&&(o=x[~~(Math.random()*x.length)])}while(!o);return o}).join("")}function Ft(n,t){if(typeof t=="string"&&(t=new RegExp(t,"g")),!t.global)throw new TypeError("Regular expression must be global.");let e=[],r;for(;(r=t.exec(n))!==null;)e.push(r);return e}function qt(n){const t=new RegExp("(?:(?<protocol>[\\w\\d]+)\\:\\/\\/)?(?:(?<user>.+)\\@)?(?<host>(?<domain>[^:\\/\\?#@\\n]+)(?:\\:(?<port>\\d*))?)(?<path>\\/.*?)?(?:\\?(?<query>.*?))?(?:#(?<fragment>.*?))?$","gm").exec(n),e=(t==null?void 0:t.groups)??{},r=e.domain.split(".");if(e.port!=null&&(e.port=Number(e.port)),r.length>2&&(e.domain=r.splice(-2,2).join("."),e.subdomain=r.join(".")),e.query){const o=e.query.split("&"),i={};o.forEach(c=>{const[E,u]=c.split("=");i[E]=u}),e.query=i}return e}function st(n){var t=vt(Yt(Wt(Ht(n),8*n.length)));return t.toLowerCase()}function vt(n){for(var t,e="0123456789ABCDEF",r="",o=0;o<n.length;o++)t=n.charCodeAt(o),r+=e.charAt(t>>>4&15)+e.charAt(15&t);return r}function Ht(n){for(var t=Array(n.length>>2),e=0;e<t.length;e++)t[e]=0;for(e=0;e<8*n.length;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function Yt(n){for(var t="",e=0;e<32*n.length;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function Wt(n,t){n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var e=1732584193,r=-271733879,o=-1732584194,i=271733878,c=0;c<n.length;c+=16){var E=e,u=r,T=o,_=i;r=y(r=y(r=y(r=y(r=d(r=d(r=d(r=d(r=h(r=h(r=h(r=h(r=f(r=f(r=f(r=f(r,o=f(o,i=f(i,e=f(e,r,o,i,n[c+0],7,-680876936),r,o,n[c+1],12,-389564586),e,r,n[c+2],17,606105819),i,e,n[c+3],22,-1044525330),o=f(o,i=f(i,e=f(e,r,o,i,n[c+4],7,-176418897),r,o,n[c+5],12,1200080426),e,r,n[c+6],17,-1473231341),i,e,n[c+7],22,-45705983),o=f(o,i=f(i,e=f(e,r,o,i,n[c+8],7,1770035416),r,o,n[c+9],12,-1958414417),e,r,n[c+10],17,-42063),i,e,n[c+11],22,-1990404162),o=f(o,i=f(i,e=f(e,r,o,i,n[c+12],7,1804603682),r,o,n[c+13],12,-40341101),e,r,n[c+14],17,-1502002290),i,e,n[c+15],22,1236535329),o=h(o,i=h(i,e=h(e,r,o,i,n[c+1],5,-165796510),r,o,n[c+6],9,-1069501632),e,r,n[c+11],14,643717713),i,e,n[c+0],20,-373897302),o=h(o,i=h(i,e=h(e,r,o,i,n[c+5],5,-701558691),r,o,n[c+10],9,38016083),e,r,n[c+15],14,-660478335),i,e,n[c+4],20,-405537848),o=h(o,i=h(i,e=h(e,r,o,i,n[c+9],5,568446438),r,o,n[c+14],9,-1019803690),e,r,n[c+3],14,-187363961),i,e,n[c+8],20,1163531501),o=h(o,i=h(i,e=h(e,r,o,i,n[c+13],5,-1444681467),r,o,n[c+2],9,-51403784),e,r,n[c+7],14,1735328473),i,e,n[c+12],20,-1926607734),o=d(o,i=d(i,e=d(e,r,o,i,n[c+5],4,-378558),r,o,n[c+8],11,-2022574463),e,r,n[c+11],16,1839030562),i,e,n[c+14],23,-35309556),o=d(o,i=d(i,e=d(e,r,o,i,n[c+1],4,-1530992060),r,o,n[c+4],11,1272893353),e,r,n[c+7],16,-155497632),i,e,n[c+10],23,-1094730640),o=d(o,i=d(i,e=d(e,r,o,i,n[c+13],4,681279174),r,o,n[c+0],11,-358537222),e,r,n[c+3],16,-722521979),i,e,n[c+6],23,76029189),o=d(o,i=d(i,e=d(e,r,o,i,n[c+9],4,-640364487),r,o,n[c+12],11,-421815835),e,r,n[c+15],16,530742520),i,e,n[c+2],23,-995338651),o=y(o,i=y(i,e=y(e,r,o,i,n[c+0],6,-198630844),r,o,n[c+7],10,1126891415),e,r,n[c+14],15,-1416354905),i,e,n[c+5],21,-57434055),o=y(o,i=y(i,e=y(e,r,o,i,n[c+12],6,1700485571),r,o,n[c+3],10,-1894986606),e,r,n[c+10],15,-1051523),i,e,n[c+1],21,-2054922799),o=y(o,i=y(i,e=y(e,r,o,i,n[c+8],6,1873313359),r,o,n[c+15],10,-30611744),e,r,n[c+6],15,-1560198380),i,e,n[c+13],21,1309151649),o=y(o,i=y(i,e=y(e,r,o,i,n[c+4],6,-145523070),r,o,n[c+11],10,-1120210379),e,r,n[c+2],15,718787259),i,e,n[c+9],21,-343485551),e=S(e,E),r=S(r,u),o=S(o,T),i=S(i,_)}return Array(e,r,o,i)}function $(n,t,e,r,o,i){return S(zt(S(S(t,n),S(r,i)),o),e)}function f(n,t,e,r,o,i,c){return $(t&e|~t&r,n,t,o,i,c)}function h(n,t,e,r,o,i,c){return $(t&r|e&~r,n,t,o,i,c)}function d(n,t,e,r,o,i,c){return $(t^e^r,n,t,o,i,c)}function y(n,t,e,r,o,i,c){return $(e^(t|~r),n,t,o,i,c)}function S(n,t){var e=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(e>>16)<<16|65535&e}function zt(n,t){return n<<t|n>>>32-t}function Jt(n){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(n)}function Kt(n,t="mp"){return n?`https://www.gravatar.com/avatar/${st(n)}?d=${t}`:""}function Vt(n){(typeof n=="number"||typeof n=="string")&&(n=new Date(n));let t=n.getHours(),e="AM";return t>=12?(t>12&&(t-=12),e="PM"):t==0&&(t=12),`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,"0")}-${n.getDate().toString().padStart(2,"0")}, ${t}:${n.getMinutes().toString().padStart(2,"0")} ${e}`}function at(n){return new Promise(t=>setTimeout(t,n))}async function Zt(n,t=100){for(;await n();)await at(t)}function Qt(n){return(n instanceof Date?n.getTime():n)-new Date().getTime()}function Xt(){return Object.keys({})}s.ASet=O,s.BadGatewayError=z,s.BadRequestError=k,s.Cache=Bt,s.CliBackground=Nt,s.CliEffects=C,s.CliForeground=L,s.CustomError=g,s.ForbiddenError=F,s.GatewayTimeoutError=K,s.Http=V,s.InternalServerError=Y,s.JSONAttemptParse=j,s.JSONSanitize=gt,s.LOG_LEVEL=ct,s.Logger=Z,s.MethodNotAllowedError=v,s.NotAcceptableError=H,s.NotFoundError=q,s.NotImplementedError=W,s.PaymentRequiredError=G,s.PromiseProgress=b,s.ServiceUnavailableError=J,s.TypedEmitter=U,s.UnauthorizedError=P,s.addUnique=mt,s.arrayDiff=pt,s.caseInsensitiveSort=Et,s.clean=m,s.csv=At,s.dec2Frac=$t,s.deepCopy=B,s.deepMerge=et,s.dotNotation=A,s.downloadFile=bt,s.downloadUrl=it,s.encodeQuery=ht,s.errorFromCode=Lt,s.fileBrowser=Rt,s.findByProp=wt,s.flattenArr=nt,s.flattenObj=D,s.formData=dt,s.formatBytes=Dt,s.formatDate=Vt,s.formatPhoneNumber=It,s.fracToDec=Tt,s.gravatar=Kt,s.includes=I,s.insertAt=jt,s.isEqual=R,s.makeArray=ot,s.makeUnique=rt,s.matchAll=Ft,s.md5=st,s.mixin=yt,s.pad=Ut,s.parseUrl=qt,s.randomHex=kt,s.randomString=Pt,s.randomStringBuilder=Gt,s.sleep=at,s.sleepUntil=Zt,s.sortByProp=St,s.timeUntil=Qt,s.timestampFilename=Ot,s.tyoeKeys=Xt,s.uploadWithProgress=Ct,s.validateEmail=Jt,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(c,m){typeof exports=="object"&&typeof module<"u"?m(exports):typeof define=="function"&&define.amd?define(["exports"],m):(c=typeof globalThis<"u"?globalThis:c||self,m(c.utils={}))})(this,function(c){"use strict";var _t=Object.defineProperty;var te=(c,m,B)=>m in c?_t(c,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):c[m]=B;var a=(c,m,B)=>(te(c,typeof m!="symbol"?m+"":m,B),B);function m(n,t=!1){if(n==null)throw new Error("Cannot clean a NULL value");return Array.isArray(n)?n=n.filter(e=>e!=null):Object.entries(n).forEach(([e,r])=>{(t&&r===void 0||!t&&r==null)&&delete n[e]}),n}function B(n){return structuredClone(n)}function et(n,...t){return t.forEach(e=>{for(const r in e)e[r]&&typeof e[r]=="object"&&!Array.isArray(e[r])?(n[r]||(n[r]={}),et(n[r],e[r])):n[r]=e[r]}),n}function A(n,t,e){if(!(n==null||!t))return t.split(/[.[\]]/g).filter(r=>r.length).reduce((r,o,i,s)=>{if((o[0]=='"'||o[0]=="'")&&(o=o.slice(1,-1)),!(r!=null&&r.hasOwnProperty(o))){if(e==null)return;r[o]={}}return e!==void 0&&i==s.length-1?r[o]=e:r[o]},n)}function ht(n){return Object.entries(n).map(([t,e])=>encodeURIComponent(t)+"="+encodeURIComponent(e)).join("&")}function I(n,t,e={}){if(typeof n=="object"&&!Array.isArray(n)){for(const r of Object.keys(n)){const o=t?t+"."+r:r;typeof n[r]=="object"?I(n[r],o,e):e[o]=n[r]}return e}}function dt(n){const t=new FormData;return Object.entries(n).forEach(([e,r])=>t.append(e,r)),t}function M(n,t,e=!1){if(n==null)return e;if(Array.isArray(t))return t.findIndex((o,i)=>!M(n[i],t[i],e))==-1;const r=typeof t;return r!=typeof n?!1:r=="object"?Object.keys(t).find(o=>!M(n[o],t[o],e))==null:r=="function"?n.toString()==t.toString():n==t}function O(n,t){const e=typeof n,r=typeof t;return e!="object"||n==null||r!="object"||t==null?e=="function"&&r=="function"?n.toString()==t.toString():n===t:Object.keys(n).length!=Object.keys(t).length?!1:Object.keys(n).every(i=>O(n[i],t[i]))}function yt(n,t){t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))})})}function j(n){try{return JSON.parse(n)}catch{return n}}function gt(n,t){let e=[];return JSON.stringify(n,(r,o)=>{if(typeof o=="object"&&o!==null){if(e.includes(o))return;e.push(o)}return o},t)}function mt(n,t){return n.indexOf(t)===-1&&n.push(t),n}function Et(n,t){return rt([...n.filter(e=>!t.includes(r=>O(e,r))),...t.filter(e=>!n.includes(r=>O(e,r)))])}function pt(n){return function(t,e){const r=A(t,n),o=A(e,n);return typeof r!="string"||typeof o!="string"?1:r.toLowerCase().localeCompare(o.toLowerCase())}}function wt(n,t){return e=>O(A(e,n),t)}function nt(n,t=[]){return n.forEach(e=>Array.isArray(e)?nt(e,t):t.push(e)),t}function St(n,t=!1){return function(e,r){const o=A(e,n),i=A(r,n);return typeof o=="number"&&typeof i=="number"?(t?-1:1)*(o-i):o>i?t?-1:1:o<i?t?1:-1:0}}function rt(n){for(let t=n.length-1;t>=0;t--)n.slice(0,t).find(e=>O(e,n[t]))&&n.splice(t,1);return n}function ot(n){return Array.isArray(n)?n:[n]}class R extends Array{get size(){return this.length}constructor(t=[]){super(),t!=null&&t.forEach&&t.forEach(e=>this.add(e))}add(t){this.has(t)||this.push(t)}delete(t){const e=this.indexOf(t);e!=-1&&this.slice(e,1)}difference(t){return new R(this.filter(e=>!t.has(e)))}has(t){return this.indexOf(t)!=-1}intersection(t){return new R(this.filter(e=>t.has(e)))}isDisjointFrom(t){return this.intersection(t).size==0}isSubsetOf(t){return this.findIndex(e=>!t.has(e))==-1}isSuperset(t){return t.findIndex(e=>!this.has(e))==-1}symmetricDifference(t){return new R([...this.difference(t),...t.difference(this)])}union(t){return new R([...this,...t])}}class Bt{constructor(t,e){a(this,"store",{});a(this,"complete",!1);a(this,"values",this.all());this.key=t,this.ttl=e}getKey(t){return t[this.key]}all(){return Object.values(this.store)}add(t,e=this.ttl){const r=this.getKey(t);return this.set(r,t,e),this}addAll(t,e=!0){return t.forEach(r=>this.add(r)),this.complete=e,this}delete(t){delete this.store[t]}entries(){return Object.entries(this.store)}keys(){return Object.keys(this.store)}set(t,e,r=this.ttl){return this.store[t]=e,r&&setTimeout(()=>{this.complete=!1,this.delete(t)},r),this}}function At(n,t=!0){const e=n.reduce((r,o)=>(Object.keys(t?I(o):o).forEach(i=>{r.includes(i)||r.push(i)}),r),[]);return[e.join(","),...n.map(r=>e.map(o=>{const i=A(r,o),s=typeof i;return s=="string"&&i.includes(",")?`"${i}"`:s=="object"?`"${JSON.stringify(i)}"`:i}).join(","))].join(`
2
+ `)}class b extends Promise{constructor(e){super((r,o)=>e(i=>r(i),i=>o(i),i=>this.progress=i));a(this,"listeners",[]);a(this,"_progress",0)}get progress(){return this._progress}set progress(e){e!=this._progress&&(this._progress=e,this.listeners.forEach(r=>r(e)))}static from(e){return e instanceof b?e:new b((r,o)=>e.then((...i)=>r(...i)).catch((...i)=>o(...i)))}from(e){const r=b.from(e);return this.onProgress(o=>r.progress=o),r}onProgress(e){return this.listeners.push(e),this}then(e,r){const o=super.then(e,r);return this.from(o)}catch(e){return this.from(super.catch(e))}finally(e){return this.from(super.finally(e))}}function bt(n,t){n instanceof Blob||(n=new Blob(ot(n)));const e=URL.createObjectURL(n);it(e,t),URL.revokeObjectURL(e)}function it(n,t){const e=document.createElement("a");e.href=n,e.download=t||n.split("/").pop(),document.body.appendChild(e),e.click(),document.body.removeChild(e)}function Ot(n={}){return new Promise(t=>{const e=document.createElement("input");e.type="file",e.accept=n.accept||"*",e.style.display="none",e.multiple=!!n.multiple,e.onblur=e.onchange=async()=>{t(Array.from(e.files)),e.remove()},document.body.appendChild(e),e.click()})}function Rt(n,t=new Date){(typeof t=="number"||typeof t=="string")&&(t=new Date(t));const e=`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}_${t.getHours().toString().padStart(2,"0")}-${t.getMinutes().toString().padStart(2,"0")}-${t.getSeconds().toString().padStart(2,"0")}`;return n?n.replace("{{TIMESTAMP}}",e):e}function Ct(n){return new b((t,e,r)=>{const o=new XMLHttpRequest,i=new FormData;n.files.forEach(s=>i.append("file",s)),o.withCredentials=!!n.withCredentials,o.upload.addEventListener("progress",s=>s.lengthComputable?r(s.loaded/s.total):null),o.addEventListener("loadend",()=>t(j(o.responseText))),o.addEventListener("error",()=>e(j(o.responseText))),o.addEventListener("timeout",()=>e({error:"Request timed out"})),o.open("POST",n.url),Object.entries(n.headers||{}).forEach(([s,p])=>o.setRequestHeader(s,p)),o.send(i)})}class k{constructor(){a(this,"listeners",{})}static emit(t,...e){(this.listeners["*"]||[]).forEach(r=>r(t,...e)),(this.listeners[t.toString()]||[]).forEach(r=>r(...e))}static off(t,e){const r=t.toString();this.listeners[r]=(this.listeners[r]||[]).filter(o=>o===e)}static on(t,e){var o;const r=t.toString();return this.listeners[r]||(this.listeners[r]=[]),(o=this.listeners[r])==null||o.push(e),()=>this.off(t,e)}static once(t,e){return new Promise(r=>{const o=this.on(t,(...i)=>{r(i.length==1?i[0]:i),e&&e(...i),o()})})}emit(t,...e){(this.listeners["*"]||[]).forEach(r=>r(t,...e)),(this.listeners[t]||[]).forEach(r=>r(...e))}off(t,e){this.listeners[t]=(this.listeners[t]||[]).filter(r=>r===e)}on(t,e){var r;return this.listeners[t]||(this.listeners[t]=[]),(r=this.listeners[t])==null||r.push(e),()=>this.off(t,e)}once(t,e){return new Promise(r=>{const o=this.on(t,(...i)=>{r(i.length==1?i[0]:i),e&&e(...i),o()})})}}a(k,"listeners",{});class g extends Error{constructor(e,r){super(e);a(this,"_code");r!=null&&(this._code=r)}get code(){return this._code||this.constructor.code}set code(e){this._code=e}static from(e){const r=Number(e.statusCode)??Number(e.code),o=new this(e.message||e.toString());return Object.assign(o,{stack:e.stack,...e,code:r??void 0})}static instanceof(e){return e.constructor.code!=null}toString(){return this.message||super.toString()}}a(g,"code",500);class U extends g{constructor(t="Bad Request"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(U,"code",400);class P extends g{constructor(t="Unauthorized"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(P,"code",401);class G extends g{constructor(t="Payment Required"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(G,"code",402);class v extends g{constructor(t="Forbidden"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(v,"code",403);class F extends g{constructor(t="Not Found"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(F,"code",404);class q extends g{constructor(t="Method Not Allowed"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(q,"code",405);class H extends g{constructor(t="Not Acceptable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(H,"code",406);class Y extends g{constructor(t="Internal Server Error"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Y,"code",500);class W extends g{constructor(t="Not Implemented"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(W,"code",501);class z extends g{constructor(t="Bad Gateway"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(z,"code",502);class J extends g{constructor(t="Service Unavailable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(J,"code",503);class K extends g{constructor(t="Gateway Timeout"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(K,"code",504);function Lt(n,t){if(n>=200&&n<300)return null;switch(n){case 400:return new U(t);case 401:return new P(t);case 402:return new G(t);case 403:return new v(t);case 404:return new F(t);case 405:return new q(t);case 406:return new H(t);case 500:return new Y(t);case 501:return new W(t);case 502:return new z(t);case 503:return new J(t);case 504:return new K(t);default:return new g(t,n)}}const w=class w{constructor(t={}){a(this,"interceptors",{});a(this,"headers",{});a(this,"url");this.url=t.url??null,this.headers=t.headers||{},t.interceptors&&t.interceptors.forEach(e=>w.addInterceptor(e))}static addInterceptor(t){const e=Object.keys(w.interceptors).length.toString();return w.interceptors[e]=t,()=>{w.interceptors[e]=null}}addInterceptor(t){const e=Object.keys(this.interceptors).length.toString();return this.interceptors[e]=t,()=>{this.interceptors[e]=null}}request(t={}){var o;if(!this.url&&!t.url)throw new Error("URL needs to be set");let e=((o=t.url)!=null&&o.startsWith("http")?t.url:(this.url||"")+(t.url||"")).replace(/([^:]\/)\/+/g,"$1");if(t.fragment&&(e.includes("#")?e.replace(/#.*(\?|\n)/g,(i,s)=>`#${t.fragment}${s}`):e+="#"+t.fragment),t.query){const i=Array.isArray(t.query)?t.query:Object.keys(t.query).map(s=>({key:s,value:t.query[s]}));e+=(e.includes("?")?"&":"?")+i.map(s=>`${s.key}=${s.value}`).join("&")}const r=m({"Content-Type":t.body?t.body instanceof FormData?"multipart/form-data":"application/json":void 0,...w.headers,...this.headers,...t.headers});return typeof t.body=="object"&&t.body!=null&&r["Content-Type"]=="application/json"&&(t.body=JSON.stringify(t.body)),new b((i,s,p)=>{fetch(e,{headers:r,method:t.method||(t.body?"POST":"GET"),body:t.body}).then(async u=>{var lt,ft;for(let l of[...Object.values(w.interceptors),...Object.values(this.interceptors)])await new Promise(D=>l(u,()=>D()));const T=u.headers.get("Content-Length"),_=T?parseInt(T,10):0;let ut=0;const tt=(lt=u.body)==null?void 0:lt.getReader(),xt=new ReadableStream({start(l){function D(){tt==null||tt.read().then(N=>{if(N.done)return l.close();ut+=N.value.byteLength,p(ut/_),l.enqueue(N.value),D()}).catch(N=>l.error(N))}D()}});if(u.data=new Response(xt),t.decode==null||t.decode){const l=(ft=u.headers.get("Content-Type"))==null?void 0:ft.toLowerCase();l!=null&&l.includes("form")?u.data=await u.data.formData():l!=null&&l.includes("json")?u.data=await u.data.json():l!=null&&l.includes("text")?u.data=await u.data.text():l!=null&&l.includes("application")&&(u.data=await u.data.blob())}u.ok?i(u):s(u)})})}};a(w,"interceptors",{}),a(w,"headers",{});let V=w;const C={CLEAR:"\x1B[0m",BRIGHT:"\x1B[1m",DIM:"\x1B[2m",UNDERSCORE:"\x1B[4m",BLINK:"\x1B[5m",REVERSE:"\x1B[7m",HIDDEN:"\x1B[8m"},L={BLACK:"\x1B[30m",RED:"\x1B[31m",GREEN:"\x1B[32m",YELLOW:"\x1B[33m",BLUE:"\x1B[34m",MAGENTA:"\x1B[35m",CYAN:"\x1B[36m",LIGHT_GREY:"\x1B[37m",GREY:"\x1B[90m",LIGHT_RED:"\x1B[91m",LIGHT_GREEN:"\x1B[92m",LIGHT_YELLOW:"\x1B[93m",LIGHT_BLUE:"\x1B[94m",LIGHT_MAGENTA:"\x1B[95m",LIGHT_CYAN:"\x1B[96m",WHITE:"\x1B[97m"},Nt={BLACK:"\x1B[40m",RED:"\x1B[41m",GREEN:"\x1B[42m",YELLOW:"\x1B[43m",BLUE:"\x1B[44m",MAGENTA:"\x1B[45m",CYAN:"\x1B[46m",WHITE:"\x1B[47m",GREY:"\x1B[100m"};var st=(n=>(n[n.ERROR=0]="ERROR",n[n.WARN=1]="WARN",n[n.INFO=2]="INFO",n[n.LOG=3]="LOG",n[n.DEBUG=4]="DEBUG",n))(st||{});const E=class E extends k{constructor(t){super(),this.namespace=t}pad(t,e,r,o=!1){const i=t.toString(),s=e-i.length;if(s<=0)return i;const p=Array(~~(s/r.length)).fill(r).join("");return o?i+p:p+i}format(...t){const e=new Date;return`${`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()} ${this.pad(e.getHours().toString(),2,"0")}:${this.pad(e.getMinutes().toString(),2,"0")}:${this.pad(e.getSeconds().toString(),2,"0")}.${this.pad(e.getMilliseconds().toString(),3,"0",!0)}`}${this.namespace?` [${this.namespace}]`:""} ${t.join(" ")}`}debug(...t){if(E.LOG_LEVEL<4)return;const e=this.format(...t);E.emit(4,e),console.debug(L.LIGHT_GREY+e+C.CLEAR)}log(...t){if(E.LOG_LEVEL<3)return;const e=this.format(...t);E.emit(3,e),console.log(C.CLEAR+e)}info(...t){if(E.LOG_LEVEL<2)return;const e=this.format(...t);E.emit(2,e),console.info(L.BLUE+e+C.CLEAR)}warn(...t){if(E.LOG_LEVEL<1)return;const e=this.format(...t);E.emit(1,e),console.warn(L.YELLOW+e+C.CLEAR)}error(...t){if(E.LOG_LEVEL<0)return;const e=this.format(...t);E.emit(0,e),console.error(L.RED+e+C.CLEAR)}};a(E,"LOG_LEVEL",4);let Z=E;function $t(n){const t=(p,u)=>u<1e-7?p:t(u,~~(p%u)),e=n.toString().length-2;let r=Math.pow(10,e),o=n*r;const i=t(o,r);o=~~(o/i),r=~~(r/i);const s=~~(o/r);return o-=s*r,`${s?s+" ":""}${~~o}/${~~r}`}function Tt(n){let t=n.split(" ");const e=t.length==2?Number(t[0]):0;return t=t.pop().split("/"),e+Number(t[0])/Number(t[1])}const Q="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",X="0123456789",x="~`!@#$%^&*()_-+={[}]|\\:;\"'<,>.?/",Dt=Q+X+x;function It(n,t=2){if(n===0)return"0 Bytes";const e=1024,r=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(n)/Math.log(e));return parseFloat((n/Math.pow(e,o)).toFixed(t))+" "+r[o]}function Mt(n){const t=/(\+?1)?.*?(\d{3}).*?(\d{3}).*?(\d{4})/g.exec(n);if(!t)throw new Error(`Number cannot be parsed: ${n}`);return`${t[1]??""} (${t[2]}) ${t[3]}-${t[4]}`.trim()}function jt(n,t,e){return`${n.slice(0,e)}${t}${n.slice(e+1)}`}function kt(n,t,e=" ",r=!0){return r?n.toString().padStart(t,e):n.toString().padEnd(t,e)}function Ut(n){return Array(n).fill(null).map(()=>Math.round(Math.random()*15).toString(16)).join("")}function Pt(n,t=Dt){return Array(n).fill(null).map(()=>{const e=~~(Math.random()*t.length);return t[e]}).join("")}function Gt(n,t=!1,e=!1,r=!1){if(!t&&!e&&!r)throw new Error("Must enable at least one: letters, numbers, symbols");return Array(n).fill(null).map(()=>{let o;do{const i=~~(Math.random()*3);t&&i==0?o=Q[~~(Math.random()*Q.length)]:e&&i==1?o=X[~~(Math.random()*X.length)]:r&&i==2&&(o=x[~~(Math.random()*x.length)])}while(!o);return o}).join("")}function vt(n,t){if(typeof t=="string"&&(t=new RegExp(t,"g")),!t.global)throw new TypeError("Regular expression must be global.");let e=[],r;for(;(r=t.exec(n))!==null;)e.push(r);return e}function Ft(n){const t=new RegExp("(?:(?<protocol>[\\w\\d]+)\\:\\/\\/)?(?:(?<user>.+)\\@)?(?<host>(?<domain>[^:\\/\\?#@\\n]+)(?:\\:(?<port>\\d*))?)(?<path>\\/.*?)?(?:\\?(?<query>.*?))?(?:#(?<fragment>.*?))?$","gm").exec(n),e=(t==null?void 0:t.groups)??{},r=e.domain.split(".");if(e.port!=null&&(e.port=Number(e.port)),r.length>2&&(e.domain=r.splice(-2,2).join("."),e.subdomain=r.join(".")),e.query){const o=e.query.split("&"),i={};o.forEach(s=>{const[p,u]=s.split("=");i[p]=u}),e.query=i}return e}function ct(n){var t=qt(Yt(Wt(Ht(n),8*n.length)));return t.toLowerCase()}function qt(n){for(var t,e="0123456789ABCDEF",r="",o=0;o<n.length;o++)t=n.charCodeAt(o),r+=e.charAt(t>>>4&15)+e.charAt(15&t);return r}function Ht(n){for(var t=Array(n.length>>2),e=0;e<t.length;e++)t[e]=0;for(e=0;e<8*n.length;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function Yt(n){for(var t="",e=0;e<32*n.length;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function Wt(n,t){n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var e=1732584193,r=-271733879,o=-1732584194,i=271733878,s=0;s<n.length;s+=16){var p=e,u=r,T=o,_=i;r=y(r=y(r=y(r=y(r=d(r=d(r=d(r=d(r=h(r=h(r=h(r=h(r=f(r=f(r=f(r=f(r,o=f(o,i=f(i,e=f(e,r,o,i,n[s+0],7,-680876936),r,o,n[s+1],12,-389564586),e,r,n[s+2],17,606105819),i,e,n[s+3],22,-1044525330),o=f(o,i=f(i,e=f(e,r,o,i,n[s+4],7,-176418897),r,o,n[s+5],12,1200080426),e,r,n[s+6],17,-1473231341),i,e,n[s+7],22,-45705983),o=f(o,i=f(i,e=f(e,r,o,i,n[s+8],7,1770035416),r,o,n[s+9],12,-1958414417),e,r,n[s+10],17,-42063),i,e,n[s+11],22,-1990404162),o=f(o,i=f(i,e=f(e,r,o,i,n[s+12],7,1804603682),r,o,n[s+13],12,-40341101),e,r,n[s+14],17,-1502002290),i,e,n[s+15],22,1236535329),o=h(o,i=h(i,e=h(e,r,o,i,n[s+1],5,-165796510),r,o,n[s+6],9,-1069501632),e,r,n[s+11],14,643717713),i,e,n[s+0],20,-373897302),o=h(o,i=h(i,e=h(e,r,o,i,n[s+5],5,-701558691),r,o,n[s+10],9,38016083),e,r,n[s+15],14,-660478335),i,e,n[s+4],20,-405537848),o=h(o,i=h(i,e=h(e,r,o,i,n[s+9],5,568446438),r,o,n[s+14],9,-1019803690),e,r,n[s+3],14,-187363961),i,e,n[s+8],20,1163531501),o=h(o,i=h(i,e=h(e,r,o,i,n[s+13],5,-1444681467),r,o,n[s+2],9,-51403784),e,r,n[s+7],14,1735328473),i,e,n[s+12],20,-1926607734),o=d(o,i=d(i,e=d(e,r,o,i,n[s+5],4,-378558),r,o,n[s+8],11,-2022574463),e,r,n[s+11],16,1839030562),i,e,n[s+14],23,-35309556),o=d(o,i=d(i,e=d(e,r,o,i,n[s+1],4,-1530992060),r,o,n[s+4],11,1272893353),e,r,n[s+7],16,-155497632),i,e,n[s+10],23,-1094730640),o=d(o,i=d(i,e=d(e,r,o,i,n[s+13],4,681279174),r,o,n[s+0],11,-358537222),e,r,n[s+3],16,-722521979),i,e,n[s+6],23,76029189),o=d(o,i=d(i,e=d(e,r,o,i,n[s+9],4,-640364487),r,o,n[s+12],11,-421815835),e,r,n[s+15],16,530742520),i,e,n[s+2],23,-995338651),o=y(o,i=y(i,e=y(e,r,o,i,n[s+0],6,-198630844),r,o,n[s+7],10,1126891415),e,r,n[s+14],15,-1416354905),i,e,n[s+5],21,-57434055),o=y(o,i=y(i,e=y(e,r,o,i,n[s+12],6,1700485571),r,o,n[s+3],10,-1894986606),e,r,n[s+10],15,-1051523),i,e,n[s+1],21,-2054922799),o=y(o,i=y(i,e=y(e,r,o,i,n[s+8],6,1873313359),r,o,n[s+15],10,-30611744),e,r,n[s+6],15,-1560198380),i,e,n[s+13],21,1309151649),o=y(o,i=y(i,e=y(e,r,o,i,n[s+4],6,-145523070),r,o,n[s+11],10,-1120210379),e,r,n[s+2],15,718787259),i,e,n[s+9],21,-343485551),e=S(e,p),r=S(r,u),o=S(o,T),i=S(i,_)}return Array(e,r,o,i)}function $(n,t,e,r,o,i){return S(zt(S(S(t,n),S(r,i)),o),e)}function f(n,t,e,r,o,i,s){return $(t&e|~t&r,n,t,o,i,s)}function h(n,t,e,r,o,i,s){return $(t&r|e&~r,n,t,o,i,s)}function d(n,t,e,r,o,i,s){return $(t^e^r,n,t,o,i,s)}function y(n,t,e,r,o,i,s){return $(e^(t|~r),n,t,o,i,s)}function S(n,t){var e=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(e>>16)<<16|65535&e}function zt(n,t){return n<<t|n>>>32-t}function Jt(n){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(n)}function Kt(n,t="mp"){return n?`https://www.gravatar.com/avatar/${ct(n)}?d=${t}`:""}function Vt(n){(typeof n=="number"||typeof n=="string")&&(n=new Date(n));let t=n.getHours(),e="AM";return t>=12?(t>12&&(t-=12),e="PM"):t==0&&(t=12),`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,"0")}-${n.getDate().toString().padStart(2,"0")}, ${t}:${n.getMinutes().toString().padStart(2,"0")} ${e}`}function at(n){return new Promise(t=>setTimeout(t,n))}async function Zt(n,t=100){for(;await n();)await at(t)}function Qt(n){return(n instanceof Date?n.getTime():n)-new Date().getTime()}function Xt(){return Object.keys({})}c.ASet=R,c.BadGatewayError=z,c.BadRequestError=U,c.Cache=Bt,c.CliBackground=Nt,c.CliEffects=C,c.CliForeground=L,c.CustomError=g,c.ForbiddenError=v,c.GatewayTimeoutError=K,c.Http=V,c.InternalServerError=Y,c.JSONAttemptParse=j,c.JSONSanitize=gt,c.LOG_LEVEL=st,c.Logger=Z,c.MethodNotAllowedError=q,c.NotAcceptableError=H,c.NotFoundError=F,c.NotImplementedError=W,c.PaymentRequiredError=G,c.PromiseProgress=b,c.ServiceUnavailableError=J,c.TypedEmitter=k,c.UnauthorizedError=P,c.addUnique=mt,c.arrayDiff=Et,c.caseInsensitiveSort=pt,c.clean=m,c.csv=At,c.dec2Frac=$t,c.deepCopy=B,c.deepMerge=et,c.dotNotation=A,c.downloadFile=bt,c.downloadUrl=it,c.encodeQuery=ht,c.errorFromCode=Lt,c.fileBrowser=Ot,c.findByProp=wt,c.flattenArr=nt,c.flattenObj=I,c.formData=dt,c.formatBytes=It,c.formatDate=Vt,c.formatPhoneNumber=Mt,c.fracToDec=Tt,c.gravatar=Kt,c.includes=M,c.insertAt=jt,c.isEqual=O,c.makeArray=ot,c.makeUnique=rt,c.matchAll=vt,c.md5=ct,c.mixin=yt,c.pad=kt,c.parseUrl=Ft,c.randomHex=Ut,c.randomString=Pt,c.randomStringBuilder=Gt,c.sleep=at,c.sleepUntil=Zt,c.sortByProp=St,c.timeUntil=Qt,c.timestampFilename=Rt,c.tyoeKeys=Xt,c.uploadWithProgress=Ct,c.validateEmail=Jt,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=index.cjs.map