@elysiajs/eden 1.4.0 → 1.4.2

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/README.md CHANGED
@@ -36,7 +36,7 @@ const app = edenTreaty<App>('http://localhost:8080')
36
36
  const { data: pong } = app.index.get()
37
37
 
38
38
  // data: 1895
39
- const { data: id } = client.id.1895.get()
39
+ const { data: id } = app.id.1895.get()
40
40
 
41
41
  // data: { id: 1895, name: 'Skadi' }
42
42
  const { data: nendoroid } = app.mirror.post({
package/bun.lock CHANGED
@@ -7,7 +7,7 @@
7
7
  "@elysiajs/cors": "1.3.3",
8
8
  "@types/bun": "^1.2.20",
9
9
  "@types/node": "^24.3.0",
10
- "elysia": "1.4.0-exp.18",
10
+ "elysia": "^1.4.10",
11
11
  "esbuild": "^0.25.9",
12
12
  "eslint": "^9.34.0",
13
13
  "expect-type": "^1.2.2",
@@ -162,10 +162,6 @@
162
162
 
163
163
  "@sinclair/typebox": ["@sinclair/typebox@0.34.33", "", {}, "sha512-5HAV9exOMcXRUxo+9iYB5n09XxzCXnfy4VTNW4xnDv+FgjzAGY989C28BIdljKqmF+ZltUwujE3aossvcVtq6g=="],
164
164
 
165
- "@tokenizer/inflate": ["@tokenizer/inflate@0.2.7", "", { "dependencies": { "debug": "^4.4.0", "fflate": "^0.8.2", "token-types": "^6.0.0" } }, "sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg=="],
166
-
167
- "@tokenizer/token": ["@tokenizer/token@0.3.0", "", {}, "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="],
168
-
169
165
  "@types/bun": ["@types/bun@1.2.20", "", { "dependencies": { "bun-types": "1.2.20" } }, "sha512-dX3RGzQ8+KgmMw7CsW4xT5ITBSCrSbfHc36SNT31EOUg/LA9JWq0VDdEXDRSe1InVWpd2yLUM1FUF/kEOyTzYA=="],
170
166
 
171
167
  "@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="],
@@ -230,7 +226,7 @@
230
226
 
231
227
  "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
232
228
 
233
- "elysia": ["elysia@1.4.0-exp.18", "", { "dependencies": { "cookie": "^1.0.2", "exact-mirror": "0.2.2", "fast-decode-uri-component": "^1.0.1" }, "optionalDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "openapi-types": ">= 12.0.0" }, "peerDependencies": { "file-type": ">= 20.0.0", "typescript": ">= 5.0.0" } }, "sha512-/zgDvBTG/BlgZ/4mbDcvSeuKvbsQweBDZ+X7ncxeKsMGn4TXAlGjSaCQv3o+YUz7vlbAZi2l17qboUbbCM5+IA=="],
229
+ "elysia": ["elysia@1.4.10", "", { "dependencies": { "cookie": "^1.0.2", "exact-mirror": "0.2.2", "fast-decode-uri-component": "^1.0.1" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["file-type", "typescript"] }, "sha512-PiW+s5TFaAUrFXuMX43v46VYiRszRrn7je5D62V+QJXXoQxPgIH9HjUSKmdk0fU3rz50y7EuP/mxMdsfLc81lg=="],
234
230
 
235
231
  "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
236
232
 
@@ -268,12 +264,8 @@
268
264
 
269
265
  "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
270
266
 
271
- "fflate": ["fflate@0.8.2", "", {}, "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="],
272
-
273
267
  "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="],
274
268
 
275
- "file-type": ["file-type@20.5.0", "", { "dependencies": { "@tokenizer/inflate": "^0.2.6", "strtok3": "^10.2.0", "token-types": "^6.0.0", "uint8array-extras": "^1.4.0" } }, "sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg=="],
276
-
277
269
  "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
278
270
 
279
271
  "fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="],
@@ -294,8 +286,6 @@
294
286
 
295
287
  "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
296
288
 
297
- "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
298
-
299
289
  "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
300
290
 
301
291
  "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="],
@@ -378,8 +368,6 @@
378
368
 
379
369
  "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
380
370
 
381
- "peek-readable": ["peek-readable@7.0.0", "", {}, "sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ=="],
382
-
383
371
  "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
384
372
 
385
373
  "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="],
@@ -424,8 +412,6 @@
424
412
 
425
413
  "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="],
426
414
 
427
- "strtok3": ["strtok3@10.2.2", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^7.0.0" } }, "sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg=="],
428
-
429
415
  "sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="],
430
416
 
431
417
  "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
@@ -438,8 +424,6 @@
438
424
 
439
425
  "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="],
440
426
 
441
- "token-types": ["token-types@6.0.0", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" } }, "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA=="],
442
-
443
427
  "tr46": ["tr46@1.0.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA=="],
444
428
 
445
429
  "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="],
@@ -454,8 +438,6 @@
454
438
 
455
439
  "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="],
456
440
 
457
- "uint8array-extras": ["uint8array-extras@1.4.0", "", {}, "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ=="],
458
-
459
441
  "undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="],
460
442
 
461
443
  "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
@@ -0,0 +1 @@
1
+ import{a as u,c as y}from"./chunk-QSLHAOSM.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 e=await t.formData(),r={};return e.forEach((c,a)=>{r[a]=c}),r}}return t.text().then(y)},F=async(t,n)=>{let e=await j(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:n,error:new u(t.status,e)}:{data:e,error:null,status:t.status,headers:t.headers,retry:n}},S=(t,n)=>(e,{query:r,params:c,body:a,...i}={})=>{c&&Object.entries(c).forEach(([s,o])=>{e=e.replace(`:${s}`,o)});let d=n?.fetcher||globalThis.fetch,l=r?Object.fromEntries(Object.entries(r).filter(([s,o])=>o!=null)):null,m=l?`?${new URLSearchParams(l).toString()}`:"",E=`${t}${e}${m}`,h=new Headers(i.headers||{}),f=h.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!f||f==="application/json"))try{a=JSON.stringify(a),f||h.set("content-type","application/json")}catch{}let g={...i,method:i.method?.toUpperCase()||"GET",headers:h,body:a},p=()=>d(E,g).then(s=>F(s,p));return p()};export{S as a};
@@ -0,0 +1,6 @@
1
+ import{a as W,b as M,c as A,d as q}from"./chunk-QSLHAOSM.mjs";var F=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,s){return this.addEventListener(t,n,s)}off(t,n,s){return this.ws.removeEventListener(t,n,s),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,s){return this.ws.addEventListener(t,l=>{if(t==="message"){let o=q(l);n({...l,data:o})}else n(l)},s),this}removeEventListener(t,n,s){return this.off(t,n,s),this}close(){return this.ws.close(),this}};var P=["get","post","put","delete","patch","options","head","connect","subscribe"],N=["localhost","127.0.0.1","0.0.0.0"],C=typeof FileList>"u",I=e=>C?e instanceof Blob:e instanceof FileList||e instanceof File,U=e=>{if(!e)return!1;for(let t in e)if(I(e[t])||Array.isArray(e[t])&&e[t].find(I))return!0;return!1},T=e=>C?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let s=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(s)},n.readAsArrayBuffer(e)}),b=(e,t,n={},s={})=>{if(Array.isArray(e)){for(let l of e)if(!Array.isArray(l))s=b(l,t,n,s);else{let o=l[0];if(typeof o=="string")s[o.toLowerCase()]=l[1];else for(let[i,h]of o)s[i.toLowerCase()]=h}return s}if(!e)return s;switch(typeof e){case"function":if(e instanceof Headers)return b(e,t,n,s);let l=e(t,n);return l?b(l,t,n,s):s;case"object":if(e instanceof Headers)return e.forEach((o,i)=>{s[i.toLowerCase()]=o}),s;for(let[o,i]of Object.entries(e))s[o.toLowerCase()]=i;return s;default:return s}};async function*D(e){let t=e.body;if(!t)return;let n=t.getReader(),s=new TextDecoder;try{for(;;){let{done:l,value:o}=await n.read();if(l)break;let i=typeof o=="string"?o:s.decode(o);i.includes(`
2
+
3
+ `)?yield*_(i):yield A(i)}}finally{n.releaseLock()}}function*_(e){let t=e.split(`
4
+
5
+ `);for(let n of t){if(n.indexOf(":")<=0){n&&(yield A(n));continue}let s=n.split(`
6
+ `),l={};for(let o of s){let i=o.indexOf(":");if(i>0){let h=o.slice(0,i).trim(),L=o.slice(i+1).trim();l[h]=A(L)}}yield l}}var x=(e,t,n=[],s)=>new Proxy(()=>{},{get(l,o){return x(e,t,o==="index"?n:[...n,o],s)},apply(l,o,[i,h]){if(!i||h||typeof i=="object"&&Object.keys(i).length!==1||P.includes(n.at(-1))){let L=[...n],k=L.pop(),v="/"+L.join("/"),{fetcher:H=fetch,headers:R,onRequest:g,onResponse:E,fetch:J}=t,m=k==="get"||k==="head"||k==="subscribe";R=b(R,v,h);let K=m?i?.query:h?.query,O="";if(K){let r=(w,d)=>{O+=(O?"&":"?")+`${encodeURIComponent(w)}=${encodeURIComponent(d)}`};for(let[w,d]of Object.entries(K)){if(Array.isArray(d)){for(let c of d)r(w,c);continue}if(d!=null){if(typeof d=="object"){r(w,JSON.stringify(d));continue}r(w,`${d}`)}}}if(k==="subscribe"){let r=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||N.find(w=>e.includes(w))?"ws://":"wss://")+v+O;return new F(r)}return(async()=>{let r={method:k?.toUpperCase(),body:i,...J,headers:R};r.headers={...R,...b(m?i?.headers:h?.headers,v,r)};let w=m&&typeof i=="object"?i.fetch:h?.fetch;if(r={...r,...w},m&&delete r.body,g){Array.isArray(g)||(g=[g]);for(let y of g){let a=await y(v,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...b(a.headers,v,r)}})}}if(m&&delete r.body,U(i)){let y=new FormData;for(let[a,f]of Object.entries(r.body)){if(Array.isArray(f)){for(let p=0;p<f.length;p++){let j=f[p];y.append(a,j instanceof File?await T(j):j)}continue}if(C){if(Array.isArray(f))for(let p of f)y.append(a,p);else y.append(a,f);continue}if(f instanceof File){y.append(a,await T(f));continue}if(f instanceof FileList){for(let p=0;p<f.length;p++)y.append(a,await T(f[p]));continue}y.append(a,f)}r.body=y}else typeof i=="object"?(r.headers["content-type"]="application/json",r.body=JSON.stringify(i)):i!=null&&(r.headers["content-type"]="text/plain");if(m&&delete r.body,g){Array.isArray(g)||(g=[g]);for(let y of g){let a=await y(v,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...b(a.headers,v,r)}})}}h?.headers?.["content-type"]&&(r.headers["content-type"]=h?.headers["content-type"]);let d=e+v+O,c=await(s?.handle(new Request(d,r))??H(d,r)),u=null,S=null;if(E){Array.isArray(E)||(E=[E]);for(let y of E)try{let a=await y(c.clone());if(a!=null){u=a;break}}catch(a){a instanceof W?S=a:S=new W(422,a);break}}if(u!==null)return{data:u,error:S,response:c,status:c.status,headers:c.headers};if(c.headers.get("Transfer-Encoding")==="chunked")u=D(c);else switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":u=D(c);break;case"application/json":u=JSON.parse(await c.text(),(a,f)=>{if(typeof f!="string")return f;let p=M(f);return p||f});break;case"application/octet-stream":u=await c.arrayBuffer();break;case"multipart/form-data":let y=await c.formData();u={},y.forEach((a,f)=>{u[f]=a});break;default:u=await c.text().then(A)}return(c.status>=300||c.status<200)&&(S=new W(c.status,u),u=null),{data:u,error:S,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?x(e,t,[...n,Object.values(i)[0]],s):x(e,t,n)}}),Q=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(N.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),x(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."),x("http://e.ly",t,[],e));export{D as a,Q as b};
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var u=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)u(t,r,{get:e[r],enumerable:!0})},O=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of b(e))!N.call(t,s)&&s!==r&&u(t,s,{get:()=>e[s],enumerable:!(n=E(e,s))||n.enumerable});return t};var F=t=>O(u({},"__esModule",{value:!0}),t);var U={};j(U,{edenFetch:()=>V});var d=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var w=/(\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))/,A=/(?: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\([^)]+\)/,C=/^(?:(?:(?:(?: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)?)?$/,D=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),l=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(w.test(e)||A.test(e)||C.test(e)){let r=new Date(e);if(!Number.isNaN(r.getTime()))return r}return null},M=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},$=t=>JSON.parse(t,(e,r)=>{let n=l(r);return n||r}),y=t=>{if(!t)return t;if(D(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=l(t);if(e)return e;if(M(t))try{return $(t)}catch{}return t};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 r=await t.formData(),n={};return r.forEach((s,a)=>{n[a]=s}),n}}return t.text().then(y)},R=async(t,e)=>{let r=await J(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:e,error:new d(t.status,r)}:{data:r,error:null,status:t.status,headers:t.headers,retry:e}},V=(t,e)=>(r,{query:n,params:s,body:a,...c}={})=>{s&&Object.entries(s).forEach(([i,o])=>{r=r.replace(`:${i}`,o)});let p=c.headers?.["Content-Type"];if(!p||p==="application/json")try{a=JSON.stringify(a)}catch{}let g=e?.fetcher||globalThis.fetch,f=n?Object.fromEntries(Object.entries(n).filter(([i,o])=>o!=null)):null,m=f?`?${new URLSearchParams(f).toString()}`:"",S=`${t}${r}${m}`,x=a?{"content-type":"application/json",...c.headers}:c.headers,T={...c,method:c.method?.toUpperCase()||"GET",headers:x,body:a},h=()=>g(S,T).then(i=>R(i,h));return h()};return F(U);})();
1
+ "use strict";var Eden=(()=>{var f=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},F=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!b.call(t,s)&&s!==r&&f(t,s,{get:()=>e[s],enumerable:!(n=T(e,s))||n.enumerable});return t};var O=t=>F(f({},"__esModule",{value:!0}),t);var V={};j(V,{edenFetch:()=>U});var o=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var w=/(\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)),g=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(w.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=g(r);return n||r}),m=t=>{if(!t)return t;if(M(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=g(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(m)},J=async(t,e)=>{let r=await $(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:e,error:new o(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(([i,c])=>{r=r.replace(`:${i}`,c)});let y=e?.fetcher||globalThis.fetch,h=n?Object.fromEntries(Object.entries(n).filter(([i,c])=>c!=null)):null,S=h?`?${new URLSearchParams(h).toString()}`:"",x=`${t}${r}${S}`,u=new Headers(d.headers||{}),p=u.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!p||p==="application/json"))try{a=JSON.stringify(a),p||u.set("content-type","application/json")}catch{}let E={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:a},l=()=>y(x,E).then(i=>J(i,l));return l()};return O(V);})();
package/dist/fetch.js CHANGED
@@ -1 +1 @@
1
- "use strict";var u=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)u(t,r,{get:e[r],enumerable:!0})},O=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of b(e))!N.call(t,s)&&s!==r&&u(t,s,{get:()=>e[s],enumerable:!(n=E(e,s))||n.enumerable});return t};var F=t=>O(u({},"__esModule",{value:!0}),t);var U={};j(U,{edenFetch:()=>V});module.exports=F(U);var d=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var w=/(\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))/,A=/(?: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\([^)]+\)/,C=/^(?:(?:(?:(?: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)?)?$/,D=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),l=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(w.test(e)||A.test(e)||C.test(e)){let r=new Date(e);if(!Number.isNaN(r.getTime()))return r}return null},M=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},$=t=>JSON.parse(t,(e,r)=>{let n=l(r);return n||r}),y=t=>{if(!t)return t;if(D(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=l(t);if(e)return e;if(M(t))try{return $(t)}catch{}return t};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 r=await t.formData(),n={};return r.forEach((s,a)=>{n[a]=s}),n}}return t.text().then(y)},R=async(t,e)=>{let r=await J(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:e,error:new d(t.status,r)}:{data:r,error:null,status:t.status,headers:t.headers,retry:e}},V=(t,e)=>(r,{query:n,params:s,body:a,...c}={})=>{s&&Object.entries(s).forEach(([i,o])=>{r=r.replace(`:${i}`,o)});let p=c.headers?.["Content-Type"];if(!p||p==="application/json")try{a=JSON.stringify(a)}catch{}let g=e?.fetcher||globalThis.fetch,f=n?Object.fromEntries(Object.entries(n).filter(([i,o])=>o!=null)):null,m=f?`?${new URLSearchParams(f).toString()}`:"",S=`${t}${r}${m}`,x=a?{"content-type":"application/json",...c.headers}:c.headers,T={...c,method:c.method?.toUpperCase()||"GET",headers:x,body:a},h=()=>g(S,T).then(i=>R(i,h));return h()};0&&(module.exports={edenFetch});
1
+ "use strict";var f=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},F=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!b.call(t,s)&&s!==r&&f(t,s,{get:()=>e[s],enumerable:!(n=T(e,s))||n.enumerable});return t};var O=t=>F(f({},"__esModule",{value:!0}),t);var V={};j(V,{edenFetch:()=>U});module.exports=O(V);var o=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var w=/(\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)),g=t=>{if(typeof t!="string")return null;let e=t.replace(/"/g,"");if(w.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=g(r);return n||r}),m=t=>{if(!t)return t;if(M(t))return+t;if(t==="true")return!0;if(t==="false")return!1;let e=g(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(m)},J=async(t,e)=>{let r=await $(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:e,error:new o(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(([i,c])=>{r=r.replace(`:${i}`,c)});let y=e?.fetcher||globalThis.fetch,h=n?Object.fromEntries(Object.entries(n).filter(([i,c])=>c!=null)):null,S=h?`?${new URLSearchParams(h).toString()}`:"",x=`${t}${r}${S}`,u=new Headers(d.headers||{}),p=u.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!p||p==="application/json"))try{a=JSON.stringify(a),p||u.set("content-type","application/json")}catch{}let E={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:a},l=()=>y(x,E).then(i=>J(i,l));return l()};0&&(module.exports={edenFetch});
package/dist/fetch.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-RFC2MZ4E.mjs";import"./chunk-QSLHAOSM.mjs";export{a as edenFetch};
1
+ import{a}from"./chunk-4RPCKTWO.mjs";import"./chunk-QSLHAOSM.mjs";export{a as edenFetch};
@@ -1,4 +1,6 @@
1
- "use strict";var Eden=(()=>{var J=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var ae=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},ie=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of re(t))!se.call(e,s)&&s!==n&&J(e,s,{get:()=>t[s],enumerable:!(r=ne(t,s))||r.enumerable});return e};var oe=e=>ie(J({},"__esModule",{value:!0}),e);var Se={};ae(Se,{edenFetch:()=>te,edenTreaty:()=>ee,treaty:()=>Q});var O=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var ce=/(\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))/,fe=/(?: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\([^)]+\)/,de=/^(?:(?:(?:(?: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)?)?$/,ye=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),D=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(ce.test(t)||fe.test(t)||de.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},ue=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},le=e=>JSON.parse(e,(t,n)=>{let r=D(n);return r||n}),F=e=>{if(!e)return e;if(ye(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=D(e);if(t)return t;if(ue(e))try{return le(e)}catch{}return e},I=e=>{let t=e.data.toString();return t==="null"?null:F(t)};var q=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 pe=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=["localhost","127.0.0.1","0.0.0.0"],_=typeof FileList>"u",G=e=>_?e instanceof Blob:e instanceof FileList||e instanceof File,he=e=>{if(!e)return!1;for(let t in e)if(G(e[t])||Array.isArray(e[t])&&e[t].find(G))return!0;return!1},U=e=>_?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)}),j=(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=j(s,t,n,r);else{let a=s[0];if(typeof a=="string")r[a.toLowerCase()]=s[1];else for(let[i,y]of a)r[i.toLowerCase()]=y}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return j(e,t,n,r);let s=e(t,n);return s?j(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((a,i)=>{r[i.toLowerCase()]=a}),r;for(let[a,i]of Object.entries(e))r[a.toLowerCase()]=i;return r;default:return r}};async function*ge(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder;try{for(;;){let{done:s,value:a}=await n.read();if(s)break;let i=typeof a=="string"?a:r.decode(a);i.endsWith(`
1
+ "use strict";var Eden=(()=>{var J=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var ae=Object.prototype.hasOwnProperty;var ie=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},oe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of se(t))!ae.call(e,a)&&a!==n&&J(e,a,{get:()=>t[a],enumerable:!(r=re(t,a))||r.enumerable});return e};var ce=e=>oe(J({},"__esModule",{value:!0}),e);var Se={};ie(Se,{edenFetch:()=>ne,edenTreaty:()=>te,treaty:()=>z});var R=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var fe=/(\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))/,de=/(?: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)?)?$/,ue=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),D=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(fe.test(t)||de.test(t)||ye.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},le=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},pe=e=>JSON.parse(e,(t,n)=>{let r=D(n);return r||n}),L=e=>{if(!e)return e;if(ue(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=D(e);if(t)return t;if(le(e))try{return pe(e)}catch{}return e},I=e=>{let t=e.data.toString();return t==="null"?null:L(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,a=>{if(t==="message"){let s=I(a);n({...a,data:s})}else n(a)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var he=["get","post","put","delete","patch","options","head","connect","subscribe"],Q=["localhost","127.0.0.1","0.0.0.0"],H=typeof FileList>"u",G=e=>H?e instanceof Blob:e instanceof FileList||e instanceof File,ge=e=>{if(!e)return!1;for(let t in e)if(G(e[t])||Array.isArray(e[t])&&e[t].find(G))return!0;return!1},U=e=>H?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)}),M=(e,t,n={},r={})=>{if(Array.isArray(e)){for(let a of e)if(!Array.isArray(a))r=M(a,t,n,r);else{let s=a[0];if(typeof s=="string")r[s.toLowerCase()]=a[1];else for(let[i,y]of s)r[i.toLowerCase()]=y}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return M(e,t,n,r);let a=e(t,n);return a?M(a,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((s,i)=>{r[i.toLowerCase()]=s}),r;for(let[s,i]of Object.entries(e))r[s.toLowerCase()]=i;return r;default:return r}};async function*Z(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder;try{for(;;){let{done:a,value:s}=await n.read();if(a)break;let i=typeof s=="string"?s:r.decode(s);i.includes(`
2
2
 
3
- `)?yield me(i):yield F(i)}}finally{n.releaseLock()}}var me=e=>{let t=e.split(`
4
- `),n={};for(let r of t){let s=r.indexOf(":");if(s>0){let a=r.slice(0,s).trim(),i=r.slice(s+1).trim();n[a]=F(i)}}return n},K=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,a){return K(e,t,a==="index"?n:[...n,a],r)},apply(s,a,[i,y]){if(!i||y||typeof i=="object"&&Object.keys(i).length!==1||pe.includes(n.at(-1))){let M=[...n],x=M.pop(),b="/"+M.join("/"),{fetcher:R=fetch,headers:L,onRequest:m,onResponse:w,fetch:S}=t,h=x==="get"||x==="head"||x==="subscribe";L=j(L,b,y);let N=h?i?.query:y?.query,v="";if(N){let o=(k,E)=>{v+=(v?"&":"?")+`${encodeURIComponent(k)}=${encodeURIComponent(E)}`};for(let[k,E]of Object.entries(N)){if(Array.isArray(E)){for(let c of E)o(k,c);continue}if(E!=null){if(typeof E=="object"){o(k,JSON.stringify(E));continue}o(k,`${E}`)}}}if(x==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||Z.find(k=>e.includes(k))?"ws://":"wss://")+b+v;return new q(o)}return(async()=>{let o={method:x?.toUpperCase(),body:i,...S,headers:L};o.headers={...L,...j(h?i?.headers:y?.headers,b,o)};let k=h&&typeof i=="object"?i.fetch:y?.fetch;if(o={...o,...k},h&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(b,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...j(f.headers,b,o)}})}}if(h&&delete o.body,he(i)){let u=new FormData;for(let[f,d]of Object.entries(o.body)){if(Array.isArray(d)){for(let p=0;p<d.length;p++){let A=d[p];u.append(f,A instanceof File?await U(A):A)}continue}if(_){u.append(f,d);continue}if(d instanceof File){u.append(f,await U(d));continue}if(d instanceof FileList){for(let p=0;p<d.length;p++)u.append(f,await U(d[p]));continue}u.append(f,d)}o.body=u}else typeof i=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(i)):i!=null&&(o.headers["content-type"]="text/plain");if(h&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(b,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...j(f.headers,b,o)}})}}y?.headers?.["content-type"]&&(o.headers["content-type"]=y?.headers["content-type"]);let E=e+b+v,c=await(r?.handle(new Request(E,o))??R(E,o)),g=null,l=null;if(w){Array.isArray(w)||(w=[w]);for(let u of w)try{let f=await u(c.clone());if(f!=null){g=f;break}}catch(f){f instanceof O?l=f:l=new O(422,f);break}}if(g!==null)return{data:g,error:l,response:c,status:c.status,headers:c.headers};switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=ge(c);break;case"application/json":g=JSON.parse(await c.text(),(f,d)=>{if(typeof d!="string")return d;let p=D(d);return p||d});break;case"application/octet-stream":g=await c.arrayBuffer();break;case"multipart/form-data":let u=await c.formData();g={},u.forEach((f,d)=>{g[d]=f});break;default:g=await c.text().then(F)}return(c.status>=300||c.status<200)&&(l=new O(c.status,g),g=null),{data:g,error:l,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?K(e,t,[...n,Object.values(i)[0]],r):K(e,t,n)}}),Q=(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))),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 z=(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 V=typeof FileList>"u",X=e=>V?e instanceof Blob:e instanceof FileList||e instanceof File,Ee=e=>{if(!e)return!1;for(let t in e){if(X(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>X(n)))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)}),H=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}},Y=(e,t="",n)=>new Proxy(()=>{},{get(r,s,a){return Y(e,`${t}/${s.toString()}`,n)},apply(r,s,[a,i={}]=[{},{}]){let y=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:M,$fetch:x,$headers:b,$transform:R,getRaw:L,...m}=a??{};y??=m;let w=t.lastIndexOf("/"),S=t.slice(w+1).toUpperCase(),h=z(e,w===-1?"/":t.slice(0,w),Object.assign(i.query??{},M)),N=n.fetcher??fetch,v=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=R?Array.isArray(R)?R:[R]:void 0;return o&&(v?v=o.concat(v):v=o),S==="SUBSCRIBE"?new H(h.replace(/^([^]+):\/\//,h.startsWith("https://")?"wss://":"ws://")):(async E=>{let c,g={...n.$fetch?.headers,...x?.headers,...i.headers,...b};if(S!=="GET"&&S!=="HEAD"){c=Object.keys(y).length||Array.isArray(y)?y:void 0;let p=c&&(typeof c=="object"||Array.isArray(y));if(p&&Ee(c)){let $=new FormData;for(let[C,T]of Object.entries(c))if(V)$.append(C,T);else if(T instanceof File)$.append(C,await B(T));else if(T instanceof FileList)for(let W=0;W<T.length;W++)$.append(C,await B(T[W]));else if(Array.isArray(T))for(let W=0;W<T.length;W++){let P=T[W];$.append(C,P instanceof File?await B(P):P)}else $.append(C,T);c=$}else c!=null&&(g["content-type"]=p?"application/json":"text/plain",c=p?JSON.stringify(c):y)}let l=await N(h,{method:S,body:c,...n.$fetch,...i.fetch,...x,headers:g}),u;if(E.getRaw)return l;switch(l.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await l.json();break;default:u=await l.text().then(F)}let f=l.status>=300||l.status<200?new O(l.status,u):null,d={data:u,error:f,response:l,status:l.status,headers:l.headers};if(v)for(let p of v){let A=p(d);A instanceof Promise&&(A=await A),A!=null&&(d=A)}return d})({getRaw:L})}}),ee=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return Y(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,a)=>{r[a]=s}),r}}return e.text().then(F)},we=async(e,t)=>{let n=await be(e);return e.status>300?{data:null,status:e.status,headers:e.headers,retry:t,error:new O(e.status,n)}:{data:n,error:null,status:e.status,headers:e.headers,retry:t}},te=(e,t)=>(n,{query:r,params:s,body:a,...i}={})=>{s&&Object.entries(s).forEach(([S,h])=>{n=n.replace(`:${S}`,h)});let y=i.headers?.["Content-Type"];if(!y||y==="application/json")try{a=JSON.stringify(a)}catch{}let M=t?.fetcher||globalThis.fetch,x=r?Object.fromEntries(Object.entries(r).filter(([S,h])=>h!=null)):null,b=x?`?${new URLSearchParams(x).toString()}`:"",R=`${e}${n}${b}`,L=a?{"content-type":"application/json",...i.headers}:i.headers,m={...i,method:i.method?.toUpperCase()||"GET",headers:L,body:a},w=()=>M(R,m).then(S=>we(S,w));return w()};return oe(Se);})();
3
+ `)?yield*me(i):yield L(i)}}finally{n.releaseLock()}}function*me(e){let t=e.split(`
4
+
5
+ `);for(let n of t){if(n.indexOf(":")<=0){n&&(yield L(n));continue}let r=n.split(`
6
+ `),a={};for(let s of r){let i=s.indexOf(":");if(i>0){let y=s.slice(0,i).trim(),j=s.slice(i+1).trim();a[y]=L(j)}}yield a}}var K=(e,t,n=[],r)=>new Proxy(()=>{},{get(a,s){return K(e,t,s==="index"?n:[...n,s],r)},apply(a,s,[i,y]){if(!i||y||typeof i=="object"&&Object.keys(i).length!==1||he.includes(n.at(-1))){let j=[...n],v=j.pop(),w="/"+j.join("/"),{fetcher:A=fetch,headers:T,onRequest:m,onResponse:b,fetch:S}=t,g=v==="get"||v==="head"||v==="subscribe";T=M(T,w,y);let N=g?i?.query:y?.query,x="";if(N){let o=(O,E)=>{x+=(x?"&":"?")+`${encodeURIComponent(O)}=${encodeURIComponent(E)}`};for(let[O,E]of Object.entries(N)){if(Array.isArray(E)){for(let c of E)o(O,c);continue}if(E!=null){if(typeof E=="object"){o(O,JSON.stringify(E));continue}o(O,`${E}`)}}}if(v==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||Q.find(O=>e.includes(O))?"ws://":"wss://")+w+x;return new P(o)}return(async()=>{let o={method:v?.toUpperCase(),body:i,...S,headers:T};o.headers={...T,...M(g?i?.headers:y?.headers,w,o)};let O=g&&typeof i=="object"?i.fetch:y?.fetch;if(o={...o,...O},g&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(w,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...M(f.headers,w,o)}})}}if(g&&delete o.body,ge(i)){let u=new FormData;for(let[f,d]of Object.entries(o.body)){if(Array.isArray(d)){for(let l=0;l<d.length;l++){let k=d[l];u.append(f,k instanceof File?await U(k):k)}continue}if(H){if(Array.isArray(d))for(let l of d)u.append(f,l);else u.append(f,d);continue}if(d instanceof File){u.append(f,await U(d));continue}if(d instanceof FileList){for(let l=0;l<d.length;l++)u.append(f,await U(d[l]));continue}u.append(f,d)}o.body=u}else typeof i=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(i)):i!=null&&(o.headers["content-type"]="text/plain");if(g&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(w,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...M(f.headers,w,o)}})}}y?.headers?.["content-type"]&&(o.headers["content-type"]=y?.headers["content-type"]);let E=e+w+x,c=await(r?.handle(new Request(E,o))??A(E,o)),p=null,h=null;if(b){Array.isArray(b)||(b=[b]);for(let u of b)try{let f=await u(c.clone());if(f!=null){p=f;break}}catch(f){f instanceof R?h=f:h=new R(422,f);break}}if(p!==null)return{data:p,error:h,response:c,status:c.status,headers:c.headers};if(c.headers.get("Transfer-Encoding")==="chunked")p=Z(c);else switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":p=Z(c);break;case"application/json":p=JSON.parse(await c.text(),(f,d)=>{if(typeof d!="string")return d;let l=D(d);return l||d});break;case"application/octet-stream":p=await c.arrayBuffer();break;case"multipart/form-data":let u=await c.formData();p={},u.forEach((f,d)=>{p[d]=f});break;default:p=await c.text().then(L)}return(c.status>=300||c.status<200)&&(h=new R(c.status,p),p=null),{data:p,error:h,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?K(e,t,[...n,Object.values(i)[0]],r):K(e,t,n)}}),z=(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 X=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[a,s]of Object.entries(n))r+=`${a}=${s}&`;return`${e}${t}?${r.slice(0,-1)}`};var V=typeof FileList>"u",Y=e=>V?e instanceof Blob:e instanceof FileList||e instanceof File,Ee=e=>{if(!e)return!1;for(let t in e){if(Y(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>Y(n)))return!0}return!1},_=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)}),B=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,a=>{if(t==="message"){let s=I(a);n({...a,data:s})}else n(a)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},ee=(e,t="",n)=>new Proxy(()=>{},{get(r,a,s){return ee(e,`${t}/${a.toString()}`,n)},apply(r,a,[s,i={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:j,$fetch:v,$headers:w,$transform:A,getRaw:T,...m}=s??{};y??=m;let b=t.lastIndexOf("/"),S=t.slice(b+1).toUpperCase(),g=X(e,b===-1?"/":t.slice(0,b),Object.assign(i.query??{},j)),N=n.fetcher??fetch,x=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=A?Array.isArray(A)?A:[A]:void 0;return o&&(x?x=o.concat(x):x=o),S==="SUBSCRIBE"?new B(g.replace(/^([^]+):\/\//,g.startsWith("https://")?"wss://":"ws://")):(async E=>{let c,p={...n.$fetch?.headers,...v?.headers,...i.headers,...w};if(S!=="GET"&&S!=="HEAD"){c=Object.keys(y).length||Array.isArray(y)?y:void 0;let l=c&&(typeof c=="object"||Array.isArray(y));if(l&&Ee(c)){let $=new FormData;for(let[C,F]of Object.entries(c))if(V)$.append(C,F);else if(F instanceof File)$.append(C,await _(F));else if(F instanceof FileList)for(let W=0;W<F.length;W++)$.append(C,await _(F[W]));else if(Array.isArray(F))for(let W=0;W<F.length;W++){let q=F[W];$.append(C,q instanceof File?await _(q):q)}else $.append(C,F);c=$}else c!=null&&(p["content-type"]=l?"application/json":"text/plain",c=l?JSON.stringify(c):y)}let h=await N(g,{method:S,body:c,...n.$fetch,...i.fetch,...v,headers:p}),u;if(E.getRaw)return h;switch(h.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await h.json();break;default:u=await h.text().then(L)}let f=h.status>=300||h.status<200?new R(h.status,u):null,d={data:u,error:f,response:h,status:h.status,headers:h.headers};if(x)for(let l of x){let k=l(d);k instanceof Promise&&(k=await k),k!=null&&(d=k)}return d})({getRaw:T})}}),te=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return ee(e,r,t)}});var we=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((a,s)=>{r[s]=a}),r}}return e.text().then(L)},be=async(e,t)=>{let n=await we(e);return e.status>300?{data:null,status:e.status,headers:e.headers,retry:t,error:new R(e.status,n)}:{data:n,error:null,status:e.status,headers:e.headers,retry:t}},ne=(e,t)=>(n,{query:r,params:a,body:s,...i}={})=>{a&&Object.entries(a).forEach(([S,g])=>{n=n.replace(`:${S}`,g)});let y=t?.fetcher||globalThis.fetch,j=r?Object.fromEntries(Object.entries(r).filter(([S,g])=>g!=null)):null,v=j?`?${new URLSearchParams(j).toString()}`:"",w=`${e}${n}${v}`,A=new Headers(i.headers||{}),T=A.get("content-type");if(!(s instanceof FormData)&&!(s instanceof URLSearchParams)&&(!T||T==="application/json"))try{s=JSON.stringify(s),T||A.set("content-type","application/json")}catch{}let m={...i,method:i.method?.toUpperCase()||"GET",headers:A,body:s},b=()=>y(w,m).then(S=>be(S,b));return b()};return ce(Se);})();
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
- "use strict";var J=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var ae=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},ie=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of re(t))!se.call(e,s)&&s!==n&&J(e,s,{get:()=>t[s],enumerable:!(r=ne(t,s))||r.enumerable});return e};var oe=e=>ie(J({},"__esModule",{value:!0}),e);var Se={};ae(Se,{edenFetch:()=>te,edenTreaty:()=>ee,treaty:()=>Q});module.exports=oe(Se);var O=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var ce=/(\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))/,fe=/(?: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\([^)]+\)/,de=/^(?:(?:(?:(?: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)?)?$/,ye=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),D=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(ce.test(t)||fe.test(t)||de.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},ue=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},le=e=>JSON.parse(e,(t,n)=>{let r=D(n);return r||n}),F=e=>{if(!e)return e;if(ye(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=D(e);if(t)return t;if(ue(e))try{return le(e)}catch{}return e},I=e=>{let t=e.data.toString();return t==="null"?null:F(t)};var q=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 pe=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=["localhost","127.0.0.1","0.0.0.0"],_=typeof FileList>"u",G=e=>_?e instanceof Blob:e instanceof FileList||e instanceof File,he=e=>{if(!e)return!1;for(let t in e)if(G(e[t])||Array.isArray(e[t])&&e[t].find(G))return!0;return!1},U=e=>_?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)}),j=(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=j(s,t,n,r);else{let a=s[0];if(typeof a=="string")r[a.toLowerCase()]=s[1];else for(let[i,y]of a)r[i.toLowerCase()]=y}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return j(e,t,n,r);let s=e(t,n);return s?j(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((a,i)=>{r[i.toLowerCase()]=a}),r;for(let[a,i]of Object.entries(e))r[a.toLowerCase()]=i;return r;default:return r}};async function*ge(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder;try{for(;;){let{done:s,value:a}=await n.read();if(s)break;let i=typeof a=="string"?a:r.decode(a);i.endsWith(`
1
+ "use strict";var J=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var ae=Object.prototype.hasOwnProperty;var ie=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},oe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of se(t))!ae.call(e,a)&&a!==n&&J(e,a,{get:()=>t[a],enumerable:!(r=re(t,a))||r.enumerable});return e};var ce=e=>oe(J({},"__esModule",{value:!0}),e);var Se={};ie(Se,{edenFetch:()=>ne,edenTreaty:()=>te,treaty:()=>z});module.exports=ce(Se);var R=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var fe=/(\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))/,de=/(?: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)?)?$/,ue=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),D=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(fe.test(t)||de.test(t)||ye.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},le=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},pe=e=>JSON.parse(e,(t,n)=>{let r=D(n);return r||n}),L=e=>{if(!e)return e;if(ue(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=D(e);if(t)return t;if(le(e))try{return pe(e)}catch{}return e},I=e=>{let t=e.data.toString();return t==="null"?null:L(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,a=>{if(t==="message"){let s=I(a);n({...a,data:s})}else n(a)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var he=["get","post","put","delete","patch","options","head","connect","subscribe"],Q=["localhost","127.0.0.1","0.0.0.0"],H=typeof FileList>"u",G=e=>H?e instanceof Blob:e instanceof FileList||e instanceof File,ge=e=>{if(!e)return!1;for(let t in e)if(G(e[t])||Array.isArray(e[t])&&e[t].find(G))return!0;return!1},U=e=>H?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)}),M=(e,t,n={},r={})=>{if(Array.isArray(e)){for(let a of e)if(!Array.isArray(a))r=M(a,t,n,r);else{let s=a[0];if(typeof s=="string")r[s.toLowerCase()]=a[1];else for(let[i,y]of s)r[i.toLowerCase()]=y}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return M(e,t,n,r);let a=e(t,n);return a?M(a,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((s,i)=>{r[i.toLowerCase()]=s}),r;for(let[s,i]of Object.entries(e))r[s.toLowerCase()]=i;return r;default:return r}};async function*Z(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder;try{for(;;){let{done:a,value:s}=await n.read();if(a)break;let i=typeof s=="string"?s:r.decode(s);i.includes(`
2
2
 
3
- `)?yield me(i):yield F(i)}}finally{n.releaseLock()}}var me=e=>{let t=e.split(`
4
- `),n={};for(let r of t){let s=r.indexOf(":");if(s>0){let a=r.slice(0,s).trim(),i=r.slice(s+1).trim();n[a]=F(i)}}return n},K=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,a){return K(e,t,a==="index"?n:[...n,a],r)},apply(s,a,[i,y]){if(!i||y||typeof i=="object"&&Object.keys(i).length!==1||pe.includes(n.at(-1))){let M=[...n],x=M.pop(),b="/"+M.join("/"),{fetcher:R=fetch,headers:L,onRequest:m,onResponse:w,fetch:S}=t,h=x==="get"||x==="head"||x==="subscribe";L=j(L,b,y);let N=h?i?.query:y?.query,v="";if(N){let o=(k,E)=>{v+=(v?"&":"?")+`${encodeURIComponent(k)}=${encodeURIComponent(E)}`};for(let[k,E]of Object.entries(N)){if(Array.isArray(E)){for(let c of E)o(k,c);continue}if(E!=null){if(typeof E=="object"){o(k,JSON.stringify(E));continue}o(k,`${E}`)}}}if(x==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||Z.find(k=>e.includes(k))?"ws://":"wss://")+b+v;return new q(o)}return(async()=>{let o={method:x?.toUpperCase(),body:i,...S,headers:L};o.headers={...L,...j(h?i?.headers:y?.headers,b,o)};let k=h&&typeof i=="object"?i.fetch:y?.fetch;if(o={...o,...k},h&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(b,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...j(f.headers,b,o)}})}}if(h&&delete o.body,he(i)){let u=new FormData;for(let[f,d]of Object.entries(o.body)){if(Array.isArray(d)){for(let p=0;p<d.length;p++){let A=d[p];u.append(f,A instanceof File?await U(A):A)}continue}if(_){u.append(f,d);continue}if(d instanceof File){u.append(f,await U(d));continue}if(d instanceof FileList){for(let p=0;p<d.length;p++)u.append(f,await U(d[p]));continue}u.append(f,d)}o.body=u}else typeof i=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(i)):i!=null&&(o.headers["content-type"]="text/plain");if(h&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(b,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...j(f.headers,b,o)}})}}y?.headers?.["content-type"]&&(o.headers["content-type"]=y?.headers["content-type"]);let E=e+b+v,c=await(r?.handle(new Request(E,o))??R(E,o)),g=null,l=null;if(w){Array.isArray(w)||(w=[w]);for(let u of w)try{let f=await u(c.clone());if(f!=null){g=f;break}}catch(f){f instanceof O?l=f:l=new O(422,f);break}}if(g!==null)return{data:g,error:l,response:c,status:c.status,headers:c.headers};switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=ge(c);break;case"application/json":g=JSON.parse(await c.text(),(f,d)=>{if(typeof d!="string")return d;let p=D(d);return p||d});break;case"application/octet-stream":g=await c.arrayBuffer();break;case"multipart/form-data":let u=await c.formData();g={},u.forEach((f,d)=>{g[d]=f});break;default:g=await c.text().then(F)}return(c.status>=300||c.status<200)&&(l=new O(c.status,g),g=null),{data:g,error:l,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?K(e,t,[...n,Object.values(i)[0]],r):K(e,t,n)}}),Q=(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))),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 z=(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 V=typeof FileList>"u",X=e=>V?e instanceof Blob:e instanceof FileList||e instanceof File,Ee=e=>{if(!e)return!1;for(let t in e){if(X(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>X(n)))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)}),H=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}},Y=(e,t="",n)=>new Proxy(()=>{},{get(r,s,a){return Y(e,`${t}/${s.toString()}`,n)},apply(r,s,[a,i={}]=[{},{}]){let y=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:M,$fetch:x,$headers:b,$transform:R,getRaw:L,...m}=a??{};y??=m;let w=t.lastIndexOf("/"),S=t.slice(w+1).toUpperCase(),h=z(e,w===-1?"/":t.slice(0,w),Object.assign(i.query??{},M)),N=n.fetcher??fetch,v=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=R?Array.isArray(R)?R:[R]:void 0;return o&&(v?v=o.concat(v):v=o),S==="SUBSCRIBE"?new H(h.replace(/^([^]+):\/\//,h.startsWith("https://")?"wss://":"ws://")):(async E=>{let c,g={...n.$fetch?.headers,...x?.headers,...i.headers,...b};if(S!=="GET"&&S!=="HEAD"){c=Object.keys(y).length||Array.isArray(y)?y:void 0;let p=c&&(typeof c=="object"||Array.isArray(y));if(p&&Ee(c)){let $=new FormData;for(let[C,T]of Object.entries(c))if(V)$.append(C,T);else if(T instanceof File)$.append(C,await B(T));else if(T instanceof FileList)for(let W=0;W<T.length;W++)$.append(C,await B(T[W]));else if(Array.isArray(T))for(let W=0;W<T.length;W++){let P=T[W];$.append(C,P instanceof File?await B(P):P)}else $.append(C,T);c=$}else c!=null&&(g["content-type"]=p?"application/json":"text/plain",c=p?JSON.stringify(c):y)}let l=await N(h,{method:S,body:c,...n.$fetch,...i.fetch,...x,headers:g}),u;if(E.getRaw)return l;switch(l.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await l.json();break;default:u=await l.text().then(F)}let f=l.status>=300||l.status<200?new O(l.status,u):null,d={data:u,error:f,response:l,status:l.status,headers:l.headers};if(v)for(let p of v){let A=p(d);A instanceof Promise&&(A=await A),A!=null&&(d=A)}return d})({getRaw:L})}}),ee=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return Y(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,a)=>{r[a]=s}),r}}return e.text().then(F)},we=async(e,t)=>{let n=await be(e);return e.status>300?{data:null,status:e.status,headers:e.headers,retry:t,error:new O(e.status,n)}:{data:n,error:null,status:e.status,headers:e.headers,retry:t}},te=(e,t)=>(n,{query:r,params:s,body:a,...i}={})=>{s&&Object.entries(s).forEach(([S,h])=>{n=n.replace(`:${S}`,h)});let y=i.headers?.["Content-Type"];if(!y||y==="application/json")try{a=JSON.stringify(a)}catch{}let M=t?.fetcher||globalThis.fetch,x=r?Object.fromEntries(Object.entries(r).filter(([S,h])=>h!=null)):null,b=x?`?${new URLSearchParams(x).toString()}`:"",R=`${e}${n}${b}`,L=a?{"content-type":"application/json",...i.headers}:i.headers,m={...i,method:i.method?.toUpperCase()||"GET",headers:L,body:a},w=()=>M(R,m).then(S=>we(S,w));return w()};0&&(module.exports={edenFetch,edenTreaty,treaty});
3
+ `)?yield*me(i):yield L(i)}}finally{n.releaseLock()}}function*me(e){let t=e.split(`
4
+
5
+ `);for(let n of t){if(n.indexOf(":")<=0){n&&(yield L(n));continue}let r=n.split(`
6
+ `),a={};for(let s of r){let i=s.indexOf(":");if(i>0){let y=s.slice(0,i).trim(),j=s.slice(i+1).trim();a[y]=L(j)}}yield a}}var K=(e,t,n=[],r)=>new Proxy(()=>{},{get(a,s){return K(e,t,s==="index"?n:[...n,s],r)},apply(a,s,[i,y]){if(!i||y||typeof i=="object"&&Object.keys(i).length!==1||he.includes(n.at(-1))){let j=[...n],v=j.pop(),w="/"+j.join("/"),{fetcher:A=fetch,headers:T,onRequest:m,onResponse:b,fetch:S}=t,g=v==="get"||v==="head"||v==="subscribe";T=M(T,w,y);let N=g?i?.query:y?.query,x="";if(N){let o=(O,E)=>{x+=(x?"&":"?")+`${encodeURIComponent(O)}=${encodeURIComponent(E)}`};for(let[O,E]of Object.entries(N)){if(Array.isArray(E)){for(let c of E)o(O,c);continue}if(E!=null){if(typeof E=="object"){o(O,JSON.stringify(E));continue}o(O,`${E}`)}}}if(v==="subscribe"){let o=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||Q.find(O=>e.includes(O))?"ws://":"wss://")+w+x;return new P(o)}return(async()=>{let o={method:v?.toUpperCase(),body:i,...S,headers:T};o.headers={...T,...M(g?i?.headers:y?.headers,w,o)};let O=g&&typeof i=="object"?i.fetch:y?.fetch;if(o={...o,...O},g&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(w,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...M(f.headers,w,o)}})}}if(g&&delete o.body,ge(i)){let u=new FormData;for(let[f,d]of Object.entries(o.body)){if(Array.isArray(d)){for(let l=0;l<d.length;l++){let k=d[l];u.append(f,k instanceof File?await U(k):k)}continue}if(H){if(Array.isArray(d))for(let l of d)u.append(f,l);else u.append(f,d);continue}if(d instanceof File){u.append(f,await U(d));continue}if(d instanceof FileList){for(let l=0;l<d.length;l++)u.append(f,await U(d[l]));continue}u.append(f,d)}o.body=u}else typeof i=="object"?(o.headers["content-type"]="application/json",o.body=JSON.stringify(i)):i!=null&&(o.headers["content-type"]="text/plain");if(g&&delete o.body,m){Array.isArray(m)||(m=[m]);for(let u of m){let f=await u(w,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...M(f.headers,w,o)}})}}y?.headers?.["content-type"]&&(o.headers["content-type"]=y?.headers["content-type"]);let E=e+w+x,c=await(r?.handle(new Request(E,o))??A(E,o)),p=null,h=null;if(b){Array.isArray(b)||(b=[b]);for(let u of b)try{let f=await u(c.clone());if(f!=null){p=f;break}}catch(f){f instanceof R?h=f:h=new R(422,f);break}}if(p!==null)return{data:p,error:h,response:c,status:c.status,headers:c.headers};if(c.headers.get("Transfer-Encoding")==="chunked")p=Z(c);else switch(c.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":p=Z(c);break;case"application/json":p=JSON.parse(await c.text(),(f,d)=>{if(typeof d!="string")return d;let l=D(d);return l||d});break;case"application/octet-stream":p=await c.arrayBuffer();break;case"multipart/form-data":let u=await c.formData();p={},u.forEach((f,d)=>{p[d]=f});break;default:p=await c.text().then(L)}return(c.status>=300||c.status<200)&&(h=new R(c.status,p),p=null),{data:p,error:h,response:c,status:c.status,headers:c.headers}})()}return typeof i=="object"?K(e,t,[...n,Object.values(i)[0]],r):K(e,t,n)}}),z=(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 X=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[a,s]of Object.entries(n))r+=`${a}=${s}&`;return`${e}${t}?${r.slice(0,-1)}`};var V=typeof FileList>"u",Y=e=>V?e instanceof Blob:e instanceof FileList||e instanceof File,Ee=e=>{if(!e)return!1;for(let t in e){if(Y(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>Y(n)))return!0}return!1},_=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)}),B=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,a=>{if(t==="message"){let s=I(a);n({...a,data:s})}else n(a)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},ee=(e,t="",n)=>new Proxy(()=>{},{get(r,a,s){return ee(e,`${t}/${a.toString()}`,n)},apply(r,a,[s,i={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:j,$fetch:v,$headers:w,$transform:A,getRaw:T,...m}=s??{};y??=m;let b=t.lastIndexOf("/"),S=t.slice(b+1).toUpperCase(),g=X(e,b===-1?"/":t.slice(0,b),Object.assign(i.query??{},j)),N=n.fetcher??fetch,x=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,o=A?Array.isArray(A)?A:[A]:void 0;return o&&(x?x=o.concat(x):x=o),S==="SUBSCRIBE"?new B(g.replace(/^([^]+):\/\//,g.startsWith("https://")?"wss://":"ws://")):(async E=>{let c,p={...n.$fetch?.headers,...v?.headers,...i.headers,...w};if(S!=="GET"&&S!=="HEAD"){c=Object.keys(y).length||Array.isArray(y)?y:void 0;let l=c&&(typeof c=="object"||Array.isArray(y));if(l&&Ee(c)){let $=new FormData;for(let[C,F]of Object.entries(c))if(V)$.append(C,F);else if(F instanceof File)$.append(C,await _(F));else if(F instanceof FileList)for(let W=0;W<F.length;W++)$.append(C,await _(F[W]));else if(Array.isArray(F))for(let W=0;W<F.length;W++){let q=F[W];$.append(C,q instanceof File?await _(q):q)}else $.append(C,F);c=$}else c!=null&&(p["content-type"]=l?"application/json":"text/plain",c=l?JSON.stringify(c):y)}let h=await N(g,{method:S,body:c,...n.$fetch,...i.fetch,...v,headers:p}),u;if(E.getRaw)return h;switch(h.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await h.json();break;default:u=await h.text().then(L)}let f=h.status>=300||h.status<200?new R(h.status,u):null,d={data:u,error:f,response:h,status:h.status,headers:h.headers};if(x)for(let l of x){let k=l(d);k instanceof Promise&&(k=await k),k!=null&&(d=k)}return d})({getRaw:T})}}),te=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return ee(e,r,t)}});var we=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((a,s)=>{r[s]=a}),r}}return e.text().then(L)},be=async(e,t)=>{let n=await we(e);return e.status>300?{data:null,status:e.status,headers:e.headers,retry:t,error:new R(e.status,n)}:{data:n,error:null,status:e.status,headers:e.headers,retry:t}},ne=(e,t)=>(n,{query:r,params:a,body:s,...i}={})=>{a&&Object.entries(a).forEach(([S,g])=>{n=n.replace(`:${S}`,g)});let y=t?.fetcher||globalThis.fetch,j=r?Object.fromEntries(Object.entries(r).filter(([S,g])=>g!=null)):null,v=j?`?${new URLSearchParams(j).toString()}`:"",w=`${e}${n}${v}`,A=new Headers(i.headers||{}),T=A.get("content-type");if(!(s instanceof FormData)&&!(s instanceof URLSearchParams)&&(!T||T==="application/json"))try{s=JSON.stringify(s),T||A.set("content-type","application/json")}catch{}let m={...i,method:i.method?.toUpperCase()||"GET",headers:A,body:s},b=()=>y(w,m).then(S=>be(S,b));return b()};0&&(module.exports={edenFetch,edenTreaty,treaty});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{b as r}from"./chunk-EF6Z4LSD.mjs";import{b as e}from"./chunk-CETCWXWZ.mjs";import{a as t}from"./chunk-RFC2MZ4E.mjs";import"./chunk-QSLHAOSM.mjs";export{t as edenFetch,r as edenTreaty,e as treaty};
1
+ import{b as r}from"./chunk-EF6Z4LSD.mjs";import{b as e}from"./chunk-ZIS6B6IO.mjs";import{a as t}from"./chunk-4RPCKTWO.mjs";import"./chunk-QSLHAOSM.mjs";export{t as edenFetch,r as edenTreaty,e as treaty};
@@ -5,6 +5,9 @@ type And<A extends boolean, B extends boolean> = A extends true ? B extends true
5
5
  type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
6
6
  [K in keyof RecordType]: IsNever<RecordType[K]> extends true ? RecordType[K] : RecordType[K] extends Generator<infer A, infer B, infer C> ? void extends B ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends AsyncGenerator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends ReadableStream<infer A> ? AsyncGenerator<A, void, unknown> : RecordType[K];
7
7
  } & {};
8
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
9
+ type IntegerRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
10
+ type SuccessCodeRange = IntegerRange<200, 300>;
8
11
  type MaybeArray<T> = T | T[];
9
12
  export declare namespace Treaty {
10
13
  interface TreatyParam {
@@ -14,11 +17,15 @@ export declare namespace Treaty {
14
17
  '~Routes': infer Schema extends Record<string, any>;
15
18
  } ? Prettify<Sign<Schema>> & CreateParams<Schema> : 'Please install Elysia before using Eden';
16
19
  export type Sign<in out Route extends Record<string, any>> = {
17
- [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? (undefined extends Route['subscribe']['headers'] ? {
20
+ [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? ({} extends Route['subscribe']['headers'] ? {
21
+ headers?: Record<string, unknown>;
22
+ } : undefined extends Route['subscribe']['headers'] ? {
18
23
  headers?: Record<string, unknown>;
19
24
  } : {
20
25
  headers: Route['subscribe']['headers'];
21
- }) & (undefined extends Route['subscribe']['query'] ? {
26
+ }) & ({} extends Route['subscribe']['query'] ? {
27
+ query?: Record<string, unknown>;
28
+ } : undefined extends Route['subscribe']['query'] ? {
22
29
  query?: Record<string, unknown>;
23
30
  } : {
24
31
  query: Route['subscribe']['query'];
@@ -28,15 +35,19 @@ export declare namespace Treaty {
28
35
  params: any;
29
36
  query: infer Query;
30
37
  response: infer Res extends Record<number, unknown>;
31
- } ? (undefined extends Headers ? {
38
+ } ? ({} extends Headers ? {
39
+ headers?: Record<string, unknown>;
40
+ } : undefined extends Headers ? {
32
41
  headers?: Record<string, unknown>;
33
42
  } : {
34
43
  headers: Headers;
35
- }) & (undefined extends Query ? {
44
+ }) & ({} extends Query ? {
45
+ query?: Record<string, unknown>;
46
+ } : undefined extends Query ? {
36
47
  query?: Record<string, unknown>;
37
48
  } : {
38
49
  query: Query;
39
- }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : never : CreateParams<Route[K]>;
50
+ }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : {} extends Body ? (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : never : CreateParams<Route[K]>;
40
51
  };
41
52
  type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
42
53
  (((params: {
@@ -51,16 +62,16 @@ export declare namespace Treaty {
51
62
  keepDomain?: boolean;
52
63
  }
53
64
  export type TreatyResponse<Res extends Record<number, unknown>> = {
54
- data: Res[200] extends {
65
+ data: Res[Extract<keyof Res, SuccessCodeRange>] extends {
55
66
  [ELYSIA_FORM_DATA]: infer Data;
56
- } ? Data : Res[200];
67
+ } ? Data : Res[Extract<keyof Res, SuccessCodeRange>];
57
68
  error: null;
58
69
  response: Response;
59
70
  status: number;
60
71
  headers: RequestInit['headers'];
61
72
  } | {
62
73
  data: null;
63
- error: Exclude<keyof Res, 200> extends never ? {
74
+ error: Exclude<keyof Res, SuccessCodeRange> extends never ? {
64
75
  status: unknown;
65
76
  value: unknown;
66
77
  } : {
@@ -70,7 +81,7 @@ export declare namespace Treaty {
70
81
  [ELYSIA_FORM_DATA]: infer Data;
71
82
  } ? Data : Res[Status];
72
83
  };
73
- }[Exclude<keyof Res, 200>];
84
+ }[Exclude<keyof Res, SuccessCodeRange>];
74
85
  response: Response;
75
86
  status: number;
76
87
  headers: RequestInit['headers'];
@@ -5,10 +5,10 @@ export declare class EdenWS<in out Schema extends InputSchema<any> = {}> {
5
5
  ws: WebSocket;
6
6
  constructor(url: string);
7
7
  send(data: Schema['body'] | Schema['body'][]): this;
8
- on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
8
+ on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
9
9
  off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
10
- subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
11
- addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
10
+ subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
11
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
12
12
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
13
13
  close(): this;
14
14
  }
@@ -6,10 +6,10 @@ declare class EdenWS<in out Schema extends InputSchema<any> = {}> {
6
6
  ws: WebSocket;
7
7
  constructor(url: string);
8
8
  send(data: Schema['body'] | Schema['body'][]): this;
9
- on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
9
+ on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
10
10
  off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
11
- subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
12
- addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
11
+ subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
12
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
13
13
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
14
14
  close(): this;
15
15
  }
@@ -18,6 +18,9 @@ type And<A extends boolean, B extends boolean> = A extends true ? B extends true
18
18
  type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
19
19
  [K in keyof RecordType]: IsNever<RecordType[K]> extends true ? RecordType[K] : RecordType[K] extends Generator<infer A, infer B, infer C> ? void extends B ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends AsyncGenerator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends ReadableStream<infer A> ? AsyncGenerator<A, void, unknown> : RecordType[K];
20
20
  } & {};
21
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
22
+ type IntegerRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
23
+ type SuccessCodeRange = IntegerRange<200, 300>;
21
24
  type MaybeArray<T> = T | T[];
22
25
  declare namespace Treaty {
23
26
  interface TreatyParam {
@@ -27,11 +30,15 @@ declare namespace Treaty {
27
30
  '~Routes': infer Schema extends Record<string, any>;
28
31
  } ? Prettify<Sign<Schema>> & CreateParams<Schema> : 'Please install Elysia before using Eden';
29
32
  export type Sign<in out Route extends Record<string, any>> = {
30
- [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? (undefined extends Route['subscribe']['headers'] ? {
33
+ [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? ({} extends Route['subscribe']['headers'] ? {
34
+ headers?: Record<string, unknown>;
35
+ } : undefined extends Route['subscribe']['headers'] ? {
31
36
  headers?: Record<string, unknown>;
32
37
  } : {
33
38
  headers: Route['subscribe']['headers'];
34
- }) & (undefined extends Route['subscribe']['query'] ? {
39
+ }) & ({} extends Route['subscribe']['query'] ? {
40
+ query?: Record<string, unknown>;
41
+ } : undefined extends Route['subscribe']['query'] ? {
35
42
  query?: Record<string, unknown>;
36
43
  } : {
37
44
  query: Route['subscribe']['query'];
@@ -41,15 +48,19 @@ declare namespace Treaty {
41
48
  params: any;
42
49
  query: infer Query;
43
50
  response: infer Res extends Record<number, unknown>;
44
- } ? (undefined extends Headers ? {
51
+ } ? ({} extends Headers ? {
52
+ headers?: Record<string, unknown>;
53
+ } : undefined extends Headers ? {
45
54
  headers?: Record<string, unknown>;
46
55
  } : {
47
56
  headers: Headers;
48
- }) & (undefined extends Query ? {
57
+ }) & ({} extends Query ? {
58
+ query?: Record<string, unknown>;
59
+ } : undefined extends Query ? {
49
60
  query?: Record<string, unknown>;
50
61
  } : {
51
62
  query: Query;
52
- }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : never : CreateParams<Route[K]>;
63
+ }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : {} extends Body ? (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : never : CreateParams<Route[K]>;
53
64
  };
54
65
  type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
55
66
  (((params: {
@@ -64,16 +75,16 @@ declare namespace Treaty {
64
75
  keepDomain?: boolean;
65
76
  }
66
77
  export type TreatyResponse<Res extends Record<number, unknown>> = {
67
- data: Res[200] extends {
78
+ data: Res[Extract<keyof Res, SuccessCodeRange>] extends {
68
79
  [ELYSIA_FORM_DATA]: infer Data;
69
- } ? Data : Res[200];
80
+ } ? Data : Res[Extract<keyof Res, SuccessCodeRange>];
70
81
  error: null;
71
82
  response: Response;
72
83
  status: number;
73
84
  headers: RequestInit['headers'];
74
85
  } | {
75
86
  data: null;
76
- error: Exclude<keyof Res, 200> extends never ? {
87
+ error: Exclude<keyof Res, SuccessCodeRange> extends never ? {
77
88
  status: unknown;
78
89
  value: unknown;
79
90
  } : {
@@ -83,7 +94,7 @@ declare namespace Treaty {
83
94
  [ELYSIA_FORM_DATA]: infer Data;
84
95
  } ? Data : Res[Status];
85
96
  };
86
- }[Exclude<keyof Res, 200>];
97
+ }[Exclude<keyof Res, SuccessCodeRange>];
87
98
  response: Response;
88
99
  status: number;
89
100
  headers: RequestInit['headers'];
package/dist/treaty2.d.ts CHANGED
@@ -6,10 +6,10 @@ declare class EdenWS<in out Schema extends InputSchema<any> = {}> {
6
6
  ws: WebSocket;
7
7
  constructor(url: string);
8
8
  send(data: Schema['body'] | Schema['body'][]): this;
9
- on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
9
+ on<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
10
10
  off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
11
- subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
12
- addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
11
+ subscribe(onMessage: (event: Treaty.WSEvent<'message', Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
12
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: Treaty.WSEvent<K, Schema['response'][200]>) => void, options?: boolean | AddEventListenerOptions): this;
13
13
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
14
14
  close(): this;
15
15
  }
@@ -18,6 +18,9 @@ type And<A extends boolean, B extends boolean> = A extends true ? B extends true
18
18
  type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
19
19
  [K in keyof RecordType]: IsNever<RecordType[K]> extends true ? RecordType[K] : RecordType[K] extends Generator<infer A, infer B, infer C> ? void extends B ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends AsyncGenerator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends ReadableStream<infer A> ? AsyncGenerator<A, void, unknown> : RecordType[K];
20
20
  } & {};
21
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
22
+ type IntegerRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
23
+ type SuccessCodeRange = IntegerRange<200, 300>;
21
24
  type MaybeArray<T> = T | T[];
22
25
  declare namespace Treaty {
23
26
  interface TreatyParam {
@@ -27,11 +30,15 @@ declare namespace Treaty {
27
30
  '~Routes': infer Schema extends Record<string, any>;
28
31
  } ? Prettify<Sign<Schema>> & CreateParams<Schema> : 'Please install Elysia before using Eden';
29
32
  export type Sign<in out Route extends Record<string, any>> = {
30
- [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? (undefined extends Route['subscribe']['headers'] ? {
33
+ [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? ({} extends Route['subscribe']['headers'] ? {
34
+ headers?: Record<string, unknown>;
35
+ } : undefined extends Route['subscribe']['headers'] ? {
31
36
  headers?: Record<string, unknown>;
32
37
  } : {
33
38
  headers: Route['subscribe']['headers'];
34
- }) & (undefined extends Route['subscribe']['query'] ? {
39
+ }) & ({} extends Route['subscribe']['query'] ? {
40
+ query?: Record<string, unknown>;
41
+ } : undefined extends Route['subscribe']['query'] ? {
35
42
  query?: Record<string, unknown>;
36
43
  } : {
37
44
  query: Route['subscribe']['query'];
@@ -41,15 +48,19 @@ declare namespace Treaty {
41
48
  params: any;
42
49
  query: infer Query;
43
50
  response: infer Res extends Record<number, unknown>;
44
- } ? (undefined extends Headers ? {
51
+ } ? ({} extends Headers ? {
52
+ headers?: Record<string, unknown>;
53
+ } : undefined extends Headers ? {
45
54
  headers?: Record<string, unknown>;
46
55
  } : {
47
56
  headers: Headers;
48
- }) & (undefined extends Query ? {
57
+ }) & ({} extends Query ? {
58
+ query?: Record<string, unknown>;
59
+ } : undefined extends Query ? {
49
60
  query?: Record<string, unknown>;
50
61
  } : {
51
62
  query: Query;
52
- }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : never : CreateParams<Route[K]>;
63
+ }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : {} extends Body ? (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : (body: Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Res>>> : never : CreateParams<Route[K]>;
53
64
  };
54
65
  type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
55
66
  (((params: {
@@ -64,16 +75,16 @@ declare namespace Treaty {
64
75
  keepDomain?: boolean;
65
76
  }
66
77
  export type TreatyResponse<Res extends Record<number, unknown>> = {
67
- data: Res[200] extends {
78
+ data: Res[Extract<keyof Res, SuccessCodeRange>] extends {
68
79
  [ELYSIA_FORM_DATA]: infer Data;
69
- } ? Data : Res[200];
80
+ } ? Data : Res[Extract<keyof Res, SuccessCodeRange>];
70
81
  error: null;
71
82
  response: Response;
72
83
  status: number;
73
84
  headers: RequestInit['headers'];
74
85
  } | {
75
86
  data: null;
76
- error: Exclude<keyof Res, 200> extends never ? {
87
+ error: Exclude<keyof Res, SuccessCodeRange> extends never ? {
77
88
  status: unknown;
78
89
  value: unknown;
79
90
  } : {
@@ -83,7 +94,7 @@ declare namespace Treaty {
83
94
  [ELYSIA_FORM_DATA]: infer Data;
84
95
  } ? Data : Res[Status];
85
96
  };
86
- }[Exclude<keyof Res, 200>];
97
+ }[Exclude<keyof Res, SuccessCodeRange>];
87
98
  response: Response;
88
99
  status: number;
89
100
  headers: RequestInit['headers'];
@@ -1,4 +1,6 @@
1
- "use strict";var Eden=(()=>{var M=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var n in t)M(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of U(t))!V.call(e,a)&&a!==n&&M(e,a,{get:()=>t[a],enumerable:!(r=H(t,a))||r.enumerable});return e};var Z=e=>B(M({},"__esModule",{value:!0}),e);var ie={};$(ie,{streamResponse:()=>J,treaty:()=>se});var k=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var G=/(\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))/,z=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q=/^(?:(?:(?:(?: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)?)?$/,X=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),T=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(G.test(t)||z.test(t)||Q.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},Y=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},ee=e=>JSON.parse(e,(t,n)=>{let r=T(n);return r||n}),x=e=>{if(!e)return e;if(X(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=T(e);if(t)return t;if(Y(e))try{return ee(e)}catch{}return e},D=e=>{let t=e.data.toString();return t==="null"?null:x(t)};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,a=>{if(t==="message"){let c=D(a);n({...a,data:c})}else n(a)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var te=["get","post","put","delete","patch","options","head","connect","subscribe"],I=["localhost","127.0.0.1","0.0.0.0"],N=typeof FileList>"u",q=e=>N?e instanceof Blob:e instanceof FileList||e instanceof File,ne=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},j=e=>N?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)}),S=(e,t,n={},r={})=>{if(Array.isArray(e)){for(let a of e)if(!Array.isArray(a))r=S(a,t,n,r);else{let c=a[0];if(typeof c=="string")r[c.toLowerCase()]=a[1];else for(let[i,h]of c)r[i.toLowerCase()]=h}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return S(e,t,n,r);let a=e(t,n);return a?S(a,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((c,i)=>{r[i.toLowerCase()]=c}),r;for(let[c,i]of Object.entries(e))r[c.toLowerCase()]=i;return r;default:return r}};async function*J(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder;try{for(;;){let{done:a,value:c}=await n.read();if(a)break;let i=typeof c=="string"?c:r.decode(c);i.endsWith(`
1
+ "use strict";var Eden=(()=>{var j=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var n in t)j(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of U(t))!V.call(e,o)&&o!==n&&j(e,o,{get:()=>t[o],enumerable:!(s=H(t,o))||s.enumerable});return e};var Z=e=>B(j({},"__esModule",{value:!0}),e);var ie={};$(ie,{streamResponse:()=>C,treaty:()=>re});var k=class extends Error{constructor(n,s){super(s+"");this.status=n;this.value=s}};var G=/(\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))/,z=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q=/^(?:(?:(?:(?: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)?)?$/,X=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),F=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(G.test(t)||z.test(t)||Q.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},Y=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},ee=e=>JSON.parse(e,(t,n)=>{let s=F(n);return s||n}),E=e=>{if(!e)return e;if(X(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=F(e);if(t)return t;if(Y(e))try{return ee(e)}catch{}return e},q=e=>{let t=e.data.toString();return t==="null"?null:E(t)};var M=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,s){return this.addEventListener(t,n,s)}off(t,n,s){return this.ws.removeEventListener(t,n,s),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,s){return this.ws.addEventListener(t,o=>{if(t==="message"){let c=q(o);n({...o,data:c})}else n(o)},s),this}removeEventListener(t,n,s){return this.off(t,n,s),this}close(){return this.ws.close(),this}};var te=["get","post","put","delete","patch","options","head","connect","subscribe"],J=["localhost","127.0.0.1","0.0.0.0"],K=typeof FileList>"u",I=e=>K?e instanceof Blob:e instanceof FileList||e instanceof File,ne=e=>{if(!e)return!1;for(let t in e)if(I(e[t])||Array.isArray(e[t])&&e[t].find(I))return!0;return!1},N=e=>K?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let s=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(s)},n.readAsArrayBuffer(e)}),S=(e,t,n={},s={})=>{if(Array.isArray(e)){for(let o of e)if(!Array.isArray(o))s=S(o,t,n,s);else{let c=o[0];if(typeof c=="string")s[c.toLowerCase()]=o[1];else for(let[i,g]of c)s[i.toLowerCase()]=g}return s}if(!e)return s;switch(typeof e){case"function":if(e instanceof Headers)return S(e,t,n,s);let o=e(t,n);return o?S(o,t,n,s):s;case"object":if(e instanceof Headers)return e.forEach((c,i)=>{s[i.toLowerCase()]=c}),s;for(let[c,i]of Object.entries(e))s[c.toLowerCase()]=i;return s;default:return s}};async function*C(e){let t=e.body;if(!t)return;let n=t.getReader(),s=new TextDecoder;try{for(;;){let{done:o,value:c}=await n.read();if(o)break;let i=typeof c=="string"?c:s.decode(c);i.includes(`
2
2
 
3
- `)?yield re(i):yield x(i)}}finally{n.releaseLock()}}var re=e=>{let t=e.split(`
4
- `),n={};for(let r of t){let a=r.indexOf(":");if(a>0){let c=r.slice(0,a).trim(),i=r.slice(a+1).trim();n[c]=x(i)}}return n},O=(e,t,n=[],r)=>new Proxy(()=>{},{get(a,c){return O(e,t,c==="index"?n:[...n,c],r)},apply(a,c,[i,h]){if(!i||h||typeof i=="object"&&Object.keys(i).length!==1||te.includes(n.at(-1))){let C=[...n],E=C.pop(),m="/"+C.join("/"),{fetcher:P=fetch,headers:L,onRequest:y,onResponse:v,fetch:_}=t,w=E==="get"||E==="head"||E==="subscribe";L=S(L,m,h);let K=w?i?.query:h?.query,R="";if(K){let s=(b,l)=>{R+=(R?"&":"?")+`${encodeURIComponent(b)}=${encodeURIComponent(l)}`};for(let[b,l]of Object.entries(K)){if(Array.isArray(l)){for(let f of l)s(b,f);continue}if(l!=null){if(typeof l=="object"){s(b,JSON.stringify(l));continue}s(b,`${l}`)}}}if(E==="subscribe"){let s=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||I.find(b=>e.includes(b))?"ws://":"wss://")+m+R;return new W(s)}return(async()=>{let s={method:E?.toUpperCase(),body:i,..._,headers:L};s.headers={...L,...S(w?i?.headers:h?.headers,m,s)};let b=w&&typeof i=="object"?i.fetch:h?.fetch;if(s={...s,...b},w&&delete s.body,y){Array.isArray(y)||(y=[y]);for(let u of y){let o=await u(m,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...S(o.headers,m,s)}})}}if(w&&delete s.body,ne(i)){let u=new FormData;for(let[o,d]of Object.entries(s.body)){if(Array.isArray(d)){for(let g=0;g<d.length;g++){let F=d[g];u.append(o,F instanceof File?await j(F):F)}continue}if(N){u.append(o,d);continue}if(d instanceof File){u.append(o,await j(d));continue}if(d instanceof FileList){for(let g=0;g<d.length;g++)u.append(o,await j(d[g]));continue}u.append(o,d)}s.body=u}else typeof i=="object"?(s.headers["content-type"]="application/json",s.body=JSON.stringify(i)):i!=null&&(s.headers["content-type"]="text/plain");if(w&&delete s.body,y){Array.isArray(y)||(y=[y]);for(let u of y){let o=await u(m,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...S(o.headers,m,s)}})}}h?.headers?.["content-type"]&&(s.headers["content-type"]=h?.headers["content-type"]);let l=e+m+R,f=await(r?.handle(new Request(l,s))??P(l,s)),p=null,A=null;if(v){Array.isArray(v)||(v=[v]);for(let u of v)try{let o=await u(f.clone());if(o!=null){p=o;break}}catch(o){o instanceof k?A=o:A=new k(422,o);break}}if(p!==null)return{data:p,error:A,response:f,status:f.status,headers:f.headers};switch(f.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":p=J(f);break;case"application/json":p=JSON.parse(await f.text(),(o,d)=>{if(typeof d!="string")return d;let g=T(d);return g||d});break;case"application/octet-stream":p=await f.arrayBuffer();break;case"multipart/form-data":let u=await f.formData();p={},u.forEach((o,d)=>{p[d]=o});break;default:p=await f.text().then(x)}return(f.status>=300||f.status<200)&&(A=new k(f.status,p),p=null),{data:p,error:A,response:f,status:f.status,headers:f.headers}})()}return typeof i=="object"?O(e,t,[...n,Object.values(i)[0]],r):O(e,t,n)}}),se=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(I.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),O(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."),O("http://e.ly",t,[],e));return Z(ie);})();
3
+ `)?yield*se(i):yield E(i)}}finally{n.releaseLock()}}function*se(e){let t=e.split(`
4
+
5
+ `);for(let n of t){if(n.indexOf(":")<=0){n&&(yield E(n));continue}let s=n.split(`
6
+ `),o={};for(let c of s){let i=c.indexOf(":");if(i>0){let g=c.slice(0,i).trim(),T=c.slice(i+1).trim();o[g]=E(T)}}yield o}}var O=(e,t,n=[],s)=>new Proxy(()=>{},{get(o,c){return O(e,t,c==="index"?n:[...n,c],s)},apply(o,c,[i,g]){if(!i||g||typeof i=="object"&&Object.keys(i).length!==1||te.includes(n.at(-1))){let T=[...n],A=T.pop(),m="/"+T.join("/"),{fetcher:P=fetch,headers:L,onRequest:h,onResponse:v,fetch:_}=t,w=A==="get"||A==="head"||A==="subscribe";L=S(L,m,g);let D=w?i?.query:g?.query,R="";if(D){let r=(b,y)=>{R+=(R?"&":"?")+`${encodeURIComponent(b)}=${encodeURIComponent(y)}`};for(let[b,y]of Object.entries(D)){if(Array.isArray(y)){for(let f of y)r(b,f);continue}if(y!=null){if(typeof y=="object"){r(b,JSON.stringify(y));continue}r(b,`${y}`)}}}if(A==="subscribe"){let r=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||J.find(b=>e.includes(b))?"ws://":"wss://")+m+R;return new M(r)}return(async()=>{let r={method:A?.toUpperCase(),body:i,..._,headers:L};r.headers={...L,...S(w?i?.headers:g?.headers,m,r)};let b=w&&typeof i=="object"?i.fetch:g?.fetch;if(r={...r,...b},w&&delete r.body,h){Array.isArray(h)||(h=[h]);for(let u of h){let a=await u(m,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...S(a.headers,m,r)}})}}if(w&&delete r.body,ne(i)){let u=new FormData;for(let[a,d]of Object.entries(r.body)){if(Array.isArray(d)){for(let p=0;p<d.length;p++){let W=d[p];u.append(a,W instanceof File?await N(W):W)}continue}if(K){if(Array.isArray(d))for(let p of d)u.append(a,p);else u.append(a,d);continue}if(d instanceof File){u.append(a,await N(d));continue}if(d instanceof FileList){for(let p=0;p<d.length;p++)u.append(a,await N(d[p]));continue}u.append(a,d)}r.body=u}else typeof i=="object"?(r.headers["content-type"]="application/json",r.body=JSON.stringify(i)):i!=null&&(r.headers["content-type"]="text/plain");if(w&&delete r.body,h){Array.isArray(h)||(h=[h]);for(let u of h){let a=await u(m,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...S(a.headers,m,r)}})}}g?.headers?.["content-type"]&&(r.headers["content-type"]=g?.headers["content-type"]);let y=e+m+R,f=await(s?.handle(new Request(y,r))??P(y,r)),l=null,x=null;if(v){Array.isArray(v)||(v=[v]);for(let u of v)try{let a=await u(f.clone());if(a!=null){l=a;break}}catch(a){a instanceof k?x=a:x=new k(422,a);break}}if(l!==null)return{data:l,error:x,response:f,status:f.status,headers:f.headers};if(f.headers.get("Transfer-Encoding")==="chunked")l=C(f);else switch(f.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":l=C(f);break;case"application/json":l=JSON.parse(await f.text(),(a,d)=>{if(typeof d!="string")return d;let p=F(d);return p||d});break;case"application/octet-stream":l=await f.arrayBuffer();break;case"multipart/form-data":let u=await f.formData();l={},u.forEach((a,d)=>{l[d]=a});break;default:l=await f.text().then(E)}return(f.status>=300||f.status<200)&&(x=new k(f.status,l),l=null),{data:l,error:x,response:f,status:f.status,headers:f.headers}})()}return typeof i=="object"?O(e,t,[...n,Object.values(i)[0]],s):O(e,t,n)}}),re=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(J.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),O(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."),O("http://e.ly",t,[],e));return Z(ie);})();
package/dist/treaty2.js CHANGED
@@ -1,4 +1,6 @@
1
- "use strict";var M=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var n in t)M(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of U(t))!V.call(e,a)&&a!==n&&M(e,a,{get:()=>t[a],enumerable:!(r=H(t,a))||r.enumerable});return e};var Z=e=>B(M({},"__esModule",{value:!0}),e);var ie={};$(ie,{streamResponse:()=>J,treaty:()=>se});module.exports=Z(ie);var k=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var G=/(\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))/,z=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q=/^(?:(?:(?:(?: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)?)?$/,X=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),T=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(G.test(t)||z.test(t)||Q.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},Y=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},ee=e=>JSON.parse(e,(t,n)=>{let r=T(n);return r||n}),x=e=>{if(!e)return e;if(X(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=T(e);if(t)return t;if(Y(e))try{return ee(e)}catch{}return e},D=e=>{let t=e.data.toString();return t==="null"?null:x(t)};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,a=>{if(t==="message"){let c=D(a);n({...a,data:c})}else n(a)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var te=["get","post","put","delete","patch","options","head","connect","subscribe"],I=["localhost","127.0.0.1","0.0.0.0"],N=typeof FileList>"u",q=e=>N?e instanceof Blob:e instanceof FileList||e instanceof File,ne=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},j=e=>N?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)}),S=(e,t,n={},r={})=>{if(Array.isArray(e)){for(let a of e)if(!Array.isArray(a))r=S(a,t,n,r);else{let c=a[0];if(typeof c=="string")r[c.toLowerCase()]=a[1];else for(let[i,h]of c)r[i.toLowerCase()]=h}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return S(e,t,n,r);let a=e(t,n);return a?S(a,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((c,i)=>{r[i.toLowerCase()]=c}),r;for(let[c,i]of Object.entries(e))r[c.toLowerCase()]=i;return r;default:return r}};async function*J(e){let t=e.body;if(!t)return;let n=t.getReader(),r=new TextDecoder;try{for(;;){let{done:a,value:c}=await n.read();if(a)break;let i=typeof c=="string"?c:r.decode(c);i.endsWith(`
1
+ "use strict";var j=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var n in t)j(e,n,{get:t[n],enumerable:!0})},B=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of U(t))!V.call(e,o)&&o!==n&&j(e,o,{get:()=>t[o],enumerable:!(s=H(t,o))||s.enumerable});return e};var Z=e=>B(j({},"__esModule",{value:!0}),e);var ie={};$(ie,{streamResponse:()=>C,treaty:()=>re});module.exports=Z(ie);var k=class extends Error{constructor(n,s){super(s+"");this.status=n;this.value=s}};var G=/(\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))/,z=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Q=/^(?:(?:(?:(?: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)?)?$/,X=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),F=e=>{if(typeof e!="string")return null;let t=e.replace(/"/g,"");if(G.test(t)||z.test(t)||Q.test(t)){let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null},Y=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},ee=e=>JSON.parse(e,(t,n)=>{let s=F(n);return s||n}),E=e=>{if(!e)return e;if(X(e))return+e;if(e==="true")return!0;if(e==="false")return!1;let t=F(e);if(t)return t;if(Y(e))try{return ee(e)}catch{}return e},q=e=>{let t=e.data.toString();return t==="null"?null:E(t)};var M=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,s){return this.addEventListener(t,n,s)}off(t,n,s){return this.ws.removeEventListener(t,n,s),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,s){return this.ws.addEventListener(t,o=>{if(t==="message"){let c=q(o);n({...o,data:c})}else n(o)},s),this}removeEventListener(t,n,s){return this.off(t,n,s),this}close(){return this.ws.close(),this}};var te=["get","post","put","delete","patch","options","head","connect","subscribe"],J=["localhost","127.0.0.1","0.0.0.0"],K=typeof FileList>"u",I=e=>K?e instanceof Blob:e instanceof FileList||e instanceof File,ne=e=>{if(!e)return!1;for(let t in e)if(I(e[t])||Array.isArray(e[t])&&e[t].find(I))return!0;return!1},N=e=>K?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let s=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(s)},n.readAsArrayBuffer(e)}),S=(e,t,n={},s={})=>{if(Array.isArray(e)){for(let o of e)if(!Array.isArray(o))s=S(o,t,n,s);else{let c=o[0];if(typeof c=="string")s[c.toLowerCase()]=o[1];else for(let[i,g]of c)s[i.toLowerCase()]=g}return s}if(!e)return s;switch(typeof e){case"function":if(e instanceof Headers)return S(e,t,n,s);let o=e(t,n);return o?S(o,t,n,s):s;case"object":if(e instanceof Headers)return e.forEach((c,i)=>{s[i.toLowerCase()]=c}),s;for(let[c,i]of Object.entries(e))s[c.toLowerCase()]=i;return s;default:return s}};async function*C(e){let t=e.body;if(!t)return;let n=t.getReader(),s=new TextDecoder;try{for(;;){let{done:o,value:c}=await n.read();if(o)break;let i=typeof c=="string"?c:s.decode(c);i.includes(`
2
2
 
3
- `)?yield re(i):yield x(i)}}finally{n.releaseLock()}}var re=e=>{let t=e.split(`
4
- `),n={};for(let r of t){let a=r.indexOf(":");if(a>0){let c=r.slice(0,a).trim(),i=r.slice(a+1).trim();n[c]=x(i)}}return n},O=(e,t,n=[],r)=>new Proxy(()=>{},{get(a,c){return O(e,t,c==="index"?n:[...n,c],r)},apply(a,c,[i,h]){if(!i||h||typeof i=="object"&&Object.keys(i).length!==1||te.includes(n.at(-1))){let C=[...n],E=C.pop(),m="/"+C.join("/"),{fetcher:P=fetch,headers:L,onRequest:y,onResponse:v,fetch:_}=t,w=E==="get"||E==="head"||E==="subscribe";L=S(L,m,h);let K=w?i?.query:h?.query,R="";if(K){let s=(b,l)=>{R+=(R?"&":"?")+`${encodeURIComponent(b)}=${encodeURIComponent(l)}`};for(let[b,l]of Object.entries(K)){if(Array.isArray(l)){for(let f of l)s(b,f);continue}if(l!=null){if(typeof l=="object"){s(b,JSON.stringify(l));continue}s(b,`${l}`)}}}if(E==="subscribe"){let s=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||I.find(b=>e.includes(b))?"ws://":"wss://")+m+R;return new W(s)}return(async()=>{let s={method:E?.toUpperCase(),body:i,..._,headers:L};s.headers={...L,...S(w?i?.headers:h?.headers,m,s)};let b=w&&typeof i=="object"?i.fetch:h?.fetch;if(s={...s,...b},w&&delete s.body,y){Array.isArray(y)||(y=[y]);for(let u of y){let o=await u(m,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...S(o.headers,m,s)}})}}if(w&&delete s.body,ne(i)){let u=new FormData;for(let[o,d]of Object.entries(s.body)){if(Array.isArray(d)){for(let g=0;g<d.length;g++){let F=d[g];u.append(o,F instanceof File?await j(F):F)}continue}if(N){u.append(o,d);continue}if(d instanceof File){u.append(o,await j(d));continue}if(d instanceof FileList){for(let g=0;g<d.length;g++)u.append(o,await j(d[g]));continue}u.append(o,d)}s.body=u}else typeof i=="object"?(s.headers["content-type"]="application/json",s.body=JSON.stringify(i)):i!=null&&(s.headers["content-type"]="text/plain");if(w&&delete s.body,y){Array.isArray(y)||(y=[y]);for(let u of y){let o=await u(m,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...S(o.headers,m,s)}})}}h?.headers?.["content-type"]&&(s.headers["content-type"]=h?.headers["content-type"]);let l=e+m+R,f=await(r?.handle(new Request(l,s))??P(l,s)),p=null,A=null;if(v){Array.isArray(v)||(v=[v]);for(let u of v)try{let o=await u(f.clone());if(o!=null){p=o;break}}catch(o){o instanceof k?A=o:A=new k(422,o);break}}if(p!==null)return{data:p,error:A,response:f,status:f.status,headers:f.headers};switch(f.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":p=J(f);break;case"application/json":p=JSON.parse(await f.text(),(o,d)=>{if(typeof d!="string")return d;let g=T(d);return g||d});break;case"application/octet-stream":p=await f.arrayBuffer();break;case"multipart/form-data":let u=await f.formData();p={},u.forEach((o,d)=>{p[d]=o});break;default:p=await f.text().then(x)}return(f.status>=300||f.status<200)&&(A=new k(f.status,p),p=null),{data:p,error:A,response:f,status:f.status,headers:f.headers}})()}return typeof i=="object"?O(e,t,[...n,Object.values(i)[0]],r):O(e,t,n)}}),se=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(I.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),O(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."),O("http://e.ly",t,[],e));0&&(module.exports={streamResponse,treaty});
3
+ `)?yield*se(i):yield E(i)}}finally{n.releaseLock()}}function*se(e){let t=e.split(`
4
+
5
+ `);for(let n of t){if(n.indexOf(":")<=0){n&&(yield E(n));continue}let s=n.split(`
6
+ `),o={};for(let c of s){let i=c.indexOf(":");if(i>0){let g=c.slice(0,i).trim(),T=c.slice(i+1).trim();o[g]=E(T)}}yield o}}var O=(e,t,n=[],s)=>new Proxy(()=>{},{get(o,c){return O(e,t,c==="index"?n:[...n,c],s)},apply(o,c,[i,g]){if(!i||g||typeof i=="object"&&Object.keys(i).length!==1||te.includes(n.at(-1))){let T=[...n],A=T.pop(),m="/"+T.join("/"),{fetcher:P=fetch,headers:L,onRequest:h,onResponse:v,fetch:_}=t,w=A==="get"||A==="head"||A==="subscribe";L=S(L,m,g);let D=w?i?.query:g?.query,R="";if(D){let r=(b,y)=>{R+=(R?"&":"?")+`${encodeURIComponent(b)}=${encodeURIComponent(y)}`};for(let[b,y]of Object.entries(D)){if(Array.isArray(y)){for(let f of y)r(b,f);continue}if(y!=null){if(typeof y=="object"){r(b,JSON.stringify(y));continue}r(b,`${y}`)}}}if(A==="subscribe"){let r=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||J.find(b=>e.includes(b))?"ws://":"wss://")+m+R;return new M(r)}return(async()=>{let r={method:A?.toUpperCase(),body:i,..._,headers:L};r.headers={...L,...S(w?i?.headers:g?.headers,m,r)};let b=w&&typeof i=="object"?i.fetch:g?.fetch;if(r={...r,...b},w&&delete r.body,h){Array.isArray(h)||(h=[h]);for(let u of h){let a=await u(m,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...S(a.headers,m,r)}})}}if(w&&delete r.body,ne(i)){let u=new FormData;for(let[a,d]of Object.entries(r.body)){if(Array.isArray(d)){for(let p=0;p<d.length;p++){let W=d[p];u.append(a,W instanceof File?await N(W):W)}continue}if(K){if(Array.isArray(d))for(let p of d)u.append(a,p);else u.append(a,d);continue}if(d instanceof File){u.append(a,await N(d));continue}if(d instanceof FileList){for(let p=0;p<d.length;p++)u.append(a,await N(d[p]));continue}u.append(a,d)}r.body=u}else typeof i=="object"?(r.headers["content-type"]="application/json",r.body=JSON.stringify(i)):i!=null&&(r.headers["content-type"]="text/plain");if(w&&delete r.body,h){Array.isArray(h)||(h=[h]);for(let u of h){let a=await u(m,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...S(a.headers,m,r)}})}}g?.headers?.["content-type"]&&(r.headers["content-type"]=g?.headers["content-type"]);let y=e+m+R,f=await(s?.handle(new Request(y,r))??P(y,r)),l=null,x=null;if(v){Array.isArray(v)||(v=[v]);for(let u of v)try{let a=await u(f.clone());if(a!=null){l=a;break}}catch(a){a instanceof k?x=a:x=new k(422,a);break}}if(l!==null)return{data:l,error:x,response:f,status:f.status,headers:f.headers};if(f.headers.get("Transfer-Encoding")==="chunked")l=C(f);else switch(f.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":l=C(f);break;case"application/json":l=JSON.parse(await f.text(),(a,d)=>{if(typeof d!="string")return d;let p=F(d);return p||d});break;case"application/octet-stream":l=await f.arrayBuffer();break;case"multipart/form-data":let u=await f.formData();l={},u.forEach((a,d)=>{l[d]=a});break;default:l=await f.text().then(E)}return(f.status>=300||f.status<200)&&(x=new k(f.status,l),l=null),{data:l,error:x,response:f,status:f.status,headers:f.headers}})()}return typeof i=="object"?O(e,t,[...n,Object.values(i)[0]],s):O(e,t,n)}}),re=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(J.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),O(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."),O("http://e.ly",t,[],e));0&&(module.exports={streamResponse,treaty});
package/dist/treaty2.mjs CHANGED
@@ -1 +1 @@
1
- import{a,b}from"./chunk-CETCWXWZ.mjs";import"./chunk-QSLHAOSM.mjs";export{a as streamResponse,b as treaty};
1
+ import{a,b}from"./chunk-ZIS6B6IO.mjs";import"./chunk-QSLHAOSM.mjs";export{a as streamResponse,b as treaty};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elysiajs/eden",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "Fully type-safe Elysia client",
5
5
  "author": {
6
6
  "name": "saltyAom",
@@ -59,7 +59,7 @@
59
59
  "@elysiajs/cors": "1.3.3",
60
60
  "@types/bun": "^1.2.20",
61
61
  "@types/node": "^24.3.0",
62
- "elysia": "1.4.0-exp.18",
62
+ "elysia": "^1.4.10",
63
63
  "esbuild": "^0.25.9",
64
64
  "eslint": "^9.34.0",
65
65
  "expect-type": "^1.2.2",
@@ -1,4 +0,0 @@
1
- import{a as R,b as M,c as O,d as q}from"./chunk-QSLHAOSM.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,s){return this.addEventListener(t,n,s)}off(t,n,s){return this.ws.removeEventListener(t,n,s),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,s){return this.ws.addEventListener(t,o=>{if(t==="message"){let c=q(o);n({...o,data:c})}else n(o)},s),this}removeEventListener(t,n,s){return this.off(t,n,s),this}close(){return this.ws.close(),this}};var J=["get","post","put","delete","patch","options","head","connect","subscribe"],D=["localhost","127.0.0.1","0.0.0.0"],C=typeof FileList>"u",I=e=>C?e instanceof Blob:e instanceof FileList||e instanceof File,P=e=>{if(!e)return!1;for(let t in e)if(I(e[t])||Array.isArray(e[t])&&e[t].find(I))return!0;return!1},j=e=>C?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let s=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(s)},n.readAsArrayBuffer(e)}),b=(e,t,n={},s={})=>{if(Array.isArray(e)){for(let o of e)if(!Array.isArray(o))s=b(o,t,n,s);else{let c=o[0];if(typeof c=="string")s[c.toLowerCase()]=o[1];else for(let[i,g]of c)s[i.toLowerCase()]=g}return s}if(!e)return s;switch(typeof e){case"function":if(e instanceof Headers)return b(e,t,n,s);let o=e(t,n);return o?b(o,t,n,s):s;case"object":if(e instanceof Headers)return e.forEach((c,i)=>{s[i.toLowerCase()]=c}),s;for(let[c,i]of Object.entries(e))s[c.toLowerCase()]=i;return s;default:return s}};async function*U(e){let t=e.body;if(!t)return;let n=t.getReader(),s=new TextDecoder;try{for(;;){let{done:o,value:c}=await n.read();if(o)break;let i=typeof c=="string"?c:s.decode(c);i.endsWith(`
2
-
3
- `)?yield _(i):yield O(i)}}finally{n.releaseLock()}}var _=e=>{let t=e.split(`
4
- `),n={};for(let s of t){let o=s.indexOf(":");if(o>0){let c=s.slice(0,o).trim(),i=s.slice(o+1).trim();n[c]=O(i)}}return n},A=(e,t,n=[],s)=>new Proxy(()=>{},{get(o,c){return A(e,t,c==="index"?n:[...n,c],s)},apply(o,c,[i,g]){if(!i||g||typeof i=="object"&&Object.keys(i).length!==1||J.includes(n.at(-1))){let K=[...n],k=K.pop(),v="/"+K.join("/"),{fetcher:N=fetch,headers:x,onRequest:d,onResponse:E,fetch:H}=t,m=k==="get"||k==="head"||k==="subscribe";x=b(x,v,g);let T=m?i?.query:g?.query,L="";if(T){let r=(w,u)=>{L+=(L?"&":"?")+`${encodeURIComponent(w)}=${encodeURIComponent(u)}`};for(let[w,u]of Object.entries(T)){if(Array.isArray(u)){for(let f of u)r(w,f);continue}if(u!=null){if(typeof u=="object"){r(w,JSON.stringify(u));continue}r(w,`${u}`)}}}if(k==="subscribe"){let r=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||D.find(w=>e.includes(w))?"ws://":"wss://")+v+L;return new W(r)}return(async()=>{let r={method:k?.toUpperCase(),body:i,...H,headers:x};r.headers={...x,...b(m?i?.headers:g?.headers,v,r)};let w=m&&typeof i=="object"?i.fetch:g?.fetch;if(r={...r,...w},m&&delete r.body,d){Array.isArray(d)||(d=[d]);for(let l of d){let a=await l(v,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...b(a.headers,v,r)}})}}if(m&&delete r.body,P(i)){let l=new FormData;for(let[a,y]of Object.entries(r.body)){if(Array.isArray(y)){for(let h=0;h<y.length;h++){let F=y[h];l.append(a,F instanceof File?await j(F):F)}continue}if(C){l.append(a,y);continue}if(y instanceof File){l.append(a,await j(y));continue}if(y instanceof FileList){for(let h=0;h<y.length;h++)l.append(a,await j(y[h]));continue}l.append(a,y)}r.body=l}else typeof i=="object"?(r.headers["content-type"]="application/json",r.body=JSON.stringify(i)):i!=null&&(r.headers["content-type"]="text/plain");if(m&&delete r.body,d){Array.isArray(d)||(d=[d]);for(let l of d){let a=await l(v,r);typeof a=="object"&&(r={...r,...a,headers:{...r.headers,...b(a.headers,v,r)}})}}g?.headers?.["content-type"]&&(r.headers["content-type"]=g?.headers["content-type"]);let u=e+v+L,f=await(s?.handle(new Request(u,r))??N(u,r)),p=null,S=null;if(E){Array.isArray(E)||(E=[E]);for(let l of E)try{let a=await l(f.clone());if(a!=null){p=a;break}}catch(a){a instanceof R?S=a:S=new R(422,a);break}}if(p!==null)return{data:p,error:S,response:f,status:f.status,headers:f.headers};switch(f.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":p=U(f);break;case"application/json":p=JSON.parse(await f.text(),(a,y)=>{if(typeof y!="string")return y;let h=M(y);return h||y});break;case"application/octet-stream":p=await f.arrayBuffer();break;case"multipart/form-data":let l=await f.formData();p={},l.forEach((a,y)=>{p[y]=a});break;default:p=await f.text().then(O)}return(f.status>=300||f.status<200)&&(S=new R(f.status,p),p=null),{data:p,error:S,response:f,status:f.status,headers:f.headers}})()}return typeof i=="object"?A(e,t,[...n,Object.values(i)[0]],s):A(e,t,n)}}),Q=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(D.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),A(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),A("http://e.ly",t,[],e));export{U as a,Q as b};
@@ -1 +0,0 @@
1
- import{a as u,c as f}from"./chunk-QSLHAOSM.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 e=await t.formData(),r={};return e.forEach((o,a)=>{r[a]=o}),r}}return t.text().then(f)},T=async(t,n)=>{let e=await j(t);return t.status>300?{data:null,status:t.status,headers:t.headers,retry:n,error:new u(t.status,e)}:{data:e,error:null,status:t.status,headers:t.headers,retry:n}},x=(t,n)=>(e,{query:r,params:o,body:a,...s}={})=>{o&&Object.entries(o).forEach(([c,i])=>{e=e.replace(`:${c}`,i)});let h=s.headers?.["Content-Type"];if(!h||h==="application/json")try{a=JSON.stringify(a)}catch{}let p=n?.fetcher||globalThis.fetch,y=r?Object.fromEntries(Object.entries(r).filter(([c,i])=>i!=null)):null,d=y?`?${new URLSearchParams(y).toString()}`:"",m=`${t}${e}${d}`,E=a?{"content-type":"application/json",...s.headers}:s.headers,g={...s,method:s.method?.toUpperCase()||"GET",headers:E,body:a},l=()=>p(m,g).then(c=>T(c,l));return l()};export{x as a};