@elysiajs/eden 0.7.6 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
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};
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var O=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(r,e)=>{for(var t in e)O(r,t,{get:e[t],enumerable:!0})},z=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of J(e))!U.call(r,a)&&a!==t&&O(r,a,{get:()=>e[a],enumerable:!(n=D(e,a))||n.enumerable});return r};var B=r=>z(O({},"__esModule",{value:!0}),r);var H={};V(H,{edenFetch:()=>P,edenTreaty:()=>I});var S=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var C=(r,e,t)=>{if(r.endsWith("/")||(r+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${r}${e}`;let n="";for(let[a,s]of Object.entries(t))n+=`${a}=${s}&`;return`${r}${e}?${n.slice(0,-1)}`};var N=typeof FileList>"u",K=r=>N?r instanceof Blob:r instanceof FileList||r instanceof File,G=r=>{if(!r)return!1;for(let e in r){if(K(r[e]))return!0;if(Array.isArray(r[e])&&r[e].find(t=>K(t)))return!0}return!1},j=r=>N?r:new Promise(e=>{let t=new FileReader;t.onload=()=>{let n=new File([t.result],r.name,{lastModified:r.lastModified,type:r.type});e(n)},t.readAsArrayBuffer(r)}),L=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,n){return this.addEventListener(e,t,n)}off(e,t,n){return this.ws.removeEventListener(e,t,n),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,n){return this.ws.addEventListener(e,a=>{if(e==="message"){let s=a.data.toString(),o=s.charCodeAt(0);if(o===47||o===123)try{s=JSON.parse(s)}catch{}else Number.isNaN(+s)?s==="true"?s=!0:s==="fase"&&(s=!1):s=+s;t({...a,data:s})}else t(a)},n),this}removeEventListener(e,t,n){return this.off(e,t,n),this}close(){return this.ws.close(),this}},M=(r,e="",t)=>new Proxy(()=>{},{get(n,a,s){return M(r,`${e}/${a.toString()}`,t)},apply(n,a,[s,o={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:A,$fetch:x,$headers:w,$transform:i,...l}=s??{};y??=l;let d=e.lastIndexOf("/"),k=e.slice(d+1).toUpperCase(),F=C(r,d===-1?"/":e.slice(0,d),Object.assign(o.query??{},A)),q=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=$),k==="SUBSCRIBE"?new L(F.replace(/^([^]+):\/\//,F.startsWith("https://")?"wss://":"ws://")):(async()=>{let p,W={...t.$fetch?.headers,...x?.headers,...o.headers,...w};if(k!=="GET"&&k!=="HEAD"){p=Object.keys(y).length||Array.isArray(y)?y:void 0;let f=typeof p=="object"||Array.isArray(y);if(f&&G(p)){let b=new FormData;for(let[v,u]of Object.entries(p))if(N)b.append(v,u);else if(u instanceof File)b.append(v,await j(u));else if(u instanceof FileList)for(let m=0;m<u.length;m++)b.append(v,await j(u[m]));else if(Array.isArray(u))for(let m=0;m<u.length;m++){let T=u[m];b.append(v,T instanceof File?j(T):T)}else b.append(v,u);p=b}else W["content-type"]=f?"application/json":"text/plain",p=f?JSON.stringify(p):y}let c=await q(F,{method:k,body:p,...t.$fetch,...o.fetch,...x,headers:W}),g;switch(c.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await c.json();break;default:g=await c.text().then(f=>Number.isNaN(+f)?f==="true"?!0:f==="false"?!1:f:+f)}let R=c.status>=300||c.status<200?new S(c.status,g):null;if(E)for(let f of E){let h=f({data:g,status:c.status,headers:c.headers,response:c,error:R});h instanceof Promise&&(h=await h),h!=null&&(g=h)}return{data:g,error:R,response:c,status:c.status,headers:c.headers}})()}}),I=(r,e={fetcher:fetch})=>new Proxy({},{get(t,n){return M(r,n,e)}});var P=(r,e)=>(t,{query:n,params:a,body:s,...o}={})=>{a&&Object.entries(a).forEach(([i,l])=>{t=t.replace(`:${i}`,l)});let y=o.headers?.["Content-Type"];if(!y||y==="application/json")try{s=JSON.stringify(s)}catch{}let A=e?.fetcher||globalThis.fetch,x=n?`?${new URLSearchParams(n).toString()}`:"",w=()=>A(r+t+x,{...o,method:o.method?.toUpperCase()||"GET",headers:s?{"content-type":"application/json",...o.headers}:o.headers,body:s}).then(async i=>{let l;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":l=await i.json();break;default:l=await i.text().then(d=>Number.isNaN(+d)?d==="true"?!0:d==="false"?!1:d:+d);break}return i.status>300?{data:null,status:i.status,headers:i.headers,retry:w,error:new S(i.status,l)}:{data:l,error:null,status:i.status,headers:i.headers,retry:w}});return w()};return B(H);})();
1
+ "use strict";var Eden=(()=>{var R=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var B=(r,e)=>{for(var t in e)R(r,t,{get:e[t],enumerable:!0})},G=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of V(e))!z.call(r,a)&&a!==t&&R(r,a,{get:()=>e[a],enumerable:!(s=U(e,a))||s.enumerable});return r};var H=r=>G(R({},"__esModule",{value:!0}),r);var Q={};B(Q,{edenFetch:()=>q,edenTreaty:()=>I});var w=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var K=(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)}`};var N=typeof FileList>"u",M=r=>N?r instanceof Blob:r instanceof FileList||r instanceof File,_=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},j=r=>N?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)}),L=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(),c=n.charCodeAt(0);if(c===47||c===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="false"&&(n=!1):n=+n;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,c={}]=[{},{}]){let y=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:A,$fetch:v,$headers:S,$transform:i,getRaw:d,...p}=n??{};y??=p;let T=e.lastIndexOf("/"),k=e.slice(T+1).toUpperCase(),F=K(r,T===-1?"/":e.slice(0,T),Object.assign(c.query??{},A)),D=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=$),k==="SUBSCRIBE"?new L(F.replace(/^([^]+):\/\//,F.startsWith("https://")?"wss://":"ws://")):(async J=>{let l,W={...t.$fetch?.headers,...v?.headers,...c.headers,...S};if(k!=="GET"&&k!=="HEAD"){l=Object.keys(y).length||Array.isArray(y)?y:void 0;let f=typeof l=="object"||Array.isArray(y);if(f&&_(l)){let b=new FormData;for(let[x,u]of Object.entries(l))if(N)b.append(x,u);else if(u instanceof File)b.append(x,await j(u));else if(u instanceof FileList)for(let m=0;m<u.length;m++)b.append(x,await j(u[m]));else if(Array.isArray(u))for(let m=0;m<u.length;m++){let O=u[m];b.append(x,O instanceof File?await j(O):O)}else b.append(x,u);l=b}else W["content-type"]=f?"application/json":"text/plain",l=f?JSON.stringify(l):y}let o=await D(F,{method:k,body:l,...t.$fetch,...c.fetch,...v,headers:W}),g;if(J.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await o.json();break;default:g=await o.text().then(f=>Number.isNaN(+f)?f==="true"?!0:f==="false"?!1:f:+f)}let C=o.status>=300||o.status<200?new w(o.status,g):null;if(E)for(let f of E){let h=f({data:g,status:o.status,headers:o.headers,response:o,error:C});h instanceof Promise&&(h=await h),h!=null&&(g=h)}return{data:g,error:C,response:o,status:o.status,headers:o.headers}})({getRaw:d})}}),I=(r,e={fetcher:fetch})=>new Proxy({},{get(t,s){return P(r,s,e)}});var q=(r,e)=>(t,{query:s,params:a,body:n,...c}={})=>{a&&Object.entries(a).forEach(([i,d])=>{t=t.replace(`:${i}`,d)});let y=c.headers?.["Content-Type"];if(!y||y==="application/json")try{n=JSON.stringify(n)}catch{}let A=e?.fetcher||globalThis.fetch,v=s?`?${new URLSearchParams(s).toString()}`:"",S=()=>A(r+t+v,{...c,method:c.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...c.headers}:c.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:S,error:new w(i.status,d)}:{data:d,error:null,status:i.status,headers:i.headers,retry:S}});return S()};return H(Q);})();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var O=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(r,e)=>{for(var t in e)O(r,t,{get:e[t],enumerable:!0})},z=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of J(e))!U.call(r,a)&&a!==t&&O(r,a,{get:()=>e[a],enumerable:!(n=D(e,a))||n.enumerable});return r};var B=r=>z(O({},"__esModule",{value:!0}),r);var H={};V(H,{edenFetch:()=>P,edenTreaty:()=>I});module.exports=B(H);var S=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var C=(r,e,t)=>{if(r.endsWith("/")||(r+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${r}${e}`;let n="";for(let[a,s]of Object.entries(t))n+=`${a}=${s}&`;return`${r}${e}?${n.slice(0,-1)}`};var N=typeof FileList>"u",K=r=>N?r instanceof Blob:r instanceof FileList||r instanceof File,G=r=>{if(!r)return!1;for(let e in r){if(K(r[e]))return!0;if(Array.isArray(r[e])&&r[e].find(t=>K(t)))return!0}return!1},j=r=>N?r:new Promise(e=>{let t=new FileReader;t.onload=()=>{let n=new File([t.result],r.name,{lastModified:r.lastModified,type:r.type});e(n)},t.readAsArrayBuffer(r)}),L=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,n){return this.addEventListener(e,t,n)}off(e,t,n){return this.ws.removeEventListener(e,t,n),this}subscribe(e,t){return this.addEventListener("message",e,t)}addEventListener(e,t,n){return this.ws.addEventListener(e,a=>{if(e==="message"){let s=a.data.toString(),o=s.charCodeAt(0);if(o===47||o===123)try{s=JSON.parse(s)}catch{}else Number.isNaN(+s)?s==="true"?s=!0:s==="fase"&&(s=!1):s=+s;t({...a,data:s})}else t(a)},n),this}removeEventListener(e,t,n){return this.off(e,t,n),this}close(){return this.ws.close(),this}},M=(r,e="",t)=>new Proxy(()=>{},{get(n,a,s){return M(r,`${e}/${a.toString()}`,t)},apply(n,a,[s,o={}]=[{},{}]){let y=s!==void 0&&(typeof s!="object"||Array.isArray(s))?s:void 0,{$query:A,$fetch:x,$headers:w,$transform:i,...l}=s??{};y??=l;let d=e.lastIndexOf("/"),k=e.slice(d+1).toUpperCase(),F=C(r,d===-1?"/":e.slice(0,d),Object.assign(o.query??{},A)),q=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=$),k==="SUBSCRIBE"?new L(F.replace(/^([^]+):\/\//,F.startsWith("https://")?"wss://":"ws://")):(async()=>{let p,W={...t.$fetch?.headers,...x?.headers,...o.headers,...w};if(k!=="GET"&&k!=="HEAD"){p=Object.keys(y).length||Array.isArray(y)?y:void 0;let f=typeof p=="object"||Array.isArray(y);if(f&&G(p)){let b=new FormData;for(let[v,u]of Object.entries(p))if(N)b.append(v,u);else if(u instanceof File)b.append(v,await j(u));else if(u instanceof FileList)for(let m=0;m<u.length;m++)b.append(v,await j(u[m]));else if(Array.isArray(u))for(let m=0;m<u.length;m++){let T=u[m];b.append(v,T instanceof File?j(T):T)}else b.append(v,u);p=b}else W["content-type"]=f?"application/json":"text/plain",p=f?JSON.stringify(p):y}let c=await q(F,{method:k,body:p,...t.$fetch,...o.fetch,...x,headers:W}),g;switch(c.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await c.json();break;default:g=await c.text().then(f=>Number.isNaN(+f)?f==="true"?!0:f==="false"?!1:f:+f)}let R=c.status>=300||c.status<200?new S(c.status,g):null;if(E)for(let f of E){let h=f({data:g,status:c.status,headers:c.headers,response:c,error:R});h instanceof Promise&&(h=await h),h!=null&&(g=h)}return{data:g,error:R,response:c,status:c.status,headers:c.headers}})()}}),I=(r,e={fetcher:fetch})=>new Proxy({},{get(t,n){return M(r,n,e)}});var P=(r,e)=>(t,{query:n,params:a,body:s,...o}={})=>{a&&Object.entries(a).forEach(([i,l])=>{t=t.replace(`:${i}`,l)});let y=o.headers?.["Content-Type"];if(!y||y==="application/json")try{s=JSON.stringify(s)}catch{}let A=e?.fetcher||globalThis.fetch,x=n?`?${new URLSearchParams(n).toString()}`:"",w=()=>A(r+t+x,{...o,method:o.method?.toUpperCase()||"GET",headers:s?{"content-type":"application/json",...o.headers}:o.headers,body:s}).then(async i=>{let l;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":l=await i.json();break;default:l=await i.text().then(d=>Number.isNaN(+d)?d==="true"?!0:d==="false"?!1:d:+d);break}return i.status>300?{data:null,status:i.status,headers:i.headers,retry:w,error:new S(i.status,l)}:{data:l,error:null,status:i.status,headers:i.headers,retry:w}});return w()};0&&(module.exports={edenFetch,edenTreaty});
1
+ "use strict";var R=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var B=(r,e)=>{for(var t in e)R(r,t,{get:e[t],enumerable:!0})},G=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of V(e))!z.call(r,a)&&a!==t&&R(r,a,{get:()=>e[a],enumerable:!(s=U(e,a))||s.enumerable});return r};var H=r=>G(R({},"__esModule",{value:!0}),r);var Q={};B(Q,{edenFetch:()=>q,edenTreaty:()=>I});module.exports=H(Q);var w=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var K=(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)}`};var N=typeof FileList>"u",M=r=>N?r instanceof Blob:r instanceof FileList||r instanceof File,_=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},j=r=>N?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)}),L=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(),c=n.charCodeAt(0);if(c===47||c===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="false"&&(n=!1):n=+n;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,c={}]=[{},{}]){let y=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:A,$fetch:v,$headers:S,$transform:i,getRaw:d,...p}=n??{};y??=p;let T=e.lastIndexOf("/"),k=e.slice(T+1).toUpperCase(),F=K(r,T===-1?"/":e.slice(0,T),Object.assign(c.query??{},A)),D=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=$),k==="SUBSCRIBE"?new L(F.replace(/^([^]+):\/\//,F.startsWith("https://")?"wss://":"ws://")):(async J=>{let l,W={...t.$fetch?.headers,...v?.headers,...c.headers,...S};if(k!=="GET"&&k!=="HEAD"){l=Object.keys(y).length||Array.isArray(y)?y:void 0;let f=typeof l=="object"||Array.isArray(y);if(f&&_(l)){let b=new FormData;for(let[x,u]of Object.entries(l))if(N)b.append(x,u);else if(u instanceof File)b.append(x,await j(u));else if(u instanceof FileList)for(let m=0;m<u.length;m++)b.append(x,await j(u[m]));else if(Array.isArray(u))for(let m=0;m<u.length;m++){let O=u[m];b.append(x,O instanceof File?await j(O):O)}else b.append(x,u);l=b}else W["content-type"]=f?"application/json":"text/plain",l=f?JSON.stringify(l):y}let o=await D(F,{method:k,body:l,...t.$fetch,...c.fetch,...v,headers:W}),g;if(J.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await o.json();break;default:g=await o.text().then(f=>Number.isNaN(+f)?f==="true"?!0:f==="false"?!1:f:+f)}let C=o.status>=300||o.status<200?new w(o.status,g):null;if(E)for(let f of E){let h=f({data:g,status:o.status,headers:o.headers,response:o,error:C});h instanceof Promise&&(h=await h),h!=null&&(g=h)}return{data:g,error:C,response:o,status:o.status,headers:o.headers}})({getRaw:d})}}),I=(r,e={fetcher:fetch})=>new Proxy({},{get(t,s){return P(r,s,e)}});var q=(r,e)=>(t,{query:s,params:a,body:n,...c}={})=>{a&&Object.entries(a).forEach(([i,d])=>{t=t.replace(`:${i}`,d)});let y=c.headers?.["Content-Type"];if(!y||y==="application/json")try{n=JSON.stringify(n)}catch{}let A=e?.fetcher||globalThis.fetch,v=s?`?${new URLSearchParams(s).toString()}`:"",S=()=>A(r+t+v,{...c,method:c.method?.toUpperCase()||"GET",headers:n?{"content-type":"application/json",...c.headers}:c.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:S,error:new w(i.status,d)}:{data:d,error:null,status:i.status,headers:i.headers,retry:S}});return S()};0&&(module.exports={edenFetch,edenTreaty});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{b as e}from"./chunk-VFBRC7KF.mjs";import{a as t}from"./chunk-3KYW6H6M.mjs";import"./chunk-Y6SMVGJX.mjs";export{t as edenFetch,e as edenTreaty};
1
+ import{b as e}from"./chunk-NZCTJ6S3.mjs";import{a as t}from"./chunk-3KYW6H6M.mjs";import"./chunk-Y6SMVGJX.mjs";export{t as edenFetch,e as edenTreaty};
@@ -36,6 +36,13 @@ export declare namespace EdenTreaty {
36
36
  fetcher?: typeof fetch;
37
37
  transform?: Transform;
38
38
  }
39
+ export type DetailedResponse = {
40
+ data: any;
41
+ error: any;
42
+ response: Response;
43
+ status: number;
44
+ headers: Headers;
45
+ };
39
46
  export type Sign<Schema extends Record<string, Record<string, unknown>>, Paths extends (string | number)[] = Split<keyof Schema & string>, Carry extends string = ''> = Paths extends [
40
47
  infer Prefix extends string | number,
41
48
  ...infer Rest extends (string | number)[]
@@ -48,6 +55,7 @@ export declare namespace EdenTreaty {
48
55
  $query: Route['query'];
49
56
  }) => EdenWS<Route> : ((params: {
50
57
  $fetch?: RequestInit;
58
+ getRaw?: boolean;
51
59
  } & (IsUnknown<Route['body']> extends false ? Replace<Route['body'], Blob | Blob[], Files> : {}) & (undefined extends Route['query'] ? {
52
60
  $query?: Record<string, string>;
53
61
  } : {
@@ -88,6 +96,10 @@ export declare namespace EdenTreaty {
88
96
  data: Data;
89
97
  rawData: MessageEvent['data'];
90
98
  }
99
+ export type ExecuteOptions = {
100
+ getRaw?: boolean;
101
+ };
102
+ export type ExecuteReturnType<T extends ExecuteOptions> = T['getRaw'] extends true ? Response : DetailedResponse;
91
103
  export type WSEvent<K extends keyof WebSocketEventMap, Data = unknown> = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K];
92
104
  export {};
93
105
  }
package/dist/treaty.d.mts CHANGED
@@ -36,6 +36,13 @@ declare namespace EdenTreaty {
36
36
  fetcher?: typeof fetch;
37
37
  transform?: Transform;
38
38
  }
39
+ export type DetailedResponse = {
40
+ data: any;
41
+ error: any;
42
+ response: Response;
43
+ status: number;
44
+ headers: Headers;
45
+ };
39
46
  export type Sign<Schema extends Record<string, Record<string, unknown>>, Paths extends (string | number)[] = Split<keyof Schema & string>, Carry extends string = ''> = Paths extends [
40
47
  infer Prefix extends string | number,
41
48
  ...infer Rest extends (string | number)[]
@@ -48,6 +55,7 @@ declare namespace EdenTreaty {
48
55
  $query: Route['query'];
49
56
  }) => EdenWS<Route> : ((params: {
50
57
  $fetch?: RequestInit;
58
+ getRaw?: boolean;
51
59
  } & (IsUnknown<Route['body']> extends false ? Replace<Route['body'], Blob | Blob[], Files> : {}) & (undefined extends Route['query'] ? {
52
60
  $query?: Record<string, string>;
53
61
  } : {
@@ -88,6 +96,10 @@ declare namespace EdenTreaty {
88
96
  data: Data;
89
97
  rawData: MessageEvent['data'];
90
98
  }
99
+ export type ExecuteOptions = {
100
+ getRaw?: boolean;
101
+ };
102
+ export type ExecuteReturnType<T extends ExecuteOptions> = T['getRaw'] extends true ? Response : DetailedResponse;
91
103
  export type WSEvent<K extends keyof WebSocketEventMap, Data = unknown> = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K];
92
104
  export {};
93
105
  }
package/dist/treaty.d.ts CHANGED
@@ -36,6 +36,13 @@ declare namespace EdenTreaty {
36
36
  fetcher?: typeof fetch;
37
37
  transform?: Transform;
38
38
  }
39
+ export type DetailedResponse = {
40
+ data: any;
41
+ error: any;
42
+ response: Response;
43
+ status: number;
44
+ headers: Headers;
45
+ };
39
46
  export type Sign<Schema extends Record<string, Record<string, unknown>>, Paths extends (string | number)[] = Split<keyof Schema & string>, Carry extends string = ''> = Paths extends [
40
47
  infer Prefix extends string | number,
41
48
  ...infer Rest extends (string | number)[]
@@ -48,6 +55,7 @@ declare namespace EdenTreaty {
48
55
  $query: Route['query'];
49
56
  }) => EdenWS<Route> : ((params: {
50
57
  $fetch?: RequestInit;
58
+ getRaw?: boolean;
51
59
  } & (IsUnknown<Route['body']> extends false ? Replace<Route['body'], Blob | Blob[], Files> : {}) & (undefined extends Route['query'] ? {
52
60
  $query?: Record<string, string>;
53
61
  } : {
@@ -88,6 +96,10 @@ declare namespace EdenTreaty {
88
96
  data: Data;
89
97
  rawData: MessageEvent['data'];
90
98
  }
99
+ export type ExecuteOptions = {
100
+ getRaw?: boolean;
101
+ };
102
+ export type ExecuteReturnType<T extends ExecuteOptions> = T['getRaw'] extends true ? Response : DetailedResponse;
91
103
  export type WSEvent<K extends keyof WebSocketEventMap, Data = unknown> = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K];
92
104
  export {};
93
105
  }
@@ -1 +1 @@
1
- "use strict";var Eden=(()=>{var $=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var J=(s,e)=>{for(var t in e)$(s,t,{get:e[t],enumerable:!0})},V=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of q(e))!D.call(s,a)&&a!==t&&$(s,a,{get:()=>e[a],enumerable:!(r=P(e,a))||r.enumerable});return s};var z=s=>V($({},"__esModule",{value:!0}),s);var U={};J(U,{EdenWS:()=>v,edenTreaty:()=>H});var S=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var K=(s,e,t)=>{if(s.endsWith("/")||(s+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${s}${e}`;let r="";for(let[a,n]of Object.entries(t))r+=`${a}=${n}&`;return`${s}${e}?${r.slice(0,-1)}`};var O=typeof FileList>"u",R=s=>O?s instanceof Blob:s instanceof FileList||s instanceof File,B=s=>{if(!s)return!1;for(let e in s){if(R(s[e]))return!0;if(Array.isArray(s[e])&&s[e].find(t=>R(t)))return!0}return!1},F=s=>O?s:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],s.name,{lastModified:s.lastModified,type:s.type});e(r)},t.readAsArrayBuffer(s)}),v=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 n=a.data.toString(),l=n.charCodeAt(0);if(l===47||l===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="fase"&&(n=!1):n=+n;t({...a,data:n})}else t(a)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},j=(s,e="",t)=>new Proxy(()=>{},{get(r,a,n){return j(s,`${e}/${a.toString()}`,t)},apply(r,a,[n,l={}]=[{},{}]){let u=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:N,$fetch:L,$headers:M,$transform:E,...I}=n??{};u??=I;let w=e.lastIndexOf("/"),b=e.slice(w+1).toUpperCase(),k=K(s,w===-1?"/":e.slice(0,w),Object.assign(l.query??{},N)),C=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,A=E?Array.isArray(E)?E:[E]:void 0;return A&&(p?p=A.concat(p):p=A),b==="SUBSCRIBE"?new v(k.replace(/^([^]+):\/\//,k.startsWith("https://")?"wss://":"ws://")):(async()=>{let f,W={...t.$fetch?.headers,...L?.headers,...l.headers,...M};if(b!=="GET"&&b!=="HEAD"){f=Object.keys(u).length||Array.isArray(u)?u:void 0;let o=typeof f=="object"||Array.isArray(u);if(o&&B(f)){let m=new FormData;for(let[g,c]of Object.entries(f))if(O)m.append(g,c);else if(c instanceof File)m.append(g,await F(c));else if(c instanceof FileList)for(let y=0;y<c.length;y++)m.append(g,await F(c[y]));else if(Array.isArray(c))for(let y=0;y<c.length;y++){let x=c[y];m.append(g,x instanceof File?F(x):x)}else m.append(g,c);f=m}else W["content-type"]=o?"application/json":"text/plain",f=o?JSON.stringify(f):u}let i=await C(k,{method:b,body:f,...t.$fetch,...l.fetch,...L,headers:W}),h;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await i.json();break;default:h=await i.text().then(o=>Number.isNaN(+o)?o==="true"?!0:o==="false"?!1:o:+o)}let T=i.status>=300||i.status<200?new S(i.status,h):null;if(p)for(let o of p){let d=o({data:h,status:i.status,headers:i.headers,response:i,error:T});d instanceof Promise&&(d=await d),d!=null&&(h=d)}return{data:h,error:T,response:i,status:i.status,headers:i.headers}})()}}),H=(s,e={fetcher:fetch})=>new Proxy({},{get(t,r){return j(s,r,e)}});return z(U);})();
1
+ "use strict";var Eden=(()=>{var T=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var z=(s,e)=>{for(var t in e)T(s,t,{get:e[t],enumerable:!0})},B=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of J(e))!V.call(s,a)&&a!==t&&T(s,a,{get:()=>e[a],enumerable:!(r=D(e,a))||r.enumerable});return s};var H=s=>B(T({},"__esModule",{value:!0}),s);var _={};z(_,{EdenWS:()=>S,edenTreaty:()=>G});var w=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var W=(s,e,t)=>{if(s.endsWith("/")||(s+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${s}${e}`;let r="";for(let[a,n]of Object.entries(t))r+=`${a}=${n}&`;return`${s}${e}?${r.slice(0,-1)}`};var O=typeof FileList>"u",K=s=>O?s instanceof Blob:s instanceof FileList||s instanceof File,U=s=>{if(!s)return!1;for(let e in s){if(K(s[e]))return!0;if(Array.isArray(s[e])&&s[e].find(t=>K(t)))return!0}return!1},$=s=>O?s:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],s.name,{lastModified:s.lastModified,type:s.type});e(r)},t.readAsArrayBuffer(s)}),S=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 n=a.data.toString(),l=n.charCodeAt(0);if(l===47||l===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="false"&&(n=!1):n=+n;t({...a,data:n})}else t(a)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},j=(s,e="",t)=>new Proxy(()=>{},{get(r,a,n){return j(s,`${e}/${a.toString()}`,t)},apply(r,a,[n,l={}]=[{},{}]){let u=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:N,$fetch:F,$headers:M,$transform:E,getRaw:I,...P}=n??{};u??=P;let v=e.lastIndexOf("/"),b=e.slice(v+1).toUpperCase(),x=W(s,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},N)),C=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,k=E?Array.isArray(E)?E:[E]:void 0;return k&&(p?p=k.concat(p):p=k),b==="SUBSCRIBE"?new S(x.replace(/^([^]+):\/\//,x.startsWith("https://")?"wss://":"ws://")):(async q=>{let f,R={...t.$fetch?.headers,...F?.headers,...l.headers,...M};if(b!=="GET"&&b!=="HEAD"){f=Object.keys(u).length||Array.isArray(u)?u:void 0;let o=typeof f=="object"||Array.isArray(u);if(o&&U(f)){let m=new FormData;for(let[g,c]of Object.entries(f))if(O)m.append(g,c);else if(c instanceof File)m.append(g,await $(c));else if(c instanceof FileList)for(let d=0;d<c.length;d++)m.append(g,await $(c[d]));else if(Array.isArray(c))for(let d=0;d<c.length;d++){let A=c[d];m.append(g,A instanceof File?await $(A):A)}else m.append(g,c);f=m}else R["content-type"]=o?"application/json":"text/plain",f=o?JSON.stringify(f):u}let i=await C(x,{method:b,body:f,...t.$fetch,...l.fetch,...F,headers:R}),h;if(q.getRaw)return i;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await i.json();break;default:h=await i.text().then(o=>Number.isNaN(+o)?o==="true"?!0:o==="false"?!1:o:+o)}let L=i.status>=300||i.status<200?new w(i.status,h):null;if(p)for(let o of p){let y=o({data:h,status:i.status,headers:i.headers,response:i,error:L});y instanceof Promise&&(y=await y),y!=null&&(h=y)}return{data:h,error:L,response:i,status:i.status,headers:i.headers}})({getRaw:I})}}),G=(s,e={fetcher:fetch})=>new Proxy({},{get(t,r){return j(s,r,e)}});return H(_);})();
package/dist/treaty.js CHANGED
@@ -1 +1 @@
1
- "use strict";var $=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var J=(s,e)=>{for(var t in e)$(s,t,{get:e[t],enumerable:!0})},V=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of q(e))!D.call(s,a)&&a!==t&&$(s,a,{get:()=>e[a],enumerable:!(r=P(e,a))||r.enumerable});return s};var z=s=>V($({},"__esModule",{value:!0}),s);var U={};J(U,{EdenWS:()=>v,edenTreaty:()=>H});module.exports=z(U);var S=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var K=(s,e,t)=>{if(s.endsWith("/")||(s+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${s}${e}`;let r="";for(let[a,n]of Object.entries(t))r+=`${a}=${n}&`;return`${s}${e}?${r.slice(0,-1)}`};var O=typeof FileList>"u",R=s=>O?s instanceof Blob:s instanceof FileList||s instanceof File,B=s=>{if(!s)return!1;for(let e in s){if(R(s[e]))return!0;if(Array.isArray(s[e])&&s[e].find(t=>R(t)))return!0}return!1},F=s=>O?s:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],s.name,{lastModified:s.lastModified,type:s.type});e(r)},t.readAsArrayBuffer(s)}),v=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 n=a.data.toString(),l=n.charCodeAt(0);if(l===47||l===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="fase"&&(n=!1):n=+n;t({...a,data:n})}else t(a)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},j=(s,e="",t)=>new Proxy(()=>{},{get(r,a,n){return j(s,`${e}/${a.toString()}`,t)},apply(r,a,[n,l={}]=[{},{}]){let u=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:N,$fetch:L,$headers:M,$transform:E,...I}=n??{};u??=I;let w=e.lastIndexOf("/"),b=e.slice(w+1).toUpperCase(),k=K(s,w===-1?"/":e.slice(0,w),Object.assign(l.query??{},N)),C=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,A=E?Array.isArray(E)?E:[E]:void 0;return A&&(p?p=A.concat(p):p=A),b==="SUBSCRIBE"?new v(k.replace(/^([^]+):\/\//,k.startsWith("https://")?"wss://":"ws://")):(async()=>{let f,W={...t.$fetch?.headers,...L?.headers,...l.headers,...M};if(b!=="GET"&&b!=="HEAD"){f=Object.keys(u).length||Array.isArray(u)?u:void 0;let o=typeof f=="object"||Array.isArray(u);if(o&&B(f)){let m=new FormData;for(let[g,c]of Object.entries(f))if(O)m.append(g,c);else if(c instanceof File)m.append(g,await F(c));else if(c instanceof FileList)for(let y=0;y<c.length;y++)m.append(g,await F(c[y]));else if(Array.isArray(c))for(let y=0;y<c.length;y++){let x=c[y];m.append(g,x instanceof File?F(x):x)}else m.append(g,c);f=m}else W["content-type"]=o?"application/json":"text/plain",f=o?JSON.stringify(f):u}let i=await C(k,{method:b,body:f,...t.$fetch,...l.fetch,...L,headers:W}),h;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await i.json();break;default:h=await i.text().then(o=>Number.isNaN(+o)?o==="true"?!0:o==="false"?!1:o:+o)}let T=i.status>=300||i.status<200?new S(i.status,h):null;if(p)for(let o of p){let d=o({data:h,status:i.status,headers:i.headers,response:i,error:T});d instanceof Promise&&(d=await d),d!=null&&(h=d)}return{data:h,error:T,response:i,status:i.status,headers:i.headers}})()}}),H=(s,e={fetcher:fetch})=>new Proxy({},{get(t,r){return j(s,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
1
+ "use strict";var T=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var z=(s,e)=>{for(var t in e)T(s,t,{get:e[t],enumerable:!0})},B=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of J(e))!V.call(s,a)&&a!==t&&T(s,a,{get:()=>e[a],enumerable:!(r=D(e,a))||r.enumerable});return s};var H=s=>B(T({},"__esModule",{value:!0}),s);var _={};z(_,{EdenWS:()=>S,edenTreaty:()=>G});module.exports=H(_);var w=class extends Error{status;value;constructor(e,t){super(),this.status=e,this.value=t}};var W=(s,e,t)=>{if(s.endsWith("/")||(s+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${s}${e}`;let r="";for(let[a,n]of Object.entries(t))r+=`${a}=${n}&`;return`${s}${e}?${r.slice(0,-1)}`};var O=typeof FileList>"u",K=s=>O?s instanceof Blob:s instanceof FileList||s instanceof File,U=s=>{if(!s)return!1;for(let e in s){if(K(s[e]))return!0;if(Array.isArray(s[e])&&s[e].find(t=>K(t)))return!0}return!1},$=s=>O?s:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],s.name,{lastModified:s.lastModified,type:s.type});e(r)},t.readAsArrayBuffer(s)}),S=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 n=a.data.toString(),l=n.charCodeAt(0);if(l===47||l===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="false"&&(n=!1):n=+n;t({...a,data:n})}else t(a)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},j=(s,e="",t)=>new Proxy(()=>{},{get(r,a,n){return j(s,`${e}/${a.toString()}`,t)},apply(r,a,[n,l={}]=[{},{}]){let u=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:N,$fetch:F,$headers:M,$transform:E,getRaw:I,...P}=n??{};u??=P;let v=e.lastIndexOf("/"),b=e.slice(v+1).toUpperCase(),x=W(s,v===-1?"/":e.slice(0,v),Object.assign(l.query??{},N)),C=t.fetcher??fetch,p=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,k=E?Array.isArray(E)?E:[E]:void 0;return k&&(p?p=k.concat(p):p=k),b==="SUBSCRIBE"?new S(x.replace(/^([^]+):\/\//,x.startsWith("https://")?"wss://":"ws://")):(async q=>{let f,R={...t.$fetch?.headers,...F?.headers,...l.headers,...M};if(b!=="GET"&&b!=="HEAD"){f=Object.keys(u).length||Array.isArray(u)?u:void 0;let o=typeof f=="object"||Array.isArray(u);if(o&&U(f)){let m=new FormData;for(let[g,c]of Object.entries(f))if(O)m.append(g,c);else if(c instanceof File)m.append(g,await $(c));else if(c instanceof FileList)for(let d=0;d<c.length;d++)m.append(g,await $(c[d]));else if(Array.isArray(c))for(let d=0;d<c.length;d++){let A=c[d];m.append(g,A instanceof File?await $(A):A)}else m.append(g,c);f=m}else R["content-type"]=o?"application/json":"text/plain",f=o?JSON.stringify(f):u}let i=await C(x,{method:b,body:f,...t.$fetch,...l.fetch,...F,headers:R}),h;if(q.getRaw)return i;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":h=await i.json();break;default:h=await i.text().then(o=>Number.isNaN(+o)?o==="true"?!0:o==="false"?!1:o:+o)}let L=i.status>=300||i.status<200?new w(i.status,h):null;if(p)for(let o of p){let y=o({data:h,status:i.status,headers:i.headers,response:i,error:L});y instanceof Promise&&(y=await y),y!=null&&(h=y)}return{data:h,error:L,response:i,status:i.status,headers:i.headers}})({getRaw:I})}}),G=(s,e={fetcher:fetch})=>new Proxy({},{get(t,r){return j(s,r,e)}});0&&(module.exports={EdenWS,edenTreaty});
package/dist/treaty.mjs CHANGED
@@ -1 +1 @@
1
- import{a,b}from"./chunk-VFBRC7KF.mjs";import"./chunk-Y6SMVGJX.mjs";export{a as EdenWS,b as edenTreaty};
1
+ import{a,b}from"./chunk-NZCTJ6S3.mjs";import"./chunk-Y6SMVGJX.mjs";export{a as EdenWS,b as edenTreaty};
package/package.json CHANGED
@@ -1,75 +1,78 @@
1
1
  {
2
- "name": "@elysiajs/eden",
3
- "version": "0.7.6",
4
- "description": "Fully type-safe Elysia client",
5
- "author": {
6
- "name": "saltyAom",
7
- "url": "https://github.com/SaltyAom",
8
- "email": "saltyaom@gmail.com"
2
+ "name": "@elysiajs/eden",
3
+ "version": "0.7.7",
4
+ "description": "Fully type-safe Elysia client",
5
+ "author": {
6
+ "name": "saltyAom",
7
+ "url": "https://github.com/SaltyAom",
8
+ "email": "saltyaom@gmail.com"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "exports": {
12
+ ".": {
13
+ "require": "./dist/index.js",
14
+ "import": "./dist/index.mjs",
15
+ "node": "./dist/index.js",
16
+ "default": "./dist/index.js",
17
+ "types": "./dist/index.d.ts"
9
18
  },
10
- "main": "./dist/index.js",
11
- "exports": {
12
- ".": {
13
- "require": "./dist/index.js",
14
- "import": "./dist/index.mjs",
15
- "node": "./dist/index.js",
16
- "default": "./dist/index.js",
17
- "types": "./dist/index.d.ts"
18
- },
19
- "./treaty": {
20
- "require": "./dist/treaty.js",
21
- "import": "./dist/treaty.mjs",
22
- "node": "./dist/treaty.js",
23
- "default": "./dist/treaty.js",
24
- "types": "./dist/treaty/index.d.ts"
25
- },
26
- "./fetch": {
27
- "require": "./dist/fetch.js",
28
- "import": "./dist/fetch.mjs",
29
- "node": "./dist/fetch.js",
30
- "default": "./dist/fetch.js",
31
- "types": "./dist/fetch/index.d.ts"
32
- }
19
+ "./treaty": {
20
+ "require": "./dist/treaty.js",
21
+ "import": "./dist/treaty.mjs",
22
+ "node": "./dist/treaty.js",
23
+ "default": "./dist/treaty.js",
24
+ "types": "./dist/treaty/index.d.ts"
33
25
  },
34
- "types": "./src/index.ts",
35
- "keywords": ["elysia", "eden", "connector"],
36
- "homepage": "https://github.com/elysiajs/eden",
37
- "repository": {
38
- "type": "git",
39
- "url": "https://github.com/elysiajs/eden"
40
- },
41
- "bugs": "https://github.com/elysiajs/eden/issues",
42
- "license": "MIT",
43
- "scripts": {
44
- "dev": "bun run --watch example/index.ts",
45
- "test": "bun test",
46
- "build": "rimraf dist && tsup",
47
- "release": "npm run build && npm run test && npm publish --access public"
48
- },
49
- "peerDependencies": {
50
- "elysia": ">= 0.7.0"
51
- },
52
- "peerDependenciesMeta": {
53
- "@sinclair/typebox": {
54
- "optional": true
55
- }
56
- },
57
- "devDependencies": {
58
- "@elysiajs/cors": "0.7.0",
59
- "@sinclair/typebox": "^0.31.6",
60
- "@types/node": "^18.15.5",
61
- "bun-types": "^1.0.1",
62
- "elysia": "^0.7.15",
63
- "esbuild": "^0.19.3",
64
- "eslint": "^8.26.0",
65
- "rimraf": "^4.4.1",
66
- "tsup": "^7.2.0",
67
- "typescript": "^5.2.2"
68
- },
69
- "prettier": {
70
- "semi": false,
71
- "tabWidth": 4,
72
- "singleQuote": true,
73
- "trailingComma": "none"
26
+ "./fetch": {
27
+ "require": "./dist/fetch.js",
28
+ "import": "./dist/fetch.mjs",
29
+ "node": "./dist/fetch.js",
30
+ "default": "./dist/fetch.js",
31
+ "types": "./dist/fetch/index.d.ts"
32
+ }
33
+ },
34
+ "types": "./src/index.ts",
35
+ "keywords": ["elysia", "eden", "connector"],
36
+ "homepage": "https://github.com/elysiajs/eden",
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/elysiajs/eden"
40
+ },
41
+ "bugs": "https://github.com/elysiajs/eden/issues",
42
+ "license": "MIT",
43
+ "scripts": {
44
+ "dev": "bun run --watch example/index.ts",
45
+ "test": "bun test",
46
+ "build": "rimraf dist && tsup",
47
+ "release": "npm run build && npm run test && npm publish --access public"
48
+ },
49
+ "peerDependencies": {
50
+ "elysia": ">= 0.7.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "@sinclair/typebox": {
54
+ "optional": true
74
55
  }
56
+ },
57
+ "devDependencies": {
58
+ "@elysiajs/cors": "0.7.0",
59
+ "@sinclair/typebox": "^0.31.6",
60
+ "@types/node": "^18.15.5",
61
+ "bun-types": "^1.0.1",
62
+ "elysia": "^0.7.15",
63
+ "esbuild": "^0.19.3",
64
+ "eslint": "^8.26.0",
65
+ "rimraf": "^4.4.1",
66
+ "tsup": "^7.2.0",
67
+ "typescript": "^5.2.2"
68
+ },
69
+ "prettier": {
70
+ "semi": false,
71
+ "tabWidth": 4,
72
+ "singleQuote": true,
73
+ "trailingComma": "none"
74
+ },
75
+ "dependencies": {
76
+ "superjson": "^2.2.1"
77
+ }
75
78
  }
@@ -125,7 +125,7 @@ export class EdenWS<Schema extends InputSchema<any> = InputSchema> {
125
125
  }
126
126
  else if (!Number.isNaN(+data)) data = +data
127
127
  else if (data === 'true') data = true
128
- else if (data === 'fase') data = false
128
+ else if (data === 'false') data = false
129
129
 
130
130
  listener({
131
131
  ...ws,
@@ -175,6 +175,7 @@ const createProxy = (
175
175
  $fetch?: RequestInit
176
176
  $headers?: HeadersInit
177
177
  $query?: Record<string, string>
178
+ getRaw?: boolean
178
179
  },
179
180
  {
180
181
  fetch?: RequestInit
@@ -190,7 +191,7 @@ const createProxy = (
190
191
  ? initialBody
191
192
  : undefined
192
193
 
193
- const { $query, $fetch, $headers, $transform, ...restBody } =
194
+ const { $query, $fetch, $headers, $transform, getRaw, ...restBody } =
194
195
  initialBody ?? {}
195
196
 
196
197
  bodyObj ??= restBody
@@ -229,7 +230,7 @@ const createProxy = (
229
230
  )
230
231
  )
231
232
 
232
- const execute = async () => {
233
+ const execute = async <T extends EdenTreaty.ExecuteOptions>(modifiers: T): Promise<EdenTreaty.ExecuteReturnType<T>> => {
233
234
  let body: any
234
235
 
235
236
  const headers = {
@@ -282,7 +283,7 @@ const createProxy = (
282
283
  newBody.append(
283
284
  key as any,
284
285
  value instanceof File
285
- ? createNewFile(value)
286
+ ? await createNewFile(value)
286
287
  : value
287
288
  )
288
289
  }
@@ -311,6 +312,7 @@ const createProxy = (
311
312
 
312
313
  let data
313
314
 
315
+ if (modifiers.getRaw) return response as any
314
316
  switch (response.headers.get('Content-Type')?.split(';')[0]) {
315
317
  case 'application/json':
316
318
  data = await response.json()
@@ -351,10 +353,10 @@ const createProxy = (
351
353
  response: response,
352
354
  status: response.status,
353
355
  headers: response.headers
354
- }
356
+ } as any
355
357
  }
356
358
 
357
- return execute()
359
+ return execute({ getRaw })
358
360
  }
359
361
  }) as unknown as Record<string, unknown>
360
362
 
@@ -83,6 +83,14 @@ export namespace EdenTreaty {
83
83
  transform?: Transform
84
84
  }
85
85
 
86
+ export type DetailedResponse = {
87
+ data: any
88
+ error: any
89
+ response: Response
90
+ status: number
91
+ headers: Headers
92
+ };
93
+
86
94
  export type Sign<
87
95
  Schema extends Record<string, Record<string, unknown>>,
88
96
  Paths extends (string | number)[] = Split<keyof Schema & string>,
@@ -111,6 +119,7 @@ export namespace EdenTreaty {
111
119
  : ((
112
120
  params: {
113
121
  $fetch?: RequestInit
122
+ getRaw?: boolean
114
123
  } & (IsUnknown<Route['body']> extends false
115
124
  ? Replace<
116
125
  Route['body'],
@@ -198,6 +207,11 @@ export namespace EdenTreaty {
198
207
  rawData: MessageEvent['data']
199
208
  }
200
209
 
210
+ export type ExecuteOptions = {
211
+ getRaw?: boolean
212
+ };
213
+ export type ExecuteReturnType<T extends ExecuteOptions> = T['getRaw'] extends true ? Response : DetailedResponse;
214
+
201
215
  export type WSEvent<
202
216
  K extends keyof WebSocketEventMap,
203
217
  Data = unknown
@@ -1 +0,0 @@
1
- import{a as W}from"./chunk-Y6SMVGJX.mjs";var T=(s,e,t)=>{if(s.endsWith("/")||(s+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${s}${e}`;let r="";for(let[f,n]of Object.entries(t))r+=`${f}=${n}&`;return`${s}${e}?${r.slice(0,-1)}`};var $=typeof FileList>"u",K=s=>$?s instanceof Blob:s instanceof FileList||s instanceof File,C=s=>{if(!s)return!1;for(let e in s){if(K(s[e]))return!0;if(Array.isArray(s[e])&&s[e].find(t=>K(t)))return!0}return!1},k=s=>$?s:new Promise(e=>{let t=new FileReader;t.onload=()=>{let r=new File([t.result],s.name,{lastModified:s.lastModified,type:s.type});e(r)},t.readAsArrayBuffer(s)}),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,f=>{if(e==="message"){let n=f.data.toString(),u=n.charCodeAt(0);if(u===47||u===123)try{n=JSON.parse(n)}catch{}else Number.isNaN(+n)?n==="true"?n=!0:n==="fase"&&(n=!1):n=+n;t({...f,data:n})}else t(f)},r),this}removeEventListener(e,t,r){return this.off(e,t,r),this}close(){return this.ws.close(),this}},R=(s,e="",t)=>new Proxy(()=>{},{get(r,f,n){return R(s,`${e}/${f.toString()}`,t)},apply(r,f,[n,u={}]=[{},{}]){let y=n!==void 0&&(typeof n!="object"||Array.isArray(n))?n:void 0,{$query:N,$fetch:F,$headers:j,$transform:E,...M}=n??{};y??=M;let S=e.lastIndexOf("/"),b=e.slice(S+1).toUpperCase(),v=T(s,S===-1?"/":e.slice(0,S),Object.assign(u.query??{},N)),I=t.fetcher??fetch,h=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,w=E?Array.isArray(E)?E:[E]:void 0;return w&&(h?h=w.concat(h):h=w),b==="SUBSCRIBE"?new x(v.replace(/^([^]+):\/\//,v.startsWith("https://")?"wss://":"ws://")):(async()=>{let c,O={...t.$fetch?.headers,...F?.headers,...u.headers,...j};if(b!=="GET"&&b!=="HEAD"){c=Object.keys(y).length||Array.isArray(y)?y:void 0;let i=typeof c=="object"||Array.isArray(y);if(i&&C(c)){let m=new FormData;for(let[g,o]of Object.entries(c))if($)m.append(g,o);else if(o instanceof File)m.append(g,await k(o));else if(o instanceof FileList)for(let l=0;l<o.length;l++)m.append(g,await k(o[l]));else if(Array.isArray(o))for(let l=0;l<o.length;l++){let A=o[l];m.append(g,A instanceof File?k(A):A)}else m.append(g,o);c=m}else O["content-type"]=i?"application/json":"text/plain",c=i?JSON.stringify(c):y}let a=await I(v,{method:b,body:c,...t.$fetch,...u.fetch,...F,headers:O}),p;switch(a.headers.get("Content-Type")?.split(";")[0]){case"application/json":p=await a.json();break;default:p=await a.text().then(i=>Number.isNaN(+i)?i==="true"?!0:i==="false"?!1:i:+i)}let L=a.status>=300||a.status<200?new W(a.status,p):null;if(h)for(let i of h){let d=i({data:p,status:a.status,headers:a.headers,response:a,error:L});d instanceof Promise&&(d=await d),d!=null&&(p=d)}return{data:p,error:L,response:a,status:a.status,headers:a.headers}})()}}),B=(s,e={fetcher:fetch})=>new Proxy({},{get(t,r){return R(s,r,e)}});export{x as a,B as b};