@elysiajs/eden 1.4.6 → 1.4.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.
- package/bun.lock +3 -3
- package/dist/chunk-AB4FCYGG.mjs +4 -0
- package/dist/chunk-E2P2HQLJ.mjs +1 -0
- package/dist/{chunk-EF6Z4LSD.mjs → chunk-FXT7FC66.mjs} +1 -1
- package/dist/chunk-I5KHAGLL.mjs +1 -0
- package/dist/fetch/types.d.ts +5 -2
- package/dist/fetch.d.mts +5 -2
- package/dist/fetch.d.ts +5 -2
- package/dist/fetch.global.js +1 -1
- package/dist/fetch.js +1 -1
- package/dist/fetch.mjs +1 -1
- package/dist/index.d.mts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.global.js +3 -3
- package/dist/index.js +3 -3
- package/dist/index.mjs +1 -1
- package/dist/treaty.d.mts +1 -1
- package/dist/treaty.d.ts +1 -1
- package/dist/treaty.global.js +1 -1
- package/dist/treaty.js +1 -1
- package/dist/treaty.mjs +1 -1
- package/dist/treaty2/index.d.ts +4 -2
- package/dist/treaty2/types.d.ts +35 -21
- package/dist/treaty2.d.mts +38 -22
- package/dist/treaty2.d.ts +38 -22
- package/dist/treaty2.global.js +3 -3
- package/dist/treaty2.js +3 -3
- package/dist/treaty2.mjs +1 -1
- package/dist/{types-BdHMTa_C.d.mts → types-0YqzVuGd.d.mts} +2 -1
- package/dist/{types-BdHMTa_C.d.ts → types-0YqzVuGd.d.ts} +2 -1
- package/dist/types.d.ts +1 -0
- package/dist/utils/parse.d.ts +14 -0
- package/package.json +10 -10
- package/dist/chunk-7WR4DS5F.mjs +0 -4
- package/dist/chunk-QSLHAOSM.mjs +0 -1
- package/dist/chunk-VMSCNLL4.mjs +0 -1
- package/dist/utils/parsingUtils.d.ts +0 -6
package/bun.lock
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@elysiajs/cors": "1.3.3",
|
|
9
9
|
"@types/bun": "^1.2.20",
|
|
10
10
|
"@types/node": "^24.3.0",
|
|
11
|
-
"elysia": "^1.4.
|
|
11
|
+
"elysia": "^1.4.23",
|
|
12
12
|
"esbuild": "^0.25.9",
|
|
13
13
|
"eslint": "^9.34.0",
|
|
14
14
|
"expect-type": "^1.2.2",
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
|
|
230
230
|
"eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
|
|
231
231
|
|
|
232
|
-
"elysia": ["elysia@1.4.
|
|
232
|
+
"elysia": ["elysia@1.4.23", "", { "dependencies": { "cookie": "^1.1.1", "exact-mirror": "^0.2.7", "fast-decode-uri-component": "^1.0.1", "memoirist": "^0.4.0" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "@types/bun": ">= 1.2.0", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["@types/bun", "typescript"] }, "sha512-mFIT/hEnNfrfbjGRUqunLNcURJfSXpKY4j+EWr4vP6Eoulf7feqs0WQLZwlgFZCxhdyfu0mrypIZ4mNJcEVVlQ=="],
|
|
233
233
|
|
|
234
234
|
"emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
|
235
235
|
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
|
|
254
254
|
"esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
|
|
255
255
|
|
|
256
|
-
"exact-mirror": ["exact-mirror@0.2.
|
|
256
|
+
"exact-mirror": ["exact-mirror@0.2.7", "", { "peerDependencies": { "@sinclair/typebox": "^0.34.15" }, "optionalPeers": ["@sinclair/typebox"] }, "sha512-+MeEmDcLA4o/vjK2zujgk+1VTxPR4hdp23qLqkWfStbECtAq9gmsvQa3LW6z/0GXZyHJobrCnmy1cdeE7BjsYg=="],
|
|
257
257
|
|
|
258
258
|
"expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="],
|
|
259
259
|
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as j,b as N,c as C,d as J}from"./chunk-I5KHAGLL.mjs";var W=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,c=>{if(t==="message"){let i=J(c);n({...c,data:i})}else n(c)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var Q=["get","post","put","delete","patch","options","head","connect","subscribe"],P=(e,t)=>typeof t=="function"?t(e):t===!0,U=["localhost","127.0.0.1","0.0.0.0"],q=typeof FileList>"u",H=e=>q?e instanceof Blob:e instanceof FileList||e instanceof File,X=e=>{if(!e)return!1;for(let t in e)if(H(e[t])||Array.isArray(e[t])&&e[t].find(H))return!0;return!1},K=e=>q?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),A=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let c of e)if(!Array.isArray(c))r=await A(c,t,n,r);else{let i=c[0];if(typeof i=="string")r[i.toLowerCase()]=c[1];else for(let[a,l]of i)r[a.toLowerCase()]=l}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return A(e,t,n,r);let c=await e(t,n);return c?A(c,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((i,a)=>{r[a.toLowerCase()]=i}),r;for(let[i,a]of Object.entries(e))r[i.toLowerCase()]=a;return r;default:return r}};function _(e,t){let n=e.split(`
|
|
2
|
+
`),r={};for(let c of n){if(!c||c.startsWith(":"))continue;let i=c.indexOf(":");if(i>0){let a=c.slice(0,i).trim(),l=c.slice(i+1).replace(/^ /,"");r[a]=l&&C(l,t)}}return Object.keys(r).length>0?r:null}function*B(e,t){let n;for(;(n=e.value.indexOf(`
|
|
3
|
+
|
|
4
|
+
`))!==-1;){let r=e.value.slice(0,n);if(e.value=e.value.slice(n+2),r.trim()){let c=_(r,t);c&&(yield c)}}}async function*Y(e,t){let n=e.body;if(!n)return;let r=n.getReader(),c=new TextDecoder("utf-8"),i={value:""};try{for(;;){let{done:l,value:O}=await r.read();if(l)break;let k=typeof O=="string"?O:c.decode(O,{stream:!0});i.value+=k,yield*B(i,t)}let a=c.decode();if(a&&(i.value+=a),yield*B(i,t),i.value.trim()){let l=_(i.value,t);l&&(yield l)}}finally{r.releaseLock()}}var F=(e,t,n=[],r)=>new Proxy(()=>{},{get(c,i){if(!(n.length===0&&(i==="then"||i==="catch"||i==="finally")))return F(e,t,[...n,i],r)},apply(c,i,[a,l]){if(!a||l||typeof a=="object"&&Object.keys(a).length!==1||Q.includes(n.at(-1))){let O=[...n],k=O.pop(),b="/"+O.join("/"),{fetcher:V=fetch,headers:L,onRequest:g,onResponse:R,fetch:G}=t,E=k==="get"||k==="head"||k==="subscribe",M=E?a?.query:l?.query,D="";if(M){let s=(m,d)=>{d!=null&&(d instanceof Date&&(d=d.toISOString()),D+=(D?"&":"?")+`${encodeURIComponent(m)}=${encodeURIComponent(typeof d=="object"?JSON.stringify(d):d+"")}`)};for(let[m,d]of Object.entries(M)){if(Array.isArray(d)){for(let T of d)s(m,T);continue}s(m,d)}}if(k==="subscribe"){let s=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||U.find(m=>e.includes(m))?"ws://":"wss://")+b+D;return new W(s)}return(async()=>{L=await A(L,b,l);let s={method:k?.toUpperCase(),body:a,...G,headers:L};s.headers={...L,...await A(E?a?.headers:l?.headers,b,s)};let m=E&&typeof a=="object"?a.fetch:l?.fetch,T=(E&&typeof a=="object"?a.throwHttpError:l?.throwHttpError)??t.throwHttpError;if(s={...s,...m},E&&delete s.body,g){Array.isArray(g)||(g=[g]);for(let u of g){let o=await u(b,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...await A(o.headers,b,s)}})}}if(E&&delete s.body,X(a)){let u=new FormData,o=f=>{if(typeof f=="string"||H(f))return!1;if(typeof f=="object"){if(f!==null)return!0;if(f instanceof Date)return!1}return!1},w=async f=>f instanceof File?await K(f):o(f)?JSON.stringify(f):f;for(let[f,p]of Object.entries(s.body)){if(Array.isArray(p)){if(p.some(S=>typeof S=="object"&&S!==null&&!H(S)))u.append(f,JSON.stringify(p));else for(let S=0;S<p.length;S++){let $=p[S],z=await w($);u.append(f,z)}continue}if(q){if(Array.isArray(p))for(let x of p)u.append(f,await w(x));else u.append(f,await w(p));continue}if(p instanceof File){u.append(f,await K(p));continue}if(p instanceof FileList){for(let x=0;x<p.length;x++)u.append(f,await K(p[x]));continue}u.append(f,await w(p))}s.body=u}else typeof a=="object"?(s.headers["content-type"]="application/json",s.body=JSON.stringify(a)):a!=null&&(s.headers["content-type"]="text/plain");if(E&&delete s.body,g){Array.isArray(g)||(g=[g]);for(let u of g){let o=await u(b,s);typeof o=="object"&&(s={...s,...o,headers:{...s.headers,...await A(o.headers,b,s)}})}}l?.headers?.["content-type"]&&(s.headers["content-type"]=l?.headers["content-type"]);let I=e+b+D,y;try{y=await(r?.handle(new Request(I,s))??V(I,s))}catch(u){let o=new j(503,u);if(P(o,T))throw o;return{data:null,error:o,response:void 0,status:503,headers:void 0}}let h=null,v=null;if(R){Array.isArray(R)||(R=[R]);for(let u of R)try{let o=await u(y.clone());if(o!=null){h=o;break}}catch(o){o instanceof j?v=o:v=new j(422,o);break}}if(h!==null)return{data:h,error:v,response:y,status:y.status,headers:y.headers};switch(y.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":h=Y(y,{parseDate:t.parseDate});break;case"application/json":h=JSON.parse(await y.text(),(o,w)=>{if(typeof w!="string")return w;let f=N(w,{parseDate:t.parseDate});return f||w});break;case"application/octet-stream":h=await y.arrayBuffer();break;case"multipart/form-data":let u=await y.formData();h={},u.forEach((o,w)=>{h[w]=o});break;default:h=await y.text().then(o=>C(o,{parseDate:t.parseDate}))}if(y.status>=300||y.status<200){if(v=new j(y.status,h),P(v,T))throw v;h=null}return{data:h,error:v,response:y,status:y.status,headers:y.headers}})()}return typeof a=="object"?F(e,t,[...n,Object.values(a)[0]],r):F(e,t,n)}}),se=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(U.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),F(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),F("http://e.ly",t,[],e));export{Y as a,se as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as i,c as d}from"./chunk-I5KHAGLL.mjs";var j=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let s=await t.formData(),n={};return s.forEach((a,c)=>{n[c]=a}),n}}return t.text().then(d)},m=(t,e)=>typeof e=="function"?e(t):e===!0,R=async(t,e,s)=>{let n=await j(t);if(t.status>=300||t.status<200){let a=new i(t.status,n);if(m(a,s))throw a;return{data:null,status:t.status,headers:t.headers,retry:e,error:a}}return{data:n,error:null,status:t.status,headers:t.headers,retry:e}},H=(t,e)=>(s,{query:n,params:a,body:c,throwHttpError:E,...h}={})=>{a&&Object.entries(a).forEach(([r,o])=>{s=s.replace(`:${r}`,o)});let w=e?.fetcher||globalThis.fetch,l=E??e?.throwHttpError,y=n?Object.fromEntries(Object.entries(n).filter(([r,o])=>o!=null)):null,T=y?`?${new URLSearchParams(y).toString()}`:"",g=`${t}${s}${T}`,u=new Headers(h.headers||{}),f=u.get("content-type");if(!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&(!f||f==="application/json"))try{c=JSON.stringify(c),f||u.set("content-type","application/json")}catch{}let F={...h,method:h.method?.toUpperCase()||"GET",headers:u,body:c},p=()=>w(g,F).then(r=>R(r,p,l)).catch(r=>{if(r instanceof i)throw r;let o=new i(503,r);if(m(o,l))throw o;return{data:null,error:o,status:503,headers:void 0,retry:p}});return p()};export{H as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as O,c as L,d as W}from"./chunk-
|
|
1
|
+
import{a as O,c as L,d as W}from"./chunk-I5KHAGLL.mjs";var K=(n,e,t)=>{if(n.endsWith("/")||(n+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${n}${e}`;let s="";for(let[c,a]of Object.entries(t))s+=`${c}=${a}&`;return`${n}${e}?${s.slice(0,-1)}`};var $=typeof FileList>"u",M=n=>$?n instanceof Blob:n instanceof FileList||n instanceof File,H=n=>{if(!n)return!1;for(let e in n){if(M(n[e]))return!0;if(Array.isArray(n[e])&&n[e].find(t=>M(t)))return!0}return!1},x=n=>$?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)}),T=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 a=W(c);t({...c,data:a})}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,a){return j(n,`${e}/${c.toString()}`,t)},apply(s,c,[a,b={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:I,$fetch:F,$headers:P,$transform:m,getRaw:C,...q}=a??{};f??=q;let w=e.lastIndexOf("/"),E=e.slice(w+1).toUpperCase(),v=K(n,w===-1?"/":e.slice(0,w),Object.assign(b.query??{},I)),D=t.fetcher??fetch,l=t.transform?Array.isArray(t.transform)?t.transform:[t.transform]:void 0,S=m?Array.isArray(m)?m:[m]:void 0;return S&&(l?l=S.concat(l):l=S),E==="SUBSCRIBE"?new T(v.replace(/^([^]+):\/\//,v.startsWith("https://")?"wss://":"ws://")):(async N=>{let r,R={...t.$fetch?.headers,...F?.headers,...b.headers,...P};if(E!=="GET"&&E!=="HEAD"){r=Object.keys(f).length||Array.isArray(f)?f:void 0;let p=r&&(typeof r=="object"||Array.isArray(f));if(p&&H(r)){let u=new FormData;for(let[h,o]of Object.entries(r))if($)u.append(h,o);else if(o instanceof File)u.append(h,await x(o));else if(o instanceof FileList)for(let d=0;d<o.length;d++)u.append(h,await x(o[d]));else if(Array.isArray(o))for(let d=0;d<o.length;d++){let k=o[d];u.append(h,k instanceof File?await x(k):k)}else u.append(h,o);r=u}else r!=null&&(R["content-type"]=p?"application/json":"text/plain",r=p?JSON.stringify(r):f)}let i=await D(v,{method:E,body:r,...t.$fetch,...b.fetch,...F,headers:R}),g;if(N.getRaw)return i;switch(i.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await i.json();break;default:g=await i.text().then(L)}let B=i.status>=300||i.status<200?new O(i.status,g):null,A={data:g,error:B,response:i,status:i.status,headers:i.headers};if(l)for(let p of l){let y=p(A);y instanceof Promise&&(y=await y),y!=null&&(A=y)}return A})({getRaw:C})}}),z=(n,e={fetcher:fetch})=>new Proxy({},{get(t,s){return j(n,s,e)}});export{T as a,z as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var d=class extends Error{constructor(e,s){super(s+"");this.status=e;this.value=s}};var i=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,o=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,u=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,c=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),a=(t,r)=>{if(typeof t!="string"||r?.parseDate===!1)return null;let e=t.replace(/"/g,"");if(i.test(e)||o.test(e)||u.test(e)){let s=new Date(e);if(!Number.isNaN(s.getTime()))return s}return null},p=t=>{let r=t.charCodeAt(0),e=t.charCodeAt(t.length-1);return r===123&&e===125||r===91&&e===93},f=(t,r)=>JSON.parse(t,(e,s)=>{let n=a(s,r);return n||s}),g=(t,r)=>{if(!t)return t;if(c(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(r?.parseDate!==!1){let e=a(t,r);if(e)return e}if(p(t))try{return f(t,r)}catch{}return t},S=(t,r)=>{let e=t.data.toString();return e==="null"?null:g(e,r)};export{d as a,a as b,g as c,S as d};
|
package/dist/fetch/types.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Elysia } from 'elysia';
|
|
2
2
|
import type { EdenFetchError } from '../errors';
|
|
3
|
-
import type { MapError, IsUnknown, IsNever, Prettify, TreatyToPath } from '../types';
|
|
3
|
+
import type { MapError, IsUnknown, IsNever, Prettify, TreatyToPath, ThrowHttpError } from '../types';
|
|
4
4
|
export declare namespace EdenFetch {
|
|
5
5
|
type Create<App extends Elysia<any, any, any, any, any, any, any>> = App extends {
|
|
6
6
|
'~Routes': infer Schema extends Record<string, unknown>;
|
|
7
7
|
} ? EdenFetch.Fn<TreatyToPath<Schema>> : 'Please install Elysia before using Eden';
|
|
8
8
|
interface Config extends RequestInit {
|
|
9
9
|
fetcher?: typeof globalThis.fetch;
|
|
10
|
+
throwHttpError?: ThrowHttpError;
|
|
10
11
|
}
|
|
11
12
|
type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Uppercase<Extract<keyof Schema[Endpoint], string>>, Route extends Schema[Endpoint][Lowercase<Method>]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('GET' extends Method ? {
|
|
12
13
|
method?: Method;
|
|
@@ -28,7 +29,9 @@ export declare namespace EdenFetch {
|
|
|
28
29
|
body: Route['body'];
|
|
29
30
|
} : {
|
|
30
31
|
body?: unknown;
|
|
31
|
-
})
|
|
32
|
+
}) & {
|
|
33
|
+
throwHttpError?: ThrowHttpError;
|
|
34
|
+
}) => Promise<Prettify<{
|
|
32
35
|
data: Awaited<Route['response'][200]>;
|
|
33
36
|
error: null;
|
|
34
37
|
status: number;
|
package/dist/fetch.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
|
-
import { T as TreatyToPath, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-
|
|
2
|
+
import { T as TreatyToPath, b as ThrowHttpError, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-0YqzVuGd.mjs';
|
|
3
3
|
|
|
4
4
|
declare namespace EdenFetch {
|
|
5
5
|
type Create<App extends Elysia<any, any, any, any, any, any, any>> = App extends {
|
|
@@ -7,6 +7,7 @@ declare namespace EdenFetch {
|
|
|
7
7
|
} ? EdenFetch.Fn<TreatyToPath<Schema>> : 'Please install Elysia before using Eden';
|
|
8
8
|
interface Config extends RequestInit {
|
|
9
9
|
fetcher?: typeof globalThis.fetch;
|
|
10
|
+
throwHttpError?: ThrowHttpError;
|
|
10
11
|
}
|
|
11
12
|
type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Uppercase<Extract<keyof Schema[Endpoint], string>>, Route extends Schema[Endpoint][Lowercase<Method>]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('GET' extends Method ? {
|
|
12
13
|
method?: Method;
|
|
@@ -28,7 +29,9 @@ declare namespace EdenFetch {
|
|
|
28
29
|
body: Route['body'];
|
|
29
30
|
} : {
|
|
30
31
|
body?: unknown;
|
|
31
|
-
})
|
|
32
|
+
}) & {
|
|
33
|
+
throwHttpError?: ThrowHttpError;
|
|
34
|
+
}) => Promise<Prettify<{
|
|
32
35
|
data: Awaited<Route['response'][200]>;
|
|
33
36
|
error: null;
|
|
34
37
|
status: number;
|
package/dist/fetch.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
|
-
import { T as TreatyToPath, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-
|
|
2
|
+
import { T as TreatyToPath, b as ThrowHttpError, a as IsNever, I as IsUnknown, P as Prettify, M as MapError, E as EdenFetchError } from './types-0YqzVuGd.js';
|
|
3
3
|
|
|
4
4
|
declare namespace EdenFetch {
|
|
5
5
|
type Create<App extends Elysia<any, any, any, any, any, any, any>> = App extends {
|
|
@@ -7,6 +7,7 @@ declare namespace EdenFetch {
|
|
|
7
7
|
} ? EdenFetch.Fn<TreatyToPath<Schema>> : 'Please install Elysia before using Eden';
|
|
8
8
|
interface Config extends RequestInit {
|
|
9
9
|
fetcher?: typeof globalThis.fetch;
|
|
10
|
+
throwHttpError?: ThrowHttpError;
|
|
10
11
|
}
|
|
11
12
|
type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Uppercase<Extract<keyof Schema[Endpoint], string>>, Route extends Schema[Endpoint][Lowercase<Method>]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('GET' extends Method ? {
|
|
12
13
|
method?: Method;
|
|
@@ -28,7 +29,9 @@ declare namespace EdenFetch {
|
|
|
28
29
|
body: Route['body'];
|
|
29
30
|
} : {
|
|
30
31
|
body?: unknown;
|
|
31
|
-
})
|
|
32
|
+
}) & {
|
|
33
|
+
throwHttpError?: ThrowHttpError;
|
|
34
|
+
}) => Promise<Prettify<{
|
|
32
35
|
data: Awaited<Route['response'][200]>;
|
|
33
36
|
error: null;
|
|
34
37
|
status: number;
|
package/dist/fetch.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var h=Object.defineProperty;var
|
|
1
|
+
"use strict";var Eden=(()=>{var h=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},O=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!F.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=D(e,s))||n.enumerable});return t};var A=t=>O(h({},"__esModule",{value:!0}),t);var Z={};j(Z,{edenFetch:()=>P});var i=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var M=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,C=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,R=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,$=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),m=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let r=t.replace(/"/g,"");if(M.test(r)||C.test(r)||R.test(r)){let n=new Date(r);if(!Number.isNaN(n.getTime()))return n}return null},H=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},J=(t,e)=>JSON.parse(t,(r,n)=>{let s=m(n,e);return s||n}),g=(t,e)=>{if(!t)return t;if($(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let r=m(t,e);if(r)return r}if(H(t))try{return J(t,e)}catch{}return t};var U=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let r=await t.formData(),n={};return r.forEach((s,c)=>{n[c]=s}),n}}return t.text().then(g)},S=(t,e)=>typeof e=="function"?e(t):e===!0,V=async(t,e,r)=>{let n=await U(t);if(t.status>=300||t.status<200){let s=new i(t.status,n);if(S(s,r))throw s;return{data:null,status:t.status,headers:t.headers,retry:e,error:s}}return{data:n,error:null,status:t.status,headers:t.headers,retry:e}},P=(t,e)=>(r,{query:n,params:s,body:c,throwHttpError:E,...d}={})=>{s&&Object.entries(s).forEach(([a,o])=>{r=r.replace(`:${a}`,o)});let w=e?.fetcher||globalThis.fetch,l=E??e?.throwHttpError,y=n?Object.fromEntries(Object.entries(n).filter(([a,o])=>o!=null)):null,T=y?`?${new URLSearchParams(y).toString()}`:"",b=`${t}${r}${T}`,u=new Headers(d.headers||{}),f=u.get("content-type");if(!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&(!f||f==="application/json"))try{c=JSON.stringify(c),f||u.set("content-type","application/json")}catch{}let x={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:c},p=()=>w(b,x).then(a=>V(a,p,l)).catch(a=>{if(a instanceof i)throw a;let o=new i(503,a);if(S(o,l))throw o;return{data:null,error:o,status:503,headers:void 0,retry:p}});return p()};return A(Z);})();
|
package/dist/fetch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var h=Object.defineProperty;var
|
|
1
|
+
"use strict";var h=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},O=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of N(e))!F.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=D(e,s))||n.enumerable});return t};var A=t=>O(h({},"__esModule",{value:!0}),t);var Z={};j(Z,{edenFetch:()=>P});module.exports=A(Z);var i=class extends Error{constructor(r,n){super(n+"");this.status=r;this.value=n}};var M=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,C=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,R=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,$=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),m=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let r=t.replace(/"/g,"");if(M.test(r)||C.test(r)||R.test(r)){let n=new Date(r);if(!Number.isNaN(n.getTime()))return n}return null},H=t=>{let e=t.charCodeAt(0),r=t.charCodeAt(t.length-1);return e===123&&r===125||e===91&&r===93},J=(t,e)=>JSON.parse(t,(r,n)=>{let s=m(n,e);return s||n}),g=(t,e)=>{if(!t)return t;if($(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let r=m(t,e);if(r)return r}if(H(t))try{return J(t,e)}catch{}return t};var U=async t=>{switch(t.headers.get("Content-Type")?.split(";")[0]){case"application/json":return t.json();case"application/octet-stream":return t.arrayBuffer();case"multipart/form-data":{let r=await t.formData(),n={};return r.forEach((s,c)=>{n[c]=s}),n}}return t.text().then(g)},S=(t,e)=>typeof e=="function"?e(t):e===!0,V=async(t,e,r)=>{let n=await U(t);if(t.status>=300||t.status<200){let s=new i(t.status,n);if(S(s,r))throw s;return{data:null,status:t.status,headers:t.headers,retry:e,error:s}}return{data:n,error:null,status:t.status,headers:t.headers,retry:e}},P=(t,e)=>(r,{query:n,params:s,body:c,throwHttpError:E,...d}={})=>{s&&Object.entries(s).forEach(([a,o])=>{r=r.replace(`:${a}`,o)});let w=e?.fetcher||globalThis.fetch,l=E??e?.throwHttpError,y=n?Object.fromEntries(Object.entries(n).filter(([a,o])=>o!=null)):null,T=y?`?${new URLSearchParams(y).toString()}`:"",b=`${t}${r}${T}`,u=new Headers(d.headers||{}),f=u.get("content-type");if(!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&(!f||f==="application/json"))try{c=JSON.stringify(c),f||u.set("content-type","application/json")}catch{}let x={...d,method:d.method?.toUpperCase()||"GET",headers:u,body:c},p=()=>w(b,x).then(a=>V(a,p,l)).catch(a=>{if(a instanceof i)throw a;let o=new i(503,a);if(S(o,l))throw o;return{data:null,error:o,status:503,headers:void 0,retry:p}});return p()};0&&(module.exports={edenFetch});
|
package/dist/fetch.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-E2P2HQLJ.mjs";import"./chunk-I5KHAGLL.mjs";export{a as edenFetch};
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { Treaty, treaty } from './treaty2.mjs';
|
|
2
2
|
export { edenTreaty } from './treaty.mjs';
|
|
3
3
|
export { edenFetch } from './fetch.mjs';
|
|
4
|
-
export { E as EdenFetchError } from './types-
|
|
4
|
+
export { E as EdenFetchError } from './types-0YqzVuGd.mjs';
|
|
5
5
|
import 'elysia';
|
|
6
|
-
import 'bun';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { Treaty, treaty } from './treaty2.js';
|
|
2
2
|
export { edenTreaty } from './treaty.js';
|
|
3
3
|
export { edenFetch } from './fetch.js';
|
|
4
|
-
export { E as EdenFetchError } from './types-
|
|
4
|
+
export { E as EdenFetchError } from './types-0YqzVuGd.js';
|
|
5
5
|
import 'elysia';
|
|
6
|
-
import 'bun';
|
package/dist/index.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var
|
|
2
|
-
`),
|
|
1
|
+
"use strict";var Eden=(()=>{var J=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},ue=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ce(t))!fe.call(e,s)&&s!==n&&J(e,s,{get:()=>t[s],enumerable:!(r=ie(t,s))||r.enumerable});return e};var le=e=>ue(J({},"__esModule",{value:!0}),e);var Te={};de(Te,{EdenFetchError:()=>x,edenFetch:()=>ae,edenTreaty:()=>re,treaty:()=>Y});var x=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var ye=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,pe=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,he=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,ge=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),H=(e,t)=>{if(typeof e!="string"||t?.parseDate===!1)return null;let n=e.replace(/"/g,"");if(ye.test(n)||pe.test(n)||he.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},me=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},we=(e,t)=>JSON.parse(e,(n,r)=>{let s=H(r,t);return s||r}),M=(e,t)=>{if(!e)return e;if(ge(e))return+e;if(e==="true")return!0;if(e==="false")return!1;if(t?.parseDate!==!1){let n=H(e,t);if(n)return n}if(me(e))try{return we(e,t)}catch{}return e},I=(e,t)=>{let n=e.data.toString();return n==="null"?null:M(n,t)};var P=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var Ee=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=(e,t)=>typeof t=="function"?t(e):t===!0,z=["localhost","127.0.0.1","0.0.0.0"],B=typeof FileList>"u",q=e=>B?e instanceof Blob:e instanceof FileList||e instanceof File,be=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},U=e=>B?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),$=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=await $(s,t,n,r);else{let a=s[0];if(typeof a=="string")r[a.toLowerCase()]=s[1];else for(let[o,f]of a)r[o.toLowerCase()]=f}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return $(e,t,n,r);let s=await e(t,n);return s?$(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((a,o)=>{r[o.toLowerCase()]=a}),r;for(let[a,o]of Object.entries(e))r[a.toLowerCase()]=o;return r;default:return r}};function X(e,t){let n=e.split(`
|
|
2
|
+
`),r={};for(let s of n){if(!s||s.startsWith(":"))continue;let a=s.indexOf(":");if(a>0){let o=s.slice(0,a).trim(),f=s.slice(a+1).replace(/^ /,"");r[o]=f&&M(f,t)}}return Object.keys(r).length>0?r:null}function*Q(e,t){let n;for(;(n=e.value.indexOf(`
|
|
3
3
|
|
|
4
|
-
`))!==-1;){let
|
|
4
|
+
`))!==-1;){let r=e.value.slice(0,n);if(e.value=e.value.slice(n+2),r.trim()){let s=X(r,t);s&&(yield s)}}}async function*Se(e,t){let n=e.body;if(!n)return;let r=n.getReader(),s=new TextDecoder("utf-8"),a={value:""};try{for(;;){let{done:f,value:F}=await r.read();if(f)break;let T=typeof F=="string"?F:s.decode(F,{stream:!0});a.value+=T,yield*Q(a,t)}let o=s.decode();if(o&&(a.value+=o),yield*Q(a,t),a.value.trim()){let f=X(a.value,t);f&&(yield f)}}finally{r.releaseLock()}}var N=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,a){if(!(n.length===0&&(a==="then"||a==="catch"||a==="finally")))return N(e,t,[...n,a],r)},apply(s,a,[o,f]){if(!o||f||typeof o=="object"&&Object.keys(o).length!==1||Ee.includes(n.at(-1))){let F=[...n],T=F.pop(),v="/"+F.join("/"),{fetcher:D=fetch,headers:L,onRequest:w,onResponse:O,fetch:W}=t,b=T==="get"||T==="head"||T==="subscribe",A=b?o?.query:f?.query,y="";if(A){let i=(R,S)=>{S!=null&&(S instanceof Date&&(S=S.toISOString()),y+=(y?"&":"?")+`${encodeURIComponent(R)}=${encodeURIComponent(typeof S=="object"?JSON.stringify(S):S+"")}`)};for(let[R,S]of Object.entries(A)){if(Array.isArray(S)){for(let E of S)i(R,E);continue}i(R,S)}}if(T==="subscribe"){let i=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||z.find(R=>e.includes(R))?"ws://":"wss://")+v+y;return new P(i)}return(async()=>{L=await $(L,v,f);let i={method:T?.toUpperCase(),body:o,...W,headers:L};i.headers={...L,...await $(b?o?.headers:f?.headers,v,i)};let R=b&&typeof o=="object"?o.fetch:f?.fetch,E=(b&&typeof o=="object"?o.throwHttpError:f?.throwHttpError)??t.throwHttpError;if(i={...i,...R},b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}if(b&&delete i.body,be(o)){let l=new FormData,c=d=>{if(typeof d=="string"||q(d))return!1;if(typeof d=="object"){if(d!==null)return!0;if(d instanceof Date)return!1}return!1},h=async d=>d instanceof File?await U(d):c(d)?JSON.stringify(d):d;for(let[d,p]of Object.entries(i.body)){if(Array.isArray(p)){if(p.some(k=>typeof k=="object"&&k!==null&&!q(k)))l.append(d,JSON.stringify(p));else for(let k=0;k<p.length;k++){let K=p[k],oe=await h(K);l.append(d,oe)}continue}if(B){if(Array.isArray(p))for(let m of p)l.append(d,await h(m));else l.append(d,await h(p));continue}if(p instanceof File){l.append(d,await U(p));continue}if(p instanceof FileList){for(let m=0;m<p.length;m++)l.append(d,await U(p[m]));continue}l.append(d,await h(p))}i.body=l}else typeof o=="object"?(i.headers["content-type"]="application/json",i.body=JSON.stringify(o)):o!=null&&(i.headers["content-type"]="text/plain");if(b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}f?.headers?.["content-type"]&&(i.headers["content-type"]=f?.headers["content-type"]);let C=e+v+y,u;try{u=await(r?.handle(new Request(C,i))??D(C,i))}catch(l){let c=new x(503,l);if(Z(c,E))throw c;return{data:null,error:c,response:void 0,status:503,headers:void 0}}let g=null,j=null;if(O){Array.isArray(O)||(O=[O]);for(let l of O)try{let c=await l(u.clone());if(c!=null){g=c;break}}catch(c){c instanceof x?j=c:j=new x(422,c);break}}if(g!==null)return{data:g,error:j,response:u,status:u.status,headers:u.headers};switch(u.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=Se(u,{parseDate:t.parseDate});break;case"application/json":g=JSON.parse(await u.text(),(c,h)=>{if(typeof h!="string")return h;let d=H(h,{parseDate:t.parseDate});return d||h});break;case"application/octet-stream":g=await u.arrayBuffer();break;case"multipart/form-data":let l=await u.formData();g={},l.forEach((c,h)=>{g[h]=c});break;default:g=await u.text().then(c=>M(c,{parseDate:t.parseDate}))}if(u.status>=300||u.status<200){if(j=new x(u.status,g),Z(j,E))throw j;g=null}return{data:g,error:j,response:u,status:u.status,headers:u.headers}})()}return typeof o=="object"?N(e,t,[...n,Object.values(o)[0]],r):N(e,t,n)}}),Y=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(z.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),N(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),N("http://e.ly",t,[],e));var ee=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[s,a]of Object.entries(n))r+=`${s}=${a}&`;return`${e}${t}?${r.slice(0,-1)}`};var G=typeof FileList>"u",te=e=>G?e instanceof Blob:e instanceof FileList||e instanceof File,ke=e=>{if(!e)return!1;for(let t in e){if(te(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>te(n)))return!0}return!1},V=e=>G?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),_=class{ws;url;constructor(t){this.ws=new WebSocket(t),this.url=t}send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},ne=(e,t="",n)=>new Proxy(()=>{},{get(r,s,a){return ne(e,`${t}/${s.toString()}`,n)},apply(r,s,[a,o={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:F,$fetch:T,$headers:v,$transform:D,getRaw:L,...w}=a??{};f??=w;let O=t.lastIndexOf("/"),W=t.slice(O+1).toUpperCase(),b=ee(e,O===-1?"/":t.slice(0,O),Object.assign(o.query??{},F)),A=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,i=D?Array.isArray(D)?D:[D]:void 0;return i&&(y?y=i.concat(y):y=i),W==="SUBSCRIBE"?new _(b.replace(/^([^]+):\/\//,b.startsWith("https://")?"wss://":"ws://")):(async S=>{let E,C={...n.$fetch?.headers,...T?.headers,...o.headers,...v};if(W!=="GET"&&W!=="HEAD"){E=Object.keys(f).length||Array.isArray(f)?f:void 0;let c=E&&(typeof E=="object"||Array.isArray(f));if(c&&ke(E)){let d=new FormData;for(let[p,m]of Object.entries(E))if(G)d.append(p,m);else if(m instanceof File)d.append(p,await V(m));else if(m instanceof FileList)for(let k=0;k<m.length;k++)d.append(p,await V(m[k]));else if(Array.isArray(m))for(let k=0;k<m.length;k++){let K=m[k];d.append(p,K instanceof File?await V(K):K)}else d.append(p,m);E=d}else E!=null&&(C["content-type"]=c?"application/json":"text/plain",E=c?JSON.stringify(E):f)}let u=await A(b,{method:W,body:E,...n.$fetch,...o.fetch,...T,headers:C}),g;if(S.getRaw)return u;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await u.json();break;default:g=await u.text().then(M)}let j=u.status>=300||u.status<200?new x(u.status,g):null,l={data:g,error:j,response:u,status:u.status,headers:u.headers};if(y)for(let c of y){let h=c(l);h instanceof Promise&&(h=await h),h!=null&&(l=h)}return l})({getRaw:L})}}),re=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return ne(e,r,t)}});var xe=async e=>{switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":return e.json();case"application/octet-stream":return e.arrayBuffer();case"multipart/form-data":{let n=await e.formData(),r={};return n.forEach((s,a)=>{r[a]=s}),r}}return e.text().then(M)},se=(e,t)=>typeof t=="function"?t(e):t===!0,Ae=async(e,t,n)=>{let r=await xe(e);if(e.status>=300||e.status<200){let s=new x(e.status,r);if(se(s,n))throw s;return{data:null,status:e.status,headers:e.headers,retry:t,error:s}}return{data:r,error:null,status:e.status,headers:e.headers,retry:t}},ae=(e,t)=>(n,{query:r,params:s,body:a,throwHttpError:o,...f}={})=>{s&&Object.entries(s).forEach(([A,y])=>{n=n.replace(`:${A}`,y)});let F=t?.fetcher||globalThis.fetch,T=o??t?.throwHttpError,v=r?Object.fromEntries(Object.entries(r).filter(([A,y])=>y!=null)):null,D=v?`?${new URLSearchParams(v).toString()}`:"",L=`${e}${n}${D}`,w=new Headers(f.headers||{}),O=w.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!O||O==="application/json"))try{a=JSON.stringify(a),O||w.set("content-type","application/json")}catch{}let W={...f,method:f.method?.toUpperCase()||"GET",headers:w,body:a},b=()=>F(L,W).then(A=>Ae(A,b,T)).catch(A=>{if(A instanceof x)throw A;let y=new x(503,A);if(se(y,T))throw y;return{data:null,error:y,status:503,headers:void 0,retry:b}});return b()};return le(Te);})();
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`),
|
|
1
|
+
"use strict";var J=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},ue=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ce(t))!fe.call(e,s)&&s!==n&&J(e,s,{get:()=>t[s],enumerable:!(r=ie(t,s))||r.enumerable});return e};var le=e=>ue(J({},"__esModule",{value:!0}),e);var Te={};de(Te,{EdenFetchError:()=>x,edenFetch:()=>ae,edenTreaty:()=>re,treaty:()=>Y});module.exports=le(Te);var x=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var ye=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,pe=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,he=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,ge=e=>e.trim().length!==0&&!Number.isNaN(Number(e)),H=(e,t)=>{if(typeof e!="string"||t?.parseDate===!1)return null;let n=e.replace(/"/g,"");if(ye.test(n)||pe.test(n)||he.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},me=e=>{let t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===123&&n===125||t===91&&n===93},we=(e,t)=>JSON.parse(e,(n,r)=>{let s=H(r,t);return s||r}),M=(e,t)=>{if(!e)return e;if(ge(e))return+e;if(e==="true")return!0;if(e==="false")return!1;if(t?.parseDate!==!1){let n=H(e,t);if(n)return n}if(me(e))try{return we(e,t)}catch{}return e},I=(e,t)=>{let n=e.data.toString();return n==="null"?null:M(n,t)};var P=class{constructor(t){this.url=t;this.ws=new WebSocket(t)}ws;send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}};var Ee=["get","post","put","delete","patch","options","head","connect","subscribe"],Z=(e,t)=>typeof t=="function"?t(e):t===!0,z=["localhost","127.0.0.1","0.0.0.0"],B=typeof FileList>"u",q=e=>B?e instanceof Blob:e instanceof FileList||e instanceof File,be=e=>{if(!e)return!1;for(let t in e)if(q(e[t])||Array.isArray(e[t])&&e[t].find(q))return!0;return!1},U=e=>B?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),$=async(e,t,n={},r={})=>{if(Array.isArray(e)){for(let s of e)if(!Array.isArray(s))r=await $(s,t,n,r);else{let a=s[0];if(typeof a=="string")r[a.toLowerCase()]=s[1];else for(let[o,f]of a)r[o.toLowerCase()]=f}return r}if(!e)return r;switch(typeof e){case"function":if(e instanceof Headers)return $(e,t,n,r);let s=await e(t,n);return s?$(s,t,n,r):r;case"object":if(e instanceof Headers)return e.forEach((a,o)=>{r[o.toLowerCase()]=a}),r;for(let[a,o]of Object.entries(e))r[a.toLowerCase()]=o;return r;default:return r}};function X(e,t){let n=e.split(`
|
|
2
|
+
`),r={};for(let s of n){if(!s||s.startsWith(":"))continue;let a=s.indexOf(":");if(a>0){let o=s.slice(0,a).trim(),f=s.slice(a+1).replace(/^ /,"");r[o]=f&&M(f,t)}}return Object.keys(r).length>0?r:null}function*Q(e,t){let n;for(;(n=e.value.indexOf(`
|
|
3
3
|
|
|
4
|
-
`))!==-1;){let
|
|
4
|
+
`))!==-1;){let r=e.value.slice(0,n);if(e.value=e.value.slice(n+2),r.trim()){let s=X(r,t);s&&(yield s)}}}async function*Se(e,t){let n=e.body;if(!n)return;let r=n.getReader(),s=new TextDecoder("utf-8"),a={value:""};try{for(;;){let{done:f,value:F}=await r.read();if(f)break;let T=typeof F=="string"?F:s.decode(F,{stream:!0});a.value+=T,yield*Q(a,t)}let o=s.decode();if(o&&(a.value+=o),yield*Q(a,t),a.value.trim()){let f=X(a.value,t);f&&(yield f)}}finally{r.releaseLock()}}var N=(e,t,n=[],r)=>new Proxy(()=>{},{get(s,a){if(!(n.length===0&&(a==="then"||a==="catch"||a==="finally")))return N(e,t,[...n,a],r)},apply(s,a,[o,f]){if(!o||f||typeof o=="object"&&Object.keys(o).length!==1||Ee.includes(n.at(-1))){let F=[...n],T=F.pop(),v="/"+F.join("/"),{fetcher:D=fetch,headers:L,onRequest:w,onResponse:O,fetch:W}=t,b=T==="get"||T==="head"||T==="subscribe",A=b?o?.query:f?.query,y="";if(A){let i=(R,S)=>{S!=null&&(S instanceof Date&&(S=S.toISOString()),y+=(y?"&":"?")+`${encodeURIComponent(R)}=${encodeURIComponent(typeof S=="object"?JSON.stringify(S):S+"")}`)};for(let[R,S]of Object.entries(A)){if(Array.isArray(S)){for(let E of S)i(R,E);continue}i(R,S)}}if(T==="subscribe"){let i=e.replace(/^([^]+):\/\//,e.startsWith("https://")?"wss://":e.startsWith("http://")||z.find(R=>e.includes(R))?"ws://":"wss://")+v+y;return new P(i)}return(async()=>{L=await $(L,v,f);let i={method:T?.toUpperCase(),body:o,...W,headers:L};i.headers={...L,...await $(b?o?.headers:f?.headers,v,i)};let R=b&&typeof o=="object"?o.fetch:f?.fetch,E=(b&&typeof o=="object"?o.throwHttpError:f?.throwHttpError)??t.throwHttpError;if(i={...i,...R},b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}if(b&&delete i.body,be(o)){let l=new FormData,c=d=>{if(typeof d=="string"||q(d))return!1;if(typeof d=="object"){if(d!==null)return!0;if(d instanceof Date)return!1}return!1},h=async d=>d instanceof File?await U(d):c(d)?JSON.stringify(d):d;for(let[d,p]of Object.entries(i.body)){if(Array.isArray(p)){if(p.some(k=>typeof k=="object"&&k!==null&&!q(k)))l.append(d,JSON.stringify(p));else for(let k=0;k<p.length;k++){let K=p[k],oe=await h(K);l.append(d,oe)}continue}if(B){if(Array.isArray(p))for(let m of p)l.append(d,await h(m));else l.append(d,await h(p));continue}if(p instanceof File){l.append(d,await U(p));continue}if(p instanceof FileList){for(let m=0;m<p.length;m++)l.append(d,await U(p[m]));continue}l.append(d,await h(p))}i.body=l}else typeof o=="object"?(i.headers["content-type"]="application/json",i.body=JSON.stringify(o)):o!=null&&(i.headers["content-type"]="text/plain");if(b&&delete i.body,w){Array.isArray(w)||(w=[w]);for(let l of w){let c=await l(v,i);typeof c=="object"&&(i={...i,...c,headers:{...i.headers,...await $(c.headers,v,i)}})}}f?.headers?.["content-type"]&&(i.headers["content-type"]=f?.headers["content-type"]);let C=e+v+y,u;try{u=await(r?.handle(new Request(C,i))??D(C,i))}catch(l){let c=new x(503,l);if(Z(c,E))throw c;return{data:null,error:c,response:void 0,status:503,headers:void 0}}let g=null,j=null;if(O){Array.isArray(O)||(O=[O]);for(let l of O)try{let c=await l(u.clone());if(c!=null){g=c;break}}catch(c){c instanceof x?j=c:j=new x(422,c);break}}if(g!==null)return{data:g,error:j,response:u,status:u.status,headers:u.headers};switch(u.headers.get("Content-Type")?.split(";")[0]){case"text/event-stream":g=Se(u,{parseDate:t.parseDate});break;case"application/json":g=JSON.parse(await u.text(),(c,h)=>{if(typeof h!="string")return h;let d=H(h,{parseDate:t.parseDate});return d||h});break;case"application/octet-stream":g=await u.arrayBuffer();break;case"multipart/form-data":let l=await u.formData();g={},l.forEach((c,h)=>{g[h]=c});break;default:g=await u.text().then(c=>M(c,{parseDate:t.parseDate}))}if(u.status>=300||u.status<200){if(j=new x(u.status,g),Z(j,E))throw j;g=null}return{data:g,error:j,response:u,status:u.status,headers:u.headers}})()}return typeof o=="object"?N(e,t,[...n,Object.values(o)[0]],r):N(e,t,n)}}),Y=(e,t={})=>typeof e=="string"?(t.keepDomain||(e.includes("://")||(e=(z.find(n=>e.includes(n))?"http://":"https://")+e),e.endsWith("/")&&(e=e.slice(0,-1))),N(e,t)):(typeof window<"u"&&console.warn("Elysia instance server found on client side, this is not recommended for security reason. Use generic type instead."),N("http://e.ly",t,[],e));var ee=(e,t,n)=>{if(e.endsWith("/")||(e+="/"),t==="index"&&(t=""),!n||!Object.keys(n).length)return`${e}${t}`;let r="";for(let[s,a]of Object.entries(n))r+=`${s}=${a}&`;return`${e}${t}?${r.slice(0,-1)}`};var G=typeof FileList>"u",te=e=>G?e instanceof Blob:e instanceof FileList||e instanceof File,ke=e=>{if(!e)return!1;for(let t in e){if(te(e[t]))return!0;if(Array.isArray(e[t])&&e[t].find(n=>te(n)))return!0}return!1},V=e=>G?e:new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=new File([n.result],e.name,{lastModified:e.lastModified,type:e.type});t(r)},n.readAsArrayBuffer(e)}),_=class{ws;url;constructor(t){this.ws=new WebSocket(t),this.url=t}send(t){return Array.isArray(t)?(t.forEach(n=>this.send(n)),this):(this.ws.send(typeof t=="object"?JSON.stringify(t):t.toString()),this)}on(t,n,r){return this.addEventListener(t,n,r)}off(t,n,r){return this.ws.removeEventListener(t,n,r),this}subscribe(t,n){return this.addEventListener("message",t,n)}addEventListener(t,n,r){return this.ws.addEventListener(t,s=>{if(t==="message"){let a=I(s);n({...s,data:a})}else n(s)},r),this}removeEventListener(t,n,r){return this.off(t,n,r),this}close(){return this.ws.close(),this}},ne=(e,t="",n)=>new Proxy(()=>{},{get(r,s,a){return ne(e,`${t}/${s.toString()}`,n)},apply(r,s,[a,o={}]=[{},{}]){let f=a!==void 0&&(typeof a!="object"||Array.isArray(a))?a:void 0,{$query:F,$fetch:T,$headers:v,$transform:D,getRaw:L,...w}=a??{};f??=w;let O=t.lastIndexOf("/"),W=t.slice(O+1).toUpperCase(),b=ee(e,O===-1?"/":t.slice(0,O),Object.assign(o.query??{},F)),A=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,i=D?Array.isArray(D)?D:[D]:void 0;return i&&(y?y=i.concat(y):y=i),W==="SUBSCRIBE"?new _(b.replace(/^([^]+):\/\//,b.startsWith("https://")?"wss://":"ws://")):(async S=>{let E,C={...n.$fetch?.headers,...T?.headers,...o.headers,...v};if(W!=="GET"&&W!=="HEAD"){E=Object.keys(f).length||Array.isArray(f)?f:void 0;let c=E&&(typeof E=="object"||Array.isArray(f));if(c&&ke(E)){let d=new FormData;for(let[p,m]of Object.entries(E))if(G)d.append(p,m);else if(m instanceof File)d.append(p,await V(m));else if(m instanceof FileList)for(let k=0;k<m.length;k++)d.append(p,await V(m[k]));else if(Array.isArray(m))for(let k=0;k<m.length;k++){let K=m[k];d.append(p,K instanceof File?await V(K):K)}else d.append(p,m);E=d}else E!=null&&(C["content-type"]=c?"application/json":"text/plain",E=c?JSON.stringify(E):f)}let u=await A(b,{method:W,body:E,...n.$fetch,...o.fetch,...T,headers:C}),g;if(S.getRaw)return u;switch(u.headers.get("Content-Type")?.split(";")[0]){case"application/json":g=await u.json();break;default:g=await u.text().then(M)}let j=u.status>=300||u.status<200?new x(u.status,g):null,l={data:g,error:j,response:u,status:u.status,headers:u.headers};if(y)for(let c of y){let h=c(l);h instanceof Promise&&(h=await h),h!=null&&(l=h)}return l})({getRaw:L})}}),re=(e,t={fetcher:fetch})=>new Proxy({},{get(n,r){return ne(e,r,t)}});var xe=async e=>{switch(e.headers.get("Content-Type")?.split(";")[0]){case"application/json":return e.json();case"application/octet-stream":return e.arrayBuffer();case"multipart/form-data":{let n=await e.formData(),r={};return n.forEach((s,a)=>{r[a]=s}),r}}return e.text().then(M)},se=(e,t)=>typeof t=="function"?t(e):t===!0,Ae=async(e,t,n)=>{let r=await xe(e);if(e.status>=300||e.status<200){let s=new x(e.status,r);if(se(s,n))throw s;return{data:null,status:e.status,headers:e.headers,retry:t,error:s}}return{data:r,error:null,status:e.status,headers:e.headers,retry:t}},ae=(e,t)=>(n,{query:r,params:s,body:a,throwHttpError:o,...f}={})=>{s&&Object.entries(s).forEach(([A,y])=>{n=n.replace(`:${A}`,y)});let F=t?.fetcher||globalThis.fetch,T=o??t?.throwHttpError,v=r?Object.fromEntries(Object.entries(r).filter(([A,y])=>y!=null)):null,D=v?`?${new URLSearchParams(v).toString()}`:"",L=`${e}${n}${D}`,w=new Headers(f.headers||{}),O=w.get("content-type");if(!(a instanceof FormData)&&!(a instanceof URLSearchParams)&&(!O||O==="application/json"))try{a=JSON.stringify(a),O||w.set("content-type","application/json")}catch{}let W={...f,method:f.method?.toUpperCase()||"GET",headers:w,body:a},b=()=>F(L,W).then(A=>Ae(A,b,T)).catch(A=>{if(A instanceof x)throw A;let y=new x(503,A);if(se(y,T))throw y;return{data:null,error:y,status:503,headers:void 0,retry:b}});return b()};0&&(module.exports={EdenFetchError,edenFetch,edenTreaty,treaty});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as t}from"./chunk-
|
|
1
|
+
import{b as t}from"./chunk-FXT7FC66.mjs";import{b as r}from"./chunk-AB4FCYGG.mjs";import{a as o}from"./chunk-E2P2HQLJ.mjs";import{a as e}from"./chunk-I5KHAGLL.mjs";export{e as EdenFetchError,o as edenFetch,t as edenTreaty,r as treaty};
|
package/dist/treaty.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Elysia, InputSchema } from 'elysia';
|
|
2
|
-
import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-
|
|
2
|
+
import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-0YqzVuGd.mjs';
|
|
3
3
|
|
|
4
4
|
type Files = File | FileList;
|
|
5
5
|
type Replace<RecordType, TargetType, GenericType> = {
|
package/dist/treaty.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Elysia, InputSchema } from 'elysia';
|
|
2
|
-
import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-
|
|
2
|
+
import { P as Prettify, I as IsUnknown, M as MapError, a as IsNever, E as EdenFetchError } from './types-0YqzVuGd.js';
|
|
3
3
|
|
|
4
4
|
type Files = File | FileList;
|
|
5
5
|
type Replace<RecordType, TargetType, GenericType> = {
|
package/dist/treaty.global.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Eden=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>
|
|
1
|
+
"use strict";var Eden=(()=>{var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>S,edenTreaty:()=>se});var E=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var W=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${t}${e}?${r.slice(0,-1)}`};var Q=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,X=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Y=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,ee=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),L=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let n=t.replace(/"/g,"");if(Q.test(n)||X.test(n)||Y.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},te=t=>{let e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e===123&&n===125||e===91&&n===93},ne=(t,e)=>JSON.parse(t,(n,r)=>{let s=L(r,e);return s||r}),$=(t,e)=>{if(!t)return t;if(ee(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let n=L(t,e);if(n)return n}if(te(t))try{return ne(t,e)}catch{}return t},N=(t,e)=>{let n=t.data.toString();return n==="null"?null:$(n,e)};var M=typeof FileList>"u",K=t=>M?t instanceof Blob:t instanceof FileList||t instanceof File,re=t=>{if(!t)return!1;for(let e in t){if(K(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>K(n)))return!0}return!1},F=t=>M?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)}),S=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,s=>{if(e==="message"){let i=N(s);n({...s,data:i})}else n(s)},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,s,i){return j(t,`${e}/${s.toString()}`,n)},apply(r,s,[i,w={}]=[{},{}]){let c=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:I,$fetch:R,$headers:P,$transform:g,getRaw:C,...J}=i??{};c??=J;let x=e.lastIndexOf("/"),m=e.slice(x+1).toUpperCase(),A=W(t,x===-1?"/":e.slice(0,x),Object.assign(w.query??{},I)),q=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,T=g?Array.isArray(g)?g:[g]:void 0;return T&&(y?y=T.concat(y):y=T),m==="SUBSCRIBE"?new S(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async V=>{let a,D={...n.$fetch?.headers,...R?.headers,...w.headers,...P};if(m!=="GET"&&m!=="HEAD"){a=Object.keys(c).length||Array.isArray(c)?c:void 0;let p=a&&(typeof a=="object"||Array.isArray(c));if(p&&re(a)){let l=new FormData;for(let[h,d]of Object.entries(a))if(M)l.append(h,d);else if(d instanceof File)l.append(h,await F(d));else if(d instanceof FileList)for(let u=0;u<d.length;u++)l.append(h,await F(d[u]));else if(Array.isArray(d))for(let u=0;u<d.length;u++){let O=d[u];l.append(h,O instanceof File?await F(O):O)}else l.append(h,d);a=l}else a!=null&&(D["content-type"]=p?"application/json":"text/plain",a=p?JSON.stringify(a):c)}let o=await q(A,{method:m,body:a,...n.$fetch,...w.fetch,...R,headers:D}),b;if(V.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await o.json();break;default:b=await o.text().then($)}let Z=o.status>=300||o.status<200?new E(o.status,b):null,k={data:b,error:Z,response:o,status:o.status,headers:o.headers};if(y)for(let p of y){let f=p(k);f instanceof Promise&&(f=await f),f!=null&&(k=f)}return k})({getRaw:C})}}),se=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,r,e)}});return z(ae);})();
|
package/dist/treaty.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>
|
|
1
|
+
"use strict";var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},_=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G(e))!H.call(t,s)&&s!==n&&v(t,s,{get:()=>e[s],enumerable:!(r=B(e,s))||r.enumerable});return t};var z=t=>_(v({},"__esModule",{value:!0}),t);var ae={};U(ae,{EdenWS:()=>S,edenTreaty:()=>se});module.exports=z(ae);var E=class extends Error{constructor(n,r){super(r+"");this.status=n;this.value=r}};var W=(t,e,n)=>{if(t.endsWith("/")||(t+="/"),e==="index"&&(e=""),!n||!Object.keys(n).length)return`${t}${e}`;let r="";for(let[s,i]of Object.entries(n))r+=`${s}=${i}&`;return`${t}${e}?${r.slice(0,-1)}`};var Q=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,X=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,Y=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,ee=t=>t.trim().length!==0&&!Number.isNaN(Number(t)),L=(t,e)=>{if(typeof t!="string"||e?.parseDate===!1)return null;let n=t.replace(/"/g,"");if(Q.test(n)||X.test(n)||Y.test(n)){let r=new Date(n);if(!Number.isNaN(r.getTime()))return r}return null},te=t=>{let e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e===123&&n===125||e===91&&n===93},ne=(t,e)=>JSON.parse(t,(n,r)=>{let s=L(r,e);return s||r}),$=(t,e)=>{if(!t)return t;if(ee(t))return+t;if(t==="true")return!0;if(t==="false")return!1;if(e?.parseDate!==!1){let n=L(t,e);if(n)return n}if(te(t))try{return ne(t,e)}catch{}return t},N=(t,e)=>{let n=t.data.toString();return n==="null"?null:$(n,e)};var M=typeof FileList>"u",K=t=>M?t instanceof Blob:t instanceof FileList||t instanceof File,re=t=>{if(!t)return!1;for(let e in t){if(K(t[e]))return!0;if(Array.isArray(t[e])&&t[e].find(n=>K(n)))return!0}return!1},F=t=>M?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)}),S=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,s=>{if(e==="message"){let i=N(s);n({...s,data:i})}else n(s)},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,s,i){return j(t,`${e}/${s.toString()}`,n)},apply(r,s,[i,w={}]=[{},{}]){let c=i!==void 0&&(typeof i!="object"||Array.isArray(i))?i:void 0,{$query:I,$fetch:R,$headers:P,$transform:g,getRaw:C,...J}=i??{};c??=J;let x=e.lastIndexOf("/"),m=e.slice(x+1).toUpperCase(),A=W(t,x===-1?"/":e.slice(0,x),Object.assign(w.query??{},I)),q=n.fetcher??fetch,y=n.transform?Array.isArray(n.transform)?n.transform:[n.transform]:void 0,T=g?Array.isArray(g)?g:[g]:void 0;return T&&(y?y=T.concat(y):y=T),m==="SUBSCRIBE"?new S(A.replace(/^([^]+):\/\//,A.startsWith("https://")?"wss://":"ws://")):(async V=>{let a,D={...n.$fetch?.headers,...R?.headers,...w.headers,...P};if(m!=="GET"&&m!=="HEAD"){a=Object.keys(c).length||Array.isArray(c)?c:void 0;let p=a&&(typeof a=="object"||Array.isArray(c));if(p&&re(a)){let l=new FormData;for(let[h,d]of Object.entries(a))if(M)l.append(h,d);else if(d instanceof File)l.append(h,await F(d));else if(d instanceof FileList)for(let u=0;u<d.length;u++)l.append(h,await F(d[u]));else if(Array.isArray(d))for(let u=0;u<d.length;u++){let O=d[u];l.append(h,O instanceof File?await F(O):O)}else l.append(h,d);a=l}else a!=null&&(D["content-type"]=p?"application/json":"text/plain",a=p?JSON.stringify(a):c)}let o=await q(A,{method:m,body:a,...n.$fetch,...w.fetch,...R,headers:D}),b;if(V.getRaw)return o;switch(o.headers.get("Content-Type")?.split(";")[0]){case"application/json":b=await o.json();break;default:b=await o.text().then($)}let Z=o.status>=300||o.status<200?new E(o.status,b):null,k={data:b,error:Z,response:o,status:o.status,headers:o.headers};if(y)for(let p of y){let f=p(k);f instanceof Promise&&(f=await f),f!=null&&(k=f)}return k})({getRaw:C})}}),se=(t,e={fetcher:fetch})=>new Proxy({},{get(n,r){return j(t,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-FXT7FC66.mjs";import"./chunk-I5KHAGLL.mjs";export{a as EdenWS,b as edenTreaty};
|
package/dist/treaty2/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Elysia } from 'elysia';
|
|
2
2
|
import type { Treaty } from './types';
|
|
3
|
-
export declare function streamResponse(response: Response
|
|
4
|
-
|
|
3
|
+
export declare function streamResponse(response: Response, options?: {
|
|
4
|
+
parseDate?: boolean;
|
|
5
|
+
}): AsyncGenerator<Record<string, unknown>, void, any>;
|
|
6
|
+
export declare const treaty: <const App extends Elysia<any, any, any, any, any, any, any>, const Head extends {} = {}>(domain: string | App, config?: Treaty.Config<Head>) => Treaty.Create<App, Head>;
|
|
5
7
|
export type { Treaty };
|