@ztimson/utils 0.16.8 → 0.16.10

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,10 +1,12 @@
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> {
5
- readonly key: keyof T;
4
+ export declare class Cache<K extends string | number | symbol, T> {
5
+ readonly key?: keyof T | undefined;
6
6
  ttl?: number | undefined;
7
7
  private store;
8
+ /** Support index lookups */
9
+ [key: string | number | symbol]: T | any;
8
10
  /** Whether cache is complete */
9
11
  complete: boolean;
10
12
  /**
@@ -13,7 +15,7 @@ export declare class Cache<K, T> {
13
15
  * @param {keyof T} key Default property to use as primary key
14
16
  * @param {number} ttl Default expiry in milliseconds
15
17
  */
16
- constructor(key: keyof T, ttl?: number | undefined);
18
+ constructor(key?: keyof T | undefined, ttl?: number | undefined);
17
19
  private getKey;
18
20
  /**
19
21
  * Get all cached items
@@ -60,6 +62,12 @@ export declare class Cache<K, T> {
60
62
  * @return {K[]} Array of keys
61
63
  */
62
64
  keys(): K[];
65
+ /**
66
+ * Get map of cached items
67
+ *
68
+ * @return {Record<K, T>}
69
+ */
70
+ map(): Record<K, T>;
63
71
  /**
64
72
  * Add an item to the cache manually specifying the key
65
73
  *
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
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 te=Object.defineProperty;var ee=(c,m,B)=>m in c?te(c,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):c[m]=B;var a=(c,m,B)=>(ee(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 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 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 $(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 wt(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 pt(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());return this.key=t,this.ttl=e,new Proxy(this,{get:(r,o)=>o in r?r[o]:r.store[o],set:(r,o,i)=>(o in r?r[o]=i:r.store[o]=i,!0)})}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)}get(t){return this.store[t]}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?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),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($(o.responseText))),o.addEventListener("error",()=>e($(o.responseText))),o.addEventListener("timeout",()=>e({error:"Request timed out"})),o.open("POST",n.url),Object.entries(n.headers||{}).forEach(([s,w])=>o.setRequestHeader(s,w)),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 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 U(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 p=class p{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=>p.addInterceptor(e))}static addInterceptor(t){const e=Object.keys(p.interceptors).length.toString();return p.interceptors[e]=t,()=>{p.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,...p.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,w)=>{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(p.interceptors),...Object.values(this.interceptors)])await new Promise(j=>l(u,()=>j()));const I=u.headers.get("Content-Length"),_=I?parseInt(I,10):0;let ut=0;const tt=(lt=u.body)==null?void 0:lt.getReader(),_t=new ReadableStream({start(l){function j(){tt==null||tt.read().then(N=>{if(N.done)return l.close();ut+=N.value.byteLength,w(ut/_),l.enqueue(N.value),j()}).catch(N=>l.error(N))}j()}});if(u.data=new Response(_t),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(p,"interceptors",{}),a(p,"headers",{});let V=p;function Nt(n){const t=n.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return $(decodeURIComponent(window.atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")))}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"},$t={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 w=Array(~~(s/r.length)).fill(r).join("");return o?i+w:w+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 Tt(n){const t=(w,u)=>u<1e-7?w:t(u,~~(w%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 It(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="~`!@#$%^&*()_-+={[}]|\\:;\"'<,>.?/",jt=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 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 kt(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 Pt(n){return Array(n).fill(null).map(()=>Math.round(Math.random()*15).toString(16)).join("")}function Gt(n,t=jt){return Array(n).fill(null).map(()=>{const e=~~(Math.random()*t.length);return t[e]}).join("")}function Ft(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 qt(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 vt(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[w,u]=s.split("=");i[w]=u}),e.query=i}return e}function ct(n){var t=Ht(Wt(zt(Yt(n),8*n.length)));return t.toLowerCase()}function Ht(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 Yt(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 Wt(n){for(var t="",e=0;e<32*n.length;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function zt(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 w=e,u=r,I=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,w),r=S(r,u),o=S(o,I),i=S(i,_)}return Array(e,r,o,i)}function T(n,t,e,r,o,i){return S(Jt(S(S(t,n),S(r,i)),o),e)}function f(n,t,e,r,o,i,s){return T(t&e|~t&r,n,t,o,i,s)}function h(n,t,e,r,o,i,s){return T(t&r|e&~r,n,t,o,i,s)}function d(n,t,e,r,o,i,s){return T(t^e^r,n,t,o,i,s)}function y(n,t,e,r,o,i,s){return T(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 Jt(n,t){return n<<t|n>>>32-t}function Kt(n){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(n)}function Vt(n,t="mp"){return n?`https://www.gravatar.com/avatar/${ct(n)}?d=${t}`:""}function Zt(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 Qt(n,t=100){for(;await n();)await at(t)}function Xt(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=$t,c.CliEffects=C,c.CliForeground=L,c.CustomError=g,c.ForbiddenError=F,c.GatewayTimeoutError=K,c.Http=V,c.InternalServerError=Y,c.JSONAttemptParse=$,c.JSONSanitize=gt,c.LOG_LEVEL=st,c.Logger=Z,c.MethodNotAllowedError=v,c.NotAcceptableError=H,c.NotFoundError=q,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=wt,c.clean=m,c.csv=At,c.dec2Frac=Tt,c.decodeJwt=Nt,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=pt,c.flattenArr=nt,c.flattenObj=D,c.formData=dt,c.formatBytes=Dt,c.formatDate=Zt,c.formatPhoneNumber=Mt,c.fracToDec=It,c.gravatar=Vt,c.includes=M,c.insertAt=kt,c.isEqual=O,c.makeArray=ot,c.makeUnique=rt,c.matchAll=qt,c.md5=ct,c.mixin=yt,c.pad=Ut,c.parseUrl=vt,c.randomHex=Pt,c.randomString=Gt,c.randomStringBuilder=Ft,c.sleep=at,c.sleepUntil=Qt,c.sortByProp=St,c.timeUntil=Xt,c.timestampFilename=Rt,c.tyoeKeys=xt,c.uploadWithProgress=Ct,c.validateEmail=Kt,Object.defineProperty(c,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 te=Object.defineProperty;var ee=(c,m,B)=>m in c?te(c,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):c[m]=B;var a=(c,m,B)=>(ee(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 $(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 C 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 C(this.filter(e=>!t.has(e)))}has(t){return this.indexOf(t)!=-1}intersection(t){return new C(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 C([...this.difference(t),...t.difference(this)])}union(t){return new C([...this,...t])}}class Bt{constructor(t,e){a(this,"store",{});a(this,"complete",!1);a(this,"values",this.all());return this.key=t,this.ttl=e,new Proxy(this,{get:(r,o)=>o in r?r[o]:r.store[o],set:(r,o,i)=>(o in r?r[o]=i:r.store[o]=i,!0)})}getKey(t){if(!this.key)throw new Error("No key defined");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)}get(t){return this.store[t]}keys(){return Object.keys(this.store)}map(){return structuredClone(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 Ct(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 Rt(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($(o.responseText))),o.addEventListener("error",()=>e($(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 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 U(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,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 j=u.headers.get("Content-Length"),_=j?parseInt(j,10):0;let ut=0;const tt=(lt=u.body)==null?void 0:lt.getReader(),_t=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(_t),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;function Nt(n){const t=n.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return $(decodeURIComponent(atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")))}const R={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"},$t={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+R.CLEAR)}log(...t){if(E.LOG_LEVEL<3)return;const e=this.format(...t);E.emit(3,e),console.log(R.CLEAR+e)}info(...t){if(E.LOG_LEVEL<2)return;const e=this.format(...t);E.emit(2,e),console.info(L.BLUE+e+R.CLEAR)}warn(...t){if(E.LOG_LEVEL<1)return;const e=this.format(...t);E.emit(1,e),console.warn(L.YELLOW+e+R.CLEAR)}error(...t){if(E.LOG_LEVEL<0)return;const e=this.format(...t);E.emit(0,e),console.error(L.RED+e+R.CLEAR)}};a(E,"LOG_LEVEL",4);let Z=E;function Tt(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 jt(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 kt(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 Pt(n){return Array(n).fill(null).map(()=>Math.round(Math.random()*15).toString(16)).join("")}function Gt(n,t=Dt){return Array(n).fill(null).map(()=>{const e=~~(Math.random()*t.length);return t[e]}).join("")}function Ft(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 qt(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 vt(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=Ht(Wt(zt(Yt(n),8*n.length)));return t.toLowerCase()}function Ht(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 Yt(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 Wt(n){for(var t="",e=0;e<32*n.length;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function zt(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,j=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,j),i=S(i,_)}return Array(e,r,o,i)}function T(n,t,e,r,o,i){return S(Jt(S(S(t,n),S(r,i)),o),e)}function f(n,t,e,r,o,i,s){return T(t&e|~t&r,n,t,o,i,s)}function h(n,t,e,r,o,i,s){return T(t&r|e&~r,n,t,o,i,s)}function d(n,t,e,r,o,i,s){return T(t^e^r,n,t,o,i,s)}function y(n,t,e,r,o,i,s){return T(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 Jt(n,t){return n<<t|n>>>32-t}function Kt(n){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(n)}function Vt(n,t="mp"){return n?`https://www.gravatar.com/avatar/${ct(n)}?d=${t}`:""}function Zt(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 Qt(n,t=100){for(;await n();)await at(t)}function Xt(n){return(n instanceof Date?n.getTime():n)-new Date().getTime()}function xt(){return Object.keys({})}c.ASet=C,c.BadGatewayError=z,c.BadRequestError=U,c.Cache=Bt,c.CliBackground=$t,c.CliEffects=R,c.CliForeground=L,c.CustomError=g,c.ForbiddenError=F,c.GatewayTimeoutError=K,c.Http=V,c.InternalServerError=Y,c.JSONAttemptParse=$,c.JSONSanitize=gt,c.LOG_LEVEL=st,c.Logger=Z,c.MethodNotAllowedError=v,c.NotAcceptableError=H,c.NotFoundError=q,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=Tt,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=Zt,c.formatPhoneNumber=Mt,c.fracToDec=jt,c.gravatar=Vt,c.includes=M,c.insertAt=kt,c.isEqual=O,c.jwtDecode=Nt,c.makeArray=ot,c.makeUnique=rt,c.matchAll=qt,c.md5=ct,c.mixin=yt,c.pad=Ut,c.parseUrl=vt,c.randomHex=Pt,c.randomString=Gt,c.randomStringBuilder=Ft,c.sleep=at,c.sleepUntil=Qt,c.sortByProp=St,c.timeUntil=Xt,c.timestampFilename=Ct,c.tyoeKeys=xt,c.uploadWithProgress=Rt,c.validateEmail=Kt,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=index.cjs.map