@elysiajs/eden 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yaml +1 -0
- package/.github/workflows/ci.yml +28 -0
- package/README.md +1 -1
- package/dist/chunk-3IC43ZE4.mjs +1 -0
- package/dist/fetch/types.d.ts +1 -1
- package/dist/fetch.d.mts +1 -1
- package/dist/fetch.d.ts +1 -1
- package/dist/index.global.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/treaty/utils.d.ts +1 -0
- package/dist/treaty.global.js +1 -1
- package/dist/treaty.js +1 -1
- package/dist/treaty.mjs +1 -1
- package/package.json +1 -1
- package/src/fetch/types.ts +1 -1
- package/src/treaty/index.ts +28 -24
- package/src/treaty/utils.ts +3 -0
- package/dist/chunk-NZCTJ6S3.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
github: SaltyAom
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Build and Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
name: Build and test code
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Setup bun
|
|
17
|
+
uses: oven-sh/setup-bun@v1
|
|
18
|
+
with:
|
|
19
|
+
bun-version: latest
|
|
20
|
+
|
|
21
|
+
- name: Install packages
|
|
22
|
+
run: bun install
|
|
23
|
+
|
|
24
|
+
- name: Build code
|
|
25
|
+
run: bun run build
|
|
26
|
+
|
|
27
|
+
- name: Test
|
|
28
|
+
run: bun run test
|
package/README.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as L}from"./chunk-Y6SMVGJX.mjs";var W=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let s="";for(let[c,r]of Object.entries(t))s+=`${c}=${r}&`;return`${n}${e}?${s.slice(0,-1)}`},k=n=>!Number.isNaN(parseInt(n));var F=typeof FileList>"u",K=n=>F?n instanceof Blob:n instanceof FileList||n instanceof File,J=n=>{if(!n)return!1;for(let e in n){if(K(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>K(t)))return!0}return!1},T=n=>F?n:new Promise(e=>{let t=new FileReader;t.onload=()=>{let s=new File([t.result],n.name,{lastModified:n.lastModified,type:n.type});e(s)},t.readAsArrayBuffer(n)}),$=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,s){return this.addEventListener(e,t,s)}off(e,t,s){return this.ws.removeEventListener(e,t,s),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,s){return this.ws.addEventListener(e,c=>{if(e==="message"){let r=c.data.toString(),u=r.charCodeAt(0);if(u===47||u===123)try{r=JSON.parse(r)}catch{}else k(r)?r=+r:r==="true"?r=!0:r==="false"&&(r=!1);t({...c,data:r})}else t(c)},s),this}removeEventListener(e,t,s){return this.off(e,t,s),this}close(){return this.ws.close(),this}},j=(n,e="",t)=>new Proxy(()=>{},{get(s,c,r){return j(n,`${e}/${c.toString()}`,t)},apply(s,c,[r,u={}]=[{},{}]){let y=r!==void 0&&(typeof r!="object"||Array.isArray(r))?r:void 0,{$query:I,$fetch:O,$headers:M,$transform:g,getRaw:N,...P}=r??{};y??=P;let w=e.lastIndexOf("/"),E=e.slice(w+1).toUpperCase(),S=W(n,w===-1?"/":e.slice(0,w),Object.assign(u.query??{},I)),C=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,v=g?Array.isArray(g)?g:[g]:void 0;return v&&(p?p=v.concat(p):p=v),E==="SUBSCRIBE"?new $(S.replace(/^([^]+):\/\//,S.startsWith("https://")?"wss://":"ws://")):(async q=>{let f,R={...t.$fetch?.headers,...O?.headers,...u.headers,...M};if(E!=="GET"&&E!=="HEAD"){f=Object.keys(y).length||Array.isArray(y)?y:void 0;let a=typeof f=="object"||Array.isArray(y);if(a&&J(f)){let h=new FormData;for(let[m,o]of Object.entries(f))if(F)h.append(m,o);else if(o instanceof File)h.append(m,await T(o));else if(o instanceof FileList)for(let l=0;l<o.length;l++)h.append(m,await T(o[l]));else if(Array.isArray(o))for(let l=0;l<o.length;l++){let A=o[l];h.append(m,A instanceof File?await T(A):A)}else h.append(m,o);f=h}else R["content-type"]=a?"application/json":"text/plain",f=a?JSON.stringify(f):y}let i=await C(S,{method:E,body:f,...t.$fetch,...u.fetch,...O,headers:R}),b;if(q.getRaw)return i;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await i.json();break;default:b=await i.text().then(a=>k(a)?+a:a==="true"?!0:a==="false"?!1:a)}let D=i.status>=300||i.status<200?new L(i.status,b):null,x={data:b,error:D,response:i,status:i.status,headers:i.headers};if(p)for(let a of p){let d=a(x);d instanceof Promise&&(d=await d),d!=null&&(x=d)}return x})({getRaw:N})}}),_=(n,e={fetcher:fetch})=>new Proxy({},{get(t,s){return j(n,s,e)}});export{$ as a,_ as b};
|
package/dist/fetch/types.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare namespace EdenFetch {
|
|
|
15
15
|
method?: Method;
|
|
16
16
|
} : {
|
|
17
17
|
method: Method;
|
|
18
|
-
}) & (IsNever<
|
|
18
|
+
}) & (IsNever<Route['params']> extends true ? {
|
|
19
19
|
params?: Record<never, string>;
|
|
20
20
|
} : {
|
|
21
21
|
params: Route['params'];
|
package/dist/fetch.d.mts
CHANGED
package/dist/fetch.d.ts
CHANGED
package/dist/index.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var
|
|
1
|
+
"use strict";var Eden=(()=>{var j=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var H=(r,e)=>{for(var t in e)j(r,t,{get:e[t],enumerable:!0})},_=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of B(e))!G.call(r,a)&&a!==t&&j(r,a,{get:()=>e[a],enumerable:!(s=z(e,a))||s.enumerable});return r};var Q=r=>_(j({},"__esModule",{value:!0}),r);var Y={};H(Y,{edenFetch:()=>D,edenTreaty:()=>q});var S=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var I=(r,e,t)=>{if(r.endsWith("/")||(r+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${r}${e}`;let s="";for(let[a,n]of Object.entries(t))s+=`${a}=${n}&`;return`${r}${e}?${s.slice(0,-1)}`},L=r=>!Number.isNaN(parseInt(r));var C=typeof FileList>"u",M=r=>C?r instanceof Blob:r instanceof FileList||r instanceof File,X=r=>{if(!r)return!1;for(let e in r){if(M(r[e]))return!0;if(Array.isArray(r[e])&&r[e].find(t=>M(t)))return!0}return!1},W=r=>C?r:new Promise(e=>{let t=new FileReader;t.onload=()=>{let s=new File([t.result],r.name,{lastModified:r.lastModified,type:r.type});e(s)},t.readAsArrayBuffer(r)}),N=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,s){return this.addEventListener(e,t,s)}off(e,t,s){return this.ws.removeEventListener(e,t,s),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,s){return this.ws.addEventListener(e,a=>{if(e==="message"){let n=a.data.toString(),o=n.charCodeAt(0);if(o===47||o===123)try{n=JSON.parse(n)}catch{}else L(n)?n=+n:n==="true"?n=!0:n==="false"&&(n=!1);t({...a,data:n})}else t(a)},s),this}removeEventListener(e,t,s){return this.off(e,t,s),this}close(){return this.ws.close(),this}},P=(r,e="",t)=>new Proxy(()=>{},{get(s,a,n){return P(r,`${e}/${a.toString()}`,t)},apply(s,a,[n,o={}]=[{},{}]){let f=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:A,$fetch:x,$headers:w,$transform:i,getRaw:d,...p}=n??{};f??=p;let T=e.lastIndexOf("/"),v=e.slice(T+1).toUpperCase(),F=I(r,T===-1?"/":e.slice(0,T),Object.assign(o.query??{},A)),J=t.fetcher??fetch,E=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,$=i?Array.isArray(i)?i:[i]:void 0;return $&&(E?E=$.concat(E):E=$),v==="SUBSCRIBE"?new N(F.replace(/^([^]+):\/\//,F.startsWith("https://")?"wss://":"ws://")):(async U=>{let l,K={...t.$fetch?.headers,...x?.headers,...o.headers,...w};if(v!=="GET"&&v!=="HEAD"){l=Object.keys(f).length||Array.isArray(f)?f:void 0;let c=typeof l=="object"||Array.isArray(f);if(c&&X(l)){let g=new FormData;for(let[b,u]of Object.entries(l))if(C)g.append(b,u);else if(u instanceof File)g.append(b,await W(u));else if(u instanceof FileList)for(let m=0;m<u.length;m++)g.append(b,await W(u[m]));else if(Array.isArray(u))for(let m=0;m<u.length;m++){let R=u[m];g.append(b,R instanceof File?await W(R):R)}else g.append(b,u);l=g}else K["content-type"]=c?"application/json":"text/plain",l=c?JSON.stringify(l):f}let y=await J(F,{method:v,body:l,...t.$fetch,...o.fetch,...x,headers:K}),k;if(U.getRaw)return y;switch(y.headers.get("Content-Type")?.split(";")[0]){case"application/json":k=await y.json();break;default:k=await y.text().then(c=>L(c)?+c:c==="true"?!0:c==="false"?!1:c)}let V=y.status>=300||y.status<200?new S(y.status,k):null,O={data:k,error:V,response:y,status:y.status,headers:y.headers};if(E)for(let c of E){let h=c(O);h instanceof Promise&&(h=await h),h!=null&&(O=h)}return O})({getRaw:d})}}),q=(r,e={fetcher:fetch})=>new Proxy({},{get(t,s){return P(r,s,e)}});var D=(r,e)=>(t,{query:s,params:a,body:n,...o}={})=>{a&&Object.entries(a).forEach(([i,d])=>{t=t.replace(`:${i}`,d)});let f=o.headers?.["Content-Type"];if(!f||f==="application/json")try{n=JSON.stringify(n)}catch{}let A=e?.fetcher||globalThis.fetch,x=s?`?${new URLSearchParams(s).toString()}`:"",w=()=>A(r+t+x,{...o,method:o.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...o.headers}:o.headers,body:n}).then(async i=>{let d;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":d=await i.json();break;default:d=await i.text().then(p=>Number.isNaN(+p)?p==="true"?!0:p==="false"?!1:p:+p);break}return i.status>300?{data:null,status:i.status,headers:i.headers,retry:w,error:new S(i.status,d)}:{data:d,error:null,status:i.status,headers:i.headers,retry:w}});return w()};return Q(Y);})();
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var j=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var H=(r,e)=>{for(var t in e)j(r,t,{get:e[t],enumerable:!0})},_=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of B(e))!G.call(r,a)&&a!==t&&j(r,a,{get:()=>e[a],enumerable:!(s=z(e,a))||s.enumerable});return r};var Q=r=>_(j({},"__esModule",{value:!0}),r);var Y={};H(Y,{edenFetch:()=>D,edenTreaty:()=>q});module.exports=Q(Y);var S=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var I=(r,e,t)=>{if(r.endsWith("/")||(r+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${r}${e}`;let s="";for(let[a,n]of Object.entries(t))s+=`${a}=${n}&`;return`${r}${e}?${s.slice(0,-1)}`},L=r=>!Number.isNaN(parseInt(r));var C=typeof FileList>"u",M=r=>C?r instanceof Blob:r instanceof FileList||r instanceof File,X=r=>{if(!r)return!1;for(let e in r){if(M(r[e]))return!0;if(Array.isArray(r[e])&&r[e].find(t=>M(t)))return!0}return!1},W=r=>C?r:new Promise(e=>{let t=new FileReader;t.onload=()=>{let s=new File([t.result],r.name,{lastModified:r.lastModified,type:r.type});e(s)},t.readAsArrayBuffer(r)}),N=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,s){return this.addEventListener(e,t,s)}off(e,t,s){return this.ws.removeEventListener(e,t,s),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,s){return this.ws.addEventListener(e,a=>{if(e==="message"){let n=a.data.toString(),o=n.charCodeAt(0);if(o===47||o===123)try{n=JSON.parse(n)}catch{}else L(n)?n=+n:n==="true"?n=!0:n==="false"&&(n=!1);t({...a,data:n})}else t(a)},s),this}removeEventListener(e,t,s){return this.off(e,t,s),this}close(){return this.ws.close(),this}},P=(r,e="",t)=>new Proxy(()=>{},{get(s,a,n){return P(r,`${e}/${a.toString()}`,t)},apply(s,a,[n,o={}]=[{},{}]){let f=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:A,$fetch:x,$headers:w,$transform:i,getRaw:d,...p}=n??{};f??=p;let T=e.lastIndexOf("/"),v=e.slice(T+1).toUpperCase(),F=I(r,T===-1?"/":e.slice(0,T),Object.assign(o.query??{},A)),J=t.fetcher??fetch,E=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,$=i?Array.isArray(i)?i:[i]:void 0;return $&&(E?E=$.concat(E):E=$),v==="SUBSCRIBE"?new N(F.replace(/^([^]+):\/\//,F.startsWith("https://")?"wss://":"ws://")):(async U=>{let l,K={...t.$fetch?.headers,...x?.headers,...o.headers,...w};if(v!=="GET"&&v!=="HEAD"){l=Object.keys(f).length||Array.isArray(f)?f:void 0;let c=typeof l=="object"||Array.isArray(f);if(c&&X(l)){let g=new FormData;for(let[b,u]of Object.entries(l))if(C)g.append(b,u);else if(u instanceof File)g.append(b,await W(u));else if(u instanceof FileList)for(let m=0;m<u.length;m++)g.append(b,await W(u[m]));else if(Array.isArray(u))for(let m=0;m<u.length;m++){let R=u[m];g.append(b,R instanceof File?await W(R):R)}else g.append(b,u);l=g}else K["content-type"]=c?"application/json":"text/plain",l=c?JSON.stringify(l):f}let y=await J(F,{method:v,body:l,...t.$fetch,...o.fetch,...x,headers:K}),k;if(U.getRaw)return y;switch(y.headers.get("Content-Type")?.split(";")[0]){case"application/json":k=await y.json();break;default:k=await y.text().then(c=>L(c)?+c:c==="true"?!0:c==="false"?!1:c)}let V=y.status>=300||y.status<200?new S(y.status,k):null,O={data:k,error:V,response:y,status:y.status,headers:y.headers};if(E)for(let c of E){let h=c(O);h instanceof Promise&&(h=await h),h!=null&&(O=h)}return O})({getRaw:d})}}),q=(r,e={fetcher:fetch})=>new Proxy({},{get(t,s){return P(r,s,e)}});var D=(r,e)=>(t,{query:s,params:a,body:n,...o}={})=>{a&&Object.entries(a).forEach(([i,d])=>{t=t.replace(`:${i}`,d)});let f=o.headers?.["Content-Type"];if(!f||f==="application/json")try{n=JSON.stringify(n)}catch{}let A=e?.fetcher||globalThis.fetch,x=s?`?${new URLSearchParams(s).toString()}`:"",w=()=>A(r+t+x,{...o,method:o.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...o.headers}:o.headers,body:n}).then(async i=>{let d;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":d=await i.json();break;default:d=await i.text().then(p=>Number.isNaN(+p)?p==="true"?!0:p==="false"?!1:p:+p);break}return i.status>300?{data:null,status:i.status,headers:i.headers,retry:w,error:new S(i.status,d)}:{data:d,error:null,status:i.status,headers:i.headers,retry:w}});return w()};0&&(module.exports={edenFetch,edenTreaty});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./chunk-
|
|
1
|
+
import{b as e}from"./chunk-3IC43ZE4.mjs";import{a as t}from"./chunk-3KYW6H6M.mjs";import"./chunk-Y6SMVGJX.mjs";export{t as edenFetch,e as edenTreaty};
|
package/dist/treaty/utils.d.ts
CHANGED
package/dist/treaty.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var
|
|
1
|
+
"use strict";var Eden=(()=>{var $=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var H=(n,e)=>{for(var t in e)$(n,t,{get:e[t],enumerable:!0})},U=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of z(e))!B.call(n,a)&&a!==t&&$(n,a,{get:()=>e[a],enumerable:!(r=V(e,a))||r.enumerable});return n};var G=n=>U($({},"__esModule",{value:!0}),n);var X={};H(X,{EdenWS:()=>w,edenTreaty:()=>Q});var b=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var K=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let r="";for(let[a,s]of Object.entries(t))r+=`${a}=${s}&`;return`${n}${e}?${r.slice(0,-1)}`},O=n=>!Number.isNaN(parseInt(n));var F=typeof FileList>"u",j=n=>F?n instanceof Blob:n instanceof FileList||n instanceof File,_=n=>{if(!n)return!1;for(let e in n){if(j(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>j(t)))return!0}return!1},R=n=>F?n:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],n.name,{lastModified:n.lastModified,type:n.type});e(r)},t.readAsArrayBuffer(n)}),w=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,r){return this.addEventListener(e,t,r)}off(e,t,r){return this.ws.removeEventListener(e,t,r),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,r){return this.ws.addEventListener(e,a=>{if(e==="message"){let s=a.data.toString(),l=s.charCodeAt(0);if(l===47||l===123)try{s=JSON.parse(s)}catch{}else O(s)?s=+s:s==="true"?s=!0:s==="false"&&(s=!1);t({...a,data:s})}else t(a)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},I=(n,e="",t)=>new Proxy(()=>{},{get(r,a,s){return I(n,`${e}/${a.toString()}`,t)},apply(r,a,[s,l={}]=[{},{}]){let u=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:M,$fetch:L,$headers:N,$transform:g,getRaw:P,...C}=s??{};u??=C;let v=e.lastIndexOf("/"),E=e.slice(v+1).toUpperCase(),x=K(n,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},M)),q=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,k=g?Array.isArray(g)?g:[g]:void 0;return k&&(p?p=k.concat(p):p=k),E==="SUBSCRIBE"?new w(x.replace(/^([^]+):\/\//,x.startsWith("https://")?"wss://":"ws://")):(async D=>{let f,W={...t.$fetch?.headers,...L?.headers,...l.headers,...N};if(E!=="GET"&&E!=="HEAD"){f=Object.keys(u).length||Array.isArray(u)?u:void 0;let i=typeof f=="object"||Array.isArray(u);if(i&&_(f)){let h=new FormData;for(let[m,c]of Object.entries(f))if(F)h.append(m,c);else if(c instanceof File)h.append(m,await R(c));else if(c instanceof FileList)for(let d=0;d<c.length;d++)h.append(m,await R(c[d]));else if(Array.isArray(c))for(let d=0;d<c.length;d++){let T=c[d];h.append(m,T instanceof File?await R(T):T)}else h.append(m,c);f=h}else W["content-type"]=i?"application/json":"text/plain",f=i?JSON.stringify(f):u}let o=await q(x,{method:E,body:f,...t.$fetch,...l.fetch,...L,headers:W}),S;if(D.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":S=await o.json();break;default:S=await o.text().then(i=>O(i)?+i:i==="true"?!0:i==="false"?!1:i)}let J=o.status>=300||o.status<200?new b(o.status,S):null,A={data:S,error:J,response:o,status:o.status,headers:o.headers};if(p)for(let i of p){let y=i(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:P})}}),Q=(n,e={fetcher:fetch})=>new Proxy({},{get(t,r){return I(n,r,e)}});return G(X);})();
|
package/dist/treaty.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var $=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var H=(n,e)=>{for(var t in e)$(n,t,{get:e[t],enumerable:!0})},U=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of z(e))!B.call(n,a)&&a!==t&&$(n,a,{get:()=>e[a],enumerable:!(r=V(e,a))||r.enumerable});return n};var G=n=>U($({},"__esModule",{value:!0}),n);var X={};H(X,{EdenWS:()=>w,edenTreaty:()=>Q});module.exports=G(X);var b=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var K=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let r="";for(let[a,s]of Object.entries(t))r+=`${a}=${s}&`;return`${n}${e}?${r.slice(0,-1)}`},O=n=>!Number.isNaN(parseInt(n));var F=typeof FileList>"u",j=n=>F?n instanceof Blob:n instanceof FileList||n instanceof File,_=n=>{if(!n)return!1;for(let e in n){if(j(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>j(t)))return!0}return!1},R=n=>F?n:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],n.name,{lastModified:n.lastModified,type:n.type});e(r)},t.readAsArrayBuffer(n)}),w=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,r){return this.addEventListener(e,t,r)}off(e,t,r){return this.ws.removeEventListener(e,t,r),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,r){return this.ws.addEventListener(e,a=>{if(e==="message"){let s=a.data.toString(),l=s.charCodeAt(0);if(l===47||l===123)try{s=JSON.parse(s)}catch{}else O(s)?s=+s:s==="true"?s=!0:s==="false"&&(s=!1);t({...a,data:s})}else t(a)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},I=(n,e="",t)=>new Proxy(()=>{},{get(r,a,s){return I(n,`${e}/${a.toString()}`,t)},apply(r,a,[s,l={}]=[{},{}]){let u=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:M,$fetch:L,$headers:N,$transform:g,getRaw:P,...C}=s??{};u??=C;let v=e.lastIndexOf("/"),E=e.slice(v+1).toUpperCase(),x=K(n,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},M)),q=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,k=g?Array.isArray(g)?g:[g]:void 0;return k&&(p?p=k.concat(p):p=k),E==="SUBSCRIBE"?new w(x.replace(/^([^]+):\/\//,x.startsWith("https://")?"wss://":"ws://")):(async D=>{let f,W={...t.$fetch?.headers,...L?.headers,...l.headers,...N};if(E!=="GET"&&E!=="HEAD"){f=Object.keys(u).length||Array.isArray(u)?u:void 0;let i=typeof f=="object"||Array.isArray(u);if(i&&_(f)){let h=new FormData;for(let[m,c]of Object.entries(f))if(F)h.append(m,c);else if(c instanceof File)h.append(m,await R(c));else if(c instanceof FileList)for(let d=0;d<c.length;d++)h.append(m,await R(c[d]));else if(Array.isArray(c))for(let d=0;d<c.length;d++){let T=c[d];h.append(m,T instanceof File?await R(T):T)}else h.append(m,c);f=h}else W["content-type"]=i?"application/json":"text/plain",f=i?JSON.stringify(f):u}let o=await q(x,{method:E,body:f,...t.$fetch,...l.fetch,...L,headers:W}),S;if(D.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":S=await o.json();break;default:S=await o.text().then(i=>O(i)?+i:i==="true"?!0:i==="false"?!1:i)}let J=o.status>=300||o.status<200?new b(o.status,S):null,A={data:S,error:J,response:o,status:o.status,headers:o.headers};if(p)for(let i of p){let y=i(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:P})}}),Q=(n,e={fetcher:fetch})=>new Proxy({},{get(t,r){return I(n,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
|
package/dist/treaty.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"./chunk-
|
|
1
|
+
import{a,b}from"./chunk-3IC43ZE4.mjs";import"./chunk-Y6SMVGJX.mjs";export{a as EdenWS,b as edenTreaty};
|
package/package.json
CHANGED
package/src/fetch/types.ts
CHANGED
package/src/treaty/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Elysia, InputSchema } from 'elysia'
|
|
|
2
2
|
|
|
3
3
|
import { EdenFetchError } from '../errors'
|
|
4
4
|
|
|
5
|
-
import { composePath } from './utils'
|
|
5
|
+
import { composePath, isNumericString } from './utils'
|
|
6
6
|
import type { EdenTreaty } from './types'
|
|
7
7
|
|
|
8
8
|
export type { EdenTreaty } from './types'
|
|
@@ -123,7 +123,7 @@ export class EdenWS<Schema extends InputSchema<any> = InputSchema> {
|
|
|
123
123
|
} catch {
|
|
124
124
|
// Not Empty
|
|
125
125
|
}
|
|
126
|
-
else if (
|
|
126
|
+
else if (isNumericString(data)) data = +data
|
|
127
127
|
else if (data === 'true') data = true
|
|
128
128
|
else if (data === 'false') data = false
|
|
129
129
|
|
|
@@ -191,8 +191,14 @@ const createProxy = (
|
|
|
191
191
|
? initialBody
|
|
192
192
|
: undefined
|
|
193
193
|
|
|
194
|
-
const {
|
|
195
|
-
|
|
194
|
+
const {
|
|
195
|
+
$query,
|
|
196
|
+
$fetch,
|
|
197
|
+
$headers,
|
|
198
|
+
$transform,
|
|
199
|
+
getRaw,
|
|
200
|
+
...restBody
|
|
201
|
+
} = initialBody ?? {}
|
|
196
202
|
|
|
197
203
|
bodyObj ??= restBody
|
|
198
204
|
|
|
@@ -230,7 +236,9 @@ const createProxy = (
|
|
|
230
236
|
)
|
|
231
237
|
)
|
|
232
238
|
|
|
233
|
-
const execute = async <T extends EdenTreaty.ExecuteOptions>(
|
|
239
|
+
const execute = async <T extends EdenTreaty.ExecuteOptions>(
|
|
240
|
+
modifiers: T
|
|
241
|
+
): Promise<EdenTreaty.ExecuteReturnType<T>> => {
|
|
234
242
|
let body: any
|
|
235
243
|
|
|
236
244
|
const headers = {
|
|
@@ -244,8 +252,8 @@ const createProxy = (
|
|
|
244
252
|
body = Object.keys(bodyObj).length
|
|
245
253
|
? bodyObj
|
|
246
254
|
: Array.isArray(bodyObj)
|
|
247
|
-
|
|
248
|
-
|
|
255
|
+
? bodyObj
|
|
256
|
+
: undefined
|
|
249
257
|
|
|
250
258
|
const isObject =
|
|
251
259
|
typeof body === 'object' || Array.isArray(bodyObj)
|
|
@@ -320,7 +328,7 @@ const createProxy = (
|
|
|
320
328
|
|
|
321
329
|
default:
|
|
322
330
|
data = await response.text().then((data) => {
|
|
323
|
-
if (
|
|
331
|
+
if (isNumericString(data)) return +data
|
|
324
332
|
if (data === 'true') return true
|
|
325
333
|
if (data === 'false') return false
|
|
326
334
|
|
|
@@ -333,27 +341,23 @@ const createProxy = (
|
|
|
333
341
|
? new EdenFetchError(response.status, data)
|
|
334
342
|
: null
|
|
335
343
|
|
|
344
|
+
let executeReturn = {
|
|
345
|
+
data,
|
|
346
|
+
error,
|
|
347
|
+
response,
|
|
348
|
+
status: response.status,
|
|
349
|
+
headers: response.headers
|
|
350
|
+
}
|
|
351
|
+
|
|
336
352
|
if (transforms)
|
|
337
353
|
for (const transform of transforms) {
|
|
338
|
-
let temp = transform(
|
|
339
|
-
data,
|
|
340
|
-
status: response.status,
|
|
341
|
-
headers: response.headers,
|
|
342
|
-
response,
|
|
343
|
-
error
|
|
344
|
-
})
|
|
354
|
+
let temp = transform(executeReturn)
|
|
345
355
|
if (temp instanceof Promise) temp = await temp
|
|
346
|
-
|
|
347
|
-
|
|
356
|
+
if (temp !== undefined && temp !== null)
|
|
357
|
+
executeReturn = temp as any
|
|
348
358
|
}
|
|
349
359
|
|
|
350
|
-
return
|
|
351
|
-
data,
|
|
352
|
-
error,
|
|
353
|
-
response: response,
|
|
354
|
-
status: response.status,
|
|
355
|
-
headers: response.headers
|
|
356
|
-
} as any
|
|
360
|
+
return executeReturn as any
|
|
357
361
|
}
|
|
358
362
|
|
|
359
363
|
return execute({ getRaw })
|
package/src/treaty/utils.ts
CHANGED
package/dist/chunk-NZCTJ6S3.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as R}from"./chunk-Y6SMVGJX.mjs";var L=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let r="";for(let[c,s]of Object.entries(t))r+=`${c}=${s}&`;return`${n}${e}?${r.slice(0,-1)}`};var T=typeof FileList>"u",W=n=>T?n instanceof Blob:n instanceof FileList||n instanceof File,q=n=>{if(!n)return!1;for(let e in n){if(W(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>W(t)))return!0}return!1},k=n=>T?n:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],n.name,{lastModified:n.lastModified,type:n.type});e(r)},t.readAsArrayBuffer(n)}),x=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(t=>this.send(t)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,t,r){return this.addEventListener(e,t,r)}off(e,t,r){return this.ws.removeEventListener(e,t,r),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,r){return this.ws.addEventListener(e,c=>{if(e==="message"){let s=c.data.toString(),u=s.charCodeAt(0);if(u===47||u===123)try{s=JSON.parse(s)}catch{}else Number.isNaN(+s)?s==="true"?s=!0:s==="false"&&(s=!1):s=+s;t({...c,data:s})}else t(c)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},K=(n,e="",t)=>new Proxy(()=>{},{get(r,c,s){return K(n,`${e}/${c.toString()}`,t)},apply(r,c,[s,u={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:N,$fetch:$,$headers:j,$transform:g,getRaw:M,...I}=s??{};y??=I;let w=e.lastIndexOf("/"),b=e.slice(w+1).toUpperCase(),S=L(n,w===-1?"/":e.slice(0,w),Object.assign(u.query??{},N)),P=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,v=g?Array.isArray(g)?g:[g]:void 0;return v&&(p?p=v.concat(p):p=v),b==="SUBSCRIBE"?new x(S.replace(/^([^]+):\/\//,S.startsWith("https://")?"wss://":"ws://")):(async C=>{let f,F={...t.$fetch?.headers,...$?.headers,...u.headers,...j};if(b!=="GET"&&b!=="HEAD"){f=Object.keys(y).length||Array.isArray(y)?y:void 0;let i=typeof f=="object"||Array.isArray(y);if(i&&q(f)){let m=new FormData;for(let[E,o]of Object.entries(f))if(T)m.append(E,o);else if(o instanceof File)m.append(E,await k(o));else if(o instanceof FileList)for(let l=0;l<o.length;l++)m.append(E,await k(o[l]));else if(Array.isArray(o))for(let l=0;l<o.length;l++){let A=o[l];m.append(E,A instanceof File?await k(A):A)}else m.append(E,o);f=m}else F["content-type"]=i?"application/json":"text/plain",f=i?JSON.stringify(f):y}let a=await P(S,{method:b,body:f,...t.$fetch,...u.fetch,...$,headers:F}),h;if(C.getRaw)return a;switch(a.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await a.json();break;default:h=await a.text().then(i=>Number.isNaN(+i)?i==="true"?!0:i==="false"?!1:i:+i)}let O=a.status>=300||a.status<200?new R(a.status,h):null;if(p)for(let i of p){let d=i({data:h,status:a.status,headers:a.headers,response:a,error:O});d instanceof Promise&&(d=await d),d!=null&&(h=d)}return{data:h,error:O,response:a,status:a.status,headers:a.headers}})({getRaw:M})}}),U=(n,e={fetcher:fetch})=>new Proxy({},{get(t,r){return K(n,r,e)}});export{x as a,U as b};
|