@elysiajs/eden 1.0.12 → 1.0.14

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.
@@ -0,0 +1 @@
1
+ import{b as F,c as T}from"./chunk-HUZ6GXDC.mjs";var J=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,N=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,i){return this.addEventListener(t,n,i)}off(t,n,i){return this.ws.removeEventListener(t,n,i),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,i){return this.ws.addEventListener(t,f=>{if(t==="message"){let r=f.data.toString(),a=r.charCodeAt(0),g=r.charCodeAt(r.length-1);if(a===91||a===123)try{r=JSON.parse(r,(x,m)=>{if(typeof m=="string"&&J.test(m)){let y=new Date(m);if(!Number.isNaN(y.getTime()))return y}return m})}catch{}else F(r)?r=+r:r==="true"?r=!0:r==="false"?r=!1:r==="null"?r=null:a===34&&g===34&&J.test(r)&&(r=new Date(r.substring(1,r.length-1)));n({...f,data:r})}else n(f)},i),this}removeEventListener(t,n,i){return this.off(t,n,i),this}close(){return this.ws.close(),this}};var $=["get","post","put","delete","patch","options","head","connect","subscribe"],U=["localhost","127.0.0.1","0.0.0.0"],D=typeof FileList>"u",M=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,K=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,I=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,P=e=>D?e instanceof Blob:e instanceof FileList||e instanceof File,B=e=>{if(!e)return!1;for(let t in e)if(P(e[t])||Array.isArray(e[t])&&e[t].find(P))return!0;return!1},R=e=>D?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let i=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(i)},n.readAsArrayBuffer(e)}),O=(e,t,n={},i={})=>{if(Array.isArray(e)){for(let f of e)if(!Array.isArray(f))i=O(f,t,n,i);else{let r=f[0];if(typeof r=="string")i[r.toLowerCase()]=f[1];else for(let[a,g]of r)i[a.toLowerCase()]=g}return i}if(!e)return i;switch(typeof e){case"function":let f=e(t,n);return f?O(f,t,n,i):i;case"object":if(e instanceof Headers)return e.forEach((r,a)=>{i[a.toLowerCase()]=r}),i;for(let[r,a]of Object.entries(e))i[r.toLowerCase()]=a;default:return i}},C=(e,t,n=[],i)=>new Proxy(()=>{},{get(f,r){return C(e,t,r==="index"?n:[...n,r],i)},apply(f,r,[a,g]){if(!a||g||typeof a=="object"&&Object.keys(a).length!==1||$.includes(n.at(-1))){let x=[...n],m=x.pop(),y="/"+x.join("/"),{fetcher:u=fetch,headers:d,onRequest:w,onResponse:l,fetch:v}=t,E=m==="get"||m==="head"||m==="subscribe";d=O(d,y,g);let q=E?a?.query:g?.query,L="";if(q){let o=(A,k)=>{L+=(L?"&":"?")+`${encodeURIComponent(A)}=${encodeURIComponent(k)}`};for(let[A,k]of Object.entries(q)){if(Array.isArray(k)){for(let p of k)o(A,p);continue}o(A,`${k}`)}}if(m==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||U.find(A=>e.includes(A))?"ws://":"wss://")+y+L;return new N(o)}return(async()=>{let o={method:m?.toUpperCase(),body:a,...v,headers:d};o.headers={...d,...O(E?a?.headers:g?.headers,y,o)};let A=E&&typeof a=="object"?a.fetch:g?.fetch;if(o={...o,...A},E&&delete o.body,w){Array.isArray(w)||(w=[w]);for(let h of w){let s=await h(y,o);typeof s=="object"&&(o={...o,...s,headers:{...o.headers,...O(s.headers,y,o)}})}}if(E&&delete o.body,B(a)){let h=new FormData;for(let[s,c]of Object.entries(o.body)){if(D){h.append(s,c);continue}if(c instanceof File){h.append(s,await R(c));continue}if(c instanceof FileList){for(let S=0;S<c.length;S++)h.append(s,await R(c[S]));continue}if(Array.isArray(c)){for(let S=0;S<c.length;S++){let W=c[S];h.append(s,W instanceof File?await R(W):W)}continue}h.append(s,c)}o.body=h}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(E&&delete o.body,w){Array.isArray(w)||(w=[w]);for(let h of w){let s=await h(y,o);typeof s=="object"&&(o={...o,...s,headers:{...o.headers,...s.headers}})}}let k=e+y+L,p=await(i?.handle(new Request(k,o))??u(k,o)),b=null,j=null;if(l){Array.isArray(l)||(l=[l]);for(let h of l)try{let s=await h(p.clone());if(s!=null){b=s;break}}catch(s){s instanceof T?j=s:j=new T(422,s);break}}if(b===null){switch(p.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await p.json();break;case"application/octet-stream":b=await p.arrayBuffer();break;case"multipart/form-data":let h=await p.formData();b={},h.forEach((s,c)=>{b[c]=s});break;default:b=await p.text().then(s=>{if(F(s))return+s;if(s==="true")return!0;if(s==="false")return!1;if(!s)return s;let c=s.replace(/"/g,"");if(M.test(c)||K.test(c)||I.test(c)){let S=new Date(c);if(!Number.isNaN(S.getTime()))return S}return s})}(p.status>=300||p.status<200)&&(j=new T(p.status,b),b=null)}return{data:b,error:j,response:p,status:p.status,headers:p.headers}})()}return typeof a=="object"?C(e,t,[...n,Object.values(a)[0]],i):C(e,t,n)}}),V=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(U.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),C(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),C("http://e.ly",t,[],e));var re=(e,t)=>(n,{query:i,params:f,body:r,...a}={})=>{f&&Object.entries(f).forEach(([u,d])=>{n=n.replace(`:${u}`,d)});let g=a.headers?.["Content-Type"];if(!g||g==="application/json")try{r=JSON.stringify(r)}catch{}let x=t?.fetcher||globalThis.fetch,m=i?`?${new URLSearchParams(i).toString()}`:"",y=()=>x(e+n+m,{...a,method:a.method?.toUpperCase()||"GET",headers:r?{"content-type":"application/json",...a.headers}:a.headers,body:r}).then(async u=>{let d;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":d=await u.json();break;case"application/octet-stream":d=await u.arrayBuffer();break;case"multipart/form-data":let w=await u.formData();d={},w.forEach((l,v)=>{d[v]=l});break;default:d=await u.text().then(l=>{if(F(l))return+l;if(l==="true")return!0;if(l==="false")return!1;if(!l)return l;let v=l.replace(/"/g,"");if(M.test(v)||K.test(v)||I.test(v)){let E=new Date(v);if(!Number.isNaN(E.getTime()))return E}return l})}return u.status>300?{data:null,status:u.status,headers:u.headers,retry:y,error:new T(u.status,d)}:{data:d,error:null,status:u.status,headers:u.headers,retry:y}});return y()};export{V as a,re as b};
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})},$=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of x(t))!b.call(e,s)&&s!==n&&p(e,s,{get:()=>t[s],enumerable:!(a=m(t,s))||a.enumerable});return e};var S=e=>$(p({},"__esModule",{value:!0}),e);var N={};E(N,{edenFetch:()=>j});var l=class extends Error{constructor(n,a){super(a+"");this.status=n;this.value=a}};var y=e=>e.trim().length!==0&&!Number.isNaN(Number(e));var j=(e,t)=>(n,{query:a,params:s,body:u,...c}={})=>{s&&Object.entries(s).forEach(([r,i])=>{n=n.replace(`:${r}`,i)});let f=c.headers?.["Content-Type"];if(!f||f==="application/json")try{u=JSON.stringify(u)}catch{}let d=t?.fetcher||globalThis.fetch,g=a?`?${new URLSearchParams(a).toString()}`:"",h=()=>d(e+n+g,{...c,method:c.method?.toUpperCase()||"GET",headers:u?{"content-type":"application/json",...c.headers}:c.headers,body:u}).then(async r=>{let i;switch(r.headers.get("Content-Type")?.split(";")[0]){case"application/json":i=await r.json();break;default:i=await r.text().then(o=>y(o)?parseInt(o):o==="true"?!0:o==="false"?!1:o);break}return r.status>300?{data:null,status:r.status,headers:r.headers,retry:h,error:new l(r.status,i)}:{data:i,error:null,status:r.status,headers:r.headers,retry:h}});return h()};return S(N);})();
1
+ "use strict";var Eden=(()=>{var p=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var T=(t,r)=>{for(var s in r)p(t,s,{get:r[s],enumerable:!0})},F=(t,r,s,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of A(r))!x.call(t,a)&&a!==s&&p(t,a,{get:()=>r[a],enumerable:!(o=k(r,a))||o.enumerable});return t};var N=t=>F(p({},"__esModule",{value:!0}),t);var j={};T(j,{edenFetch:()=>O});var y=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var u=class extends Error{constructor(s,o){super(o+"");this.status=s;this.value=o}};var m=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,w=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,b=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/;var O=(t,r)=>(s,{query:o,params:a,body:l,...f}={})=>{a&&Object.entries(a).forEach(([e,i])=>{s=s.replace(`:${e}`,i)});let h=f.headers?.["Content-Type"];if(!h||h==="application/json")try{l=JSON.stringify(l)}catch{}let S=r?.fetcher||globalThis.fetch,E=o?`?${new URLSearchParams(o).toString()}`:"",d=()=>S(t+s+E,{...f,method:f.method?.toUpperCase()||"GET",headers:l?{"content-type":"application/json",...f.headers}:f.headers,body:l}).then(async e=>{let i;switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":i=await e.json();break;case"application/octet-stream":i=await e.arrayBuffer();break;case"multipart/form-data":let v=await e.formData();i={},v.forEach((n,c)=>{i[c]=n});break;default:i=await e.text().then(n=>{if(y(n))return+n;if(n==="true")return!0;if(n==="false")return!1;if(!n)return n;let c=n.replace(/"/g,"");if(m.test(c)||w.test(c)||b.test(c)){let g=new Date(c);if(!Number.isNaN(g.getTime()))return g}return n})}return e.status>300?{data:null,status:e.status,headers:e.headers,retry:d,error:new u(e.status,i)}:{data:i,error:null,status:e.status,headers:e.headers,retry:d}});return d()};return N(j);})();
package/dist/fetch.js CHANGED
@@ -1 +1 @@
1
- "use strict";var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})},$=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of x(t))!b.call(e,s)&&s!==n&&p(e,s,{get:()=>t[s],enumerable:!(a=m(t,s))||a.enumerable});return e};var S=e=>$(p({},"__esModule",{value:!0}),e);var N={};E(N,{edenFetch:()=>j});module.exports=S(N);var l=class extends Error{constructor(n,a){super(a+"");this.status=n;this.value=a}};var y=e=>e.trim().length!==0&&!Number.isNaN(Number(e));var j=(e,t)=>(n,{query:a,params:s,body:u,...c}={})=>{s&&Object.entries(s).forEach(([r,i])=>{n=n.replace(`:${r}`,i)});let f=c.headers?.["Content-Type"];if(!f||f==="application/json")try{u=JSON.stringify(u)}catch{}let d=t?.fetcher||globalThis.fetch,g=a?`?${new URLSearchParams(a).toString()}`:"",h=()=>d(e+n+g,{...c,method:c.method?.toUpperCase()||"GET",headers:u?{"content-type":"application/json",...c.headers}:c.headers,body:u}).then(async r=>{let i;switch(r.headers.get("Content-Type")?.split(";")[0]){case"application/json":i=await r.json();break;default:i=await r.text().then(o=>y(o)?parseInt(o):o==="true"?!0:o==="false"?!1:o);break}return r.status>300?{data:null,status:r.status,headers:r.headers,retry:h,error:new l(r.status,i)}:{data:i,error:null,status:r.status,headers:r.headers,retry:h}});return h()};0&&(module.exports={edenFetch});
1
+ "use strict";var p=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var T=(t,r)=>{for(var s in r)p(t,s,{get:r[s],enumerable:!0})},F=(t,r,s,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of A(r))!x.call(t,a)&&a!==s&&p(t,a,{get:()=>r[a],enumerable:!(o=k(r,a))||o.enumerable});return t};var N=t=>F(p({},"__esModule",{value:!0}),t);var j={};T(j,{edenFetch:()=>O});module.exports=N(j);var y=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var u=class extends Error{constructor(s,o){super(o+"");this.status=s;this.value=o}};var m=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,w=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,b=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/;var O=(t,r)=>(s,{query:o,params:a,body:l,...f}={})=>{a&&Object.entries(a).forEach(([e,i])=>{s=s.replace(`:${e}`,i)});let h=f.headers?.["Content-Type"];if(!h||h==="application/json")try{l=JSON.stringify(l)}catch{}let S=r?.fetcher||globalThis.fetch,E=o?`?${new URLSearchParams(o).toString()}`:"",d=()=>S(t+s+E,{...f,method:f.method?.toUpperCase()||"GET",headers:l?{"content-type":"application/json",...f.headers}:f.headers,body:l}).then(async e=>{let i;switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":i=await e.json();break;case"application/octet-stream":i=await e.arrayBuffer();break;case"multipart/form-data":let v=await e.formData();i={},v.forEach((n,c)=>{i[c]=n});break;default:i=await e.text().then(n=>{if(y(n))return+n;if(n==="true")return!0;if(n==="false")return!1;if(!n)return n;let c=n.replace(/"/g,"");if(m.test(c)||w.test(c)||b.test(c)){let g=new Date(c);if(!Number.isNaN(g.getTime()))return g}return n})}return e.status>300?{data:null,status:e.status,headers:e.headers,retry:d,error:new u(e.status,i)}:{data:i,error:null,status:e.status,headers:e.headers,retry:d}});return d()};0&&(module.exports={edenFetch});
package/dist/fetch.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-TDCHXBL7.mjs";import"./chunk-HUZ6GXDC.mjs";export{a as edenFetch};
1
+ import{b as a}from"./chunk-VA7FGDJH.mjs";import"./chunk-HUZ6GXDC.mjs";export{a as edenFetch};
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var q=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var re=(t,e)=>{for(var n in e)q(t,n,{get:e[n],enumerable:!0})},se=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of te(e))!ne.call(t,i)&&i!==n&&q(t,i,{get:()=>e[i],enumerable:!(r=ee(e,i))||r.enumerable});return t};var ae=t=>se(q({},"__esModule",{value:!0}),t);var le={};re(le,{edenFetch:()=>Y,edenTreaty:()=>X,treaty:()=>V});var _=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[i,s]of Object.entries(n))r+=`${i}=${s}&`;return`${t}${e}?${r.slice(0,-1)}`},L=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var T=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var I=class{constructor(e){this.url=e;this.ws=new WebSocket(e)}ws;send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,i=>{if(e==="message"){let s=i.data.toString(),a=s.charCodeAt(0);if(a===47||a===123)try{s=JSON.parse(s)}catch{}else L(s)?s=+s:s==="true"?s=!0:s==="false"&&(s=!1);n({...i,data:s})}else n(i)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}};var ie=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=["localhost","127.0.0.1","0.0.0.0"],J=typeof FileList>"u",oe=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,ce=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,fe=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,G=t=>J?t instanceof Blob:t instanceof FileList||t instanceof File,ye=t=>{if(!t)return!1;for(let e in t)if(G(t[e])||Array.isArray(t[e])&&t[e].find(G))return!0;return!1},D=t=>J?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),$=(t,e,n={},r={})=>{if(Array.isArray(t)){for(let i of t)if(!Array.isArray(i))r=$(i,e,n,r);else{let s=i[0];if(typeof s=="string")r[s.toLowerCase()]=i[1];else for(let[a,d]of s)r[a.toLowerCase()]=d}return r}if(!t)return r;switch(typeof t){case"function":let i=t(e,n);return i?$(i,e,n,r):r;case"object":if(t instanceof Headers)return t.forEach((s,a)=>{r[a.toLowerCase()]=s}),r;for(let[s,a]of Object.entries(t))r[s.toLowerCase()]=a;default:return r}},K=(t,e,n=[],r)=>new Proxy(()=>{},{get(i,s){return K(t,e,s==="index"?n:[...n,s],r)},apply(i,s,[a,d]){if(!a||d||typeof a=="object"&&Object.keys(a).length!==1||ie.includes(n.at(-1))){let W=[...n],v=W.pop(),g="/"+W.join("/"),{fetcher:u=fetch,headers:E,onRequest:p,onResponse:F,fetch:j}=e,A=v==="get"||v==="head"||v==="subscribe";E=$(E,g,d);let N=A?a?.query:d?.query,w="";if(N){let o=(O,k)=>{w+=(w?"&":"?")+`${encodeURIComponent(O)}=${encodeURIComponent(k)}`};for(let[O,k]of Object.entries(N)){if(Array.isArray(k)){for(let f of k)o(O,f);continue}o(O,`${k}`)}}if(v==="subscribe"){let o=t.replace(/^([^]+):\/\//,t.startsWith("https://")?"wss://":t.startsWith("http://")||Z.find(O=>t.includes(O))?"ws://":"wss://")+g+w;return new I(o)}return(async()=>{let o={method:v?.toUpperCase(),body:a,...j,headers:E};o.headers={...E,...$(A?a?.headers:d?.headers,g,o)};let O=A&&typeof a=="object"?a.fetch:d?.fetch;if(o={...o,...O},A&&delete o.body,p){Array.isArray(p)||(p=[p]);for(let y of p){let c=await y(g,o);typeof c=="object"&&(o={...o,...c,headers:{...o.headers,...$(c.headers,g,o)}})}}if(A&&delete o.body,ye(a)){let y=new FormData;for(let[c,h]of Object.entries(o.body)){if(J){y.append(c,h);continue}if(h instanceof File){y.append(c,await D(h));continue}if(h instanceof FileList){for(let l=0;l<h.length;l++)y.append(c,await D(h[l]));continue}if(Array.isArray(h)){for(let l=0;l<h.length;l++){let S=h[l];y.append(c,S instanceof File?await D(S):S)}continue}y.append(c,h)}}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(A&&delete o.body,p){Array.isArray(p)||(p=[p]);for(let y of p){let c=await y(g,o);typeof c=="object"&&(o={...o,...c,headers:{...o.headers,...c.headers}})}}let k=t+g+w,f=await(r?.handle(new Request(k,o))??u(k,o)),b=null,m=null;if(F){Array.isArray(F)||(F=[F]);for(let y of F)try{let c=await y(f.clone());if(c!=null){b=c;break}}catch(c){c instanceof T?m=c:m=new T(422,c);break}}if(b===null){switch(f.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await f.json();break;case"application/octet-stream":b=await f.arrayBuffer();break;default:b=await f.text().then(y=>{if(L(y))return+y;if(y==="true")return!0;if(y==="false")return!1;if(!y)return y;let c=y.replace(/"/g,"");if(oe.test(c)||ce.test(c)||fe.test(c)){let h=new Date(c);if(!Number.isNaN(h.getTime()))return h}return y})}(f.status>=300||f.status<200)&&(m=new T(f.status,b),b=null)}return{data:b,error:m,response:f,status:f.status,headers:f.headers}})()}return typeof a=="object"?K(t,e,[...n,Object.values(a)[0]],r):K(t,e,n)}}),V=(t,e={})=>typeof t=="string"?(e.keepDomain||(t.includes("://")||(t=(Z.find(n=>t.includes(n))?"http://":"https://")+t),t.endsWith("/")&&(t=t.slice(0,-1))),K(t,e)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),K("http://e.ly",e,[],t));var H=typeof FileList>"u",z=t=>H?t instanceof Blob:t instanceof FileList||t instanceof File,ue=t=>{if(!t)return!1;for(let e in t){if(z(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>z(n)))return!0}return!1},U=t=>H?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),B=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,i=>{if(e==="message"){let s=i.data.toString(),a=s.charCodeAt(0);if(a===47||a===123)try{s=JSON.parse(s)}catch{}else L(s)?s=+s:s==="true"?s=!0:s==="false"&&(s=!1);n({...i,data:s})}else n(i)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},Q=(t,e="",n)=>new Proxy(()=>{},{get(r,i,s){return Q(t,`${e}/${i.toString()}`,n)},apply(r,i,[s,a={}]=[{},{}]){let d=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:W,$fetch:v,$headers:g,$transform:u,getRaw:E,...p}=s??{};d??=p;let F=e.lastIndexOf("/"),j=e.slice(F+1).toUpperCase(),A=_(t,F===-1?"/":e.slice(0,F),Object.assign(a.query??{},W)),N=n.fetcher??fetch,w=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=u?Array.isArray(u)?u:[u]:void 0;return o&&(w?w=o.concat(w):w=o),j==="SUBSCRIBE"?new B(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async k=>{let f,b={...n.$fetch?.headers,...v?.headers,...a.headers,...g};if(j!=="GET"&&j!=="HEAD"){f=Object.keys(d).length||Array.isArray(d)?d:void 0;let l=f&&(typeof f=="object"||Array.isArray(d));if(l&&ue(f)){let C=new FormData;for(let[M,x]of Object.entries(f))if(H)C.append(M,x);else if(x instanceof File)C.append(M,await U(x));else if(x instanceof FileList)for(let R=0;R<x.length;R++)C.append(M,await U(x[R]));else if(Array.isArray(x))for(let R=0;R<x.length;R++){let P=x[R];C.append(M,P instanceof File?await U(P):P)}else C.append(M,x);f=C}else f!=null&&(b["content-type"]=l?"application/json":"text/plain",f=l?JSON.stringify(f):d)}let m=await N(A,{method:j,body:f,...n.$fetch,...a.fetch,...v,headers:b}),y;if(k.getRaw)return m;switch(m.headers.get("Content-Type")?.split(";")[0]){case"application/json":y=await m.json();break;default:y=await m.text().then(l=>L(l)?+l:l==="true"?!0:l==="false"?!1:l)}let c=m.status>=300||m.status<200?new T(m.status,y):null,h={data:y,error:c,response:m,status:m.status,headers:m.headers};if(w)for(let l of w){let S=l(h);S instanceof Promise&&(S=await S),S!=null&&(h=S)}return h})({getRaw:E})}}),X=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return Q(t,r,e)}});var Y=(t,e)=>(n,{query:r,params:i,body:s,...a}={})=>{i&&Object.entries(i).forEach(([u,E])=>{n=n.replace(`:${u}`,E)});let d=a.headers?.["Content-Type"];if(!d||d==="application/json")try{s=JSON.stringify(s)}catch{}let W=e?.fetcher||globalThis.fetch,v=r?`?${new URLSearchParams(r).toString()}`:"",g=()=>W(t+n+v,{...a,method:a.method?.toUpperCase()||"GET",headers:s?{"content-type":"application/json",...a.headers}:a.headers,body:s}).then(async u=>{let E;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":E=await u.json();break;default:E=await u.text().then(p=>L(p)?parseInt(p):p==="true"?!0:p==="false"?!1:p);break}return u.status>300?{data:null,status:u.status,headers:u.headers,retry:g,error:new T(u.status,E)}:{data:E,error:null,status:u.status,headers:u.headers,retry:g}});return g()};return ae(le);})();
1
+ "use strict";var Eden=(()=>{var P=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.prototype.hasOwnProperty;var oe=(t,e)=>{for(var r in e)P(t,r,{get:e[r],enumerable:!0})},ce=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of ae(e))!ie.call(t,c)&&c!==r&&P(t,c,{get:()=>e[c],enumerable:!(s=se(e,c))||s.enumerable});return t};var fe=t=>ce(P({},"__esModule",{value:!0}),t);var de={};oe(de,{edenFetch:()=>ne,edenTreaty:()=>re,treaty:()=>Y});var V=(t,e,r)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!r||!Object.keys(r).length)return`${t}${e}`;let s="";for(let[c,n]of Object.entries(r))s+=`${c}=${n}&`;return`${t}${e}?${s.slice(0,-1)}`},R=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var O=class extends Error{constructor(r,s){super(s+"");this.status=r;this.value=s}};var z=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,D=class{constructor(e){this.url=e;this.ws=new WebSocket(e)}ws;send(e){return Array.isArray(e)?(e.forEach(r=>this.send(r)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,r,s){return this.addEventListener(e,r,s)}off(e,r,s){return this.ws.removeEventListener(e,r,s),this}subscribe(e,r){return this.addEventListener("message",e,r)}addEventListener(e,r,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let n=c.data.toString(),a=n.charCodeAt(0),d=n.charCodeAt(n.length-1);if(a===91||a===123)try{n=JSON.parse(n,(W,w)=>{if(typeof w=="string"&&z.test(w)){let m=new Date(w);if(!Number.isNaN(m.getTime()))return m}return w})}catch{}else R(n)?n=+n:n==="true"?n=!0:n==="false"?n=!1:n==="null"?n=null:a===34&&d===34&&z.test(n)&&(n=new Date(n.substring(1,n.length-1)));r({...c,data:n})}else r(c)},s),this}removeEventListener(e,r,s){return this.off(e,r,s),this}close(){return this.ws.close(),this}};var ye=["get","post","put","delete","patch","options","head","connect","subscribe"],X=["localhost","127.0.0.1","0.0.0.0"],J=typeof FileList>"u",U=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,B=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,H=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,Q=t=>J?t instanceof Blob:t instanceof FileList||t instanceof File,ue=t=>{if(!t)return!1;for(let e in t)if(Q(t[e])||Array.isArray(t[e])&&t[e].find(Q))return!0;return!1},q=t=>J?t:new Promise(e=>{let r=new FileReader;r.onload=()=>{let s=new File([r.result],t.name,{lastModified:t.lastModified,type:t.type});e(s)},r.readAsArrayBuffer(t)}),M=(t,e,r={},s={})=>{if(Array.isArray(t)){for(let c of t)if(!Array.isArray(c))s=M(c,e,r,s);else{let n=c[0];if(typeof n=="string")s[n.toLowerCase()]=c[1];else for(let[a,d]of n)s[a.toLowerCase()]=d}return s}if(!t)return s;switch(typeof t){case"function":let c=t(e,r);return c?M(c,e,r,s):s;case"object":if(t instanceof Headers)return t.forEach((n,a)=>{s[a.toLowerCase()]=n}),s;for(let[n,a]of Object.entries(t))s[n.toLowerCase()]=a;default:return s}},$=(t,e,r=[],s)=>new Proxy(()=>{},{get(c,n){return $(t,e,n==="index"?r:[...r,n],s)},apply(c,n,[a,d]){if(!a||d||typeof a=="object"&&Object.keys(a).length!==1||ye.includes(r.at(-1))){let W=[...r],w=W.pop(),m="/"+W.join("/"),{fetcher:u=fetch,headers:g,onRequest:b,onResponse:p,fetch:S}=e,v=w==="get"||w==="head"||w==="subscribe";g=M(g,m,d);let K=v?a?.query:d?.query,k="";if(K){let o=(L,T)=>{k+=(k?"&":"?")+`${encodeURIComponent(L)}=${encodeURIComponent(T)}`};for(let[L,T]of Object.entries(K)){if(Array.isArray(T)){for(let f of T)o(L,f);continue}o(L,`${T}`)}}if(w==="subscribe"){let o=t.replace(/^([^]+):\/\//,t.startsWith("https://")?"wss://":t.startsWith("http://")||X.find(L=>t.includes(L))?"ws://":"wss://")+m+k;return new D(o)}return(async()=>{let o={method:w?.toUpperCase(),body:a,...S,headers:g};o.headers={...g,...M(v?a?.headers:d?.headers,m,o)};let L=v&&typeof a=="object"?a.fetch:d?.fetch;if(o={...o,...L},v&&delete o.body,b){Array.isArray(b)||(b=[b]);for(let h of b){let i=await h(m,o);typeof i=="object"&&(o={...o,...i,headers:{...o.headers,...M(i.headers,m,o)}})}}if(v&&delete o.body,ue(a)){let h=new FormData;for(let[i,l]of Object.entries(o.body)){if(J){h.append(i,l);continue}if(l instanceof File){h.append(i,await q(l));continue}if(l instanceof FileList){for(let y=0;y<l.length;y++)h.append(i,await q(l[y]));continue}if(Array.isArray(l)){for(let y=0;y<l.length;y++){let x=l[y];h.append(i,x instanceof File?await q(x):x)}continue}h.append(i,l)}o.body=h}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(v&&delete o.body,b){Array.isArray(b)||(b=[b]);for(let h of b){let i=await h(m,o);typeof i=="object"&&(o={...o,...i,headers:{...o.headers,...i.headers}})}}let T=t+m+k,f=await(s?.handle(new Request(T,o))??u(T,o)),A=null,E=null;if(p){Array.isArray(p)||(p=[p]);for(let h of p)try{let i=await h(f.clone());if(i!=null){A=i;break}}catch(i){i instanceof O?E=i:E=new O(422,i);break}}if(A===null){switch(f.headers.get("Content-Type")?.split(";")[0]){case"application/json":A=await f.json();break;case"application/octet-stream":A=await f.arrayBuffer();break;case"multipart/form-data":let h=await f.formData();A={},h.forEach((i,l)=>{A[l]=i});break;default:A=await f.text().then(i=>{if(R(i))return+i;if(i==="true")return!0;if(i==="false")return!1;if(!i)return i;let l=i.replace(/"/g,"");if(U.test(l)||B.test(l)||H.test(l)){let y=new Date(l);if(!Number.isNaN(y.getTime()))return y}return i})}(f.status>=300||f.status<200)&&(E=new O(f.status,A),A=null)}return{data:A,error:E,response:f,status:f.status,headers:f.headers}})()}return typeof a=="object"?$(t,e,[...r,Object.values(a)[0]],s):$(t,e,r)}}),Y=(t,e={})=>typeof t=="string"?(e.keepDomain||(t.includes("://")||(t=(X.find(r=>t.includes(r))?"http://":"https://")+t),t.endsWith("/")&&(t=t.slice(0,-1))),$(t,e)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),$("http://e.ly",e,[],t));var Z=typeof FileList>"u",ee=t=>Z?t instanceof Blob:t instanceof FileList||t instanceof File,le=t=>{if(!t)return!1;for(let e in t){if(ee(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(r=>ee(r)))return!0}return!1},_=t=>Z?t:new Promise(e=>{let r=new FileReader;r.onload=()=>{let s=new File([r.result],t.name,{lastModified:t.lastModified,type:t.type});e(s)},r.readAsArrayBuffer(t)}),G=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(r=>this.send(r)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,r,s){return this.addEventListener(e,r,s)}off(e,r,s){return this.ws.removeEventListener(e,r,s),this}subscribe(e,r){return this.addEventListener("message",e,r)}addEventListener(e,r,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let n=c.data.toString(),a=n.charCodeAt(0);if(a===47||a===123)try{n=JSON.parse(n)}catch{}else R(n)?n=+n:n==="true"?n=!0:n==="false"&&(n=!1);r({...c,data:n})}else r(c)},s),this}removeEventListener(e,r,s){return this.off(e,r,s),this}close(){return this.ws.close(),this}},te=(t,e="",r)=>new Proxy(()=>{},{get(s,c,n){return te(t,`${e}/${c.toString()}`,r)},apply(s,c,[n,a={}]=[{},{}]){let d=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:W,$fetch:w,$headers:m,$transform:u,getRaw:g,...b}=n??{};d??=b;let p=e.lastIndexOf("/"),S=e.slice(p+1).toUpperCase(),v=V(t,p===-1?"/":e.slice(0,p),Object.assign(a.query??{},W)),K=r.fetcher??fetch,k=r.transform?Array.isArray(r.transform)?r.transform:[r.transform]:void 0,o=u?Array.isArray(u)?u:[u]:void 0;return o&&(k?k=o.concat(k):k=o),S==="SUBSCRIBE"?new G(v.replace(/^([^]+):\/\//,v.startsWith("https://")?"wss://":"ws://")):(async T=>{let f,A={...r.$fetch?.headers,...w?.headers,...a.headers,...m};if(S!=="GET"&&S!=="HEAD"){f=Object.keys(d).length||Array.isArray(d)?d:void 0;let y=f&&(typeof f=="object"||Array.isArray(d));if(y&&le(f)){let j=new FormData;for(let[C,F]of Object.entries(f))if(Z)j.append(C,F);else if(F instanceof File)j.append(C,await _(F));else if(F instanceof FileList)for(let N=0;N<F.length;N++)j.append(C,await _(F[N]));else if(Array.isArray(F))for(let N=0;N<F.length;N++){let I=F[N];j.append(C,I instanceof File?await _(I):I)}else j.append(C,F);f=j}else f!=null&&(A["content-type"]=y?"application/json":"text/plain",f=y?JSON.stringify(f):d)}let E=await K(v,{method:S,body:f,...r.$fetch,...a.fetch,...w,headers:A}),h;if(T.getRaw)return E;switch(E.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await E.json();break;default:h=await E.text().then(y=>R(y)?+y:y==="true"?!0:y==="false"?!1:y)}let i=E.status>=300||E.status<200?new O(E.status,h):null,l={data:h,error:i,response:E,status:E.status,headers:E.headers};if(k)for(let y of k){let x=y(l);x instanceof Promise&&(x=await x),x!=null&&(l=x)}return l})({getRaw:g})}}),re=(t,e={fetcher:fetch})=>new Proxy({},{get(r,s){return te(t,s,e)}});var ne=(t,e)=>(r,{query:s,params:c,body:n,...a}={})=>{c&&Object.entries(c).forEach(([u,g])=>{r=r.replace(`:${u}`,g)});let d=a.headers?.["Content-Type"];if(!d||d==="application/json")try{n=JSON.stringify(n)}catch{}let W=e?.fetcher||globalThis.fetch,w=s?`?${new URLSearchParams(s).toString()}`:"",m=()=>W(t+r+w,{...a,method:a.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...a.headers}:a.headers,body:n}).then(async u=>{let g;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await u.json();break;case"application/octet-stream":g=await u.arrayBuffer();break;case"multipart/form-data":let b=await u.formData();g={},b.forEach((p,S)=>{g[S]=p});break;default:g=await u.text().then(p=>{if(R(p))return+p;if(p==="true")return!0;if(p==="false")return!1;if(!p)return p;let S=p.replace(/"/g,"");if(U.test(S)||B.test(S)||H.test(S)){let v=new Date(S);if(!Number.isNaN(v.getTime()))return v}return p})}return u.status>300?{data:null,status:u.status,headers:u.headers,retry:m,error:new O(u.status,g)}:{data:g,error:null,status:u.status,headers:u.headers,retry:m}});return m()};return fe(de);})();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var q=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var re=(t,e)=>{for(var n in e)q(t,n,{get:e[n],enumerable:!0})},se=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of te(e))!ne.call(t,i)&&i!==n&&q(t,i,{get:()=>e[i],enumerable:!(r=ee(e,i))||r.enumerable});return t};var ae=t=>se(q({},"__esModule",{value:!0}),t);var le={};re(le,{edenFetch:()=>Y,edenTreaty:()=>X,treaty:()=>V});module.exports=ae(le);var _=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[i,s]of Object.entries(n))r+=`${i}=${s}&`;return`${t}${e}?${r.slice(0,-1)}`},L=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var T=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var I=class{constructor(e){this.url=e;this.ws=new WebSocket(e)}ws;send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,i=>{if(e==="message"){let s=i.data.toString(),a=s.charCodeAt(0);if(a===47||a===123)try{s=JSON.parse(s)}catch{}else L(s)?s=+s:s==="true"?s=!0:s==="false"&&(s=!1);n({...i,data:s})}else n(i)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}};var ie=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=["localhost","127.0.0.1","0.0.0.0"],J=typeof FileList>"u",oe=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,ce=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,fe=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,G=t=>J?t instanceof Blob:t instanceof FileList||t instanceof File,ye=t=>{if(!t)return!1;for(let e in t)if(G(t[e])||Array.isArray(t[e])&&t[e].find(G))return!0;return!1},D=t=>J?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),$=(t,e,n={},r={})=>{if(Array.isArray(t)){for(let i of t)if(!Array.isArray(i))r=$(i,e,n,r);else{let s=i[0];if(typeof s=="string")r[s.toLowerCase()]=i[1];else for(let[a,d]of s)r[a.toLowerCase()]=d}return r}if(!t)return r;switch(typeof t){case"function":let i=t(e,n);return i?$(i,e,n,r):r;case"object":if(t instanceof Headers)return t.forEach((s,a)=>{r[a.toLowerCase()]=s}),r;for(let[s,a]of Object.entries(t))r[s.toLowerCase()]=a;default:return r}},K=(t,e,n=[],r)=>new Proxy(()=>{},{get(i,s){return K(t,e,s==="index"?n:[...n,s],r)},apply(i,s,[a,d]){if(!a||d||typeof a=="object"&&Object.keys(a).length!==1||ie.includes(n.at(-1))){let W=[...n],v=W.pop(),g="/"+W.join("/"),{fetcher:u=fetch,headers:E,onRequest:p,onResponse:F,fetch:j}=e,A=v==="get"||v==="head"||v==="subscribe";E=$(E,g,d);let N=A?a?.query:d?.query,w="";if(N){let o=(O,k)=>{w+=(w?"&":"?")+`${encodeURIComponent(O)}=${encodeURIComponent(k)}`};for(let[O,k]of Object.entries(N)){if(Array.isArray(k)){for(let f of k)o(O,f);continue}o(O,`${k}`)}}if(v==="subscribe"){let o=t.replace(/^([^]+):\/\//,t.startsWith("https://")?"wss://":t.startsWith("http://")||Z.find(O=>t.includes(O))?"ws://":"wss://")+g+w;return new I(o)}return(async()=>{let o={method:v?.toUpperCase(),body:a,...j,headers:E};o.headers={...E,...$(A?a?.headers:d?.headers,g,o)};let O=A&&typeof a=="object"?a.fetch:d?.fetch;if(o={...o,...O},A&&delete o.body,p){Array.isArray(p)||(p=[p]);for(let y of p){let c=await y(g,o);typeof c=="object"&&(o={...o,...c,headers:{...o.headers,...$(c.headers,g,o)}})}}if(A&&delete o.body,ye(a)){let y=new FormData;for(let[c,h]of Object.entries(o.body)){if(J){y.append(c,h);continue}if(h instanceof File){y.append(c,await D(h));continue}if(h instanceof FileList){for(let l=0;l<h.length;l++)y.append(c,await D(h[l]));continue}if(Array.isArray(h)){for(let l=0;l<h.length;l++){let S=h[l];y.append(c,S instanceof File?await D(S):S)}continue}y.append(c,h)}}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(A&&delete o.body,p){Array.isArray(p)||(p=[p]);for(let y of p){let c=await y(g,o);typeof c=="object"&&(o={...o,...c,headers:{...o.headers,...c.headers}})}}let k=t+g+w,f=await(r?.handle(new Request(k,o))??u(k,o)),b=null,m=null;if(F){Array.isArray(F)||(F=[F]);for(let y of F)try{let c=await y(f.clone());if(c!=null){b=c;break}}catch(c){c instanceof T?m=c:m=new T(422,c);break}}if(b===null){switch(f.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await f.json();break;case"application/octet-stream":b=await f.arrayBuffer();break;default:b=await f.text().then(y=>{if(L(y))return+y;if(y==="true")return!0;if(y==="false")return!1;if(!y)return y;let c=y.replace(/"/g,"");if(oe.test(c)||ce.test(c)||fe.test(c)){let h=new Date(c);if(!Number.isNaN(h.getTime()))return h}return y})}(f.status>=300||f.status<200)&&(m=new T(f.status,b),b=null)}return{data:b,error:m,response:f,status:f.status,headers:f.headers}})()}return typeof a=="object"?K(t,e,[...n,Object.values(a)[0]],r):K(t,e,n)}}),V=(t,e={})=>typeof t=="string"?(e.keepDomain||(t.includes("://")||(t=(Z.find(n=>t.includes(n))?"http://":"https://")+t),t.endsWith("/")&&(t=t.slice(0,-1))),K(t,e)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),K("http://e.ly",e,[],t));var H=typeof FileList>"u",z=t=>H?t instanceof Blob:t instanceof FileList||t instanceof File,ue=t=>{if(!t)return!1;for(let e in t){if(z(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>z(n)))return!0}return!1},U=t=>H?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),B=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,i=>{if(e==="message"){let s=i.data.toString(),a=s.charCodeAt(0);if(a===47||a===123)try{s=JSON.parse(s)}catch{}else L(s)?s=+s:s==="true"?s=!0:s==="false"&&(s=!1);n({...i,data:s})}else n(i)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},Q=(t,e="",n)=>new Proxy(()=>{},{get(r,i,s){return Q(t,`${e}/${i.toString()}`,n)},apply(r,i,[s,a={}]=[{},{}]){let d=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:W,$fetch:v,$headers:g,$transform:u,getRaw:E,...p}=s??{};d??=p;let F=e.lastIndexOf("/"),j=e.slice(F+1).toUpperCase(),A=_(t,F===-1?"/":e.slice(0,F),Object.assign(a.query??{},W)),N=n.fetcher??fetch,w=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=u?Array.isArray(u)?u:[u]:void 0;return o&&(w?w=o.concat(w):w=o),j==="SUBSCRIBE"?new B(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async k=>{let f,b={...n.$fetch?.headers,...v?.headers,...a.headers,...g};if(j!=="GET"&&j!=="HEAD"){f=Object.keys(d).length||Array.isArray(d)?d:void 0;let l=f&&(typeof f=="object"||Array.isArray(d));if(l&&ue(f)){let C=new FormData;for(let[M,x]of Object.entries(f))if(H)C.append(M,x);else if(x instanceof File)C.append(M,await U(x));else if(x instanceof FileList)for(let R=0;R<x.length;R++)C.append(M,await U(x[R]));else if(Array.isArray(x))for(let R=0;R<x.length;R++){let P=x[R];C.append(M,P instanceof File?await U(P):P)}else C.append(M,x);f=C}else f!=null&&(b["content-type"]=l?"application/json":"text/plain",f=l?JSON.stringify(f):d)}let m=await N(A,{method:j,body:f,...n.$fetch,...a.fetch,...v,headers:b}),y;if(k.getRaw)return m;switch(m.headers.get("Content-Type")?.split(";")[0]){case"application/json":y=await m.json();break;default:y=await m.text().then(l=>L(l)?+l:l==="true"?!0:l==="false"?!1:l)}let c=m.status>=300||m.status<200?new T(m.status,y):null,h={data:y,error:c,response:m,status:m.status,headers:m.headers};if(w)for(let l of w){let S=l(h);S instanceof Promise&&(S=await S),S!=null&&(h=S)}return h})({getRaw:E})}}),X=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return Q(t,r,e)}});var Y=(t,e)=>(n,{query:r,params:i,body:s,...a}={})=>{i&&Object.entries(i).forEach(([u,E])=>{n=n.replace(`:${u}`,E)});let d=a.headers?.["Content-Type"];if(!d||d==="application/json")try{s=JSON.stringify(s)}catch{}let W=e?.fetcher||globalThis.fetch,v=r?`?${new URLSearchParams(r).toString()}`:"",g=()=>W(t+n+v,{...a,method:a.method?.toUpperCase()||"GET",headers:s?{"content-type":"application/json",...a.headers}:a.headers,body:s}).then(async u=>{let E;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":E=await u.json();break;default:E=await u.text().then(p=>L(p)?parseInt(p):p==="true"?!0:p==="false"?!1:p);break}return u.status>300?{data:null,status:u.status,headers:u.headers,retry:g,error:new T(u.status,E)}:{data:E,error:null,status:u.status,headers:u.headers,retry:g}});return g()};0&&(module.exports={edenFetch,edenTreaty,treaty});
1
+ "use strict";var P=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.prototype.hasOwnProperty;var oe=(t,e)=>{for(var r in e)P(t,r,{get:e[r],enumerable:!0})},ce=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of ae(e))!ie.call(t,c)&&c!==r&&P(t,c,{get:()=>e[c],enumerable:!(s=se(e,c))||s.enumerable});return t};var fe=t=>ce(P({},"__esModule",{value:!0}),t);var de={};oe(de,{edenFetch:()=>ne,edenTreaty:()=>re,treaty:()=>Y});module.exports=fe(de);var V=(t,e,r)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!r||!Object.keys(r).length)return`${t}${e}`;let s="";for(let[c,n]of Object.entries(r))s+=`${c}=${n}&`;return`${t}${e}?${s.slice(0,-1)}`},R=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var O=class extends Error{constructor(r,s){super(s+"");this.status=r;this.value=s}};var z=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,D=class{constructor(e){this.url=e;this.ws=new WebSocket(e)}ws;send(e){return Array.isArray(e)?(e.forEach(r=>this.send(r)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,r,s){return this.addEventListener(e,r,s)}off(e,r,s){return this.ws.removeEventListener(e,r,s),this}subscribe(e,r){return this.addEventListener("message",e,r)}addEventListener(e,r,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let n=c.data.toString(),a=n.charCodeAt(0),d=n.charCodeAt(n.length-1);if(a===91||a===123)try{n=JSON.parse(n,(W,w)=>{if(typeof w=="string"&&z.test(w)){let m=new Date(w);if(!Number.isNaN(m.getTime()))return m}return w})}catch{}else R(n)?n=+n:n==="true"?n=!0:n==="false"?n=!1:n==="null"?n=null:a===34&&d===34&&z.test(n)&&(n=new Date(n.substring(1,n.length-1)));r({...c,data:n})}else r(c)},s),this}removeEventListener(e,r,s){return this.off(e,r,s),this}close(){return this.ws.close(),this}};var ye=["get","post","put","delete","patch","options","head","connect","subscribe"],X=["localhost","127.0.0.1","0.0.0.0"],J=typeof FileList>"u",U=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,B=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,H=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,Q=t=>J?t instanceof Blob:t instanceof FileList||t instanceof File,ue=t=>{if(!t)return!1;for(let e in t)if(Q(t[e])||Array.isArray(t[e])&&t[e].find(Q))return!0;return!1},q=t=>J?t:new Promise(e=>{let r=new FileReader;r.onload=()=>{let s=new File([r.result],t.name,{lastModified:t.lastModified,type:t.type});e(s)},r.readAsArrayBuffer(t)}),M=(t,e,r={},s={})=>{if(Array.isArray(t)){for(let c of t)if(!Array.isArray(c))s=M(c,e,r,s);else{let n=c[0];if(typeof n=="string")s[n.toLowerCase()]=c[1];else for(let[a,d]of n)s[a.toLowerCase()]=d}return s}if(!t)return s;switch(typeof t){case"function":let c=t(e,r);return c?M(c,e,r,s):s;case"object":if(t instanceof Headers)return t.forEach((n,a)=>{s[a.toLowerCase()]=n}),s;for(let[n,a]of Object.entries(t))s[n.toLowerCase()]=a;default:return s}},$=(t,e,r=[],s)=>new Proxy(()=>{},{get(c,n){return $(t,e,n==="index"?r:[...r,n],s)},apply(c,n,[a,d]){if(!a||d||typeof a=="object"&&Object.keys(a).length!==1||ye.includes(r.at(-1))){let W=[...r],w=W.pop(),m="/"+W.join("/"),{fetcher:u=fetch,headers:g,onRequest:b,onResponse:p,fetch:S}=e,v=w==="get"||w==="head"||w==="subscribe";g=M(g,m,d);let K=v?a?.query:d?.query,k="";if(K){let o=(L,T)=>{k+=(k?"&":"?")+`${encodeURIComponent(L)}=${encodeURIComponent(T)}`};for(let[L,T]of Object.entries(K)){if(Array.isArray(T)){for(let f of T)o(L,f);continue}o(L,`${T}`)}}if(w==="subscribe"){let o=t.replace(/^([^]+):\/\//,t.startsWith("https://")?"wss://":t.startsWith("http://")||X.find(L=>t.includes(L))?"ws://":"wss://")+m+k;return new D(o)}return(async()=>{let o={method:w?.toUpperCase(),body:a,...S,headers:g};o.headers={...g,...M(v?a?.headers:d?.headers,m,o)};let L=v&&typeof a=="object"?a.fetch:d?.fetch;if(o={...o,...L},v&&delete o.body,b){Array.isArray(b)||(b=[b]);for(let h of b){let i=await h(m,o);typeof i=="object"&&(o={...o,...i,headers:{...o.headers,...M(i.headers,m,o)}})}}if(v&&delete o.body,ue(a)){let h=new FormData;for(let[i,l]of Object.entries(o.body)){if(J){h.append(i,l);continue}if(l instanceof File){h.append(i,await q(l));continue}if(l instanceof FileList){for(let y=0;y<l.length;y++)h.append(i,await q(l[y]));continue}if(Array.isArray(l)){for(let y=0;y<l.length;y++){let x=l[y];h.append(i,x instanceof File?await q(x):x)}continue}h.append(i,l)}o.body=h}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(v&&delete o.body,b){Array.isArray(b)||(b=[b]);for(let h of b){let i=await h(m,o);typeof i=="object"&&(o={...o,...i,headers:{...o.headers,...i.headers}})}}let T=t+m+k,f=await(s?.handle(new Request(T,o))??u(T,o)),A=null,E=null;if(p){Array.isArray(p)||(p=[p]);for(let h of p)try{let i=await h(f.clone());if(i!=null){A=i;break}}catch(i){i instanceof O?E=i:E=new O(422,i);break}}if(A===null){switch(f.headers.get("Content-Type")?.split(";")[0]){case"application/json":A=await f.json();break;case"application/octet-stream":A=await f.arrayBuffer();break;case"multipart/form-data":let h=await f.formData();A={},h.forEach((i,l)=>{A[l]=i});break;default:A=await f.text().then(i=>{if(R(i))return+i;if(i==="true")return!0;if(i==="false")return!1;if(!i)return i;let l=i.replace(/"/g,"");if(U.test(l)||B.test(l)||H.test(l)){let y=new Date(l);if(!Number.isNaN(y.getTime()))return y}return i})}(f.status>=300||f.status<200)&&(E=new O(f.status,A),A=null)}return{data:A,error:E,response:f,status:f.status,headers:f.headers}})()}return typeof a=="object"?$(t,e,[...r,Object.values(a)[0]],s):$(t,e,r)}}),Y=(t,e={})=>typeof t=="string"?(e.keepDomain||(t.includes("://")||(t=(X.find(r=>t.includes(r))?"http://":"https://")+t),t.endsWith("/")&&(t=t.slice(0,-1))),$(t,e)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),$("http://e.ly",e,[],t));var Z=typeof FileList>"u",ee=t=>Z?t instanceof Blob:t instanceof FileList||t instanceof File,le=t=>{if(!t)return!1;for(let e in t){if(ee(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(r=>ee(r)))return!0}return!1},_=t=>Z?t:new Promise(e=>{let r=new FileReader;r.onload=()=>{let s=new File([r.result],t.name,{lastModified:t.lastModified,type:t.type});e(s)},r.readAsArrayBuffer(t)}),G=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(r=>this.send(r)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,r,s){return this.addEventListener(e,r,s)}off(e,r,s){return this.ws.removeEventListener(e,r,s),this}subscribe(e,r){return this.addEventListener("message",e,r)}addEventListener(e,r,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let n=c.data.toString(),a=n.charCodeAt(0);if(a===47||a===123)try{n=JSON.parse(n)}catch{}else R(n)?n=+n:n==="true"?n=!0:n==="false"&&(n=!1);r({...c,data:n})}else r(c)},s),this}removeEventListener(e,r,s){return this.off(e,r,s),this}close(){return this.ws.close(),this}},te=(t,e="",r)=>new Proxy(()=>{},{get(s,c,n){return te(t,`${e}/${c.toString()}`,r)},apply(s,c,[n,a={}]=[{},{}]){let d=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:W,$fetch:w,$headers:m,$transform:u,getRaw:g,...b}=n??{};d??=b;let p=e.lastIndexOf("/"),S=e.slice(p+1).toUpperCase(),v=V(t,p===-1?"/":e.slice(0,p),Object.assign(a.query??{},W)),K=r.fetcher??fetch,k=r.transform?Array.isArray(r.transform)?r.transform:[r.transform]:void 0,o=u?Array.isArray(u)?u:[u]:void 0;return o&&(k?k=o.concat(k):k=o),S==="SUBSCRIBE"?new G(v.replace(/^([^]+):\/\//,v.startsWith("https://")?"wss://":"ws://")):(async T=>{let f,A={...r.$fetch?.headers,...w?.headers,...a.headers,...m};if(S!=="GET"&&S!=="HEAD"){f=Object.keys(d).length||Array.isArray(d)?d:void 0;let y=f&&(typeof f=="object"||Array.isArray(d));if(y&&le(f)){let j=new FormData;for(let[C,F]of Object.entries(f))if(Z)j.append(C,F);else if(F instanceof File)j.append(C,await _(F));else if(F instanceof FileList)for(let N=0;N<F.length;N++)j.append(C,await _(F[N]));else if(Array.isArray(F))for(let N=0;N<F.length;N++){let I=F[N];j.append(C,I instanceof File?await _(I):I)}else j.append(C,F);f=j}else f!=null&&(A["content-type"]=y?"application/json":"text/plain",f=y?JSON.stringify(f):d)}let E=await K(v,{method:S,body:f,...r.$fetch,...a.fetch,...w,headers:A}),h;if(T.getRaw)return E;switch(E.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await E.json();break;default:h=await E.text().then(y=>R(y)?+y:y==="true"?!0:y==="false"?!1:y)}let i=E.status>=300||E.status<200?new O(E.status,h):null,l={data:h,error:i,response:E,status:E.status,headers:E.headers};if(k)for(let y of k){let x=y(l);x instanceof Promise&&(x=await x),x!=null&&(l=x)}return l})({getRaw:g})}}),re=(t,e={fetcher:fetch})=>new Proxy({},{get(r,s){return te(t,s,e)}});var ne=(t,e)=>(r,{query:s,params:c,body:n,...a}={})=>{c&&Object.entries(c).forEach(([u,g])=>{r=r.replace(`:${u}`,g)});let d=a.headers?.["Content-Type"];if(!d||d==="application/json")try{n=JSON.stringify(n)}catch{}let W=e?.fetcher||globalThis.fetch,w=s?`?${new URLSearchParams(s).toString()}`:"",m=()=>W(t+r+w,{...a,method:a.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...a.headers}:a.headers,body:n}).then(async u=>{let g;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await u.json();break;case"application/octet-stream":g=await u.arrayBuffer();break;case"multipart/form-data":let b=await u.formData();g={},b.forEach((p,S)=>{g[S]=p});break;default:g=await u.text().then(p=>{if(R(p))return+p;if(p==="true")return!0;if(p==="false")return!1;if(!p)return p;let S=p.replace(/"/g,"");if(U.test(S)||B.test(S)||H.test(S)){let v=new Date(S);if(!Number.isNaN(v.getTime()))return v}return p})}return u.status>300?{data:null,status:u.status,headers:u.headers,retry:m,error:new O(u.status,g)}:{data:g,error:null,status:u.status,headers:u.headers,retry:m}});return m()};0&&(module.exports={edenFetch,edenTreaty,treaty});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{b as D}from"./chunk-FOFYS2DG.mjs";import{a as J}from"./chunk-TDCHXBL7.mjs";import{b as L,c as x}from"./chunk-HUZ6GXDC.mjs";var O=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(s=>this.send(s)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,s,r){return this.addEventListener(t,s,r)}off(t,s,r){return this.ws.removeEventListener(t,s,r),this}subscribe(t,s){return this.addEventListener("message",t,s)}addEventListener(t,s,r){return this.ws.addEventListener(t,f=>{if(t==="message"){let o=f.data.toString(),a=o.charCodeAt(0);if(a===47||a===123)try{o=JSON.parse(o)}catch{}else L(o)?o=+o:o==="true"?o=!0:o==="false"&&(o=!1);s({...f,data:o})}else s(f)},r),this}removeEventListener(t,s,r){return this.off(t,s,r),this}close(){return this.ws.close(),this}};var P=["get","post","put","delete","patch","options","head","connect","subscribe"],N=["localhost","127.0.0.1","0.0.0.0"],M=typeof FileList>"u",U=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,_=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,$=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,K=e=>M?e instanceof Blob:e instanceof FileList||e instanceof File,B=e=>{if(!e)return!1;for(let t in e)if(K(e[t])||Array.isArray(e[t])&&e[t].find(K))return!0;return!1},R=e=>M?e:new Promise(t=>{let s=new FileReader;s.onload=()=>{let r=new File([s.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},s.readAsArrayBuffer(e)}),E=(e,t,s={},r={})=>{if(Array.isArray(e)){for(let f of e)if(!Array.isArray(f))r=E(f,t,s,r);else{let o=f[0];if(typeof o=="string")r[o.toLowerCase()]=f[1];else for(let[a,g]of o)r[a.toLowerCase()]=g}return r}if(!e)return r;switch(typeof e){case"function":let f=e(t,s);return f?E(f,t,s,r):r;case"object":if(e instanceof Headers)return e.forEach((o,a)=>{r[a.toLowerCase()]=o}),r;for(let[o,a]of Object.entries(e))r[o.toLowerCase()]=a;default:return r}},A=(e,t,s=[],r)=>new Proxy(()=>{},{get(f,o){return A(e,t,o==="index"?s:[...s,o],r)},apply(f,o,[a,g]){if(!a||g||typeof a=="object"&&Object.keys(a).length!==1||P.includes(s.at(-1))){let j=[...s],b=j.pop(),m="/"+j.join("/"),{fetcher:q=fetch,headers:k,onRequest:u,onResponse:S,fetch:I}=t,v=b==="get"||b==="head"||b==="subscribe";k=E(k,m,g);let C=v?a?.query:g?.query,F="";if(C){let n=(p,d)=>{F+=(F?"&":"?")+`${encodeURIComponent(p)}=${encodeURIComponent(d)}`};for(let[p,d]of Object.entries(C)){if(Array.isArray(d)){for(let y of d)n(p,y);continue}n(p,`${d}`)}}if(b==="subscribe"){let n=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||N.find(p=>e.includes(p))?"ws://":"wss://")+m+F;return new O(n)}return(async()=>{let n={method:b?.toUpperCase(),body:a,...I,headers:k};n.headers={...k,...E(v?a?.headers:g?.headers,m,n)};let p=v&&typeof a=="object"?a.fetch:g?.fetch;if(n={...n,...p},v&&delete n.body,u){Array.isArray(u)||(u=[u]);for(let c of u){let i=await c(m,n);typeof i=="object"&&(n={...n,...i,headers:{...n.headers,...E(i.headers,m,n)}})}}if(v&&delete n.body,B(a)){let c=new FormData;for(let[i,l]of Object.entries(n.body)){if(M){c.append(i,l);continue}if(l instanceof File){c.append(i,await R(l));continue}if(l instanceof FileList){for(let w=0;w<l.length;w++)c.append(i,await R(l[w]));continue}if(Array.isArray(l)){for(let w=0;w<l.length;w++){let W=l[w];c.append(i,W instanceof File?await R(W):W)}continue}c.append(i,l)}}else typeof a=="object"?(n.headers["content-type"]="application/json",n.body=JSON.stringify(a)):a!=null&&(n.headers["content-type"]="text/plain");if(v&&delete n.body,u){Array.isArray(u)||(u=[u]);for(let c of u){let i=await c(m,n);typeof i=="object"&&(n={...n,...i,headers:{...n.headers,...i.headers}})}}let d=e+m+F,y=await(r?.handle(new Request(d,n))??q(d,n)),h=null,T=null;if(S){Array.isArray(S)||(S=[S]);for(let c of S)try{let i=await c(y.clone());if(i!=null){h=i;break}}catch(i){i instanceof x?T=i:T=new x(422,i);break}}if(h===null){switch(y.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await y.json();break;case"application/octet-stream":h=await y.arrayBuffer();break;default:h=await y.text().then(c=>{if(L(c))return+c;if(c==="true")return!0;if(c==="false")return!1;if(!c)return c;let i=c.replace(/"/g,"");if(U.test(i)||_.test(i)||$.test(i)){let l=new Date(i);if(!Number.isNaN(l.getTime()))return l}return c})}(y.status>=300||y.status<200)&&(T=new x(y.status,h),h=null)}return{data:h,error:T,response:y,status:y.status,headers:y.headers}})()}return typeof a=="object"?A(e,t,[...s,Object.values(a)[0]],r):A(e,t,s)}}),H=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(N.find(s=>e.includes(s))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),A(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),A("http://e.ly",t,[],e));export{J as edenFetch,D as edenTreaty,H as treaty};
1
+ import{b as t}from"./chunk-FOFYS2DG.mjs";import{a as e,b as r}from"./chunk-VA7FGDJH.mjs";import"./chunk-HUZ6GXDC.mjs";export{r as edenFetch,t as edenTreaty,e as treaty};
@@ -1,4 +1,7 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { Treaty } from './types';
3
+ export declare const isISO8601: RegExp;
4
+ export declare const isFormalDate: RegExp;
5
+ export declare const isShortenDate: RegExp;
3
6
  export declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
4
7
  export type { Treaty };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elysiajs/eden",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Fully type-safe Elysia client",
5
5
  "author": {
6
6
  "name": "saltyAom",
@@ -54,19 +54,19 @@
54
54
  "release": "npm run build && npm run test && npm publish --access public"
55
55
  },
56
56
  "peerDependencies": {
57
- "elysia": ">= 1.0.2"
57
+ "elysia": ">= 1.0.22"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@elysiajs/cors": "0.7.0",
61
61
  "@types/bun": "^1.0.3",
62
62
  "@types/node": "^18.15.5",
63
- "elysia": "^1.0.2",
63
+ "elysia": "^1.0.22",
64
64
  "esbuild": "^0.19.3",
65
65
  "eslint": "^8.26.0",
66
66
  "expect-type": "^0.17.3",
67
67
  "rimraf": "^4.4.1",
68
68
  "tsup": "^7.2.0",
69
- "typescript": "^5.3.2"
69
+ "typescript": "^5.4.5"
70
70
  },
71
71
  "prettier": {
72
72
  "semi": false,
@@ -75,6 +75,6 @@
75
75
  "trailingComma": "none"
76
76
  },
77
77
  "dependencies": {
78
- "@elysiajs/stream": "rc"
78
+ "@elysiajs/stream": "^1.0.2"
79
79
  }
80
- }
80
+ }
@@ -1 +0,0 @@
1
- import{b as y,c as p}from"./chunk-HUZ6GXDC.mjs";var g=(f,u)=>(s,{query:i,params:h,body:n,...r}={})=>{h&&Object.entries(h).forEach(([e,t])=>{s=s.replace(`:${e}`,t)});let o=r.headers?.["Content-Type"];if(!o||o==="application/json")try{n=JSON.stringify(n)}catch{}let l=u?.fetcher||globalThis.fetch,d=i?`?${new URLSearchParams(i).toString()}`:"",c=()=>l(f+s+d,{...r,method:r.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...r.headers}:r.headers,body:n}).then(async e=>{let t;switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":t=await e.json();break;default:t=await e.text().then(a=>y(a)?parseInt(a):a==="true"?!0:a==="false"?!1:a);break}return e.status>300?{data:null,status:e.status,headers:e.headers,retry:c,error:new p(e.status,t)}:{data:t,error:null,status:e.status,headers:e.headers,retry:c}});return c()};export{g as a};