@ztimson/utils 0.18.2 → 0.19.1

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/emitter.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export type Listener = (...args: any[]) => any;
1
+ export type TypedListener = (...args: any[]) => any;
2
2
  export type TypedEvents = {
3
- [k in string | symbol]: Listener;
3
+ [k in string | symbol]: TypedListener;
4
4
  } & {
5
5
  '*': (event: string, ...args: any[]) => any;
6
6
  };
@@ -11,9 +11,9 @@ export declare class TypedEmitter<T extends TypedEvents = TypedEvents> {
11
11
  private static listeners;
12
12
  private listeners;
13
13
  static emit(event: any, ...args: any[]): void;
14
- static off(event: any, listener: Listener): void;
15
- static on(event: any, listener: Listener): () => void;
16
- static once(event: any, listener?: Listener): Promise<any>;
14
+ static off(event: any, listener: TypedListener): void;
15
+ static on(event: any, listener: TypedListener): () => void;
16
+ static once(event: any, listener?: TypedListener): Promise<any>;
17
17
  emit<K extends keyof T>(event: K, ...args: Parameters<T[K]>): void;
18
18
  off<K extends keyof T = string>(event: K, listener: T[K]): void;
19
19
  on<K extends keyof T = string>(event: K, listener: T[K]): () => void;
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- (function(c,p){typeof exports=="object"&&typeof module<"u"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(c=typeof globalThis<"u"?globalThis:c||self,p(c.utils={}))})(this,function(c){"use strict";var ae=Object.defineProperty;var ue=(c,p,O)=>p in c?ae(c,p,{enumerable:!0,configurable:!0,writable:!0,value:O}):c[p]=O;var a=(c,p,O)=>ue(c,typeof p!="symbol"?p+"":p,O);function p(r,t=!1){if(r==null)throw new Error("Cannot clean a NULL value");return Array.isArray(r)?r=r.filter(e=>e!=null):Object.entries(r).forEach(([e,n])=>{(t&&n===void 0||!t&&n==null)&&delete r[e]}),r}function O(r){return structuredClone(r)}function it(r,...t){return t.forEach(e=>{for(const n in e)e[n]&&typeof e[n]=="object"&&!Array.isArray(e[n])?(r[n]||(r[n]={}),it(r[n],e[n])):r[n]=e[n]}),r}function S(r,t,e){if(!(r==null||!t))return t.split(/[.[\]]/g).filter(n=>n.length).reduce((n,i,o,s)=>{if((i[0]=='"'||i[0]=="'")&&(i=i.slice(1,-1)),!(n!=null&&n.hasOwnProperty(i))){if(e==null)return;n[i]={}}return e!==void 0&&o==s.length-1?n[i]=e:n[i]},r)}function mt(r){return Object.entries(r).map(([t,e])=>encodeURIComponent(t)+"="+encodeURIComponent(e)).join("&")}function P(r,t,e={}){if(typeof r=="object"&&!Array.isArray(r)){for(const n of Object.keys(r)){const i=t?t+"."+n:n;typeof r[n]=="object"?P(r[n],i,e):e[i]=r[n]}return e}}function pt(r){const t=new FormData;return Object.entries(r).forEach(([e,n])=>t.append(e,n)),t}function D(r,t,e=!1){if(r==null)return e;if(Array.isArray(t))return t.findIndex((i,o)=>!D(r[o],t[o],e))==-1;const n=typeof t;return n!=typeof r?!1:n=="object"?Object.keys(t).find(i=>!D(r[i],t[i],e))==null:n=="function"?r.toString()==t.toString():r==t}function A(r,t){const e=typeof r,n=typeof t;return e!="object"||r==null||n!="object"||t==null?e=="function"&&n=="function"?r.toString()==t.toString():r===t:Object.keys(r).length!=Object.keys(t).length?!1:Object.keys(r).every(o=>A(r[o],t[o]))}function wt(r,t){t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(n=>{Object.defineProperty(r.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n)||Object.create(null))})})}function $(r){try{return JSON.parse(r)}catch{return r}}function Et(r,t){let e=[];return JSON.stringify(r,(n,i)=>{if(typeof i=="object"&&i!==null){if(e.includes(i))return;e.push(i)}return i},t)}function bt(r,t){return r.indexOf(t)===-1&&r.push(t),r}function St(r,t){return st([...r.filter(e=>!t.includes(n=>A(e,n))),...t.filter(e=>!r.includes(n=>A(e,n)))])}function Bt(r){return function(t,e){const n=S(t,r),i=S(e,r);return typeof n!="string"||typeof i!="string"?1:n.toLowerCase().localeCompare(i.toLowerCase())}}function Ot(r,t){return e=>A(S(e,r),t)}function ot(r,t=[]){return r.forEach(e=>Array.isArray(e)?ot(e,t):t.push(e)),t}function At(r,t=!1){return function(e,n){const i=S(e,r),o=S(n,r);return typeof i=="number"&&typeof o=="number"?(t?-1:1)*(i-o):i>o?t?-1:1:i<o?t?1:-1:0}}function st(r){for(let t=r.length-1;t>=0;t--)r.slice(0,t).find(e=>A(e,r[t]))&&r.splice(t,1);return r}function ct(r){return Array.isArray(r)?r:[r]}class v extends Array{get size(){return this.length}constructor(t=[]){super(),t!=null&&t.forEach&&t.forEach(e=>this.add(e))}add(...t){t.filter(e=>!this.has(e)).forEach(e=>this.push(e))}delete(...t){t.forEach(e=>{const n=this.indexOf(e);n!=-1&&this.slice(n,1)})}difference(t){return new v(this.filter(e=>!t.has(e)))}has(t){return this.indexOf(t)!=-1}intersection(t){return new v(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 v([...this.difference(t),...t.difference(this)])}union(t){return new v([...this,...t])}}class vt{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:(n,i)=>i in n?n[i]:n.store[i],set:(n,i,o)=>(i in n?n[i]=o:n.store[i]=o,!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 n=this.getKey(t);return this.set(n,t,e),this}addAll(t,e=!0){return t.forEach(n=>this.add(n)),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,n=this.ttl){return this.store[t]=e,n&&setTimeout(()=>{this.complete=!1,this.delete(t)},n),this}}function Rt(r,t=!0){const e=r.reduce((n,i)=>(Object.keys(t?P(i):i).forEach(o=>{n.includes(o)||n.push(o)}),n),[]);return[e.join(","),...r.map(n=>e.map(i=>{const o=S(n,i),s=typeof o;return s=="string"&&o.includes(",")?`"${o}"`:s=="object"?`"${JSON.stringify(o)}"`:o}).join(","))].join(`
2
- `)}class B extends Promise{constructor(e){super((n,i)=>e(o=>n(o),o=>i(o),o=>this.progress=o));a(this,"listeners",[]);a(this,"_progress",0)}get progress(){return this._progress}set progress(e){e!=this._progress&&(this._progress=e,this.listeners.forEach(n=>n(e)))}static from(e){return e instanceof B?e:new B((n,i)=>e.then((...o)=>n(...o)).catch((...o)=>i(...o)))}from(e){const n=B.from(e);return this.onProgress(i=>n.progress=i),n}onProgress(e){return this.listeners.push(e),this}then(e,n){const i=super.then(e,n);return this.from(i)}catch(e){return this.from(super.catch(e))}finally(e){return this.from(super.finally(e))}}function jt(r,t){r instanceof Blob||(r=new Blob(ct(r)));const e=URL.createObjectURL(r);at(e,t),URL.revokeObjectURL(e)}function at(r,t){const e=document.createElement("a");e.href=r,e.download=t||r.split("/").pop(),document.body.appendChild(e),e.click(),document.body.removeChild(e)}function Ct(r={}){return new Promise(t=>{const e=document.createElement("input");e.type="file",e.accept=r.accept||"*",e.style.display="none",e.multiple=!!r.multiple,e.onblur=e.onchange=async()=>{t(Array.from(e.files)),e.remove()},document.body.appendChild(e),e.click()})}function Nt(r,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 r?r.replace("{{TIMESTAMP}}",e):e}function $t(r){return new B((t,e,n)=>{const i=new XMLHttpRequest,o=new FormData;r.files.forEach(s=>o.append("file",s)),i.withCredentials=!!r.withCredentials,i.upload.addEventListener("progress",s=>s.lengthComputable?n(s.loaded/s.total):null),i.addEventListener("loadend",()=>t($(i.responseText))),i.addEventListener("error",()=>e($(i.responseText))),i.addEventListener("timeout",()=>e({error:"Request timed out"})),i.open("POST",r.url),Object.entries(r.headers||{}).forEach(([s,l])=>i.setRequestHeader(s,l)),i.send(o)})}class U{constructor(){a(this,"listeners",{})}static emit(t,...e){(this.listeners["*"]||[]).forEach(n=>n(t,...e)),(this.listeners[t.toString()]||[]).forEach(n=>n(...e))}static off(t,e){const n=t.toString();this.listeners[n]=(this.listeners[n]||[]).filter(i=>i===e)}static on(t,e){var i;const n=t.toString();return this.listeners[n]||(this.listeners[n]=[]),(i=this.listeners[n])==null||i.push(e),()=>this.off(t,e)}static once(t,e){return new Promise(n=>{const i=this.on(t,(...o)=>{n(o.length==1?o[0]:o),e&&e(...o),i()})})}emit(t,...e){(this.listeners["*"]||[]).forEach(n=>n(t,...e)),(this.listeners[t]||[]).forEach(n=>n(...e))}off(t,e){this.listeners[t]=(this.listeners[t]||[]).filter(n=>n===e)}on(t,e){var n;return this.listeners[t]||(this.listeners[t]=[]),(n=this.listeners[t])==null||n.push(e),()=>this.off(t,e)}once(t,e){return new Promise(n=>{const i=this.on(t,(...o)=>{n(o.length==1?o[0]:o),e&&e(...o),i()})})}}a(U,"listeners",{});class m extends Error{constructor(e,n){super(e);a(this,"_code");n!=null&&(this._code=n)}get code(){return this._code||this.constructor.code}set code(e){this._code=e}static from(e){const n=Number(e.statusCode)??Number(e.code),i=new this(e.message||e.toString());return Object.assign(i,{stack:e.stack,...e,code:n??void 0})}static instanceof(e){return e.constructor.code!=null}toString(){return this.message||super.toString()}}a(m,"code",500);class G extends m{constructor(t="Bad Request"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(G,"code",400);class F extends m{constructor(t="Unauthorized"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(F,"code",401);class q extends m{constructor(t="Payment Required"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(q,"code",402);class H extends m{constructor(t="Forbidden"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(H,"code",403);class Y extends m{constructor(t="Not Found"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Y,"code",404);class W extends m{constructor(t="Method Not Allowed"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(W,"code",405);class _ extends m{constructor(t="Not Acceptable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(_,"code",406);class J extends m{constructor(t="Internal Server Error"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(J,"code",500);class z extends m{constructor(t="Not Implemented"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(z,"code",501);class K extends m{constructor(t="Bad Gateway"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(K,"code",502);class V extends m{constructor(t="Service Unavailable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(V,"code",503);class Z extends m{constructor(t="Gateway Timeout"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Z,"code",504);function Lt(r,t){if(r>=200&&r<300)return null;switch(r){case 400:return new G(t);case 401:return new F(t);case 402:return new q(t);case 403:return new H(t);case 404:return new Y(t);case 405:return new W(t);case 406:return new _(t);case 500:return new J(t);case 501:return new z(t);case 502:return new K(t);case 503:return new V(t);case 504:return new Z(t);default:return new m(t,r)}}const E=class E{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=>E.addInterceptor(e))}static addInterceptor(t){const e=Object.keys(E.interceptors).length.toString();return E.interceptors[e]=t,()=>{E.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 i;if(!this.url&&!t.url)throw new Error("URL needs to be set");let e=((i=t.url)!=null&&i.startsWith("http")?t.url:(this.url||"")+(t.url||"")).replace(/([^:]\/)\/+/g,"$1");if(t.fragment&&(e.includes("#")?e.replace(/#.*(\?|\n)/g,(o,s)=>`#${t.fragment}${s}`):e+="#"+t.fragment),t.query){const o=Array.isArray(t.query)?t.query:Object.keys(t.query).map(s=>({key:s,value:t.query[s]}));e+=(e.includes("?")?"&":"?")+o.map(s=>`${s.key}=${s.value}`).join("&")}const n=p({"Content-Type":t.body?t.body instanceof FormData?"multipart/form-data":"application/json":void 0,...E.headers,...this.headers,...t.headers});return typeof t.body=="object"&&t.body!=null&&n["Content-Type"]=="application/json"&&(t.body=JSON.stringify(t.body)),new B((o,s,l)=>{fetch(e,{headers:n,method:t.method||(t.body?"POST":"GET"),body:t.body}).then(async u=>{var yt,gt;for(let f of[...Object.values(E.interceptors),...Object.values(this.interceptors)])await new Promise(k=>f(u,()=>k()));const M=u.headers.get("Content-Length"),rt=M?parseInt(M,10):0;let dt=0;const nt=(yt=u.body)==null?void 0:yt.getReader(),ce=new ReadableStream({start(f){function k(){nt==null||nt.read().then(N=>{if(N.done)return f.close();dt+=N.value.byteLength,l(dt/rt),f.enqueue(N.value),k()}).catch(N=>f.error(N))}k()}});if(u.data=new Response(ce),t.decode==null||t.decode){const f=(gt=u.headers.get("Content-Type"))==null?void 0:gt.toLowerCase();f!=null&&f.includes("form")?u.data=await u.data.formData():f!=null&&f.includes("json")?u.data=await u.data.json():f!=null&&f.includes("text")?u.data=await u.data.text():f!=null&&f.includes("application")&&(u.data=await u.data.blob())}u.ok?o(u):s(u)})})}};a(E,"interceptors",{}),a(E,"headers",{});let x=E;function Tt(r){const t=r.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"},C={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"},It={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 ut=(r=>(r[r.ERROR=0]="ERROR",r[r.WARN=1]="WARN",r[r.INFO=2]="INFO",r[r.LOG=3]="LOG",r[r.DEBUG=4]="DEBUG",r))(ut||{});const w=class w extends U{constructor(t){super(),this.namespace=t}pad(t,e,n,i=!1){const o=t.toString(),s=e-o.length;if(s<=0)return o;const l=Array(~~(s/n.length)).fill(n).join("");return i?o+l:l+o}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(w.LOG_LEVEL<4)return;const e=this.format(...t);w.emit(4,e),console.debug(C.LIGHT_GREY+e+R.CLEAR)}log(...t){if(w.LOG_LEVEL<3)return;const e=this.format(...t);w.emit(3,e),console.log(R.CLEAR+e)}info(...t){if(w.LOG_LEVEL<2)return;const e=this.format(...t);w.emit(2,e),console.info(C.BLUE+e+R.CLEAR)}warn(...t){if(w.LOG_LEVEL<1)return;const e=this.format(...t);w.emit(1,e),console.warn(C.YELLOW+e+R.CLEAR)}error(...t){if(w.LOG_LEVEL<0)return;const e=this.format(...t);w.emit(0,e),console.error(C.RED+e+R.CLEAR)}};a(w,"LOG_LEVEL",4);let Q=w;function Mt(r){const t=(l,u)=>u<1e-7?l:t(u,~~(l%u)),e=r.toString().length-2;let n=Math.pow(10,e),i=r*n;const o=t(i,n);i=~~(i/o),n=~~(n/o);const s=~~(i/n);return i-=s*n,`${s?s+" ":""}${~~i}/${~~n}`}function kt(r){let t=r.split(" ");const e=t.length==2?Number(t[0]):0;return t=t.pop().split("/"),e+Number(t[0])/Number(t[1])}const X="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",tt="0123456789",et="~`!@#$%^&*()_-+={[}]|\\:;\"'<,>.?/",Pt=X+tt+et;function Dt(r,t=2){if(r===0)return"0 Bytes";const e=1024,n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(r)/Math.log(e));return parseFloat((r/Math.pow(e,i)).toFixed(t))+" "+n[i]}function Ut(r){const t=/(\+?1)?.*?(\d{3}).*?(\d{3}).*?(\d{4})/g.exec(r);if(!t)throw new Error(`Number cannot be parsed: ${r}`);return`${t[1]??""} (${t[2]}) ${t[3]}-${t[4]}`.trim()}function Gt(r,t,e){return`${r.slice(0,e)}${t}${r.slice(e+1)}`}function Ft(r,t,e=" ",n=!0){return n?r.toString().padStart(t,e):r.toString().padEnd(t,e)}function qt(r){return Array(r).fill(null).map(()=>Math.round(Math.random()*15).toString(16)).join("")}function Ht(r,t=Pt){return Array(r).fill(null).map(()=>{const e=~~(Math.random()*t.length);return t[e]}).join("")}function Yt(r,t=!1,e=!1,n=!1){if(!t&&!e&&!n)throw new Error("Must enable at least one: letters, numbers, symbols");return Array(r).fill(null).map(()=>{let i;do{const o=~~(Math.random()*3);t&&o==0?i=X[~~(Math.random()*X.length)]:e&&o==1?i=tt[~~(Math.random()*tt.length)]:n&&o==2&&(i=et[~~(Math.random()*et.length)])}while(!i);return i}).join("")}function Wt(r,t){if(typeof t=="string"&&(t=new RegExp(t,"g")),!t.global)throw new TypeError("Regular expression must be global.");let e=[],n;for(;(n=t.exec(r))!==null;)e.push(n);return e}function _t(r){const t=new RegExp("(?:(?<protocol>[\\w\\d]+)\\:\\/\\/)?(?:(?<user>.+)\\@)?(?<host>(?<domain>[^:\\/\\?#@\\n]+)(?:\\:(?<port>\\d*))?)(?<path>\\/.*?)?(?:\\?(?<query>.*?))?(?:#(?<fragment>.*?))?$","gm").exec(r),e=(t==null?void 0:t.groups)??{},n=e.domain.split(".");if(e.port!=null&&(e.port=Number(e.port)),n.length>2&&(e.domain=n.splice(-2,2).join("."),e.subdomain=n.join(".")),e.query){const i=e.query.split("&"),o={};i.forEach(s=>{const[l,u]=s.split("=");o[l]=u}),e.query=o}return e}function lt(r){var t=Jt(Kt(Vt(zt(r),8*r.length)));return t.toLowerCase()}function Jt(r){for(var t,e="0123456789ABCDEF",n="",i=0;i<r.length;i++)t=r.charCodeAt(i),n+=e.charAt(t>>>4&15)+e.charAt(15&t);return n}function zt(r){for(var t=Array(r.length>>2),e=0;e<t.length;e++)t[e]=0;for(e=0;e<8*r.length;e+=8)t[e>>5]|=(255&r.charCodeAt(e/8))<<e%32;return t}function Kt(r){for(var t="",e=0;e<32*r.length;e+=8)t+=String.fromCharCode(r[e>>5]>>>e%32&255);return t}function Vt(r,t){r[t>>5]|=128<<t%32,r[14+(t+64>>>9<<4)]=t;for(var e=1732584193,n=-271733879,i=-1732584194,o=271733878,s=0;s<r.length;s+=16){var l=e,u=n,M=i,rt=o;n=g(n=g(n=g(n=g(n=y(n=y(n=y(n=y(n=d(n=d(n=d(n=d(n=h(n=h(n=h(n=h(n,i=h(i,o=h(o,e=h(e,n,i,o,r[s+0],7,-680876936),n,i,r[s+1],12,-389564586),e,n,r[s+2],17,606105819),o,e,r[s+3],22,-1044525330),i=h(i,o=h(o,e=h(e,n,i,o,r[s+4],7,-176418897),n,i,r[s+5],12,1200080426),e,n,r[s+6],17,-1473231341),o,e,r[s+7],22,-45705983),i=h(i,o=h(o,e=h(e,n,i,o,r[s+8],7,1770035416),n,i,r[s+9],12,-1958414417),e,n,r[s+10],17,-42063),o,e,r[s+11],22,-1990404162),i=h(i,o=h(o,e=h(e,n,i,o,r[s+12],7,1804603682),n,i,r[s+13],12,-40341101),e,n,r[s+14],17,-1502002290),o,e,r[s+15],22,1236535329),i=d(i,o=d(o,e=d(e,n,i,o,r[s+1],5,-165796510),n,i,r[s+6],9,-1069501632),e,n,r[s+11],14,643717713),o,e,r[s+0],20,-373897302),i=d(i,o=d(o,e=d(e,n,i,o,r[s+5],5,-701558691),n,i,r[s+10],9,38016083),e,n,r[s+15],14,-660478335),o,e,r[s+4],20,-405537848),i=d(i,o=d(o,e=d(e,n,i,o,r[s+9],5,568446438),n,i,r[s+14],9,-1019803690),e,n,r[s+3],14,-187363961),o,e,r[s+8],20,1163531501),i=d(i,o=d(o,e=d(e,n,i,o,r[s+13],5,-1444681467),n,i,r[s+2],9,-51403784),e,n,r[s+7],14,1735328473),o,e,r[s+12],20,-1926607734),i=y(i,o=y(o,e=y(e,n,i,o,r[s+5],4,-378558),n,i,r[s+8],11,-2022574463),e,n,r[s+11],16,1839030562),o,e,r[s+14],23,-35309556),i=y(i,o=y(o,e=y(e,n,i,o,r[s+1],4,-1530992060),n,i,r[s+4],11,1272893353),e,n,r[s+7],16,-155497632),o,e,r[s+10],23,-1094730640),i=y(i,o=y(o,e=y(e,n,i,o,r[s+13],4,681279174),n,i,r[s+0],11,-358537222),e,n,r[s+3],16,-722521979),o,e,r[s+6],23,76029189),i=y(i,o=y(o,e=y(e,n,i,o,r[s+9],4,-640364487),n,i,r[s+12],11,-421815835),e,n,r[s+15],16,530742520),o,e,r[s+2],23,-995338651),i=g(i,o=g(o,e=g(e,n,i,o,r[s+0],6,-198630844),n,i,r[s+7],10,1126891415),e,n,r[s+14],15,-1416354905),o,e,r[s+5],21,-57434055),i=g(i,o=g(o,e=g(e,n,i,o,r[s+12],6,1700485571),n,i,r[s+3],10,-1894986606),e,n,r[s+10],15,-1051523),o,e,r[s+1],21,-2054922799),i=g(i,o=g(o,e=g(e,n,i,o,r[s+8],6,1873313359),n,i,r[s+15],10,-30611744),e,n,r[s+6],15,-1560198380),o,e,r[s+13],21,1309151649),i=g(i,o=g(o,e=g(e,n,i,o,r[s+4],6,-145523070),n,i,r[s+11],10,-1120210379),e,n,r[s+2],15,718787259),o,e,r[s+9],21,-343485551),e=b(e,l),n=b(n,u),i=b(i,M),o=b(o,rt)}return Array(e,n,i,o)}function L(r,t,e,n,i,o){return b(Zt(b(b(t,r),b(n,o)),i),e)}function h(r,t,e,n,i,o,s){return L(t&e|~t&n,r,t,i,o,s)}function d(r,t,e,n,i,o,s){return L(t&n|e&~n,r,t,i,o,s)}function y(r,t,e,n,i,o,s){return L(t^e^n,r,t,i,o,s)}function g(r,t,e,n,i,o,s){return L(e^(t|~n),r,t,i,o,s)}function b(r,t){var e=(65535&r)+(65535&t);return(r>>16)+(t>>16)+(e>>16)<<16|65535&e}function Zt(r,t){return r<<t|r>>>32-t}function xt(r){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(r)}function Qt(r,t="mp"){return r?`https://www.gravatar.com/avatar/${lt(r)}?d=${t}`:""}function Xt(r){return r.replace(/[.*+?^${}()|\[\]\\]/g,"\\$&")}function te(r){(typeof r=="number"||typeof r=="string")&&(r=new Date(r));let t=r.getHours(),e="AM";return t>=12?(t>12&&(t-=12),e="PM"):t==0&&(t=12),`${r.getFullYear()}-${(r.getMonth()+1).toString().padStart(2,"0")}-${r.getDate().toString().padStart(2,"0")}, ${t}:${r.getMinutes().toString().padStart(2,"0")} ${e}`}function ft(r){return new Promise(t=>setTimeout(t,r))}async function ee(r,t=100){for(;await r();)await ft(t)}function re(r){return(r instanceof Date?r.getTime():r)-new Date().getTime()}function ne(){return Object.keys({})}var T=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ie={},j={};Object.defineProperty(j,"__esModule",{value:!0}),j.persist=j.Persist=void 0;class ht{constructor(t,e={}){a(this,"key");a(this,"options");a(this,"storage");a(this,"watches",{});a(this,"_value");this.key=t,this.options=e,this.storage=e.storage||localStorage,this.load()}get value(){var t;return this._value!==void 0?this._value:(t=this.options)==null?void 0:t.default}set value(t){t==null||typeof t!="object"?this._value=t:this._value=new Proxy(t,{get:(e,n)=>typeof e[n]=="function"?(...o)=>{const s=e[n](...o);return this.save(),s}:e[n],set:(e,n,i)=>(e[n]=i,this.save(),!0)}),this.save()}notify(t){Object.values(this.watches).forEach(e=>e(t))}clear(){this.storage.removeItem(this.key)}save(){this._value===void 0?this.clear():this.storage.setItem(this.key,JSON.stringify(this._value)),this.notify(this.value)}load(){if(this.storage[this.key]!=null){let t=JSON.parse(this.storage.getItem(this.key));t!=null&&typeof t=="object"&&this.options.type&&(t.__proto__=this.options.type.prototype),this.value=t}else this.value=this.options.default||void 0}watch(t){const e=Object.keys(this.watches).length;return this.watches[e]=t,()=>{delete this.watches[e]}}toString(){return JSON.stringify(this.value)}valueOf(){return this.value}}j.Persist=ht;function oe(r){return(t,e)=>{const n=(r==null?void 0:r.key)||`${t.constructor.name}.${e.toString()}`,i=new ht(n,r);Object.defineProperty(t,e,{get:function(){return i.value},set:function(o){i.value=o}})}}j.persist=oe;var I={};Object.defineProperty(I,"__esModule",{value:!0}),I.MemoryStorage=void 0;class se{get length(){return Object.keys(this).length}clear(){Object.keys(this).forEach(t=>this.removeItem(t))}getItem(t){return this[t]}key(t){return Object.keys(this)[t]}removeItem(t){delete this[t]}setItem(t,e){this[t]=e}}I.MemoryStorage=se,function(r){var t=T&&T.__createBinding||(Object.create?function(n,i,o,s){s===void 0&&(s=o);var l=Object.getOwnPropertyDescriptor(i,o);(!l||("get"in l?!i.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return i[o]}}),Object.defineProperty(n,s,l)}:function(n,i,o,s){s===void 0&&(s=o),n[s]=i[o]}),e=T&&T.__exportStar||function(n,i){for(var o in n)o!=="default"&&!Object.prototype.hasOwnProperty.call(i,o)&&t(i,n,o)};Object.defineProperty(r,"__esModule",{value:!0}),e(j,r),e(I,r)}(ie),c.ASet=v,c.BadGatewayError=K,c.BadRequestError=G,c.Cache=vt,c.CliBackground=It,c.CliEffects=R,c.CliForeground=C,c.CustomError=m,c.ForbiddenError=H,c.GatewayTimeoutError=Z,c.Http=x,c.InternalServerError=J,c.JSONAttemptParse=$,c.JSONSanitize=Et,c.LOG_LEVEL=ut,c.Logger=Q,c.MethodNotAllowedError=W,c.NotAcceptableError=_,c.NotFoundError=Y,c.NotImplementedError=z,c.PaymentRequiredError=q,c.PromiseProgress=B,c.ServiceUnavailableError=V,c.TypedEmitter=U,c.UnauthorizedError=F,c.addUnique=bt,c.arrayDiff=St,c.caseInsensitiveSort=Bt,c.clean=p,c.csv=Rt,c.dec2Frac=Mt,c.deepCopy=O,c.deepMerge=it,c.dotNotation=S,c.downloadFile=jt,c.downloadUrl=at,c.encodeQuery=mt,c.errorFromCode=Lt,c.escapeRegex=Xt,c.fileBrowser=Ct,c.findByProp=Ot,c.flattenArr=ot,c.flattenObj=P,c.formData=pt,c.formatBytes=Dt,c.formatDate=te,c.formatPhoneNumber=Ut,c.fracToDec=kt,c.gravatar=Qt,c.includes=D,c.insertAt=Gt,c.isEqual=A,c.jwtDecode=Tt,c.makeArray=ct,c.makeUnique=st,c.matchAll=Wt,c.md5=lt,c.mixin=wt,c.pad=Ft,c.parseUrl=_t,c.randomHex=qt,c.randomString=Ht,c.randomStringBuilder=Yt,c.sleep=ft,c.sleepWhile=ee,c.sortByProp=At,c.timeUntil=re,c.timestampFilename=Nt,c.tyoeKeys=ne,c.uploadWithProgress=$t,c.validateEmail=xt,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 he=Object.defineProperty;var de=(c,m,R)=>m in c?he(c,m,{enumerable:!0,configurable:!0,writable:!0,value:R}):c[m]=R;var a=(c,m,R)=>de(c,typeof m!="symbol"?m+"":m,R);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 R(n){return structuredClone(n)}function ot(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]={}),ot(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,i,s,o)=>{if((i[0]=='"'||i[0]=="'")&&(i=i.slice(1,-1)),!(r!=null&&r.hasOwnProperty(i))){if(e==null)return;r[i]={}}return e!==void 0&&s==o.length-1?r[i]=e:r[i]},n)}function mt(n){return Object.entries(n).map(([t,e])=>encodeURIComponent(t)+"="+encodeURIComponent(e)).join("&")}function U(n,t,e={}){if(typeof n=="object"&&!Array.isArray(n)){for(const r of Object.keys(n)){const i=t?t+"."+r:r;typeof n[r]=="object"?U(n[r],i,e):e[i]=n[r]}return e}}function Et(n){const t=new FormData;return Object.entries(n).forEach(([e,r])=>t.append(e,r)),t}function q(n,t,e=!1){if(n==null)return e;if(Array.isArray(t))return t.findIndex((i,s)=>!q(n[s],t[s],e))==-1;const r=typeof t;return r!=typeof n?!1:r=="object"?Object.keys(t).find(i=>!q(n[i],t[i],e))==null:r=="function"?n.toString()==t.toString():n==t}function $(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(s=>$(n[s],t[s]))}function bt(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 P(n){try{return JSON.parse(n)}catch{return n}}function St(n,t){let e=[];return JSON.stringify(n,(r,i)=>{if(typeof i=="object"&&i!==null){if(e.includes(i))return;e.push(i)}return i},t)}function Bt(n,t){return n.indexOf(t)===-1&&n.push(t),n}function Ot(n,t){return at([...n.filter(e=>!t.includes(r=>$(e,r))),...t.filter(e=>!n.includes(r=>$(e,r)))])}function At(n){return function(t,e){const r=A(t,n),i=A(e,n);return typeof r!="string"||typeof i!="string"?1:r.toLowerCase().localeCompare(i.toLowerCase())}}function jt(n,t){return e=>$(A(e,n),t)}function ct(n,t=[]){return n.forEach(e=>Array.isArray(e)?ct(e,t):t.push(e)),t}function Rt(n,t=!1){return function(e,r){const i=A(e,n),s=A(r,n);return typeof i=="number"&&typeof s=="number"?(t?-1:1)*(i-s):i>s?t?-1:1:i<s?t?1:-1:0}}function at(n){for(let t=n.length-1;t>=0;t--)n.slice(0,t).find(e=>$(e,n[t]))&&n.splice(t,1);return n}function S(n){return Array.isArray(n)?n:[n]}class B extends Array{get size(){return this.length}constructor(t=[]){super(),t!=null&&t.forEach&&t.forEach(e=>this.add(e))}add(...t){t.filter(e=>!this.has(e)).forEach(e=>this.push(e))}delete(...t){t.forEach(e=>{const r=this.indexOf(e);r!=-1&&this.slice(r,1)})}difference(t){return new B(this.filter(e=>!t.has(e)))}has(t){return this.indexOf(t)!=-1}intersection(t){return new B(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 B([...this.difference(t),...t.difference(this)])}union(t){return new B([...this,...t])}}class $t{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,i)=>i in r?r[i]:r.store[i],set:(r,i,s)=>(i in r?r[i]=s:r.store[i]=s,!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 vt(n,t=!0){const e=n.reduce((r,i)=>(Object.keys(t?U(i):i).forEach(s=>{r.includes(s)||r.push(s)}),r),[]);return[e.join(","),...n.map(r=>e.map(i=>{const s=A(r,i),o=typeof s;return o=="string"&&s.includes(",")?`"${s}"`:o=="object"?`"${JSON.stringify(s)}"`:s}).join(","))].join(`
2
+ `)}class j extends Promise{constructor(e){super((r,i)=>e(s=>r(s),s=>i(s),s=>this.progress=s));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 j?e:new j((r,i)=>e.then((...s)=>r(...s)).catch((...s)=>i(...s)))}from(e){const r=j.from(e);return this.onProgress(i=>r.progress=i),r}onProgress(e){return this.listeners.push(e),this}then(e,r){const i=super.then(e,r);return this.from(i)}catch(e){return this.from(super.catch(e))}finally(e){return this.from(super.finally(e))}}function Ct(n,t){n instanceof Blob||(n=new Blob(S(n)));const e=URL.createObjectURL(n);ut(e,t),URL.revokeObjectURL(e)}function ut(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 Nt(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 Lt(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 Pt(n){return new j((t,e,r)=>{const i=new XMLHttpRequest,s=new FormData;n.files.forEach(o=>s.append("file",o)),i.withCredentials=!!n.withCredentials,i.upload.addEventListener("progress",o=>o.lengthComputable?r(o.loaded/o.total):null),i.addEventListener("loadend",()=>t(P(i.responseText))),i.addEventListener("error",()=>e(P(i.responseText))),i.addEventListener("timeout",()=>e({error:"Request timed out"})),i.open("POST",n.url),Object.entries(n.headers||{}).forEach(([o,u])=>i.setRequestHeader(o,u)),i.send(s)})}class F{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(i=>i===e)}static on(t,e){var i;const r=t.toString();return this.listeners[r]||(this.listeners[r]=[]),(i=this.listeners[r])==null||i.push(e),()=>this.off(t,e)}static once(t,e){return new Promise(r=>{const i=this.on(t,(...s)=>{r(s.length==1?s[0]:s),e&&e(...s),i()})})}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 i=this.on(t,(...s)=>{r(s.length==1?s[0]:s),e&&e(...s),i()})})}}a(F,"listeners",{});class p 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),i=new this(e.message||e.toString());return Object.assign(i,{stack:e.stack,...e,code:r??void 0})}static instanceof(e){return e.constructor.code!=null}toString(){return this.message||super.toString()}}a(p,"code",500);class G extends p{constructor(t="Bad Request"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(G,"code",400);class H extends p{constructor(t="Unauthorized"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(H,"code",401);class Y extends p{constructor(t="Payment Required"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Y,"code",402);class W extends p{constructor(t="Forbidden"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(W,"code",403);class J extends p{constructor(t="Not Found"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(J,"code",404);class z extends p{constructor(t="Method Not Allowed"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(z,"code",405);class K extends p{constructor(t="Not Acceptable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(K,"code",406);class _ extends p{constructor(t="Internal Server Error"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(_,"code",500);class V extends p{constructor(t="Not Implemented"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(V,"code",501);class Z extends p{constructor(t="Bad Gateway"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Z,"code",502);class Q extends p{constructor(t="Service Unavailable"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(Q,"code",503);class X extends p{constructor(t="Gateway Timeout"){super(t)}static instanceof(t){return t.constructor.code==this.code}}a(X,"code",504);function Tt(n,t){if(n>=200&&n<300)return null;switch(n){case 400:return new G(t);case 401:return new H(t);case 402:return new Y(t);case 403:return new W(t);case 404:return new J(t);case 405:return new z(t);case 406:return new K(t);case 500:return new _(t);case 501:return new V(t);case 502:return new Z(t);case 503:return new Q(t);case 504:return new X(t);default:return new p(t,n)}}const b=class b{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=>b.addInterceptor(e))}static addInterceptor(t){const e=Object.keys(b.interceptors).length.toString();return b.interceptors[e]=t,()=>{b.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 i;if(!this.url&&!t.url)throw new Error("URL needs to be set");let e=((i=t.url)!=null&&i.startsWith("http")?t.url:(this.url||"")+(t.url||"")).replace(/([^:]\/)\/+/g,"$1");if(t.fragment&&(e.includes("#")?e.replace(/#.*(\?|\n)/g,(s,o)=>`#${t.fragment}${o}`):e+="#"+t.fragment),t.query){const s=Array.isArray(t.query)?t.query:Object.keys(t.query).map(o=>({key:o,value:t.query[o]}));e+=(e.includes("?")?"&":"?")+s.map(o=>`${o.key}=${o.value}`).join("&")}const r=m({"Content-Type":t.body?t.body instanceof FormData?"multipart/form-data":"application/json":void 0,...b.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 j((s,o,u)=>{fetch(e,{headers:r,method:t.method||(t.body?"POST":"GET"),body:t.body}).then(async l=>{var pt,wt;for(let f of[...Object.values(b.interceptors),...Object.values(this.interceptors)])await new Promise(D=>f(l,()=>D()));const k=l.headers.get("Content-Length"),it=k?parseInt(k,10):0;let gt=0;const st=(pt=l.body)==null?void 0:pt.getReader(),fe=new ReadableStream({start(f){function D(){st==null||st.read().then(L=>{if(L.done)return f.close();gt+=L.value.byteLength,u(gt/it),f.enqueue(L.value),D()}).catch(L=>f.error(L))}D()}});if(l.data=new Response(fe),t.decode==null||t.decode){const f=(wt=l.headers.get("Content-Type"))==null?void 0:wt.toLowerCase();f!=null&&f.includes("form")?l.data=await l.data.formData():f!=null&&f.includes("json")?l.data=await l.data.json():f!=null&&f.includes("text")?l.data=await l.data.text():f!=null&&f.includes("application")&&(l.data=await l.data.blob())}l.ok?s(l):o(l)})})}};a(b,"interceptors",{}),a(b,"headers",{});let x=b;function It(n){const t=n.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return P(decodeURIComponent(atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")))}const v={CLEAR:"\x1B[0m",BRIGHT:"\x1B[1m",DIM:"\x1B[2m",UNDERSCORE:"\x1B[4m",BLINK:"\x1B[5m",REVERSE:"\x1B[7m",HIDDEN:"\x1B[8m"},N={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"},Mt={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 lt=(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))(lt||{});const E=class E extends F{constructor(t){super(),this.namespace=t}pad(t,e,r,i=!1){const s=t.toString(),o=e-s.length;if(o<=0)return s;const u=Array(~~(o/r.length)).fill(r).join("");return i?s+u:u+s}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(N.LIGHT_GREY+e+v.CLEAR)}log(...t){if(E.LOG_LEVEL<3)return;const e=this.format(...t);E.emit(3,e),console.log(v.CLEAR+e)}info(...t){if(E.LOG_LEVEL<2)return;const e=this.format(...t);E.emit(2,e),console.info(N.BLUE+e+v.CLEAR)}warn(...t){if(E.LOG_LEVEL<1)return;const e=this.format(...t);E.emit(1,e),console.warn(N.YELLOW+e+v.CLEAR)}error(...t){if(E.LOG_LEVEL<0)return;const e=this.format(...t);E.emit(0,e),console.error(N.RED+e+v.CLEAR)}};a(E,"LOG_LEVEL",4);let tt=E;function kt(n){const t=(u,l)=>l<1e-7?u:t(l,~~(u%l)),e=n.toString().length-2;let r=Math.pow(10,e),i=n*r;const s=t(i,r);i=~~(i/s),r=~~(r/s);const o=~~(i/r);return i-=o*r,`${o?o+" ":""}${~~i}/${~~r}`}function Dt(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 et="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",nt="0123456789",rt="~`!@#$%^&*()_-+={[}]|\\:;\"'<,>.?/",Ut=et+nt+rt;function qt(n,t=2){if(n===0)return"0 Bytes";const e=1024,r=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(n)/Math.log(e));return parseFloat((n/Math.pow(e,i)).toFixed(t))+" "+r[i]}function Ft(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 Gt(n,t,e){return`${n.slice(0,e)}${t}${n.slice(e+1)}`}function Ht(n,t,e=" ",r=!0){return r?n.toString().padStart(t,e):n.toString().padEnd(t,e)}function Yt(n){return Array(n).fill(null).map(()=>Math.round(Math.random()*15).toString(16)).join("")}function Wt(n,t=Ut){return Array(n).fill(null).map(()=>{const e=~~(Math.random()*t.length);return t[e]}).join("")}function Jt(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 i;do{const s=~~(Math.random()*3);t&&s==0?i=et[~~(Math.random()*et.length)]:e&&s==1?i=nt[~~(Math.random()*nt.length)]:r&&s==2&&(i=rt[~~(Math.random()*rt.length)])}while(!i);return i}).join("")}function zt(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 Kt(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 i=e.query.split("&"),s={};i.forEach(o=>{const[u,l]=o.split("=");s[u]=l}),e.query=s}return e}function ft(n){var t=_t(Zt(Qt(Vt(n),8*n.length)));return t.toLowerCase()}function _t(n){for(var t,e="0123456789ABCDEF",r="",i=0;i<n.length;i++)t=n.charCodeAt(i),r+=e.charAt(t>>>4&15)+e.charAt(15&t);return r}function Vt(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 Zt(n){for(var t="",e=0;e<32*n.length;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function Qt(n,t){n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var e=1732584193,r=-271733879,i=-1732584194,s=271733878,o=0;o<n.length;o+=16){var u=e,l=r,k=i,it=s;r=g(r=g(r=g(r=g(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,i=h(i,s=h(s,e=h(e,r,i,s,n[o+0],7,-680876936),r,i,n[o+1],12,-389564586),e,r,n[o+2],17,606105819),s,e,n[o+3],22,-1044525330),i=h(i,s=h(s,e=h(e,r,i,s,n[o+4],7,-176418897),r,i,n[o+5],12,1200080426),e,r,n[o+6],17,-1473231341),s,e,n[o+7],22,-45705983),i=h(i,s=h(s,e=h(e,r,i,s,n[o+8],7,1770035416),r,i,n[o+9],12,-1958414417),e,r,n[o+10],17,-42063),s,e,n[o+11],22,-1990404162),i=h(i,s=h(s,e=h(e,r,i,s,n[o+12],7,1804603682),r,i,n[o+13],12,-40341101),e,r,n[o+14],17,-1502002290),s,e,n[o+15],22,1236535329),i=d(i,s=d(s,e=d(e,r,i,s,n[o+1],5,-165796510),r,i,n[o+6],9,-1069501632),e,r,n[o+11],14,643717713),s,e,n[o+0],20,-373897302),i=d(i,s=d(s,e=d(e,r,i,s,n[o+5],5,-701558691),r,i,n[o+10],9,38016083),e,r,n[o+15],14,-660478335),s,e,n[o+4],20,-405537848),i=d(i,s=d(s,e=d(e,r,i,s,n[o+9],5,568446438),r,i,n[o+14],9,-1019803690),e,r,n[o+3],14,-187363961),s,e,n[o+8],20,1163531501),i=d(i,s=d(s,e=d(e,r,i,s,n[o+13],5,-1444681467),r,i,n[o+2],9,-51403784),e,r,n[o+7],14,1735328473),s,e,n[o+12],20,-1926607734),i=y(i,s=y(s,e=y(e,r,i,s,n[o+5],4,-378558),r,i,n[o+8],11,-2022574463),e,r,n[o+11],16,1839030562),s,e,n[o+14],23,-35309556),i=y(i,s=y(s,e=y(e,r,i,s,n[o+1],4,-1530992060),r,i,n[o+4],11,1272893353),e,r,n[o+7],16,-155497632),s,e,n[o+10],23,-1094730640),i=y(i,s=y(s,e=y(e,r,i,s,n[o+13],4,681279174),r,i,n[o+0],11,-358537222),e,r,n[o+3],16,-722521979),s,e,n[o+6],23,76029189),i=y(i,s=y(s,e=y(e,r,i,s,n[o+9],4,-640364487),r,i,n[o+12],11,-421815835),e,r,n[o+15],16,530742520),s,e,n[o+2],23,-995338651),i=g(i,s=g(s,e=g(e,r,i,s,n[o+0],6,-198630844),r,i,n[o+7],10,1126891415),e,r,n[o+14],15,-1416354905),s,e,n[o+5],21,-57434055),i=g(i,s=g(s,e=g(e,r,i,s,n[o+12],6,1700485571),r,i,n[o+3],10,-1894986606),e,r,n[o+10],15,-1051523),s,e,n[o+1],21,-2054922799),i=g(i,s=g(s,e=g(e,r,i,s,n[o+8],6,1873313359),r,i,n[o+15],10,-30611744),e,r,n[o+6],15,-1560198380),s,e,n[o+13],21,1309151649),i=g(i,s=g(s,e=g(e,r,i,s,n[o+4],6,-145523070),r,i,n[o+11],10,-1120210379),e,r,n[o+2],15,718787259),s,e,n[o+9],21,-343485551),e=O(e,u),r=O(r,l),i=O(i,k),s=O(s,it)}return Array(e,r,i,s)}function T(n,t,e,r,i,s){return O(Xt(O(O(t,n),O(r,s)),i),e)}function h(n,t,e,r,i,s,o){return T(t&e|~t&r,n,t,i,s,o)}function d(n,t,e,r,i,s,o){return T(t&r|e&~r,n,t,i,s,o)}function y(n,t,e,r,i,s,o){return T(t^e^r,n,t,i,s,o)}function g(n,t,e,r,i,s,o){return T(e^(t|~r),n,t,i,s,o)}function O(n,t){var e=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(e>>16)<<16|65535&e}function Xt(n,t){return n<<t|n>>>32-t}function xt(n){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(n)}function te(n,t="mp"){return n?`https://www.gravatar.com/avatar/${ft(n)}?d=${t}`:""}function ee(n){return n.replace(/[.*+?^${}()|\[\]\\]/g,"\\$&")}function ne(n,...t){const e=[];for(let r=0;r<n.length||r<t.length;r++)n[r]&&e.push(n[r]),t[r]&&e.push(t[r]);return new w(e.join(""))}function ht(n,...t){let e=[];for(let s=0;s<n.length||s<t.length;s++)n[s]&&e.push(n[s]),t[s]&&e.push(t[s]);const[r,i]=e.join("").split(":");return w.toString(r,i==null?void 0:i.split(""))}class w{constructor(t){a(this,"module");a(this,"fullPath");a(this,"path");a(this,"name");a(this,"methods");a(this,"all");a(this,"none");a(this,"create");a(this,"read");a(this,"update");a(this,"delete");var o;if(typeof t=="object")return Object.assign(this,t);let[e,r,i]=t.split(":");i||(i=r||"*"),(e=="*"||!e&&i=="*")&&(e="",i="*");let s=e.split("/").filter(u=>!!u);this.module=((o=s.splice(0,1)[0])==null?void 0:o.toLowerCase())||"",this.fullPath=e,this.path=s.join("/"),this.name=s.pop()||"",this.methods=i.split(""),this.all=i==null?void 0:i.includes("*"),this.none=i==null?void 0:i.includes("n"),this.create=!(i!=null&&i.includes("n"))&&((i==null?void 0:i.includes("*"))||(i==null?void 0:i.includes("w"))||(i==null?void 0:i.includes("c"))),this.read=!(i!=null&&i.includes("n"))&&((i==null?void 0:i.includes("*"))||(i==null?void 0:i.includes("r"))),this.update=!(i!=null&&i.includes("n"))&&((i==null?void 0:i.includes("*"))||(i==null?void 0:i.includes("w"))||(i==null?void 0:i.includes("u"))),this.delete=!(i!=null&&i.includes("n"))&&((i==null?void 0:i.includes("*"))||(i==null?void 0:i.includes("w"))||(i==null?void 0:i.includes("d")))}static combine(t){let e=!1;const r=t.map(i=>new w(i)).toSorted((i,s)=>{const o=i.fullPath.length,u=s.fullPath.length;return o<u?1:o>u?-1:0}).reduce((i,s)=>(s.none&&(e=!0),i?(e||(s.all&&(i.all=!0),(s.all||s.create)&&(i.create=!0),(s.all||s.read)&&(i.read=!0),(s.all||s.update)&&(i.update=!0),(s.all||s.delete)&&(i.delete=!0),i.methods=[...i.methods,...s.methods]),i):s),null);return r.all&&(r.methods=["*"]),r.none&&(r.methods=["n"]),r.methods=new B(r.methods),r.raw=ht`${r.fullPath}:${r.methods}`,r}static has(t,...e){const r=S(e).map(s=>new w(s)),i=S(t).map(s=>new w(s));return!!r.find(s=>{if(!s.fullPath&&s.all)return!0;const o=i.filter(l=>s.fullPath.startsWith(l.fullPath));if(!o.length)return!1;const u=w.combine(o);return!u.none&&(u.all||new B(u.methods).intersection(new B(s.methods)).length)})}static hasAll(t,...e){return e.filter(r=>w.has(t,r)).length==e.length}static hasFatal(t,...e){if(!w.has(t,...e))throw new Error(`Requires one of: ${S(e).join(", ")}`)}static hasAllFatal(t,...e){if(!w.hasAll(t,...e))throw new Error(`Requires all: ${S(e).join(", ")}`)}static toString(t,e){let r=S(t).filter(i=>i!=null).join("/");return e!=null&&e.length&&(r+=`:${S(e).map(i=>i.toLowerCase()).join("")}`),r==null?void 0:r.trim().replaceAll(/\/{2,}/g,"/").replaceAll(/(^\/|\/$)/g,"")}toString(){return w.toString(this.fullPath,this.methods)}}class re{constructor(){a(this,"listeners",[])}emit(t,...e){const r=new w(t);this.listeners.filter(i=>w.has(i[0],t)).forEach(async i=>i[1](r,...e))}off(t){this.listeners=this.listeners.filter(e=>e[1]!=t)}on(t,e){return S(t).forEach(r=>this.listeners.push([new w(r),e])),()=>this.off(e)}once(t,e){return new Promise(r=>{const i=this.on(t,(s,...o)=>{r(o.length<2?o[0]:o),e&&e(s,...o),i()})})}relayEvents(t){t.on("*",(e,...r)=>this.emit(e,...r))}}function ie(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 dt(n){return new Promise(t=>setTimeout(t,n))}async function se(n,t=100){for(;await n();)await dt(t)}function oe(n){return(n instanceof Date?n.getTime():n)-new Date().getTime()}function ce(){return Object.keys({})}var I=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ae={},C={};Object.defineProperty(C,"__esModule",{value:!0}),C.persist=C.Persist=void 0;class yt{constructor(t,e={}){a(this,"key");a(this,"options");a(this,"storage");a(this,"watches",{});a(this,"_value");this.key=t,this.options=e,this.storage=e.storage||localStorage,this.load()}get value(){var t;return this._value!==void 0?this._value:(t=this.options)==null?void 0:t.default}set value(t){t==null||typeof t!="object"?this._value=t:this._value=new Proxy(t,{get:(e,r)=>typeof e[r]=="function"?(...s)=>{const o=e[r](...s);return this.save(),o}:e[r],set:(e,r,i)=>(e[r]=i,this.save(),!0)}),this.save()}notify(t){Object.values(this.watches).forEach(e=>e(t))}clear(){this.storage.removeItem(this.key)}save(){this._value===void 0?this.clear():this.storage.setItem(this.key,JSON.stringify(this._value)),this.notify(this.value)}load(){if(this.storage[this.key]!=null){let t=JSON.parse(this.storage.getItem(this.key));t!=null&&typeof t=="object"&&this.options.type&&(t.__proto__=this.options.type.prototype),this.value=t}else this.value=this.options.default||void 0}watch(t){const e=Object.keys(this.watches).length;return this.watches[e]=t,()=>{delete this.watches[e]}}toString(){return JSON.stringify(this.value)}valueOf(){return this.value}}C.Persist=yt;function ue(n){return(t,e)=>{const r=(n==null?void 0:n.key)||`${t.constructor.name}.${e.toString()}`,i=new yt(r,n);Object.defineProperty(t,e,{get:function(){return i.value},set:function(s){i.value=s}})}}C.persist=ue;var M={};Object.defineProperty(M,"__esModule",{value:!0}),M.MemoryStorage=void 0;class le{get length(){return Object.keys(this).length}clear(){Object.keys(this).forEach(t=>this.removeItem(t))}getItem(t){return this[t]}key(t){return Object.keys(this)[t]}removeItem(t){delete this[t]}setItem(t,e){this[t]=e}}M.MemoryStorage=le,function(n){var t=I&&I.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),e=I&&I.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&t(i,r,s)};Object.defineProperty(n,"__esModule",{value:!0}),e(C,n),e(M,n)}(ae),c.ASet=B,c.BadGatewayError=Z,c.BadRequestError=G,c.Cache=$t,c.CliBackground=Mt,c.CliEffects=v,c.CliForeground=N,c.CustomError=p,c.ForbiddenError=W,c.GatewayTimeoutError=X,c.Http=x,c.InternalServerError=_,c.JSONAttemptParse=P,c.JSONSanitize=St,c.LOG_LEVEL=lt,c.Logger=tt,c.MethodNotAllowedError=z,c.NotAcceptableError=K,c.NotFoundError=J,c.NotImplementedError=V,c.PE=ne,c.PES=ht,c.PathEvent=w,c.PathEventEmitter=re,c.PaymentRequiredError=Y,c.PromiseProgress=j,c.ServiceUnavailableError=Q,c.TypedEmitter=F,c.UnauthorizedError=H,c.addUnique=Bt,c.arrayDiff=Ot,c.caseInsensitiveSort=At,c.clean=m,c.csv=vt,c.dec2Frac=kt,c.deepCopy=R,c.deepMerge=ot,c.dotNotation=A,c.downloadFile=Ct,c.downloadUrl=ut,c.encodeQuery=mt,c.errorFromCode=Tt,c.escapeRegex=ee,c.fileBrowser=Nt,c.findByProp=jt,c.flattenArr=ct,c.flattenObj=U,c.formData=Et,c.formatBytes=qt,c.formatDate=ie,c.formatPhoneNumber=Ft,c.fracToDec=Dt,c.gravatar=te,c.includes=q,c.insertAt=Gt,c.isEqual=$,c.jwtDecode=It,c.makeArray=S,c.makeUnique=at,c.matchAll=zt,c.md5=ft,c.mixin=bt,c.pad=Ht,c.parseUrl=Kt,c.randomHex=Yt,c.randomString=Wt,c.randomStringBuilder=Jt,c.sleep=dt,c.sleepWhile=se,c.sortByProp=Rt,c.timeUntil=oe,c.timestampFilename=Lt,c.tyoeKeys=ce,c.uploadWithProgress=Pt,c.validateEmail=xt,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=index.cjs.map