@elysiajs/eden 1.4.6 → 1.4.7

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/bun.lock CHANGED
@@ -8,7 +8,7 @@
8
8
  "@elysiajs/cors": "1.3.3",
9
9
  "@types/bun": "^1.2.20",
10
10
  "@types/node": "^24.3.0",
11
- "elysia": "^1.4.19",
11
+ "elysia": "^1.4.23",
12
12
  "esbuild": "^0.25.9",
13
13
  "eslint": "^9.34.0",
14
14
  "expect-type": "^1.2.2",
@@ -229,7 +229,7 @@
229
229
 
230
230
  "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
231
231
 
232
- "elysia": ["elysia@1.4.19", "", { "dependencies": { "cookie": "^1.1.1", "exact-mirror": "0.2.5", "fast-decode-uri-component": "^1.0.1", "memoirist": "^0.4.0" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "@types/bun": ">= 1.2.0", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["@types/bun", "typescript"] }, "sha512-DZb9y8FnWyX5IuqY44SvqAV0DjJ15NeCWHrLdgXrKgTPDPsl3VNwWHqrEr9bmnOCpg1vh6QUvAX/tcxNj88jLA=="],
232
+ "elysia": ["elysia@1.4.23", "", { "dependencies": { "cookie": "^1.1.1", "exact-mirror": "^0.2.7", "fast-decode-uri-component": "^1.0.1", "memoirist": "^0.4.0" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "@types/bun": ">= 1.2.0", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["@types/bun", "typescript"] }, "sha512-mFIT/hEnNfrfbjGRUqunLNcURJfSXpKY4j+EWr4vP6Eoulf7feqs0WQLZwlgFZCxhdyfu0mrypIZ4mNJcEVVlQ=="],
233
233
 
234
234
  "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
235
235
 
@@ -253,7 +253,7 @@
253
253
 
254
254
  "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
255
255
 
256
- "exact-mirror": ["exact-mirror@0.2.5", "", { "peerDependencies": { "@sinclair/typebox": "^0.34.15" }, "optionalPeers": ["@sinclair/typebox"] }, "sha512-u8Wu2lO8nio5lKSJubOydsdNtQmH8ENba5m0nbQYmTvsjksXKYIS1nSShdDlO8Uem+kbo+N6eD5I03cpZ+QsRQ=="],
256
+ "exact-mirror": ["exact-mirror@0.2.7", "", { "peerDependencies": { "@sinclair/typebox": "^0.34.15" }, "optionalPeers": ["@sinclair/typebox"] }, "sha512-+MeEmDcLA4o/vjK2zujgk+1VTxPR4hdp23qLqkWfStbECtAq9gmsvQa3LW6z/0GXZyHJobrCnmy1cdeE7BjsYg=="],
257
257
 
258
258
  "expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="],
259
259
 
@@ -0,0 +1,4 @@
1
+ import{a as j,b as N,c as C,d as J}from"./chunk-I5KHAGLL.mjs";var W=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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,c=>{if(t==="message"){let i=J(c);n({...c,data:i})}else n(c)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var Q=["get","post","put","delete","patch","options","head","connect","subscribe"],P=(e,t)=>typeof t=="function"?t(e):t===!0,U=["localhost","127.0.0.1","0.0.0.0"],q=typeof FileList>"u",H=e=>q?e instanceof Blob:e instanceof FileList||e instanceof File,X=e=>{if(!e)return!1;for(let t in e)if(H(e[t])||Array.isArray(e[t])&&e[t].find(H))return!0;return!1},K=e=>q?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),A=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let c of e)if(!Array.isArray(c))r=await A(c,t,n,r);else{let i=c[0];if(typeof i=="string")r[i.toLowerCase()]=c[1];else for(let[a,l]of i)r[a.toLowerCase()]=l}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return A(e,t,n,r);let c=await e(t,n);return c?A(c,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((i,a)=>{r[a.toLowerCase()]=i}),r;for(let[i,a]of Object.entries(e))r[i.toLowerCase()]=a;return r;default:return r}};function _(e,t){let n=e.split(`
2
+ `),r={};for(let c of n){if(!c||c.startsWith(":"))continue;let i=c.indexOf(":");if(i>0){let a=c.slice(0,i).trim(),l=c.slice(i+1).replace(/^ /,"");r[a]=l&&C(l,t)}}return Object.keys(r).length>0?r:null}function*B(e,t){let n;for(;(n=e.value.indexOf(`
3
+
4
+ `))!==-1;){let r=e.value.slice(0,n);if(e.value=e.value.slice(n+2),r.trim()){let c=_(r,t);c&&(yield c)}}}async function*Y(e,t){let n=e.body;if(!n)return;let r=n.getReader(),c=new TextDecoder("utf-8"),i={value:""};try{for(;;){let{done:l,value:O}=await r.read();if(l)break;let k=typeof O=="string"?O:c.decode(O,{stream:!0});i.value+=k,yield*B(i,t)}let a=c.decode();if(a&&(i.value+=a),yield*B(i,t),i.value.trim()){let l=_(i.value,t);l&&(yield l)}}finally{r.releaseLock()}}var F=(e,t,n=[],r)=>new Proxy(()=>{},{get(c,i){if(!(n.length===0&&(i==="then"||i==="catch"||i==="finally")))return F(e,t,[...n,i],r)},apply(c,i,[a,l]){if(!a||l||typeof a=="object"&&Object.keys(a).length!==1||Q.includes(n.at(-1))){let O=[...n],k=O.pop(),b="/"+O.join("/"),{fetcher:V=fetch,headers:L,onRequest:g,onResponse:R,fetch:G}=t,E=k==="get"||k==="head"||k==="subscribe",M=E?a?.query:l?.query,D="";if(M){let s=(m,d)=>{d!=null&&(d instanceof Date&&(d=d.toISOString()),D+=(D?"&":"?")+`${encodeURIComponent(m)}=${encodeURIComponent(typeof d=="object"?JSON.stringify(d):d+"")}`)};for(let[m,d]of Object.entries(M)){if(Array.isArray(d)){for(let T of d)s(m,T);continue}s(m,d)}}if(k==="subscribe"){let s=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||U.find(m=>e.includes(m))?"ws://":"wss://")+b+D;return new W(s)}return(async()=>{L=await A(L,b,l);let s={method:k?.toUpperCase(),body:a,...G,headers:L};s.headers={...L,...await A(E?a?.headers:l?.headers,b,s)};let m=E&&typeof a=="object"?a.fetch:l?.fetch,T=(E&&typeof a=="object"?a.throwHttpError:l?.throwHttpError)??t.throwHttpError;if(s={...s,...m},E&&delete s.body,g){Array.isArray(g)||(g=[g]);for(let u of g){let o=await u(b,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...await A(o.headers,b,s)}})}}if(E&&delete s.body,X(a)){let u=new FormData,o=f=>{if(typeof f=="string"||H(f))return!1;if(typeof f=="object"){if(f!==null)return!0;if(f instanceof Date)return!1}return!1},w=async f=>f instanceof File?await K(f):o(f)?JSON.stringify(f):f;for(let[f,p]of Object.entries(s.body)){if(Array.isArray(p)){if(p.some(S=>typeof S=="object"&&S!==null&&!H(S)))u.append(f,JSON.stringify(p));else for(let S=0;S<p.length;S++){let $=p[S],z=await w($);u.append(f,z)}continue}if(q){if(Array.isArray(p))for(let x of p)u.append(f,await w(x));else u.append(f,await w(p));continue}if(p instanceof File){u.append(f,await K(p));continue}if(p instanceof FileList){for(let x=0;x<p.length;x++)u.append(f,await K(p[x]));continue}u.append(f,await w(p))}s.body=u}else typeof a=="object"?(s.headers["content-type"]="application/json",s.body=JSON.stringify(a)):a!=null&&(s.headers["content-type"]="text/plain");if(E&&delete s.body,g){Array.isArray(g)||(g=[g]);for(let u of g){let o=await u(b,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...await A(o.headers,b,s)}})}}l?.headers?.["content-type"]&&(s.headers["content-type"]=l?.headers["content-type"]);let I=e+b+D,y;try{y=await(r?.handle(new Request(I,s))??V(I,s))}catch(u){let o=new j(503,u);if(P(o,T))throw o;return{data:null,error:o,response:void 0,status:503,headers:void 0}}let h=null,v=null;if(R){Array.isArray(R)||(R=[R]);for(let u of R)try{let o=await u(y.clone());if(o!=null){h=o;break}}catch(o){o instanceof j?v=o:v=new j(422,o);break}}if(h!==null)return{data:h,error:v,response:y,status:y.status,headers:y.headers};switch(y.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":h=Y(y,{parseDate:t.parseDate});break;case"application/json":h=JSON.parse(await y.text(),(o,w)=>{if(typeof w!="string")return w;let f=N(w,{parseDate:t.parseDate});return f||w});break;case"application/octet-stream":h=await y.arrayBuffer();break;case"multipart/form-data":let u=await y.formData();h={},u.forEach((o,w)=>{h[w]=o});break;default:h=await y.text().then(o=>C(o,{parseDate:t.parseDate}))}if(y.status>=300||y.status<200){if(v=new j(y.status,h),P(v,T))throw v;h=null}return{data:h,error:v,response:y,status:y.status,headers:y.headers}})()}return typeof a=="object"?F(e,t,[...n,Object.values(a)[0]],r):F(e,t,n)}}),se=(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))),F(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."),F("http://e.ly",t,[],e));export{Y as a,se as b};
@@ -0,0 +1 @@
1
+ import{a as i,c as d}from"./chunk-I5KHAGLL.mjs";var j=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let s=await t.formData(),n={};return s.forEach((a,c)=>{n[c]=a}),n}}return t.text().then(d)},m=(t,e)=>typeof e=="function"?e(t):e===!0,R=async(t,e,s)=>{let n=await j(t);if(t.status>=300||t.status<200){let a=new i(t.status,n);if(m(a,s))throw a;return{data:null,status:t.status,headers:t.headers,retry:e,error:a}}return{data:n,error:null,status:t.status,headers:t.headers,retry:e}},H=(t,e)=>(s,{query:n,params:a,body:c,throwHttpError:E,...h}={})=>{a&&Object.entries(a).forEach(([r,o])=>{s=s.replace(`:${r}`,o)});let w=e?.fetcher||globalThis.fetch,l=E??e?.throwHttpError,y=n?Object.fromEntries(Object.entries(n).filter(([r,o])=>o!=null)):null,T=y?`?${new URLSearchParams(y).toString()}`:"",g=`${t}${s}${T}`,u=new Headers(h.headers||{}),f=u.get("content-type");if(!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&(!f||f==="application/json"))try{c=JSON.stringify(c),f||u.set("content-type","application/json")}catch{}let F={...h,method:h.method?.toUpperCase()||"GET",headers:u,body:c},p=()=>w(g,F).then(r=>R(r,p,l)).catch(r=>{if(r instanceof i)throw r;let o=new i(503,r);if(m(o,l))throw o;return{data:null,error:o,status:503,headers:void 0,retry:p}});return p()};export{H as a};
@@ -1 +1 @@
1
- import{a as O,c as L,d as W}from"./chunk-QSLHAOSM.mjs";var K=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let s="";for(let[c,a]of Object.entries(t))s+=`${c}=${a}&`;return`${n}${e}?${s.slice(0,-1)}`};var $=typeof FileList>"u",M=n=>$?n instanceof Blob:n instanceof FileList||n instanceof File,H=n=>{if(!n)return!1;for(let e in n){if(M(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>M(t)))return!0}return!1},x=n=>$?n:new Promise(e=>{let t=new FileReader;t.onload=()=>{let s=new File([t.result],n.name,{lastModified:n.lastModified,type:n.type});e(s)},t.readAsArrayBuffer(n)}),T=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,s){return this.addEventListener(e,t,s)}off(e,t,s){return this.ws.removeEventListener(e,t,s),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let a=W(c);t({...c,data:a})}else t(c)},s),this}removeEventListener(e,t,s){return this.off(e,t,s),this}close(){return this.ws.close(),this}},j=(n,e="",t)=>new Proxy(()=>{},{get(s,c,a){return j(n,`${e}/${c.toString()}`,t)},apply(s,c,[a,b={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:I,$fetch:F,$headers:P,$transform:m,getRaw:C,...q}=a??{};f??=q;let w=e.lastIndexOf("/"),E=e.slice(w+1).toUpperCase(),v=K(n,w===-1?"/":e.slice(0,w),Object.assign(b.query??{},I)),D=t.fetcher??fetch,l=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,S=m?Array.isArray(m)?m:[m]:void 0;return S&&(l?l=S.concat(l):l=S),E==="SUBSCRIBE"?new T(v.replace(/^([^]+):\/\//,v.startsWith("https://")?"wss://":"ws://")):(async N=>{let r,R={...t.$fetch?.headers,...F?.headers,...b.headers,...P};if(E!=="GET"&&E!=="HEAD"){r=Object.keys(f).length||Array.isArray(f)?f:void 0;let p=r&&(typeof r=="object"||Array.isArray(f));if(p&&H(r)){let u=new FormData;for(let[h,o]of Object.entries(r))if($)u.append(h,o);else if(o instanceof File)u.append(h,await x(o));else if(o instanceof FileList)for(let d=0;d<o.length;d++)u.append(h,await x(o[d]));else if(Array.isArray(o))for(let d=0;d<o.length;d++){let k=o[d];u.append(h,k instanceof File?await x(k):k)}else u.append(h,o);r=u}else r!=null&&(R["content-type"]=p?"application/json":"text/plain",r=p?JSON.stringify(r):f)}let i=await D(v,{method:E,body:r,...t.$fetch,...b.fetch,...F,headers:R}),g;if(N.getRaw)return i;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await i.json();break;default:g=await i.text().then(L)}let B=i.status>=300||i.status<200?new O(i.status,g):null,A={data:g,error:B,response:i,status:i.status,headers:i.headers};if(l)for(let p of l){let y=p(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:C})}}),z=(n,e={fetcher:fetch})=>new Proxy({},{get(t,s){return j(n,s,e)}});export{T as a,z as b};
1
+ import{a as O,c as L,d as W}from"./chunk-I5KHAGLL.mjs";var K=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let s="";for(let[c,a]of Object.entries(t))s+=`${c}=${a}&`;return`${n}${e}?${s.slice(0,-1)}`};var $=typeof FileList>"u",M=n=>$?n instanceof Blob:n instanceof FileList||n instanceof File,H=n=>{if(!n)return!1;for(let e in n){if(M(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>M(t)))return!0}return!1},x=n=>$?n:new Promise(e=>{let t=new FileReader;t.onload=()=>{let s=new File([t.result],n.name,{lastModified:n.lastModified,type:n.type});e(s)},t.readAsArrayBuffer(n)}),T=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,s){return this.addEventListener(e,t,s)}off(e,t,s){return this.ws.removeEventListener(e,t,s),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let a=W(c);t({...c,data:a})}else t(c)},s),this}removeEventListener(e,t,s){return this.off(e,t,s),this}close(){return this.ws.close(),this}},j=(n,e="",t)=>new Proxy(()=>{},{get(s,c,a){return j(n,`${e}/${c.toString()}`,t)},apply(s,c,[a,b={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:I,$fetch:F,$headers:P,$transform:m,getRaw:C,...q}=a??{};f??=q;let w=e.lastIndexOf("/"),E=e.slice(w+1).toUpperCase(),v=K(n,w===-1?"/":e.slice(0,w),Object.assign(b.query??{},I)),D=t.fetcher??fetch,l=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,S=m?Array.isArray(m)?m:[m]:void 0;return S&&(l?l=S.concat(l):l=S),E==="SUBSCRIBE"?new T(v.replace(/^([^]+):\/\//,v.startsWith("https://")?"wss://":"ws://")):(async N=>{let r,R={...t.$fetch?.headers,...F?.headers,...b.headers,...P};if(E!=="GET"&&E!=="HEAD"){r=Object.keys(f).length||Array.isArray(f)?f:void 0;let p=r&&(typeof r=="object"||Array.isArray(f));if(p&&H(r)){let u=new FormData;for(let[h,o]of Object.entries(r))if($)u.append(h,o);else if(o instanceof File)u.append(h,await x(o));else if(o instanceof FileList)for(let d=0;d<o.length;d++)u.append(h,await x(o[d]));else if(Array.isArray(o))for(let d=0;d<o.length;d++){let k=o[d];u.append(h,k instanceof File?await x(k):k)}else u.append(h,o);r=u}else r!=null&&(R["content-type"]=p?"application/json":"text/plain",r=p?JSON.stringify(r):f)}let i=await D(v,{method:E,body:r,...t.$fetch,...b.fetch,...F,headers:R}),g;if(N.getRaw)return i;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await i.json();break;default:g=await i.text().then(L)}let B=i.status>=300||i.status<200?new O(i.status,g):null,A={data:g,error:B,response:i,status:i.status,headers:i.headers};if(l)for(let p of l){let y=p(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:C})}}),z=(n,e={fetcher:fetch})=>new Proxy({},{get(t,s){return j(n,s,e)}});export{T as a,z as b};
@@ -0,0 +1 @@
1
+ var d=class extends Error{constructor(e,s){super(s+"");this.status=e;this.value=s}};var i=/(\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))/,o=/(?: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\([^)]+\)/,u=/^(?:(?:(?:(?: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)?)?$/,c=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),a=(t,r)=>{if(typeof t!="string"||r?.parseDate===!1)return null;let e=t.replace(/"/g,"");if(i.test(e)||o.test(e)||u.test(e)){let s=new Date(e);if(!Number.isNaN(s.getTime()))return s}return null},p=t=>{let r=t.charCodeAt(0),e=t.charCodeAt(t.length-1);return r===123&&e===125||r===91&&e===93},f=(t,r)=>JSON.parse(t,(e,s)=>{let n=a(s,r);return n||s}),g=(t,r)=>{if(!t)return t;if(c(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(r?.parseDate!==!1){let e=a(t,r);if(e)return e}if(p(t))try{return f(t,r)}catch{}return t},S=(t,r)=>{let e=t.data.toString();return e==="null"?null:g(e,r)};export{d as a,a as b,g as c,S as d};
@@ -1,12 +1,13 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { EdenFetchError } from '../errors';
3
- import type { MapError, IsUnknown, IsNever, Prettify, TreatyToPath } from '../types';
3
+ import type { MapError, IsUnknown, IsNever, Prettify, TreatyToPath, ThrowHttpError } from '../types';
4
4
  export declare namespace EdenFetch {
5
5
  type Create<App extends Elysia<any, any, any, any, any, any, any>> = App extends {
6
6
  '~Routes': infer Schema extends Record<string, unknown>;
7
7
  } ? EdenFetch.Fn<TreatyToPath<Schema>> : 'Please install Elysia before using Eden';
8
8
  interface Config extends RequestInit {
9
9
  fetcher?: typeof globalThis.fetch;
10
+ throwHttpError?: ThrowHttpError;
10
11
  }
11
12
  type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Uppercase<Extract<keyof Schema[Endpoint], string>>, Route extends Schema[Endpoint][Lowercase<Method>]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('GET' extends Method ? {
12
13
  method?: Method;
@@ -28,7 +29,9 @@ export declare namespace EdenFetch {
28
29
  body: Route['body'];
29
30
  } : {
30
31
  body?: unknown;
31
- })) => Promise<Prettify<{
32
+ }) & {
33
+ throwHttpError?: ThrowHttpError;
34
+ }) => Promise<Prettify<{
32
35
  data: Awaited<Route['response'][200]>;
33
36
  error: null;
34
37
  status: number;
package/dist/fetch.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Elysia } from 'elysia';
2
- import { T as TreatyToPath, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-BdHMTa_C.mjs';
2
+ import { T as TreatyToPath, b as ThrowHttpError, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-0YqzVuGd.mjs';
3
3
 
4
4
  declare namespace EdenFetch {
5
5
  type Create<App extends Elysia<any, any, any, any, any, any, any>> = App extends {
@@ -7,6 +7,7 @@ declare namespace EdenFetch {
7
7
  } ? EdenFetch.Fn<TreatyToPath<Schema>> : 'Please install Elysia before using Eden';
8
8
  interface Config extends RequestInit {
9
9
  fetcher?: typeof globalThis.fetch;
10
+ throwHttpError?: ThrowHttpError;
10
11
  }
11
12
  type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Uppercase<Extract<keyof Schema[Endpoint], string>>, Route extends Schema[Endpoint][Lowercase<Method>]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('GET' extends Method ? {
12
13
  method?: Method;
@@ -28,7 +29,9 @@ declare namespace EdenFetch {
28
29
  body: Route['body'];
29
30
  } : {
30
31
  body?: unknown;
31
- })) => Promise<Prettify<{
32
+ }) & {
33
+ throwHttpError?: ThrowHttpError;
34
+ }) => Promise<Prettify<{
32
35
  data: Awaited<Route['response'][200]>;
33
36
  error: null;
34
37
  status: number;
package/dist/fetch.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Elysia } from 'elysia';
2
- import { T as TreatyToPath, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-BdHMTa_C.js';
2
+ import { T as TreatyToPath, b as ThrowHttpError, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-0YqzVuGd.js';
3
3
 
4
4
  declare namespace EdenFetch {
5
5
  type Create<App extends Elysia<any, any, any, any, any, any, any>> = App extends {
@@ -7,6 +7,7 @@ declare namespace EdenFetch {
7
7
  } ? EdenFetch.Fn<TreatyToPath<Schema>> : 'Please install Elysia before using Eden';
8
8
  interface Config extends RequestInit {
9
9
  fetcher?: typeof globalThis.fetch;
10
+ throwHttpError?: ThrowHttpError;
10
11
  }
11
12
  type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Uppercase<Extract<keyof Schema[Endpoint], string>>, Route extends Schema[Endpoint][Lowercase<Method>]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('GET' extends Method ? {
12
13
  method?: Method;
@@ -28,7 +29,9 @@ declare namespace EdenFetch {
28
29
  body: Route['body'];
29
30
  } : {
30
31
  body?: unknown;
31
- })) => Promise<Prettify<{
32
+ }) & {
33
+ throwHttpError?: ThrowHttpError;
34
+ }) => Promise<Prettify<{
32
35
  data: Awaited<Route['response'][200]>;
33
36
  error: null;
34
37
  status: number;
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var h=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},w=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!b.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=T(e,s))||n.enumerable});return t};var F=t=>w(h({},"__esModule",{value:!0}),t);var V={};j(V,{edenFetch:()=>U});var i=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var O=/(\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))/,D=/(?: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\([^)]+\)/,A=/^(?:(?:(?:(?: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)?)?$/,M=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),y=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(O.test(e)||D.test(e)||A.test(e)){let r=new Date(e);if(!Number.isNaN(r.getTime()))return r}return null},C=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},R=t=>JSON.parse(t,(e,r)=>{let n=y(r);return n||r}),g=t=>{if(!t)return t;if(M(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=y(t);if(e)return e;if(C(t))try{return R(t)}catch{}return t};var $=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let r=await t.formData(),n={};return r.forEach((s,a)=>{n[a]=s}),n}}return t.text().then(g)},J=async(t,e)=>{let r=await $(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:e,error:new i(t.status,r)}:{data:r,error:null,status:t.status,headers:t.headers,retry:e}},U=(t,e)=>(r,{query:n,params:s,body:a,...d}={})=>{s&&Object.entries(s).forEach(([c,o])=>{r=r.replace(`:${c}`,o)});let m=e?.fetcher||globalThis.fetch,l=n?Object.fromEntries(Object.entries(n).filter(([c,o])=>o!=null)):null,S=l?`?${new URLSearchParams(l).toString()}`:"",x=`${t}${r}${S}`,u=new Headers(d.headers||{}),f=u.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!f||f==="application/json"))try{a=JSON.stringify(a),f||u.set("content-type","application/json")}catch{}let E={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:a},p=()=>m(x,E).then(c=>J(c,p)).catch(c=>({data:null,error:new i(503,c),status:503,headers:void 0,retry:p}));return p()};return F(V);})();
1
+ "use strict";var Eden=(()=>{var h=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},O=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!F.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=D(e,s))||n.enumerable});return t};var A=t=>O(h({},"__esModule",{value:!0}),t);var Z={};j(Z,{edenFetch:()=>P});var i=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};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))/,C=/(?: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\([^)]+\)/,R=/^(?:(?:(?:(?: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)?)?$/,$=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),m=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let r=t.replace(/"/g,"");if(M.test(r)||C.test(r)||R.test(r)){let n=new Date(r);if(!Number.isNaN(n.getTime()))return n}return null},H=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},J=(t,e)=>JSON.parse(t,(r,n)=>{let s=m(n,e);return s||n}),g=(t,e)=>{if(!t)return t;if($(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let r=m(t,e);if(r)return r}if(H(t))try{return J(t,e)}catch{}return t};var U=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let r=await t.formData(),n={};return r.forEach((s,c)=>{n[c]=s}),n}}return t.text().then(g)},S=(t,e)=>typeof e=="function"?e(t):e===!0,V=async(t,e,r)=>{let n=await U(t);if(t.status>=300||t.status<200){let s=new i(t.status,n);if(S(s,r))throw s;return{data:null,status:t.status,headers:t.headers,retry:e,error:s}}return{data:n,error:null,status:t.status,headers:t.headers,retry:e}},P=(t,e)=>(r,{query:n,params:s,body:c,throwHttpError:E,...d}={})=>{s&&Object.entries(s).forEach(([a,o])=>{r=r.replace(`:${a}`,o)});let w=e?.fetcher||globalThis.fetch,l=E??e?.throwHttpError,y=n?Object.fromEntries(Object.entries(n).filter(([a,o])=>o!=null)):null,T=y?`?${new URLSearchParams(y).toString()}`:"",b=`${t}${r}${T}`,u=new Headers(d.headers||{}),f=u.get("content-type");if(!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&(!f||f==="application/json"))try{c=JSON.stringify(c),f||u.set("content-type","application/json")}catch{}let x={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:c},p=()=>w(b,x).then(a=>V(a,p,l)).catch(a=>{if(a instanceof i)throw a;let o=new i(503,a);if(S(o,l))throw o;return{data:null,error:o,status:503,headers:void 0,retry:p}});return p()};return A(Z);})();
package/dist/fetch.js CHANGED
@@ -1 +1 @@
1
- "use strict";var h=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},w=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!b.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=T(e,s))||n.enumerable});return t};var F=t=>w(h({},"__esModule",{value:!0}),t);var V={};j(V,{edenFetch:()=>U});module.exports=F(V);var i=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var O=/(\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))/,D=/(?: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\([^)]+\)/,A=/^(?:(?:(?:(?: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)?)?$/,M=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),y=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(O.test(e)||D.test(e)||A.test(e)){let r=new Date(e);if(!Number.isNaN(r.getTime()))return r}return null},C=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},R=t=>JSON.parse(t,(e,r)=>{let n=y(r);return n||r}),g=t=>{if(!t)return t;if(M(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=y(t);if(e)return e;if(C(t))try{return R(t)}catch{}return t};var $=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let r=await t.formData(),n={};return r.forEach((s,a)=>{n[a]=s}),n}}return t.text().then(g)},J=async(t,e)=>{let r=await $(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:e,error:new i(t.status,r)}:{data:r,error:null,status:t.status,headers:t.headers,retry:e}},U=(t,e)=>(r,{query:n,params:s,body:a,...d}={})=>{s&&Object.entries(s).forEach(([c,o])=>{r=r.replace(`:${c}`,o)});let m=e?.fetcher||globalThis.fetch,l=n?Object.fromEntries(Object.entries(n).filter(([c,o])=>o!=null)):null,S=l?`?${new URLSearchParams(l).toString()}`:"",x=`${t}${r}${S}`,u=new Headers(d.headers||{}),f=u.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!f||f==="application/json"))try{a=JSON.stringify(a),f||u.set("content-type","application/json")}catch{}let E={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:a},p=()=>m(x,E).then(c=>J(c,p)).catch(c=>({data:null,error:new i(503,c),status:503,headers:void 0,retry:p}));return p()};0&&(module.exports={edenFetch});
1
+ "use strict";var h=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},O=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!F.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=D(e,s))||n.enumerable});return t};var A=t=>O(h({},"__esModule",{value:!0}),t);var Z={};j(Z,{edenFetch:()=>P});module.exports=A(Z);var i=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};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))/,C=/(?: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\([^)]+\)/,R=/^(?:(?:(?:(?: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)?)?$/,$=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),m=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let r=t.replace(/"/g,"");if(M.test(r)||C.test(r)||R.test(r)){let n=new Date(r);if(!Number.isNaN(n.getTime()))return n}return null},H=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},J=(t,e)=>JSON.parse(t,(r,n)=>{let s=m(n,e);return s||n}),g=(t,e)=>{if(!t)return t;if($(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let r=m(t,e);if(r)return r}if(H(t))try{return J(t,e)}catch{}return t};var U=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let r=await t.formData(),n={};return r.forEach((s,c)=>{n[c]=s}),n}}return t.text().then(g)},S=(t,e)=>typeof e=="function"?e(t):e===!0,V=async(t,e,r)=>{let n=await U(t);if(t.status>=300||t.status<200){let s=new i(t.status,n);if(S(s,r))throw s;return{data:null,status:t.status,headers:t.headers,retry:e,error:s}}return{data:n,error:null,status:t.status,headers:t.headers,retry:e}},P=(t,e)=>(r,{query:n,params:s,body:c,throwHttpError:E,...d}={})=>{s&&Object.entries(s).forEach(([a,o])=>{r=r.replace(`:${a}`,o)});let w=e?.fetcher||globalThis.fetch,l=E??e?.throwHttpError,y=n?Object.fromEntries(Object.entries(n).filter(([a,o])=>o!=null)):null,T=y?`?${new URLSearchParams(y).toString()}`:"",b=`${t}${r}${T}`,u=new Headers(d.headers||{}),f=u.get("content-type");if(!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&(!f||f==="application/json"))try{c=JSON.stringify(c),f||u.set("content-type","application/json")}catch{}let x={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:c},p=()=>w(b,x).then(a=>V(a,p,l)).catch(a=>{if(a instanceof i)throw a;let o=new i(503,a);if(S(o,l))throw o;return{data:null,error:o,status:503,headers:void 0,retry:p}});return p()};0&&(module.exports={edenFetch});
package/dist/fetch.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-VMSCNLL4.mjs";import"./chunk-QSLHAOSM.mjs";export{a as edenFetch};
1
+ import{a}from"./chunk-E2P2HQLJ.mjs";import"./chunk-I5KHAGLL.mjs";export{a as edenFetch};
package/dist/index.d.mts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Treaty, treaty } from './treaty2.mjs';
2
2
  export { edenTreaty } from './treaty.mjs';
3
3
  export { edenFetch } from './fetch.mjs';
4
- export { E as EdenFetchError } from './types-BdHMTa_C.mjs';
4
+ export { E as EdenFetchError } from './types-0YqzVuGd.mjs';
5
5
  import 'elysia';
6
- import 'bun';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Treaty, treaty } from './treaty2.js';
2
2
  export { edenTreaty } from './treaty.js';
3
3
  export { edenFetch } from './fetch.js';
4
- export { E as EdenFetchError } from './types-BdHMTa_C.js';
4
+ export { E as EdenFetchError } from './types-0YqzVuGd.js';
5
5
  import 'elysia';
6
- import 'bun';
@@ -1,4 +1,4 @@
1
- "use strict";var Eden=(()=>{var U=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.prototype.hasOwnProperty;var oe=(e,t)=>{for(var n in t)U(e,n,{get:t[n],enumerable:!0})},ce=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ae(t))!ie.call(e,s)&&s!==n&&U(e,s,{get:()=>t[s],enumerable:!(r=se(t,s))||r.enumerable});return e};var fe=e=>ce(U({},"__esModule",{value:!0}),e);var ke={};oe(ke,{EdenFetchError:()=>S,edenFetch:()=>re,edenTreaty:()=>ne,treaty:()=>X});var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var de=/(\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))/,ue=/(?: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\([^)]+\)/,ye=/^(?:(?:(?:(?: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)?)?$/,le=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),D=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(de.test(t)||ue.test(t)||ye.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},pe=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},he=e=>JSON.parse(e,(t,n)=>{let r=D(n);return r||n}),$=e=>{if(!e)return e;if(le(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=D(e);if(t)return t;if(pe(e))try{return he(e)}catch{}return e},I=e=>{let t=e.data.toString();return t==="null"?null:$(t)};var P=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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let i=I(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var ge=["get","post","put","delete","patch","options","head","connect","subscribe"],Q=["localhost","127.0.0.1","0.0.0.0"],V=typeof FileList>"u",q=e=>V?e instanceof Blob:e instanceof FileList||e instanceof File,me=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},B=e=>V?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),C=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=await C(s,t,n,r);else{let i=s[0];if(typeof i=="string")r[i.toLowerCase()]=s[1];else for(let[a,d]of i)r[a.toLowerCase()]=d}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return C(e,t,n,r);let s=await e(t,n);return s?C(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((i,a)=>{r[a.toLowerCase()]=i}),r;for(let[i,a]of Object.entries(e))r[i.toLowerCase()]=a;return r;default:return r}};function z(e){let t=e.split(`
2
- `),n={};for(let r of t){if(!r||r.startsWith(":"))continue;let s=r.indexOf(":");if(s>0){let i=r.slice(0,s).trim(),a=r.slice(s+1).replace(/^ /,"");n[i]=a&&$(a)}}return Object.keys(n).length>0?n:null}function*Z(e){let t;for(;(t=e.value.indexOf(`
1
+ "use strict";var Eden=(()=>{var J=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},ue=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ce(t))!fe.call(e,s)&&s!==n&&J(e,s,{get:()=>t[s],enumerable:!(r=ie(t,s))||r.enumerable});return e};var le=e=>ue(J({},"__esModule",{value:!0}),e);var Te={};de(Te,{EdenFetchError:()=>x,edenFetch:()=>ae,edenTreaty:()=>re,treaty:()=>Y});var x=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var ye=/(\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))/,pe=/(?: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\([^)]+\)/,he=/^(?:(?:(?:(?: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)?)?$/,ge=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),H=(e,t)=>{if(typeof e!="string"||t?.parseDate===!1)return null;let n=e.replace(/"/g,"");if(ye.test(n)||pe.test(n)||he.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},me=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},we=(e,t)=>JSON.parse(e,(n,r)=>{let s=H(r,t);return s||r}),M=(e,t)=>{if(!e)return e;if(ge(e))return+e;if(e==="true")return!0;if(e==="false")return!1;if(t?.parseDate!==!1){let n=H(e,t);if(n)return n}if(me(e))try{return we(e,t)}catch{}return e},I=(e,t)=>{let n=e.data.toString();return n==="null"?null:M(n,t)};var P=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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var Ee=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=(e,t)=>typeof t=="function"?t(e):t===!0,z=["localhost","127.0.0.1","0.0.0.0"],B=typeof FileList>"u",q=e=>B?e instanceof Blob:e instanceof FileList||e instanceof File,be=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},U=e=>B?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),$=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=await $(s,t,n,r);else{let a=s[0];if(typeof a=="string")r[a.toLowerCase()]=s[1];else for(let[o,f]of a)r[o.toLowerCase()]=f}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return $(e,t,n,r);let s=await e(t,n);return s?$(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((a,o)=>{r[o.toLowerCase()]=a}),r;for(let[a,o]of Object.entries(e))r[a.toLowerCase()]=o;return r;default:return r}};function X(e,t){let n=e.split(`
2
+ `),r={};for(let s of n){if(!s||s.startsWith(":"))continue;let a=s.indexOf(":");if(a>0){let o=s.slice(0,a).trim(),f=s.slice(a+1).replace(/^ /,"");r[o]=f&&M(f,t)}}return Object.keys(r).length>0?r:null}function*Q(e,t){let n;for(;(n=e.value.indexOf(`
3
3
 
4
- `))!==-1;){let n=e.value.slice(0,t);if(e.value=e.value.slice(t+2),n.trim()){let r=z(n);r&&(yield r)}}}async function*we(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder("utf-8"),s={value:""};try{for(;;){let{done:a,value:d}=await n.read();if(a)break;let W=typeof d=="string"?d:r.decode(d,{stream:!0});s.value+=W,yield*Z(s)}let i=r.decode();if(i&&(s.value+=i),yield*Z(s),s.value.trim()){let a=z(s.value);a&&(yield a)}}finally{n.releaseLock()}}var K=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,i){return K(e,t,i==="index"?n:[...n,i],r)},apply(s,i,[a,d]){if(!a||d||typeof a=="object"&&Object.keys(a).length!==1||ge.includes(n.at(-1))){let W=[...n],F=W.pop(),A="/"+W.join("/"),{fetcher:R=fetch,headers:j,onRequest:w,onResponse:k,fetch:E}=t,h=F==="get"||F==="head"||F==="subscribe",N=h?a?.query:d?.query,O="";if(N){let o=(L,b)=>{O+=(O?"&":"?")+`${encodeURIComponent(L)}=${encodeURIComponent(b)}`};for(let[L,b]of Object.entries(N)){if(Array.isArray(b)){for(let c of b)o(L,c);continue}if(b!=null){if(typeof b=="object"){o(L,JSON.stringify(b));continue}o(L,`${b}`)}}}if(F==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||Q.find(L=>e.includes(L))?"ws://":"wss://")+A+O;return new P(o)}return(async()=>{j=await C(j,A,d);let o={method:F?.toUpperCase(),body:a,...E,headers:j};o.headers={...j,...await C(h?a?.headers:d?.headers,A,o)};let L=h&&typeof a=="object"?a.fetch:d?.fetch;if(o={...o,...L},h&&delete o.body,w){Array.isArray(w)||(w=[w]);for(let u of w){let y=await u(A,o);typeof y=="object"&&(o={...o,...y,headers:{...o.headers,...await C(y.headers,A,o)}})}}if(h&&delete o.body,me(a)){let u=new FormData,y=f=>{if(typeof f=="string"||q(f))return!1;if(typeof f=="object"){if(f!==null)return!0;if(f instanceof Date)return!1}return!1},m=async f=>f instanceof File?await B(f):y(f)?JSON.stringify(f):f;for(let[f,l]of Object.entries(o.body)){if(Array.isArray(l)){if(l.some(v=>typeof v=="object"&&v!==null&&!q(v)))u.append(f,JSON.stringify(l));else for(let v=0;v<l.length;v++){let T=l[v],M=await m(T);u.append(f,M)}continue}if(V){if(Array.isArray(l))for(let x of l)u.append(f,await m(x));else u.append(f,await m(l));continue}if(l instanceof File){u.append(f,await B(l));continue}if(l instanceof FileList){for(let x=0;x<l.length;x++)u.append(f,await B(l[x]));continue}u.append(f,await m(l))}o.body=u}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(h&&delete o.body,w){Array.isArray(w)||(w=[w]);for(let u of w){let y=await u(A,o);typeof y=="object"&&(o={...o,...y,headers:{...o.headers,...await C(y.headers,A,o)}})}}d?.headers?.["content-type"]&&(o.headers["content-type"]=d?.headers["content-type"]);let b=e+A+O,c;try{c=await(r?.handle(new Request(b,o))??R(b,o))}catch(u){return{data:null,error:new S(503,u),response:void 0,status:503,headers:void 0}}let g=null,p=null;if(k){Array.isArray(k)||(k=[k]);for(let u of k)try{let y=await u(c.clone());if(y!=null){g=y;break}}catch(y){y instanceof S?p=y:p=new S(422,y);break}}if(g!==null)return{data:g,error:p,response:c,status:c.status,headers:c.headers};switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=we(c);break;case"application/json":g=JSON.parse(await c.text(),(y,m)=>{if(typeof m!="string")return m;let f=D(m);return f||m});break;case"application/octet-stream":g=await c.arrayBuffer();break;case"multipart/form-data":let u=await c.formData();g={},u.forEach((y,m)=>{g[m]=y});break;default:g=await c.text().then($)}return(c.status>=300||c.status<200)&&(p=new S(c.status,g),g=null),{data:g,error:p,response:c,status:c.status,headers:c.headers}})()}return typeof a=="object"?K(e,t,[...n,Object.values(a)[0]],r):K(e,t,n)}}),X=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(Q.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),K(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."),K("http://e.ly",t,[],e));var Y=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${e}${t}?${r.slice(0,-1)}`};var G=typeof FileList>"u",ee=e=>G?e instanceof Blob:e instanceof FileList||e instanceof File,Ee=e=>{if(!e)return!1;for(let t in e){if(ee(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>ee(n)))return!0}return!1},H=e=>G?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),_=class{ws;url;constructor(t){this.ws=new WebSocket(t),this.url=t}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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let i=I(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},te=(e,t="",n)=>new Proxy(()=>{},{get(r,s,i){return te(e,`${t}/${s.toString()}`,n)},apply(r,s,[i,a={}]=[{},{}]){let d=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:W,$fetch:F,$headers:A,$transform:R,getRaw:j,...w}=i??{};d??=w;let k=t.lastIndexOf("/"),E=t.slice(k+1).toUpperCase(),h=Y(e,k===-1?"/":t.slice(0,k),Object.assign(a.query??{},W)),N=n.fetcher??fetch,O=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=R?Array.isArray(R)?R:[R]:void 0;return o&&(O?O=o.concat(O):O=o),E==="SUBSCRIBE"?new _(h.replace(/^([^]+):\/\//,h.startsWith("https://")?"wss://":"ws://")):(async b=>{let c,g={...n.$fetch?.headers,...F?.headers,...a.headers,...A};if(E!=="GET"&&E!=="HEAD"){c=Object.keys(d).length||Array.isArray(d)?d:void 0;let f=c&&(typeof c=="object"||Array.isArray(d));if(f&&Ee(c)){let x=new FormData;for(let[v,T]of Object.entries(c))if(G)x.append(v,T);else if(T instanceof File)x.append(v,await H(T));else if(T instanceof FileList)for(let M=0;M<T.length;M++)x.append(v,await H(T[M]));else if(Array.isArray(T))for(let M=0;M<T.length;M++){let J=T[M];x.append(v,J instanceof File?await H(J):J)}else x.append(v,T);c=x}else c!=null&&(g["content-type"]=f?"application/json":"text/plain",c=f?JSON.stringify(c):d)}let p=await N(h,{method:E,body:c,...n.$fetch,...a.fetch,...F,headers:g}),u;if(b.getRaw)return p;switch(p.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await p.json();break;default:u=await p.text().then($)}let y=p.status>=300||p.status<200?new S(p.status,u):null,m={data:u,error:y,response:p,status:p.status,headers:p.headers};if(O)for(let f of O){let l=f(m);l instanceof Promise&&(l=await l),l!=null&&(m=l)}return m})({getRaw:j})}}),ne=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return te(e,r,t)}});var be=async e=>{switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":return e.json();case"application/octet-stream":return e.arrayBuffer();case"multipart/form-data":{let n=await e.formData(),r={};return n.forEach((s,i)=>{r[i]=s}),r}}return e.text().then($)},Se=async(e,t)=>{let n=await be(e);return e.status>300?{data:null,status:e.status,headers:e.headers,retry:t,error:new S(e.status,n)}:{data:n,error:null,status:e.status,headers:e.headers,retry:t}},re=(e,t)=>(n,{query:r,params:s,body:i,...a}={})=>{s&&Object.entries(s).forEach(([E,h])=>{n=n.replace(`:${E}`,h)});let d=t?.fetcher||globalThis.fetch,W=r?Object.fromEntries(Object.entries(r).filter(([E,h])=>h!=null)):null,F=W?`?${new URLSearchParams(W).toString()}`:"",A=`${e}${n}${F}`,R=new Headers(a.headers||{}),j=R.get("content-type");if(!(i instanceof FormData)&&!(i instanceof URLSearchParams)&&(!j||j==="application/json"))try{i=JSON.stringify(i),j||R.set("content-type","application/json")}catch{}let w={...a,method:a.method?.toUpperCase()||"GET",headers:R,body:i},k=()=>d(A,w).then(E=>Se(E,k)).catch(E=>({data:null,error:new S(503,E),status:503,headers:void 0,retry:k}));return k()};return fe(ke);})();
4
+ `))!==-1;){let r=e.value.slice(0,n);if(e.value=e.value.slice(n+2),r.trim()){let s=X(r,t);s&&(yield s)}}}async function*Se(e,t){let n=e.body;if(!n)return;let r=n.getReader(),s=new TextDecoder("utf-8"),a={value:""};try{for(;;){let{done:f,value:F}=await r.read();if(f)break;let T=typeof F=="string"?F:s.decode(F,{stream:!0});a.value+=T,yield*Q(a,t)}let o=s.decode();if(o&&(a.value+=o),yield*Q(a,t),a.value.trim()){let f=X(a.value,t);f&&(yield f)}}finally{r.releaseLock()}}var N=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,a){if(!(n.length===0&&(a==="then"||a==="catch"||a==="finally")))return N(e,t,[...n,a],r)},apply(s,a,[o,f]){if(!o||f||typeof o=="object"&&Object.keys(o).length!==1||Ee.includes(n.at(-1))){let F=[...n],T=F.pop(),v="/"+F.join("/"),{fetcher:D=fetch,headers:L,onRequest:w,onResponse:O,fetch:W}=t,b=T==="get"||T==="head"||T==="subscribe",A=b?o?.query:f?.query,y="";if(A){let i=(R,S)=>{S!=null&&(S instanceof Date&&(S=S.toISOString()),y+=(y?"&":"?")+`${encodeURIComponent(R)}=${encodeURIComponent(typeof S=="object"?JSON.stringify(S):S+"")}`)};for(let[R,S]of Object.entries(A)){if(Array.isArray(S)){for(let E of S)i(R,E);continue}i(R,S)}}if(T==="subscribe"){let i=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||z.find(R=>e.includes(R))?"ws://":"wss://")+v+y;return new P(i)}return(async()=>{L=await $(L,v,f);let i={method:T?.toUpperCase(),body:o,...W,headers:L};i.headers={...L,...await $(b?o?.headers:f?.headers,v,i)};let R=b&&typeof o=="object"?o.fetch:f?.fetch,E=(b&&typeof o=="object"?o.throwHttpError:f?.throwHttpError)??t.throwHttpError;if(i={...i,...R},b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}if(b&&delete i.body,be(o)){let l=new FormData,c=d=>{if(typeof d=="string"||q(d))return!1;if(typeof d=="object"){if(d!==null)return!0;if(d instanceof Date)return!1}return!1},h=async d=>d instanceof File?await U(d):c(d)?JSON.stringify(d):d;for(let[d,p]of Object.entries(i.body)){if(Array.isArray(p)){if(p.some(k=>typeof k=="object"&&k!==null&&!q(k)))l.append(d,JSON.stringify(p));else for(let k=0;k<p.length;k++){let K=p[k],oe=await h(K);l.append(d,oe)}continue}if(B){if(Array.isArray(p))for(let m of p)l.append(d,await h(m));else l.append(d,await h(p));continue}if(p instanceof File){l.append(d,await U(p));continue}if(p instanceof FileList){for(let m=0;m<p.length;m++)l.append(d,await U(p[m]));continue}l.append(d,await h(p))}i.body=l}else typeof o=="object"?(i.headers["content-type"]="application/json",i.body=JSON.stringify(o)):o!=null&&(i.headers["content-type"]="text/plain");if(b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}f?.headers?.["content-type"]&&(i.headers["content-type"]=f?.headers["content-type"]);let C=e+v+y,u;try{u=await(r?.handle(new Request(C,i))??D(C,i))}catch(l){let c=new x(503,l);if(Z(c,E))throw c;return{data:null,error:c,response:void 0,status:503,headers:void 0}}let g=null,j=null;if(O){Array.isArray(O)||(O=[O]);for(let l of O)try{let c=await l(u.clone());if(c!=null){g=c;break}}catch(c){c instanceof x?j=c:j=new x(422,c);break}}if(g!==null)return{data:g,error:j,response:u,status:u.status,headers:u.headers};switch(u.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=Se(u,{parseDate:t.parseDate});break;case"application/json":g=JSON.parse(await u.text(),(c,h)=>{if(typeof h!="string")return h;let d=H(h,{parseDate:t.parseDate});return d||h});break;case"application/octet-stream":g=await u.arrayBuffer();break;case"multipart/form-data":let l=await u.formData();g={},l.forEach((c,h)=>{g[h]=c});break;default:g=await u.text().then(c=>M(c,{parseDate:t.parseDate}))}if(u.status>=300||u.status<200){if(j=new x(u.status,g),Z(j,E))throw j;g=null}return{data:g,error:j,response:u,status:u.status,headers:u.headers}})()}return typeof o=="object"?N(e,t,[...n,Object.values(o)[0]],r):N(e,t,n)}}),Y=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(z.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),N(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."),N("http://e.ly",t,[],e));var ee=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[s,a]of Object.entries(n))r+=`${s}=${a}&`;return`${e}${t}?${r.slice(0,-1)}`};var G=typeof FileList>"u",te=e=>G?e instanceof Blob:e instanceof FileList||e instanceof File,ke=e=>{if(!e)return!1;for(let t in e){if(te(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>te(n)))return!0}return!1},V=e=>G?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),_=class{ws;url;constructor(t){this.ws=new WebSocket(t),this.url=t}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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},ne=(e,t="",n)=>new Proxy(()=>{},{get(r,s,a){return ne(e,`${t}/${s.toString()}`,n)},apply(r,s,[a,o={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:F,$fetch:T,$headers:v,$transform:D,getRaw:L,...w}=a??{};f??=w;let O=t.lastIndexOf("/"),W=t.slice(O+1).toUpperCase(),b=ee(e,O===-1?"/":t.slice(0,O),Object.assign(o.query??{},F)),A=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,i=D?Array.isArray(D)?D:[D]:void 0;return i&&(y?y=i.concat(y):y=i),W==="SUBSCRIBE"?new _(b.replace(/^([^]+):\/\//,b.startsWith("https://")?"wss://":"ws://")):(async S=>{let E,C={...n.$fetch?.headers,...T?.headers,...o.headers,...v};if(W!=="GET"&&W!=="HEAD"){E=Object.keys(f).length||Array.isArray(f)?f:void 0;let c=E&&(typeof E=="object"||Array.isArray(f));if(c&&ke(E)){let d=new FormData;for(let[p,m]of Object.entries(E))if(G)d.append(p,m);else if(m instanceof File)d.append(p,await V(m));else if(m instanceof FileList)for(let k=0;k<m.length;k++)d.append(p,await V(m[k]));else if(Array.isArray(m))for(let k=0;k<m.length;k++){let K=m[k];d.append(p,K instanceof File?await V(K):K)}else d.append(p,m);E=d}else E!=null&&(C["content-type"]=c?"application/json":"text/plain",E=c?JSON.stringify(E):f)}let u=await A(b,{method:W,body:E,...n.$fetch,...o.fetch,...T,headers:C}),g;if(S.getRaw)return u;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await u.json();break;default:g=await u.text().then(M)}let j=u.status>=300||u.status<200?new x(u.status,g):null,l={data:g,error:j,response:u,status:u.status,headers:u.headers};if(y)for(let c of y){let h=c(l);h instanceof Promise&&(h=await h),h!=null&&(l=h)}return l})({getRaw:L})}}),re=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return ne(e,r,t)}});var xe=async e=>{switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":return e.json();case"application/octet-stream":return e.arrayBuffer();case"multipart/form-data":{let n=await e.formData(),r={};return n.forEach((s,a)=>{r[a]=s}),r}}return e.text().then(M)},se=(e,t)=>typeof t=="function"?t(e):t===!0,Ae=async(e,t,n)=>{let r=await xe(e);if(e.status>=300||e.status<200){let s=new x(e.status,r);if(se(s,n))throw s;return{data:null,status:e.status,headers:e.headers,retry:t,error:s}}return{data:r,error:null,status:e.status,headers:e.headers,retry:t}},ae=(e,t)=>(n,{query:r,params:s,body:a,throwHttpError:o,...f}={})=>{s&&Object.entries(s).forEach(([A,y])=>{n=n.replace(`:${A}`,y)});let F=t?.fetcher||globalThis.fetch,T=o??t?.throwHttpError,v=r?Object.fromEntries(Object.entries(r).filter(([A,y])=>y!=null)):null,D=v?`?${new URLSearchParams(v).toString()}`:"",L=`${e}${n}${D}`,w=new Headers(f.headers||{}),O=w.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!O||O==="application/json"))try{a=JSON.stringify(a),O||w.set("content-type","application/json")}catch{}let W={...f,method:f.method?.toUpperCase()||"GET",headers:w,body:a},b=()=>F(L,W).then(A=>Ae(A,b,T)).catch(A=>{if(A instanceof x)throw A;let y=new x(503,A);if(se(y,T))throw y;return{data:null,error:y,status:503,headers:void 0,retry:b}});return b()};return le(Te);})();
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var U=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.prototype.hasOwnProperty;var oe=(e,t)=>{for(var n in t)U(e,n,{get:t[n],enumerable:!0})},ce=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ae(t))!ie.call(e,s)&&s!==n&&U(e,s,{get:()=>t[s],enumerable:!(r=se(t,s))||r.enumerable});return e};var fe=e=>ce(U({},"__esModule",{value:!0}),e);var ke={};oe(ke,{EdenFetchError:()=>S,edenFetch:()=>re,edenTreaty:()=>ne,treaty:()=>X});module.exports=fe(ke);var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var de=/(\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))/,ue=/(?: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\([^)]+\)/,ye=/^(?:(?:(?:(?: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)?)?$/,le=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),D=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(de.test(t)||ue.test(t)||ye.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},pe=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},he=e=>JSON.parse(e,(t,n)=>{let r=D(n);return r||n}),$=e=>{if(!e)return e;if(le(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=D(e);if(t)return t;if(pe(e))try{return he(e)}catch{}return e},I=e=>{let t=e.data.toString();return t==="null"?null:$(t)};var P=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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let i=I(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var ge=["get","post","put","delete","patch","options","head","connect","subscribe"],Q=["localhost","127.0.0.1","0.0.0.0"],V=typeof FileList>"u",q=e=>V?e instanceof Blob:e instanceof FileList||e instanceof File,me=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},B=e=>V?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),C=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=await C(s,t,n,r);else{let i=s[0];if(typeof i=="string")r[i.toLowerCase()]=s[1];else for(let[a,d]of i)r[a.toLowerCase()]=d}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return C(e,t,n,r);let s=await e(t,n);return s?C(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((i,a)=>{r[a.toLowerCase()]=i}),r;for(let[i,a]of Object.entries(e))r[i.toLowerCase()]=a;return r;default:return r}};function z(e){let t=e.split(`
2
- `),n={};for(let r of t){if(!r||r.startsWith(":"))continue;let s=r.indexOf(":");if(s>0){let i=r.slice(0,s).trim(),a=r.slice(s+1).replace(/^ /,"");n[i]=a&&$(a)}}return Object.keys(n).length>0?n:null}function*Z(e){let t;for(;(t=e.value.indexOf(`
1
+ "use strict";var J=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},ue=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ce(t))!fe.call(e,s)&&s!==n&&J(e,s,{get:()=>t[s],enumerable:!(r=ie(t,s))||r.enumerable});return e};var le=e=>ue(J({},"__esModule",{value:!0}),e);var Te={};de(Te,{EdenFetchError:()=>x,edenFetch:()=>ae,edenTreaty:()=>re,treaty:()=>Y});module.exports=le(Te);var x=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var ye=/(\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))/,pe=/(?: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\([^)]+\)/,he=/^(?:(?:(?:(?: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)?)?$/,ge=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),H=(e,t)=>{if(typeof e!="string"||t?.parseDate===!1)return null;let n=e.replace(/"/g,"");if(ye.test(n)||pe.test(n)||he.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},me=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},we=(e,t)=>JSON.parse(e,(n,r)=>{let s=H(r,t);return s||r}),M=(e,t)=>{if(!e)return e;if(ge(e))return+e;if(e==="true")return!0;if(e==="false")return!1;if(t?.parseDate!==!1){let n=H(e,t);if(n)return n}if(me(e))try{return we(e,t)}catch{}return e},I=(e,t)=>{let n=e.data.toString();return n==="null"?null:M(n,t)};var P=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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var Ee=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=(e,t)=>typeof t=="function"?t(e):t===!0,z=["localhost","127.0.0.1","0.0.0.0"],B=typeof FileList>"u",q=e=>B?e instanceof Blob:e instanceof FileList||e instanceof File,be=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},U=e=>B?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),$=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=await $(s,t,n,r);else{let a=s[0];if(typeof a=="string")r[a.toLowerCase()]=s[1];else for(let[o,f]of a)r[o.toLowerCase()]=f}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return $(e,t,n,r);let s=await e(t,n);return s?$(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((a,o)=>{r[o.toLowerCase()]=a}),r;for(let[a,o]of Object.entries(e))r[a.toLowerCase()]=o;return r;default:return r}};function X(e,t){let n=e.split(`
2
+ `),r={};for(let s of n){if(!s||s.startsWith(":"))continue;let a=s.indexOf(":");if(a>0){let o=s.slice(0,a).trim(),f=s.slice(a+1).replace(/^ /,"");r[o]=f&&M(f,t)}}return Object.keys(r).length>0?r:null}function*Q(e,t){let n;for(;(n=e.value.indexOf(`
3
3
 
4
- `))!==-1;){let n=e.value.slice(0,t);if(e.value=e.value.slice(t+2),n.trim()){let r=z(n);r&&(yield r)}}}async function*we(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder("utf-8"),s={value:""};try{for(;;){let{done:a,value:d}=await n.read();if(a)break;let W=typeof d=="string"?d:r.decode(d,{stream:!0});s.value+=W,yield*Z(s)}let i=r.decode();if(i&&(s.value+=i),yield*Z(s),s.value.trim()){let a=z(s.value);a&&(yield a)}}finally{n.releaseLock()}}var K=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,i){return K(e,t,i==="index"?n:[...n,i],r)},apply(s,i,[a,d]){if(!a||d||typeof a=="object"&&Object.keys(a).length!==1||ge.includes(n.at(-1))){let W=[...n],F=W.pop(),A="/"+W.join("/"),{fetcher:R=fetch,headers:j,onRequest:w,onResponse:k,fetch:E}=t,h=F==="get"||F==="head"||F==="subscribe",N=h?a?.query:d?.query,O="";if(N){let o=(L,b)=>{O+=(O?"&":"?")+`${encodeURIComponent(L)}=${encodeURIComponent(b)}`};for(let[L,b]of Object.entries(N)){if(Array.isArray(b)){for(let c of b)o(L,c);continue}if(b!=null){if(typeof b=="object"){o(L,JSON.stringify(b));continue}o(L,`${b}`)}}}if(F==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||Q.find(L=>e.includes(L))?"ws://":"wss://")+A+O;return new P(o)}return(async()=>{j=await C(j,A,d);let o={method:F?.toUpperCase(),body:a,...E,headers:j};o.headers={...j,...await C(h?a?.headers:d?.headers,A,o)};let L=h&&typeof a=="object"?a.fetch:d?.fetch;if(o={...o,...L},h&&delete o.body,w){Array.isArray(w)||(w=[w]);for(let u of w){let y=await u(A,o);typeof y=="object"&&(o={...o,...y,headers:{...o.headers,...await C(y.headers,A,o)}})}}if(h&&delete o.body,me(a)){let u=new FormData,y=f=>{if(typeof f=="string"||q(f))return!1;if(typeof f=="object"){if(f!==null)return!0;if(f instanceof Date)return!1}return!1},m=async f=>f instanceof File?await B(f):y(f)?JSON.stringify(f):f;for(let[f,l]of Object.entries(o.body)){if(Array.isArray(l)){if(l.some(v=>typeof v=="object"&&v!==null&&!q(v)))u.append(f,JSON.stringify(l));else for(let v=0;v<l.length;v++){let T=l[v],M=await m(T);u.append(f,M)}continue}if(V){if(Array.isArray(l))for(let x of l)u.append(f,await m(x));else u.append(f,await m(l));continue}if(l instanceof File){u.append(f,await B(l));continue}if(l instanceof FileList){for(let x=0;x<l.length;x++)u.append(f,await B(l[x]));continue}u.append(f,await m(l))}o.body=u}else typeof a=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(a)):a!=null&&(o.headers["content-type"]="text/plain");if(h&&delete o.body,w){Array.isArray(w)||(w=[w]);for(let u of w){let y=await u(A,o);typeof y=="object"&&(o={...o,...y,headers:{...o.headers,...await C(y.headers,A,o)}})}}d?.headers?.["content-type"]&&(o.headers["content-type"]=d?.headers["content-type"]);let b=e+A+O,c;try{c=await(r?.handle(new Request(b,o))??R(b,o))}catch(u){return{data:null,error:new S(503,u),response:void 0,status:503,headers:void 0}}let g=null,p=null;if(k){Array.isArray(k)||(k=[k]);for(let u of k)try{let y=await u(c.clone());if(y!=null){g=y;break}}catch(y){y instanceof S?p=y:p=new S(422,y);break}}if(g!==null)return{data:g,error:p,response:c,status:c.status,headers:c.headers};switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=we(c);break;case"application/json":g=JSON.parse(await c.text(),(y,m)=>{if(typeof m!="string")return m;let f=D(m);return f||m});break;case"application/octet-stream":g=await c.arrayBuffer();break;case"multipart/form-data":let u=await c.formData();g={},u.forEach((y,m)=>{g[m]=y});break;default:g=await c.text().then($)}return(c.status>=300||c.status<200)&&(p=new S(c.status,g),g=null),{data:g,error:p,response:c,status:c.status,headers:c.headers}})()}return typeof a=="object"?K(e,t,[...n,Object.values(a)[0]],r):K(e,t,n)}}),X=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(Q.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),K(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."),K("http://e.ly",t,[],e));var Y=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${e}${t}?${r.slice(0,-1)}`};var G=typeof FileList>"u",ee=e=>G?e instanceof Blob:e instanceof FileList||e instanceof File,Ee=e=>{if(!e)return!1;for(let t in e){if(ee(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>ee(n)))return!0}return!1},H=e=>G?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),_=class{ws;url;constructor(t){this.ws=new WebSocket(t),this.url=t}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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let i=I(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},te=(e,t="",n)=>new Proxy(()=>{},{get(r,s,i){return te(e,`${t}/${s.toString()}`,n)},apply(r,s,[i,a={}]=[{},{}]){let d=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:W,$fetch:F,$headers:A,$transform:R,getRaw:j,...w}=i??{};d??=w;let k=t.lastIndexOf("/"),E=t.slice(k+1).toUpperCase(),h=Y(e,k===-1?"/":t.slice(0,k),Object.assign(a.query??{},W)),N=n.fetcher??fetch,O=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=R?Array.isArray(R)?R:[R]:void 0;return o&&(O?O=o.concat(O):O=o),E==="SUBSCRIBE"?new _(h.replace(/^([^]+):\/\//,h.startsWith("https://")?"wss://":"ws://")):(async b=>{let c,g={...n.$fetch?.headers,...F?.headers,...a.headers,...A};if(E!=="GET"&&E!=="HEAD"){c=Object.keys(d).length||Array.isArray(d)?d:void 0;let f=c&&(typeof c=="object"||Array.isArray(d));if(f&&Ee(c)){let x=new FormData;for(let[v,T]of Object.entries(c))if(G)x.append(v,T);else if(T instanceof File)x.append(v,await H(T));else if(T instanceof FileList)for(let M=0;M<T.length;M++)x.append(v,await H(T[M]));else if(Array.isArray(T))for(let M=0;M<T.length;M++){let J=T[M];x.append(v,J instanceof File?await H(J):J)}else x.append(v,T);c=x}else c!=null&&(g["content-type"]=f?"application/json":"text/plain",c=f?JSON.stringify(c):d)}let p=await N(h,{method:E,body:c,...n.$fetch,...a.fetch,...F,headers:g}),u;if(b.getRaw)return p;switch(p.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await p.json();break;default:u=await p.text().then($)}let y=p.status>=300||p.status<200?new S(p.status,u):null,m={data:u,error:y,response:p,status:p.status,headers:p.headers};if(O)for(let f of O){let l=f(m);l instanceof Promise&&(l=await l),l!=null&&(m=l)}return m})({getRaw:j})}}),ne=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return te(e,r,t)}});var be=async e=>{switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":return e.json();case"application/octet-stream":return e.arrayBuffer();case"multipart/form-data":{let n=await e.formData(),r={};return n.forEach((s,i)=>{r[i]=s}),r}}return e.text().then($)},Se=async(e,t)=>{let n=await be(e);return e.status>300?{data:null,status:e.status,headers:e.headers,retry:t,error:new S(e.status,n)}:{data:n,error:null,status:e.status,headers:e.headers,retry:t}},re=(e,t)=>(n,{query:r,params:s,body:i,...a}={})=>{s&&Object.entries(s).forEach(([E,h])=>{n=n.replace(`:${E}`,h)});let d=t?.fetcher||globalThis.fetch,W=r?Object.fromEntries(Object.entries(r).filter(([E,h])=>h!=null)):null,F=W?`?${new URLSearchParams(W).toString()}`:"",A=`${e}${n}${F}`,R=new Headers(a.headers||{}),j=R.get("content-type");if(!(i instanceof FormData)&&!(i instanceof URLSearchParams)&&(!j||j==="application/json"))try{i=JSON.stringify(i),j||R.set("content-type","application/json")}catch{}let w={...a,method:a.method?.toUpperCase()||"GET",headers:R,body:i},k=()=>d(A,w).then(E=>Se(E,k)).catch(E=>({data:null,error:new S(503,E),status:503,headers:void 0,retry:k}));return k()};0&&(module.exports={EdenFetchError,edenFetch,edenTreaty,treaty});
4
+ `))!==-1;){let r=e.value.slice(0,n);if(e.value=e.value.slice(n+2),r.trim()){let s=X(r,t);s&&(yield s)}}}async function*Se(e,t){let n=e.body;if(!n)return;let r=n.getReader(),s=new TextDecoder("utf-8"),a={value:""};try{for(;;){let{done:f,value:F}=await r.read();if(f)break;let T=typeof F=="string"?F:s.decode(F,{stream:!0});a.value+=T,yield*Q(a,t)}let o=s.decode();if(o&&(a.value+=o),yield*Q(a,t),a.value.trim()){let f=X(a.value,t);f&&(yield f)}}finally{r.releaseLock()}}var N=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,a){if(!(n.length===0&&(a==="then"||a==="catch"||a==="finally")))return N(e,t,[...n,a],r)},apply(s,a,[o,f]){if(!o||f||typeof o=="object"&&Object.keys(o).length!==1||Ee.includes(n.at(-1))){let F=[...n],T=F.pop(),v="/"+F.join("/"),{fetcher:D=fetch,headers:L,onRequest:w,onResponse:O,fetch:W}=t,b=T==="get"||T==="head"||T==="subscribe",A=b?o?.query:f?.query,y="";if(A){let i=(R,S)=>{S!=null&&(S instanceof Date&&(S=S.toISOString()),y+=(y?"&":"?")+`${encodeURIComponent(R)}=${encodeURIComponent(typeof S=="object"?JSON.stringify(S):S+"")}`)};for(let[R,S]of Object.entries(A)){if(Array.isArray(S)){for(let E of S)i(R,E);continue}i(R,S)}}if(T==="subscribe"){let i=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||z.find(R=>e.includes(R))?"ws://":"wss://")+v+y;return new P(i)}return(async()=>{L=await $(L,v,f);let i={method:T?.toUpperCase(),body:o,...W,headers:L};i.headers={...L,...await $(b?o?.headers:f?.headers,v,i)};let R=b&&typeof o=="object"?o.fetch:f?.fetch,E=(b&&typeof o=="object"?o.throwHttpError:f?.throwHttpError)??t.throwHttpError;if(i={...i,...R},b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}if(b&&delete i.body,be(o)){let l=new FormData,c=d=>{if(typeof d=="string"||q(d))return!1;if(typeof d=="object"){if(d!==null)return!0;if(d instanceof Date)return!1}return!1},h=async d=>d instanceof File?await U(d):c(d)?JSON.stringify(d):d;for(let[d,p]of Object.entries(i.body)){if(Array.isArray(p)){if(p.some(k=>typeof k=="object"&&k!==null&&!q(k)))l.append(d,JSON.stringify(p));else for(let k=0;k<p.length;k++){let K=p[k],oe=await h(K);l.append(d,oe)}continue}if(B){if(Array.isArray(p))for(let m of p)l.append(d,await h(m));else l.append(d,await h(p));continue}if(p instanceof File){l.append(d,await U(p));continue}if(p instanceof FileList){for(let m=0;m<p.length;m++)l.append(d,await U(p[m]));continue}l.append(d,await h(p))}i.body=l}else typeof o=="object"?(i.headers["content-type"]="application/json",i.body=JSON.stringify(o)):o!=null&&(i.headers["content-type"]="text/plain");if(b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}f?.headers?.["content-type"]&&(i.headers["content-type"]=f?.headers["content-type"]);let C=e+v+y,u;try{u=await(r?.handle(new Request(C,i))??D(C,i))}catch(l){let c=new x(503,l);if(Z(c,E))throw c;return{data:null,error:c,response:void 0,status:503,headers:void 0}}let g=null,j=null;if(O){Array.isArray(O)||(O=[O]);for(let l of O)try{let c=await l(u.clone());if(c!=null){g=c;break}}catch(c){c instanceof x?j=c:j=new x(422,c);break}}if(g!==null)return{data:g,error:j,response:u,status:u.status,headers:u.headers};switch(u.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=Se(u,{parseDate:t.parseDate});break;case"application/json":g=JSON.parse(await u.text(),(c,h)=>{if(typeof h!="string")return h;let d=H(h,{parseDate:t.parseDate});return d||h});break;case"application/octet-stream":g=await u.arrayBuffer();break;case"multipart/form-data":let l=await u.formData();g={},l.forEach((c,h)=>{g[h]=c});break;default:g=await u.text().then(c=>M(c,{parseDate:t.parseDate}))}if(u.status>=300||u.status<200){if(j=new x(u.status,g),Z(j,E))throw j;g=null}return{data:g,error:j,response:u,status:u.status,headers:u.headers}})()}return typeof o=="object"?N(e,t,[...n,Object.values(o)[0]],r):N(e,t,n)}}),Y=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(z.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),N(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."),N("http://e.ly",t,[],e));var ee=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[s,a]of Object.entries(n))r+=`${s}=${a}&`;return`${e}${t}?${r.slice(0,-1)}`};var G=typeof FileList>"u",te=e=>G?e instanceof Blob:e instanceof FileList||e instanceof File,ke=e=>{if(!e)return!1;for(let t in e){if(te(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>te(n)))return!0}return!1},V=e=>G?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),_=class{ws;url;constructor(t){this.ws=new WebSocket(t),this.url=t}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,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},ne=(e,t="",n)=>new Proxy(()=>{},{get(r,s,a){return ne(e,`${t}/${s.toString()}`,n)},apply(r,s,[a,o={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:F,$fetch:T,$headers:v,$transform:D,getRaw:L,...w}=a??{};f??=w;let O=t.lastIndexOf("/"),W=t.slice(O+1).toUpperCase(),b=ee(e,O===-1?"/":t.slice(0,O),Object.assign(o.query??{},F)),A=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,i=D?Array.isArray(D)?D:[D]:void 0;return i&&(y?y=i.concat(y):y=i),W==="SUBSCRIBE"?new _(b.replace(/^([^]+):\/\//,b.startsWith("https://")?"wss://":"ws://")):(async S=>{let E,C={...n.$fetch?.headers,...T?.headers,...o.headers,...v};if(W!=="GET"&&W!=="HEAD"){E=Object.keys(f).length||Array.isArray(f)?f:void 0;let c=E&&(typeof E=="object"||Array.isArray(f));if(c&&ke(E)){let d=new FormData;for(let[p,m]of Object.entries(E))if(G)d.append(p,m);else if(m instanceof File)d.append(p,await V(m));else if(m instanceof FileList)for(let k=0;k<m.length;k++)d.append(p,await V(m[k]));else if(Array.isArray(m))for(let k=0;k<m.length;k++){let K=m[k];d.append(p,K instanceof File?await V(K):K)}else d.append(p,m);E=d}else E!=null&&(C["content-type"]=c?"application/json":"text/plain",E=c?JSON.stringify(E):f)}let u=await A(b,{method:W,body:E,...n.$fetch,...o.fetch,...T,headers:C}),g;if(S.getRaw)return u;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await u.json();break;default:g=await u.text().then(M)}let j=u.status>=300||u.status<200?new x(u.status,g):null,l={data:g,error:j,response:u,status:u.status,headers:u.headers};if(y)for(let c of y){let h=c(l);h instanceof Promise&&(h=await h),h!=null&&(l=h)}return l})({getRaw:L})}}),re=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return ne(e,r,t)}});var xe=async e=>{switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":return e.json();case"application/octet-stream":return e.arrayBuffer();case"multipart/form-data":{let n=await e.formData(),r={};return n.forEach((s,a)=>{r[a]=s}),r}}return e.text().then(M)},se=(e,t)=>typeof t=="function"?t(e):t===!0,Ae=async(e,t,n)=>{let r=await xe(e);if(e.status>=300||e.status<200){let s=new x(e.status,r);if(se(s,n))throw s;return{data:null,status:e.status,headers:e.headers,retry:t,error:s}}return{data:r,error:null,status:e.status,headers:e.headers,retry:t}},ae=(e,t)=>(n,{query:r,params:s,body:a,throwHttpError:o,...f}={})=>{s&&Object.entries(s).forEach(([A,y])=>{n=n.replace(`:${A}`,y)});let F=t?.fetcher||globalThis.fetch,T=o??t?.throwHttpError,v=r?Object.fromEntries(Object.entries(r).filter(([A,y])=>y!=null)):null,D=v?`?${new URLSearchParams(v).toString()}`:"",L=`${e}${n}${D}`,w=new Headers(f.headers||{}),O=w.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!O||O==="application/json"))try{a=JSON.stringify(a),O||w.set("content-type","application/json")}catch{}let W={...f,method:f.method?.toUpperCase()||"GET",headers:w,body:a},b=()=>F(L,W).then(A=>Ae(A,b,T)).catch(A=>{if(A instanceof x)throw A;let y=new x(503,A);if(se(y,T))throw y;return{data:null,error:y,status:503,headers:void 0,retry:b}});return b()};0&&(module.exports={EdenFetchError,edenFetch,edenTreaty,treaty});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{b as t}from"./chunk-EF6Z4LSD.mjs";import{b as r}from"./chunk-7WR4DS5F.mjs";import{a as o}from"./chunk-VMSCNLL4.mjs";import{a as e}from"./chunk-QSLHAOSM.mjs";export{e as EdenFetchError,o as edenFetch,t as edenTreaty,r as treaty};
1
+ import{b as t}from"./chunk-FXT7FC66.mjs";import{b as r}from"./chunk-AB4FCYGG.mjs";import{a as o}from"./chunk-E2P2HQLJ.mjs";import{a as e}from"./chunk-I5KHAGLL.mjs";export{e as EdenFetchError,o as edenFetch,t as edenTreaty,r as treaty};
package/dist/treaty.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Elysia, InputSchema } from 'elysia';
2
- import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-BdHMTa_C.mjs';
2
+ import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-0YqzVuGd.mjs';
3
3
 
4
4
  type Files = File | FileList;
5
5
  type Replace<RecordType, TargetType, GenericType> = {
package/dist/treaty.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Elysia, InputSchema } from 'elysia';
2
- import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-BdHMTa_C.js';
2
+ import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-0YqzVuGd.js';
3
3
 
4
4
  type Files = File | FileList;
5
5
  type Replace<RecordType, TargetType, GenericType> = {
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>b,edenTreaty:()=>se});var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var L=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${t}${e}?${r.slice(0,-1)}`};var Q=/(\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))/,X=/(?: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\([^)]+\)/,Y=/^(?:(?:(?:(?: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)?)?$/,ee=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),N=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(Q.test(e)||X.test(e)||Y.test(e)){let n=new Date(e);if(!Number.isNaN(n.getTime()))return n}return null},te=t=>{let e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e===123&&n===125||e===91&&n===93},ne=t=>JSON.parse(t,(e,n)=>{let r=N(n);return r||n}),$=t=>{if(!t)return t;if(ee(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=N(t);if(e)return e;if(te(t))try{return ne(t)}catch{}return t},K=t=>{let e=t.data.toString();return e==="null"?null:$(e)};var M=typeof FileList>"u",j=t=>M?t instanceof Blob:t instanceof FileList||t instanceof File,re=t=>{if(!t)return!1;for(let e in t){if(j(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>j(n)))return!0}return!1},F=t=>M?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,s=>{if(e==="message"){let i=K(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},D=(t,e="",n)=>new Proxy(()=>{},{get(r,s,i){return D(t,`${e}/${s.toString()}`,n)},apply(r,s,[i,w={}]=[{},{}]){let c=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:I,$fetch:R,$headers:P,$transform:g,getRaw:C,...J}=i??{};c??=J;let x=e.lastIndexOf("/"),m=e.slice(x+1).toUpperCase(),A=L(t,x===-1?"/":e.slice(0,x),Object.assign(w.query??{},I)),q=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,T=g?Array.isArray(g)?g:[g]:void 0;return T&&(y?y=T.concat(y):y=T),m==="SUBSCRIBE"?new b(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async V=>{let a,W={...n.$fetch?.headers,...R?.headers,...w.headers,...P};if(m!=="GET"&&m!=="HEAD"){a=Object.keys(c).length||Array.isArray(c)?c:void 0;let l=a&&(typeof a=="object"||Array.isArray(c));if(l&&re(a)){let p=new FormData;for(let[h,d]of Object.entries(a))if(M)p.append(h,d);else if(d instanceof File)p.append(h,await F(d));else if(d instanceof FileList)for(let u=0;u<d.length;u++)p.append(h,await F(d[u]));else if(Array.isArray(d))for(let u=0;u<d.length;u++){let O=d[u];p.append(h,O instanceof File?await F(O):O)}else p.append(h,d);a=p}else a!=null&&(W["content-type"]=l?"application/json":"text/plain",a=l?JSON.stringify(a):c)}let o=await q(A,{method:m,body:a,...n.$fetch,...w.fetch,...R,headers:W}),E;if(V.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":E=await o.json();break;default:E=await o.text().then($)}let Z=o.status>=300||o.status<200?new S(o.status,E):null,k={data:E,error:Z,response:o,status:o.status,headers:o.headers};if(y)for(let l of y){let f=l(k);f instanceof Promise&&(f=await f),f!=null&&(k=f)}return k})({getRaw:C})}}),se=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return D(t,r,e)}});return z(ae);})();
1
+ "use strict";var Eden=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>S,edenTreaty:()=>se});var E=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var W=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${t}${e}?${r.slice(0,-1)}`};var Q=/(\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))/,X=/(?: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\([^)]+\)/,Y=/^(?:(?:(?:(?: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)?)?$/,ee=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),L=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let n=t.replace(/"/g,"");if(Q.test(n)||X.test(n)||Y.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},te=t=>{let e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e===123&&n===125||e===91&&n===93},ne=(t,e)=>JSON.parse(t,(n,r)=>{let s=L(r,e);return s||r}),$=(t,e)=>{if(!t)return t;if(ee(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let n=L(t,e);if(n)return n}if(te(t))try{return ne(t,e)}catch{}return t},N=(t,e)=>{let n=t.data.toString();return n==="null"?null:$(n,e)};var M=typeof FileList>"u",K=t=>M?t instanceof Blob:t instanceof FileList||t instanceof File,re=t=>{if(!t)return!1;for(let e in t){if(K(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>K(n)))return!0}return!1},F=t=>M?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)}),S=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,s=>{if(e==="message"){let i=N(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},j=(t,e="",n)=>new Proxy(()=>{},{get(r,s,i){return j(t,`${e}/${s.toString()}`,n)},apply(r,s,[i,w={}]=[{},{}]){let c=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:I,$fetch:R,$headers:P,$transform:g,getRaw:C,...J}=i??{};c??=J;let x=e.lastIndexOf("/"),m=e.slice(x+1).toUpperCase(),A=W(t,x===-1?"/":e.slice(0,x),Object.assign(w.query??{},I)),q=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,T=g?Array.isArray(g)?g:[g]:void 0;return T&&(y?y=T.concat(y):y=T),m==="SUBSCRIBE"?new S(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async V=>{let a,D={...n.$fetch?.headers,...R?.headers,...w.headers,...P};if(m!=="GET"&&m!=="HEAD"){a=Object.keys(c).length||Array.isArray(c)?c:void 0;let p=a&&(typeof a=="object"||Array.isArray(c));if(p&&re(a)){let l=new FormData;for(let[h,d]of Object.entries(a))if(M)l.append(h,d);else if(d instanceof File)l.append(h,await F(d));else if(d instanceof FileList)for(let u=0;u<d.length;u++)l.append(h,await F(d[u]));else if(Array.isArray(d))for(let u=0;u<d.length;u++){let O=d[u];l.append(h,O instanceof File?await F(O):O)}else l.append(h,d);a=l}else a!=null&&(D["content-type"]=p?"application/json":"text/plain",a=p?JSON.stringify(a):c)}let o=await q(A,{method:m,body:a,...n.$fetch,...w.fetch,...R,headers:D}),b;if(V.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await o.json();break;default:b=await o.text().then($)}let Z=o.status>=300||o.status<200?new E(o.status,b):null,k={data:b,error:Z,response:o,status:o.status,headers:o.headers};if(y)for(let p of y){let f=p(k);f instanceof Promise&&(f=await f),f!=null&&(k=f)}return k})({getRaw:C})}}),se=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});return z(ae);})();
package/dist/treaty.js CHANGED
@@ -1 +1 @@
1
- "use strict";var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>b,edenTreaty:()=>se});module.exports=z(ae);var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var L=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${t}${e}?${r.slice(0,-1)}`};var Q=/(\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))/,X=/(?: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\([^)]+\)/,Y=/^(?:(?:(?:(?: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)?)?$/,ee=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),N=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(Q.test(e)||X.test(e)||Y.test(e)){let n=new Date(e);if(!Number.isNaN(n.getTime()))return n}return null},te=t=>{let e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e===123&&n===125||e===91&&n===93},ne=t=>JSON.parse(t,(e,n)=>{let r=N(n);return r||n}),$=t=>{if(!t)return t;if(ee(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=N(t);if(e)return e;if(te(t))try{return ne(t)}catch{}return t},K=t=>{let e=t.data.toString();return e==="null"?null:$(e)};var M=typeof FileList>"u",j=t=>M?t instanceof Blob:t instanceof FileList||t instanceof File,re=t=>{if(!t)return!1;for(let e in t){if(j(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>j(n)))return!0}return!1},F=t=>M?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,s=>{if(e==="message"){let i=K(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},D=(t,e="",n)=>new Proxy(()=>{},{get(r,s,i){return D(t,`${e}/${s.toString()}`,n)},apply(r,s,[i,w={}]=[{},{}]){let c=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:I,$fetch:R,$headers:P,$transform:g,getRaw:C,...J}=i??{};c??=J;let x=e.lastIndexOf("/"),m=e.slice(x+1).toUpperCase(),A=L(t,x===-1?"/":e.slice(0,x),Object.assign(w.query??{},I)),q=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,T=g?Array.isArray(g)?g:[g]:void 0;return T&&(y?y=T.concat(y):y=T),m==="SUBSCRIBE"?new b(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async V=>{let a,W={...n.$fetch?.headers,...R?.headers,...w.headers,...P};if(m!=="GET"&&m!=="HEAD"){a=Object.keys(c).length||Array.isArray(c)?c:void 0;let l=a&&(typeof a=="object"||Array.isArray(c));if(l&&re(a)){let p=new FormData;for(let[h,d]of Object.entries(a))if(M)p.append(h,d);else if(d instanceof File)p.append(h,await F(d));else if(d instanceof FileList)for(let u=0;u<d.length;u++)p.append(h,await F(d[u]));else if(Array.isArray(d))for(let u=0;u<d.length;u++){let O=d[u];p.append(h,O instanceof File?await F(O):O)}else p.append(h,d);a=p}else a!=null&&(W["content-type"]=l?"application/json":"text/plain",a=l?JSON.stringify(a):c)}let o=await q(A,{method:m,body:a,...n.$fetch,...w.fetch,...R,headers:W}),E;if(V.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":E=await o.json();break;default:E=await o.text().then($)}let Z=o.status>=300||o.status<200?new S(o.status,E):null,k={data:E,error:Z,response:o,status:o.status,headers:o.headers};if(y)for(let l of y){let f=l(k);f instanceof Promise&&(f=await f),f!=null&&(k=f)}return k})({getRaw:C})}}),se=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return D(t,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
1
+ "use strict";var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>S,edenTreaty:()=>se});module.exports=z(ae);var E=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var W=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${t}${e}?${r.slice(0,-1)}`};var Q=/(\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))/,X=/(?: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\([^)]+\)/,Y=/^(?:(?:(?:(?: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)?)?$/,ee=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),L=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let n=t.replace(/"/g,"");if(Q.test(n)||X.test(n)||Y.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},te=t=>{let e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e===123&&n===125||e===91&&n===93},ne=(t,e)=>JSON.parse(t,(n,r)=>{let s=L(r,e);return s||r}),$=(t,e)=>{if(!t)return t;if(ee(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let n=L(t,e);if(n)return n}if(te(t))try{return ne(t,e)}catch{}return t},N=(t,e)=>{let n=t.data.toString();return n==="null"?null:$(n,e)};var M=typeof FileList>"u",K=t=>M?t instanceof Blob:t instanceof FileList||t instanceof File,re=t=>{if(!t)return!1;for(let e in t){if(K(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>K(n)))return!0}return!1},F=t=>M?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)}),S=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,s=>{if(e==="message"){let i=N(s);n({...s,data:i})}else n(s)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},j=(t,e="",n)=>new Proxy(()=>{},{get(r,s,i){return j(t,`${e}/${s.toString()}`,n)},apply(r,s,[i,w={}]=[{},{}]){let c=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:I,$fetch:R,$headers:P,$transform:g,getRaw:C,...J}=i??{};c??=J;let x=e.lastIndexOf("/"),m=e.slice(x+1).toUpperCase(),A=W(t,x===-1?"/":e.slice(0,x),Object.assign(w.query??{},I)),q=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,T=g?Array.isArray(g)?g:[g]:void 0;return T&&(y?y=T.concat(y):y=T),m==="SUBSCRIBE"?new S(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async V=>{let a,D={...n.$fetch?.headers,...R?.headers,...w.headers,...P};if(m!=="GET"&&m!=="HEAD"){a=Object.keys(c).length||Array.isArray(c)?c:void 0;let p=a&&(typeof a=="object"||Array.isArray(c));if(p&&re(a)){let l=new FormData;for(let[h,d]of Object.entries(a))if(M)l.append(h,d);else if(d instanceof File)l.append(h,await F(d));else if(d instanceof FileList)for(let u=0;u<d.length;u++)l.append(h,await F(d[u]));else if(Array.isArray(d))for(let u=0;u<d.length;u++){let O=d[u];l.append(h,O instanceof File?await F(O):O)}else l.append(h,d);a=l}else a!=null&&(D["content-type"]=p?"application/json":"text/plain",a=p?JSON.stringify(a):c)}let o=await q(A,{method:m,body:a,...n.$fetch,...w.fetch,...R,headers:D}),b;if(V.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await o.json();break;default:b=await o.text().then($)}let Z=o.status>=300||o.status<200?new E(o.status,b):null,k={data:b,error:Z,response:o,status:o.status,headers:o.headers};if(y)for(let p of y){let f=p(k);f instanceof Promise&&(f=await f),f!=null&&(k=f)}return k})({getRaw:C})}}),se=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
package/dist/treaty.mjs CHANGED
@@ -1 +1 @@
1
- import{a,b}from"./chunk-EF6Z4LSD.mjs";import"./chunk-QSLHAOSM.mjs";export{a as EdenWS,b as edenTreaty};
1
+ import{a,b}from"./chunk-FXT7FC66.mjs";import"./chunk-I5KHAGLL.mjs";export{a as EdenWS,b as edenTreaty};
@@ -1,5 +1,7 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { Treaty } from './types';
3
- export declare function streamResponse(response: Response): AsyncGenerator<Record<string, unknown>, void, any>;
4
- export declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
3
+ export declare function streamResponse(response: Response, options?: {
4
+ parseDate?: boolean;
5
+ }): AsyncGenerator<Record<string, unknown>, void, any>;
6
+ export declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any>, const Head extends {} = {}>(domain: string | App, config?: Treaty.Config<Head>) => Treaty.Create<App, Head>;
5
7
  export type { Treaty };