@elysiajs/eden 1.4.1 → 1.4.3
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 +1 -1
- package/bun.lock +2 -20
- package/dist/chunk-4RPCKTWO.mjs +1 -0
- package/dist/chunk-ZIS6B6IO.mjs +6 -0
- package/dist/fetch.global.js +1 -1
- package/dist/fetch.js +1 -1
- package/dist/fetch.mjs +1 -1
- package/dist/index.global.js +5 -3
- package/dist/index.js +5 -3
- package/dist/index.mjs +1 -1
- package/dist/treaty2/types.d.ts +7 -4
- package/dist/treaty2/ws.d.ts +3 -3
- package/dist/treaty2.d.mts +10 -7
- package/dist/treaty2.d.ts +10 -7
- package/dist/treaty2.global.js +5 -3
- package/dist/treaty2.js +5 -3
- package/dist/treaty2.mjs +1 -1
- package/package.json +2 -2
- package/dist/chunk-CETCWXWZ.mjs +0 -4
- package/dist/chunk-RFC2MZ4E.mjs +0 -1
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 } =
|
|
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.
|
|
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.
|
|
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};
|
package/dist/fetch.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var
|
|
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
|
|
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-
|
|
1
|
+
import{a}from"./chunk-4RPCKTWO.mjs";import"./chunk-QSLHAOSM.mjs";export{a as edenFetch};
|
package/dist/index.global.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var J=Object.defineProperty;var
|
|
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
|
|
4
|
-
|
|
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
|
|
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
|
|
4
|
-
|
|
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-
|
|
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};
|
package/dist/treaty2/types.d.ts
CHANGED
|
@@ -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 {
|
|
@@ -59,16 +62,16 @@ export declare namespace Treaty {
|
|
|
59
62
|
keepDomain?: boolean;
|
|
60
63
|
}
|
|
61
64
|
export type TreatyResponse<Res extends Record<number, unknown>> = {
|
|
62
|
-
data: Res[
|
|
65
|
+
data: Res[Extract<keyof Res, SuccessCodeRange>] extends {
|
|
63
66
|
[ELYSIA_FORM_DATA]: infer Data;
|
|
64
|
-
} ? Data : Res[
|
|
67
|
+
} ? Data : Res[Extract<keyof Res, SuccessCodeRange>];
|
|
65
68
|
error: null;
|
|
66
69
|
response: Response;
|
|
67
70
|
status: number;
|
|
68
71
|
headers: RequestInit['headers'];
|
|
69
72
|
} | {
|
|
70
73
|
data: null;
|
|
71
|
-
error: Exclude<keyof Res,
|
|
74
|
+
error: Exclude<keyof Res, SuccessCodeRange> extends never ? {
|
|
72
75
|
status: unknown;
|
|
73
76
|
value: unknown;
|
|
74
77
|
} : {
|
|
@@ -78,7 +81,7 @@ export declare namespace Treaty {
|
|
|
78
81
|
[ELYSIA_FORM_DATA]: infer Data;
|
|
79
82
|
} ? Data : Res[Status];
|
|
80
83
|
};
|
|
81
|
-
}[Exclude<keyof Res,
|
|
84
|
+
}[Exclude<keyof Res, SuccessCodeRange>];
|
|
82
85
|
response: Response;
|
|
83
86
|
status: number;
|
|
84
87
|
headers: RequestInit['headers'];
|
package/dist/treaty2/ws.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/treaty2.d.mts
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 {
|
|
@@ -72,16 +75,16 @@ declare namespace Treaty {
|
|
|
72
75
|
keepDomain?: boolean;
|
|
73
76
|
}
|
|
74
77
|
export type TreatyResponse<Res extends Record<number, unknown>> = {
|
|
75
|
-
data: Res[
|
|
78
|
+
data: Res[Extract<keyof Res, SuccessCodeRange>] extends {
|
|
76
79
|
[ELYSIA_FORM_DATA]: infer Data;
|
|
77
|
-
} ? Data : Res[
|
|
80
|
+
} ? Data : Res[Extract<keyof Res, SuccessCodeRange>];
|
|
78
81
|
error: null;
|
|
79
82
|
response: Response;
|
|
80
83
|
status: number;
|
|
81
84
|
headers: RequestInit['headers'];
|
|
82
85
|
} | {
|
|
83
86
|
data: null;
|
|
84
|
-
error: Exclude<keyof Res,
|
|
87
|
+
error: Exclude<keyof Res, SuccessCodeRange> extends never ? {
|
|
85
88
|
status: unknown;
|
|
86
89
|
value: unknown;
|
|
87
90
|
} : {
|
|
@@ -91,7 +94,7 @@ declare namespace Treaty {
|
|
|
91
94
|
[ELYSIA_FORM_DATA]: infer Data;
|
|
92
95
|
} ? Data : Res[Status];
|
|
93
96
|
};
|
|
94
|
-
}[Exclude<keyof Res,
|
|
97
|
+
}[Exclude<keyof Res, SuccessCodeRange>];
|
|
95
98
|
response: Response;
|
|
96
99
|
status: number;
|
|
97
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 {
|
|
@@ -72,16 +75,16 @@ declare namespace Treaty {
|
|
|
72
75
|
keepDomain?: boolean;
|
|
73
76
|
}
|
|
74
77
|
export type TreatyResponse<Res extends Record<number, unknown>> = {
|
|
75
|
-
data: Res[
|
|
78
|
+
data: Res[Extract<keyof Res, SuccessCodeRange>] extends {
|
|
76
79
|
[ELYSIA_FORM_DATA]: infer Data;
|
|
77
|
-
} ? Data : Res[
|
|
80
|
+
} ? Data : Res[Extract<keyof Res, SuccessCodeRange>];
|
|
78
81
|
error: null;
|
|
79
82
|
response: Response;
|
|
80
83
|
status: number;
|
|
81
84
|
headers: RequestInit['headers'];
|
|
82
85
|
} | {
|
|
83
86
|
data: null;
|
|
84
|
-
error: Exclude<keyof Res,
|
|
87
|
+
error: Exclude<keyof Res, SuccessCodeRange> extends never ? {
|
|
85
88
|
status: unknown;
|
|
86
89
|
value: unknown;
|
|
87
90
|
} : {
|
|
@@ -91,7 +94,7 @@ declare namespace Treaty {
|
|
|
91
94
|
[ELYSIA_FORM_DATA]: infer Data;
|
|
92
95
|
} ? Data : Res[Status];
|
|
93
96
|
};
|
|
94
|
-
}[Exclude<keyof Res,
|
|
97
|
+
}[Exclude<keyof Res, SuccessCodeRange>];
|
|
95
98
|
response: Response;
|
|
96
99
|
status: number;
|
|
97
100
|
headers: RequestInit['headers'];
|
package/dist/treaty2.global.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var
|
|
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
|
|
4
|
-
|
|
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
|
|
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
|
|
4
|
-
|
|
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-
|
|
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.
|
|
3
|
+
"version": "1.4.3",
|
|
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.
|
|
62
|
+
"elysia": "^1.4.10",
|
|
63
63
|
"esbuild": "^0.25.9",
|
|
64
64
|
"eslint": "^9.34.0",
|
|
65
65
|
"expect-type": "^1.2.2",
|
package/dist/chunk-CETCWXWZ.mjs
DELETED
|
@@ -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};
|
package/dist/chunk-RFC2MZ4E.mjs
DELETED
|
@@ -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};
|