@elysiajs/eden 1.0.0 → 1.0.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.
@@ -1 +1 @@
1
- import{b as p,c as y}from"./chunk-HUZ6GXDC.mjs";var g=(f,u)=>(s,{query:i,params:h,body:n,...r}={})=>{h&&Object.entries(h).forEach(([e,t])=>{s=s.replace(`:${e}`,t)});let o=r.headers?.["Content-Type"];if(!o||o==="application/json")try{n=JSON.stringify(n)}catch{}let l=u?.fetcher||globalThis.fetch,d=i?`?${new URLSearchParams(i).toString()}`:"",c=()=>l(f+s+d,{...r,method:r.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...r.headers}:r.headers,body:n}).then(async e=>{let t;switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":t=await e.json();break;default:t=await e.text().then(a=>p(a)?parseInt(a):a==="true"?!0:a==="false"?!1:a);break}return e.status>300?{data:null,status:e.status,headers:e.headers,retry:c,error:new y(e.status,t)}:{data:t,error:null,status:e.status,headers:e.headers,retry:c}});return c()};export{g as a};
1
+ import{b as y,c as p}from"./chunk-HUZ6GXDC.mjs";var g=(f,u)=>(s,{query:i,params:h,body:n,...r}={})=>{h&&Object.entries(h).forEach(([e,t])=>{s=s.replace(`:${e}`,t)});let o=r.headers?.["Content-Type"];if(!o||o==="application/json")try{n=JSON.stringify(n)}catch{}let l=u?.fetcher||globalThis.fetch,d=i?`?${new URLSearchParams(i).toString()}`:"",c=()=>l(f+s+d,{...r,method:r.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...r.headers}:r.headers,body:n}).then(async e=>{let t;switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":t=await e.json();break;default:t=await e.text().then(a=>y(a)?parseInt(a):a==="true"?!0:a==="false"?!1:a);break}return e.status>300?{data:null,status:e.status,headers:e.headers,retry:c,error:new p(e.status,t)}:{data:t,error:null,status:e.status,headers:e.headers,retry:c}});return c()};export{g as a};
@@ -1,12 +1,4 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { EdenFetch } from './types';
3
3
  export type { EdenFetch } from './types';
4
- export declare const edenFetch: <App extends Elysia<any, any, any, any, any, any, {
5
- decorator: {};
6
- store: {};
7
- derive: {};
8
- resolve: {};
9
- }, {
10
- schema: {};
11
- macro: {};
12
- }>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
4
+ export declare const edenFetch: <App extends Elysia<any, any, any, any, any, any, any, any>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
package/dist/fetch.d.mts CHANGED
@@ -43,14 +43,6 @@ declare namespace EdenFetch {
43
43
  }>>;
44
44
  }
45
45
 
46
- declare const edenFetch: <App extends Elysia<any, any, any, any, any, any, {
47
- decorator: {};
48
- store: {};
49
- derive: {};
50
- resolve: {};
51
- }, {
52
- schema: {};
53
- macro: {};
54
- }>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
46
+ declare const edenFetch: <App extends Elysia<any, any, any, any, any, any, any, any>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
55
47
 
56
48
  export { EdenFetch, edenFetch };
package/dist/fetch.d.ts CHANGED
@@ -43,14 +43,6 @@ declare namespace EdenFetch {
43
43
  }>>;
44
44
  }
45
45
 
46
- declare const edenFetch: <App extends Elysia<any, any, any, any, any, any, {
47
- decorator: {};
48
- store: {};
49
- derive: {};
50
- resolve: {};
51
- }, {
52
- schema: {};
53
- macro: {};
54
- }>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
46
+ declare const edenFetch: <App extends Elysia<any, any, any, any, any, any, any, any>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
55
47
 
56
48
  export { EdenFetch, edenFetch };
package/dist/fetch.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-FGCQ7BRI.mjs";import"./chunk-HUZ6GXDC.mjs";export{a as edenFetch};
1
+ import{a}from"./chunk-TDCHXBL7.mjs";import"./chunk-HUZ6GXDC.mjs";export{a as edenFetch};
package/dist/index.d.mts CHANGED
@@ -96,14 +96,6 @@ declare namespace Treaty {
96
96
  export { };
97
97
  }
98
98
 
99
- declare const treaty: <const App extends Elysia<any, any, any, any, any, any, {
100
- decorator: {};
101
- store: {};
102
- derive: {};
103
- resolve: {};
104
- }, {
105
- schema: {};
106
- macro: {};
107
- }>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
99
+ declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
108
100
 
109
101
  export { treaty };
package/dist/index.d.ts CHANGED
@@ -96,14 +96,6 @@ declare namespace Treaty {
96
96
  export { };
97
97
  }
98
98
 
99
- declare const treaty: <const App extends Elysia<any, any, any, any, any, any, {
100
- decorator: {};
101
- store: {};
102
- derive: {};
103
- resolve: {};
104
- }, {
105
- schema: {};
106
- macro: {};
107
- }>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
99
+ declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
108
100
 
109
101
  export { treaty };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{b as C}from"./chunk-Q3DJMDQ2.mjs";import{a as H}from"./chunk-FGCQ7BRI.mjs";import{b as k,c as F}from"./chunk-HUZ6GXDC.mjs";var T=class{constructor(e){this.url=e;this.ws=new WebSocket(e)}ws;send(e){return Array.isArray(e)?(e.forEach(r=>this.send(r)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,r,y){return this.addEventListener(e,r,y)}off(e,r,y){return this.ws.removeEventListener(e,r,y),this}subscribe(e,r){return this.addEventListener("message",e,r)}addEventListener(e,r,y){return this.ws.addEventListener(e,v=>{if(e==="message"){let c=v.data.toString(),i=c.charCodeAt(0);if(i===47||i===123)try{c=JSON.parse(c)}catch{}else k(c)?c=+c:c==="true"?c=!0:c==="false"&&(c=!1);r({...v,data:c})}else r(v)},y),this}removeEventListener(e,r,y){return this.off(e,r,y),this}close(){return this.ws.close(),this}};var I=["get","post","put","delete","patch","options","head","connect","subscribe"],N=["localhost","127.0.0.1","0.0.0.0"],O=typeof FileList>"u",M=t=>O?t instanceof Blob:t instanceof FileList||t instanceof File,P=t=>{if(!t)return!1;for(let e in t)if(M(t[e])||Array.isArray(t[e])&&t[e].find(M))return!0;return!1},L=t=>O?t:new Promise(e=>{let r=new FileReader;r.onload=()=>{let y=new File([r.result],t.name,{lastModified:t.lastModified,type:t.type});e(y)},r.readAsArrayBuffer(t)}),S=(t,e,r=[],y)=>new Proxy(()=>{},{get(v,c){return S(t,e,c==="index"?r:[...r,c],y)},apply(v,c,[i,h]){if(!i||h||typeof i=="object"&&Object.keys(i).length!==1||I.includes(r.at(-1))){let w=r.pop(),m="/"+r.join("/"),{fetcher:R=fetch,headers:s,onRequest:E,onResponse:g,fetch:q}=e,W=w==="get"||w==="head"||w==="subscribe";s={...typeof s=="object"&&!Array.isArray(s)?s:{},...W?i?.headers:h?.headers};let K=W?i?.query:h?.query,b="";if(K)for(let[a,o]of Object.entries(K))b+=(b?"&":"?")+`${a}=${o}`;if(typeof e.headers=="function"&&!(s instanceof Headers)){let a=e.headers(m,h??{});a&&(s={...s,...a})}else if(Array.isArray(e.headers)&&e.headers.every(a=>typeof a=="function"))for(let a of e.headers){let o=a(m,h??{});o&&(s={...s,...o})}else if(s instanceof Headers){s||(s={});for(let[a,o]of Object.entries(s))s[a]=o}if(w==="subscribe"){let a=t.replace(/^([^]+):\/\//,t.startsWith("https://")?"wss://":t.startsWith("http://")||N.find(o=>t.includes(o))?"ws://":"wss://")+m+b;return new T(a)}return(async()=>{let a=(s instanceof Headers?s.get("content-type"):Array.isArray(s)?s.find(n=>Array.isArray(n)&&n[0]==="headers"?n[1]:!1):typeof s=="function"?s(m,h??{}):s?.contentType)||h?.headers?.contentType;if(!a)if(typeof i=="object")a="application/json",i=JSON.stringify(i);else if(P(i)){let n=new FormData;for(let[f,l]of Object.entries(i)){if(O){n.append(f,l);continue}if(l instanceof File){n.append(f,await L(l));continue}if(l instanceof FileList){for(let d=0;d<l.length;d++)n.append(f,await L(l[d]));continue}if(Array.isArray(l)){for(let d=0;d<l.length;d++){let x=l[d];n.append(f,x instanceof File?await L(x):x)}continue}n.append(f,l)}i=n}else i!=null&&(a="text/plain");let o={method:w,body:i,...q,headers:{...s,"content-type":a}};if(W&&delete o.body,E){Array.isArray(E)||(E=[E]);for(let n of E){let f=await n(m,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...f.headers}})}}let j=t+m+b,p=await(y?.handle(new Request(j,o))??R(j,o)),u,A;if(g){Array.isArray(g)||(g=[g]);for(let n of g)try{if(u=await n(p.clone()),u!==void 0)break}catch(f){f instanceof F?A=f:A=new F(422,f);break}}if(u===void 0){switch(p.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await p.json();break;case"application/octet-stream":u=await p.arrayBuffer();break;default:u=await p.text().then(n=>{if(k(n))return+n;if(n==="true")return!0;if(n==="false")return!1;if(!n)return n;let f=new Date(n);return Number.isNaN(f.getTime())?n:f})}(p.status>=300||p.status<200)&&(A=new F(p.status,u),u=void 0)}return{data:u,error:A,response:p,status:p.status,headers:p.headers}})()}return typeof i=="object"?S(t,e,[...r,Object.values(i)[0]],y):S(t,e,r)}}),_=(t,e={})=>typeof t=="string"?(t.includes("://")||(t=(N.find(r=>t.includes(r))?"http://":"https://")+t),t.endsWith("/")&&(t=t.slice(0,-1)),S(t,e)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),S("http://e.ly",e,[],t));export{H as edenFetch,C as edenTreaty,_ as treaty};
1
+ import{b as C}from"./chunk-Q3DJMDQ2.mjs";import{a as H}from"./chunk-TDCHXBL7.mjs";import{b as k,c as F}from"./chunk-HUZ6GXDC.mjs";var T=class{constructor(e){this.url=e;this.ws=new WebSocket(e)}ws;send(e){return Array.isArray(e)?(e.forEach(r=>this.send(r)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,r,y){return this.addEventListener(e,r,y)}off(e,r,y){return this.ws.removeEventListener(e,r,y),this}subscribe(e,r){return this.addEventListener("message",e,r)}addEventListener(e,r,y){return this.ws.addEventListener(e,v=>{if(e==="message"){let c=v.data.toString(),i=c.charCodeAt(0);if(i===47||i===123)try{c=JSON.parse(c)}catch{}else k(c)?c=+c:c==="true"?c=!0:c==="false"&&(c=!1);r({...v,data:c})}else r(v)},y),this}removeEventListener(e,r,y){return this.off(e,r,y),this}close(){return this.ws.close(),this}};var I=["get","post","put","delete","patch","options","head","connect","subscribe"],N=["localhost","127.0.0.1","0.0.0.0"],O=typeof FileList>"u",M=t=>O?t instanceof Blob:t instanceof FileList||t instanceof File,P=t=>{if(!t)return!1;for(let e in t)if(M(t[e])||Array.isArray(t[e])&&t[e].find(M))return!0;return!1},L=t=>O?t:new Promise(e=>{let r=new FileReader;r.onload=()=>{let y=new File([r.result],t.name,{lastModified:t.lastModified,type:t.type});e(y)},r.readAsArrayBuffer(t)}),S=(t,e,r=[],y)=>new Proxy(()=>{},{get(v,c){return S(t,e,c==="index"?r:[...r,c],y)},apply(v,c,[i,h]){if(!i||h||typeof i=="object"&&Object.keys(i).length!==1||I.includes(r.at(-1))){let w=r.pop(),m="/"+r.join("/"),{fetcher:R=fetch,headers:s,onRequest:E,onResponse:g,fetch:q}=e,W=w==="get"||w==="head"||w==="subscribe";s={...typeof s=="object"&&!Array.isArray(s)?s:{},...W?i?.headers:h?.headers};let K=W?i?.query:h?.query,b="";if(K)for(let[a,o]of Object.entries(K))b+=(b?"&":"?")+`${a}=${o}`;if(typeof e.headers=="function"&&!(s instanceof Headers)){let a=e.headers(m,h??{});a&&(s={...s,...a})}else if(Array.isArray(e.headers)&&e.headers.every(a=>typeof a=="function"))for(let a of e.headers){let o=a(m,h??{});o&&(s={...s,...o})}else if(s instanceof Headers){s||(s={});for(let[a,o]of Object.entries(s))s[a]=o}if(w==="subscribe"){let a=t.replace(/^([^]+):\/\//,t.startsWith("https://")?"wss://":t.startsWith("http://")||N.find(o=>t.includes(o))?"ws://":"wss://")+m+b;return new T(a)}return(async()=>{let a=(s instanceof Headers?s.get("content-type"):Array.isArray(s)?s.find(n=>Array.isArray(n)&&n[0]==="headers"?n[1]:!1):typeof s=="function"?s(m,h??{}):s?.contentType)||h?.headers?.contentType;if(!a)if(typeof i=="object")a="application/json",i=JSON.stringify(i);else if(P(i)){let n=new FormData;for(let[f,l]of Object.entries(i)){if(O){n.append(f,l);continue}if(l instanceof File){n.append(f,await L(l));continue}if(l instanceof FileList){for(let d=0;d<l.length;d++)n.append(f,await L(l[d]));continue}if(Array.isArray(l)){for(let d=0;d<l.length;d++){let x=l[d];n.append(f,x instanceof File?await L(x):x)}continue}n.append(f,l)}i=n}else i!=null&&(a="text/plain");let o={method:w,body:i,...q,headers:{...s,"content-type":a}};if(W&&delete o.body,E){Array.isArray(E)||(E=[E]);for(let n of E){let f=await n(m,o);typeof f=="object"&&(o={...o,...f,headers:{...o.headers,...f.headers}})}}let j=t+m+b,p=await(y?.handle(new Request(j,o))??R(j,o)),u,A;if(g){Array.isArray(g)||(g=[g]);for(let n of g)try{if(u=await n(p.clone()),u!==void 0)break}catch(f){f instanceof F?A=f:A=new F(422,f);break}}if(u===void 0){switch(p.headers.get("Content-Type")?.split(";")[0]){case"application/json":u=await p.json();break;case"application/octet-stream":u=await p.arrayBuffer();break;default:u=await p.text().then(n=>{if(k(n))return+n;if(n==="true")return!0;if(n==="false")return!1;if(!n)return n;let f=new Date(n);return Number.isNaN(f.getTime())?n:f})}(p.status>=300||p.status<200)&&(A=new F(p.status,u),u=void 0)}return{data:u,error:A,response:p,status:p.status,headers:p.headers}})()}return typeof i=="object"?S(t,e,[...r,Object.values(i)[0]],y):S(t,e,r)}}),_=(t,e={})=>typeof t=="string"?(t.includes("://")||(t=(N.find(r=>t.includes(r))?"http://":"https://")+t),t.endsWith("/")&&(t=t.slice(0,-1)),S(t,e)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),S("http://e.ly",e,[],t));export{H as edenFetch,C as edenTreaty,_ as treaty};
@@ -13,12 +13,4 @@ export declare class EdenWS<Schema extends InputSchema<any> = InputSchema> {
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
  }
16
- export declare const edenTreaty: <App extends Elysia<any, any, any, any, any, any, {
17
- decorator: {};
18
- store: {};
19
- derive: {};
20
- resolve: {};
21
- }, {
22
- schema: {};
23
- macro: {};
24
- }>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
16
+ export declare const edenTreaty: <App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
package/dist/treaty.d.mts CHANGED
@@ -110,14 +110,6 @@ declare class EdenWS<Schema extends InputSchema<any> = InputSchema> {
110
110
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
111
111
  close(): this;
112
112
  }
113
- declare const edenTreaty: <App extends Elysia<any, any, any, any, any, any, {
114
- decorator: {};
115
- store: {};
116
- derive: {};
117
- resolve: {};
118
- }, {
119
- schema: {};
120
- macro: {};
121
- }>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
113
+ declare const edenTreaty: <App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
122
114
 
123
115
  export { EdenTreaty, EdenWS, edenTreaty };
package/dist/treaty.d.ts CHANGED
@@ -110,14 +110,6 @@ declare class EdenWS<Schema extends InputSchema<any> = InputSchema> {
110
110
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
111
111
  close(): this;
112
112
  }
113
- declare const edenTreaty: <App extends Elysia<any, any, any, any, any, any, {
114
- decorator: {};
115
- store: {};
116
- derive: {};
117
- resolve: {};
118
- }, {
119
- schema: {};
120
- macro: {};
121
- }>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
113
+ declare const edenTreaty: <App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
122
114
 
123
115
  export { EdenTreaty, EdenWS, edenTreaty };
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var $=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(t,e)=>{for(var n in e)$(t,n,{get:e[n],enumerable:!0})},G=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of H(e))!U.call(t,a)&&a!==n&&$(t,a,{get:()=>e[a],enumerable:!(r=B(e,a))||r.enumerable});return t};var _=t=>G($({},"__esModule",{value:!0}),t);var X={};V(X,{EdenWS:()=>w,edenTreaty:()=>Q});var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var K=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[a,s]of Object.entries(n))r+=`${a}=${s}&`;return`${t}${e}?${r.slice(0,-1)}`},O=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var F=typeof FileList>"u",N=t=>F?t instanceof Blob:t instanceof FileList||t instanceof File,z=t=>{if(!t)return!1;for(let e in t){if(N(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>N(n)))return!0}return!1},R=t=>F?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),w=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,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);n({...a,data:s})}else n(a)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},j=(t,e="",n)=>new Proxy(()=>{},{get(r,a,s){return j(t,`${e}/${a.toString()}`,n)},apply(r,a,[s,l={}]=[{},{}]){let u=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:M,$fetch:L,$headers:I,$transform:g,getRaw:P,...C}=s??{};u??=C;let v=e.lastIndexOf("/"),E=e.slice(v+1).toUpperCase(),x=K(t,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},M)),q=n.fetcher??fetch,p=n.transform?Array.isArray(n.transform)?n.transform:[n.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 i,W={...n.$fetch?.headers,...L?.headers,...l.headers,...I};if(E!=="GET"&&E!=="HEAD"){i=Object.keys(u).length||Array.isArray(u)?u:void 0;let o=i&&(typeof i=="object"||Array.isArray(u));if(o&&z(i)){let h=new FormData;for(let[m,f]of Object.entries(i))if(F)h.append(m,f);else if(f instanceof File)h.append(m,await R(f));else if(f instanceof FileList)for(let d=0;d<f.length;d++)h.append(m,await R(f[d]));else if(Array.isArray(f))for(let d=0;d<f.length;d++){let T=f[d];h.append(m,T instanceof File?await R(T):T)}else h.append(m,f);i=h}else i!=null&&(W["content-type"]=o?"application/json":"text/plain",i=o?JSON.stringify(i):u)}let c=await q(x,{method:E,body:i,...n.$fetch,...l.fetch,...L,headers:W}),b;if(D.getRaw)return c;switch(c.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await c.json();break;default:b=await c.text().then(o=>O(o)?+o:o==="true"?!0:o==="false"?!1:o)}let J=c.status>=300||c.status<200?new S(c.status,b):null,A={data:b,error:J,response:c,status:c.status,headers:c.headers};if(p)for(let o of p){let y=o(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:P})}}),Q=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});return _(X);})();
1
+ "use strict";var Eden=(()=>{var $=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(t,e)=>{for(var n in e)$(t,n,{get:e[n],enumerable:!0})},G=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of H(e))!U.call(t,a)&&a!==n&&$(t,a,{get:()=>e[a],enumerable:!(r=B(e,a))||r.enumerable});return t};var _=t=>G($({},"__esModule",{value:!0}),t);var X={};V(X,{EdenWS:()=>w,edenTreaty:()=>Q});var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var K=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[a,s]of Object.entries(n))r+=`${a}=${s}&`;return`${t}${e}?${r.slice(0,-1)}`},O=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var F=typeof FileList>"u",N=t=>F?t instanceof Blob:t instanceof FileList||t instanceof File,z=t=>{if(!t)return!1;for(let e in t){if(N(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>N(n)))return!0}return!1},R=t=>F?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),w=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,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);n({...a,data:s})}else n(a)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},j=(t,e="",n)=>new Proxy(()=>{},{get(r,a,s){return j(t,`${e}/${a.toString()}`,n)},apply(r,a,[s,l={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:M,$fetch:L,$headers:I,$transform:g,getRaw:P,...C}=s??{};y??=C;let v=e.lastIndexOf("/"),E=e.slice(v+1).toUpperCase(),x=K(t,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},M)),q=n.fetcher??fetch,p=n.transform?Array.isArray(n.transform)?n.transform:[n.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 i,W={...n.$fetch?.headers,...L?.headers,...l.headers,...I};if(E!=="GET"&&E!=="HEAD"){i=Object.keys(y).length||Array.isArray(y)?y:void 0;let o=i&&(typeof i=="object"||Array.isArray(y));if(o&&z(i)){let h=new FormData;for(let[m,f]of Object.entries(i))if(F)h.append(m,f);else if(f instanceof File)h.append(m,await R(f));else if(f instanceof FileList)for(let d=0;d<f.length;d++)h.append(m,await R(f[d]));else if(Array.isArray(f))for(let d=0;d<f.length;d++){let T=f[d];h.append(m,T instanceof File?await R(T):T)}else h.append(m,f);i=h}else i!=null&&(W["content-type"]=o?"application/json":"text/plain",i=o?JSON.stringify(i):y)}let c=await q(x,{method:E,body:i,...n.$fetch,...l.fetch,...L,headers:W}),b;if(D.getRaw)return c;switch(c.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await c.json();break;default:b=await c.text().then(o=>O(o)?+o:o==="true"?!0:o==="false"?!1:o)}let J=c.status>=300||c.status<200?new S(c.status,b):null,A={data:b,error:J,response:c,status:c.status,headers:c.headers};if(p)for(let o of p){let u=o(A);u instanceof Promise&&(u=await u),u!=null&&(A=u)}return A})({getRaw:P})}}),Q=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});return _(X);})();
package/dist/treaty.js CHANGED
@@ -1 +1 @@
1
- "use strict";var $=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(t,e)=>{for(var n in e)$(t,n,{get:e[n],enumerable:!0})},G=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of H(e))!U.call(t,a)&&a!==n&&$(t,a,{get:()=>e[a],enumerable:!(r=B(e,a))||r.enumerable});return t};var _=t=>G($({},"__esModule",{value:!0}),t);var X={};V(X,{EdenWS:()=>w,edenTreaty:()=>Q});module.exports=_(X);var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var K=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[a,s]of Object.entries(n))r+=`${a}=${s}&`;return`${t}${e}?${r.slice(0,-1)}`},O=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var F=typeof FileList>"u",N=t=>F?t instanceof Blob:t instanceof FileList||t instanceof File,z=t=>{if(!t)return!1;for(let e in t){if(N(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>N(n)))return!0}return!1},R=t=>F?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),w=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,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);n({...a,data:s})}else n(a)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},j=(t,e="",n)=>new Proxy(()=>{},{get(r,a,s){return j(t,`${e}/${a.toString()}`,n)},apply(r,a,[s,l={}]=[{},{}]){let u=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:M,$fetch:L,$headers:I,$transform:g,getRaw:P,...C}=s??{};u??=C;let v=e.lastIndexOf("/"),E=e.slice(v+1).toUpperCase(),x=K(t,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},M)),q=n.fetcher??fetch,p=n.transform?Array.isArray(n.transform)?n.transform:[n.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 i,W={...n.$fetch?.headers,...L?.headers,...l.headers,...I};if(E!=="GET"&&E!=="HEAD"){i=Object.keys(u).length||Array.isArray(u)?u:void 0;let o=i&&(typeof i=="object"||Array.isArray(u));if(o&&z(i)){let h=new FormData;for(let[m,f]of Object.entries(i))if(F)h.append(m,f);else if(f instanceof File)h.append(m,await R(f));else if(f instanceof FileList)for(let d=0;d<f.length;d++)h.append(m,await R(f[d]));else if(Array.isArray(f))for(let d=0;d<f.length;d++){let T=f[d];h.append(m,T instanceof File?await R(T):T)}else h.append(m,f);i=h}else i!=null&&(W["content-type"]=o?"application/json":"text/plain",i=o?JSON.stringify(i):u)}let c=await q(x,{method:E,body:i,...n.$fetch,...l.fetch,...L,headers:W}),b;if(D.getRaw)return c;switch(c.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await c.json();break;default:b=await c.text().then(o=>O(o)?+o:o==="true"?!0:o==="false"?!1:o)}let J=c.status>=300||c.status<200?new S(c.status,b):null,A={data:b,error:J,response:c,status:c.status,headers:c.headers};if(p)for(let o of p){let y=o(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:P})}}),Q=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
1
+ "use strict";var $=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(t,e)=>{for(var n in e)$(t,n,{get:e[n],enumerable:!0})},G=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of H(e))!U.call(t,a)&&a!==n&&$(t,a,{get:()=>e[a],enumerable:!(r=B(e,a))||r.enumerable});return t};var _=t=>G($({},"__esModule",{value:!0}),t);var X={};V(X,{EdenWS:()=>w,edenTreaty:()=>Q});module.exports=_(X);var S=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var K=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[a,s]of Object.entries(n))r+=`${a}=${s}&`;return`${t}${e}?${r.slice(0,-1)}`},O=t=>t.trim().length!==0&&!Number.isNaN(Number(t));var F=typeof FileList>"u",N=t=>F?t instanceof Blob:t instanceof FileList||t instanceof File,z=t=>{if(!t)return!1;for(let e in t){if(N(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>N(n)))return!0}return!1},R=t=>F?t:new Promise(e=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],t.name,{lastModified:t.lastModified,type:t.type});e(r)},n.readAsArrayBuffer(t)}),w=class{ws;url;constructor(e){this.ws=new WebSocket(e),this.url=e}send(e){return Array.isArray(e)?(e.forEach(n=>this.send(n)),this):(this.ws.send(typeof e=="object"?JSON.stringify(e):e.toString()),this)}on(e,n,r){return this.addEventListener(e,n,r)}off(e,n,r){return this.ws.removeEventListener(e,n,r),this}subscribe(e,n){return this.addEventListener("message",e,n)}addEventListener(e,n,r){return this.ws.addEventListener(e,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);n({...a,data:s})}else n(a)},r),this}removeEventListener(e,n,r){return this.off(e,n,r),this}close(){return this.ws.close(),this}},j=(t,e="",n)=>new Proxy(()=>{},{get(r,a,s){return j(t,`${e}/${a.toString()}`,n)},apply(r,a,[s,l={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:M,$fetch:L,$headers:I,$transform:g,getRaw:P,...C}=s??{};y??=C;let v=e.lastIndexOf("/"),E=e.slice(v+1).toUpperCase(),x=K(t,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},M)),q=n.fetcher??fetch,p=n.transform?Array.isArray(n.transform)?n.transform:[n.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 i,W={...n.$fetch?.headers,...L?.headers,...l.headers,...I};if(E!=="GET"&&E!=="HEAD"){i=Object.keys(y).length||Array.isArray(y)?y:void 0;let o=i&&(typeof i=="object"||Array.isArray(y));if(o&&z(i)){let h=new FormData;for(let[m,f]of Object.entries(i))if(F)h.append(m,f);else if(f instanceof File)h.append(m,await R(f));else if(f instanceof FileList)for(let d=0;d<f.length;d++)h.append(m,await R(f[d]));else if(Array.isArray(f))for(let d=0;d<f.length;d++){let T=f[d];h.append(m,T instanceof File?await R(T):T)}else h.append(m,f);i=h}else i!=null&&(W["content-type"]=o?"application/json":"text/plain",i=o?JSON.stringify(i):y)}let c=await q(x,{method:E,body:i,...n.$fetch,...l.fetch,...L,headers:W}),b;if(D.getRaw)return c;switch(c.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await c.json();break;default:b=await c.text().then(o=>O(o)?+o:o==="true"?!0:o==="false"?!1:o)}let J=c.status>=300||c.status<200?new S(c.status,b):null,A={data:b,error:J,response:c,status:c.status,headers:c.headers};if(p)for(let o of p){let u=o(A);u instanceof Promise&&(u=await u),u!=null&&(A=u)}return A})({getRaw:P})}}),Q=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
@@ -1,12 +1,4 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { Treaty } from './types';
3
- export declare const treaty: <const App extends Elysia<any, any, any, any, any, any, {
4
- decorator: {};
5
- store: {};
6
- derive: {};
7
- resolve: {};
8
- }, {
9
- schema: {};
10
- macro: {};
11
- }>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
3
+ export declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any, any>>(domain: string | App, config?: Treaty.Config) => Treaty.Create<App>;
12
4
  export type { Treaty };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elysiajs/eden",
3
- "version": "1.0.0",
3
+ "version": "1.0.3",
4
4
  "description": "Fully type-safe Elysia client",
5
5
  "author": {
6
6
  "name": "saltyAom",
@@ -53,13 +53,13 @@
53
53
  "release": "npm run build && npm run test && npm publish --access public"
54
54
  },
55
55
  "peerDependencies": {
56
- "elysia": ">= 1.0.0"
56
+ "elysia": ">= 1.0.2"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@elysiajs/cors": "0.7.0",
60
60
  "@types/bun": "^1.0.3",
61
61
  "@types/node": "^18.15.5",
62
- "elysia": "^1.0.0",
62
+ "elysia": "^1.0.2",
63
63
  "esbuild": "^0.19.3",
64
64
  "eslint": "^8.26.0",
65
65
  "expect-type": "^0.17.3",