@elysiajs/eden 0.5.6 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc CHANGED
@@ -16,6 +16,8 @@
16
16
  "@typescript-eslint"
17
17
  ],
18
18
  "rules": {
19
+ "@typescript-eslint/no-namespace": "off",
20
+ "@typescript-eslint/ban-ts-comment": "off",
19
21
  "@typescript-eslint/ban-types": "off",
20
22
  "@typescript-eslint/no-explicit-any": "off"
21
23
  },
@@ -1,4 +1,5 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { EdenFetch } from './types';
3
3
  export type { EdenFetch } from './types';
4
- export declare const edenFetch: <App extends Elysia<any>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
4
+ export declare const edenFetch: <App extends Elysia<any, any>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,SAAS,yCAEN,MAAM,WACL,UAAU,MAAM,0BAyD5B,CAAA"}
@@ -1,10 +1,13 @@
1
1
  /// <reference types="bun-types" />
2
- import type { Elysia, SCHEMA } from 'elysia';
2
+ import type { Elysia } from 'elysia';
3
3
  import type { EdenFetchError } from '../utils';
4
4
  import type { MapError, IsUnknown, IsNever } from '../types';
5
5
  export declare namespace EdenFetch {
6
- type Create<App extends Elysia<any>> = App['meta'] extends Record<typeof SCHEMA, infer Schema extends Record<string, any>> ? EdenFetch.Fn<Schema> : 'Please install Elysia before using Eden';
6
+ type Create<App extends Elysia<any, any>> = App['meta'] extends {
7
+ schema: infer Schema extends Record<string, any>;
8
+ } ? EdenFetch.Fn<Schema> : 'Please install Elysia before using Eden';
7
9
  interface Config {
10
+ fetcher?: typeof globalThis.fetch;
8
11
  }
9
12
  type Fn<Schema extends Record<string, any>> = <Endpoint extends keyof Schema, Method extends Extract<keyof Schema[Endpoint], string>, Route extends Schema[Endpoint][Method]>(endpoint: Endpoint, options: Omit<RequestInit, 'body' | 'method' | 'headers'> & ('get' extends Method ? {
10
13
  method?: Uppercase<Method>;
@@ -30,3 +33,4 @@ export declare namespace EdenFetch {
30
33
  error: MapError<Route['response']> extends infer Errors ? IsNever<Errors> extends true ? EdenFetchError<number, string> : Errors : EdenFetchError<number, string>;
31
34
  }>;
32
35
  }
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fetch/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE5D,yBAAiB,SAAS,CAAC;IACvB,KAAY,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS;QACnE,MAAM,EAAE,MAAM,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACnD,GACK,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,GACpB,yCAAyC,CAAA;IAE/C,UAAiB,MAAM;QACnB,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;KACpC;IAED,KAAY,EAAE,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CACjD,QAAQ,SAAS,MAAM,MAAM,EAC7B,MAAM,SAAS,OAAO,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EACtD,KAAK,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAEtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,GACrD,CAAC,KAAK,SAAS,MAAM,GACf;QACI,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAC7B,GACD;QACI,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAC5B,CAAC,GACR,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,GACtC;QACI,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;KACjC,GACD;QACI,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;KAC1B,CAAC,GACR,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS,CAAC,GAC7B;QACI,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,GACD;QACI,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KAC5B,CAAC,GACR,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GACjC;QAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,GACvB;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,KAC5B,OAAO,CACN;QACI,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACvC,KAAK,EAAE,IAAI,CAAA;KACd,GACD;QACI,IAAI,EAAE,IAAI,CAAA;QACV,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,MAAM,GACjD,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,GACxB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,GACV,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACvC,CACN,CAAA;CACJ"}
package/dist/fetch.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./utils-a2cfc56a.js"),o=(f,p)=>async(c,{params:i,body:a,...n}={})=>{var u;i&&Object.entries(i).forEach(([e,t])=>{c=c.replace(`:${e}`,t)});const s=(u=n.headers)==null?void 0:u["Content-Type"];if(!s||s==="application/json")try{a=JSON.stringify(a)}catch{}return fetch(f+c,{...n,headers:a?{"content-type":"application/json",...n.headers}:n.headers,body:a}).then(async e=>{var l;let t;switch((l=e.headers.get("Content-Type"))==null?void 0:l.split(";")[0]){case"application/json":t=await e.json();break;default:t=await e.text().then(r=>Number.isNaN(+r)?r==="true"?!0:r==="false"?!1:r:+r);break}return e.status>300?{data:null,error:new h.EdenFetchError(e.status,t)}:{data:t,error:null}})};exports.edenFetch=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./utils-a2cfc56a.js"),p=(f,c)=>async(s,{params:u,body:a,...n}={})=>{var h;u&&Object.entries(u).forEach(([e,t])=>{s=s.replace(`:${e}`,t)});const l=(h=n.headers)==null?void 0:h["Content-Type"];if(!l||l==="application/json")try{a=JSON.stringify(a)}catch{}return((c==null?void 0:c.fetcher)||globalThis.fetch)(f+s,{...n,headers:a?{"content-type":"application/json",...n.headers}:n.headers,body:a}).then(async e=>{var i;let t;switch((i=e.headers.get("Content-Type"))==null?void 0:i.split(";")[0]){case"application/json":t=await e.json();break;default:t=await e.text().then(r=>Number.isNaN(+r)?r==="true"?!0:r==="false"?!1:r:+r);break}return e.status>300?{data:null,error:new o.EdenFetchError(e.status,t)}:{data:t,error:null}})};exports.edenFetch=p;
package/dist/fetch.mjs CHANGED
@@ -1,18 +1,18 @@
1
- import { E as l } from "./utils-5a40996f.mjs";
2
- const j = (h, o) => (
1
+ import { E as o } from "./utils-5a40996f.mjs";
2
+ const y = (f, s) => (
3
3
  // @ts-ignore
4
- async (c, { params: s, body: a, ...n } = {}) => {
4
+ async (c, { params: h, body: a, ...n } = {}) => {
5
5
  var u;
6
- s && Object.entries(s).forEach(([e, t]) => {
6
+ h && Object.entries(h).forEach(([e, t]) => {
7
7
  c = c.replace(`:${e}`, t);
8
8
  });
9
- const i = (u = n.headers) == null ? void 0 : u["Content-Type"];
10
- if (!i || i === "application/json")
9
+ const l = (u = n.headers) == null ? void 0 : u["Content-Type"];
10
+ if (!l || l === "application/json")
11
11
  try {
12
12
  a = JSON.stringify(a);
13
13
  } catch {
14
14
  }
15
- return fetch(h + c, {
15
+ return ((s == null ? void 0 : s.fetcher) || globalThis.fetch)(f + c, {
16
16
  ...n,
17
17
  headers: a ? {
18
18
  "content-type": "application/json",
@@ -20,9 +20,9 @@ const j = (h, o) => (
20
20
  } : n.headers,
21
21
  body: a
22
22
  }).then(async (e) => {
23
- var f;
23
+ var i;
24
24
  let t;
25
- switch ((f = e.headers.get("Content-Type")) == null ? void 0 : f.split(";")[0]) {
25
+ switch ((i = e.headers.get("Content-Type")) == null ? void 0 : i.split(";")[0]) {
26
26
  case "application/json":
27
27
  t = await e.json();
28
28
  break;
@@ -32,11 +32,11 @@ const j = (h, o) => (
32
32
  }
33
33
  return e.status > 300 ? {
34
34
  data: null,
35
- error: new l(e.status, t)
35
+ error: new o(e.status, t)
36
36
  } : { data: t, error: null };
37
37
  });
38
38
  }
39
39
  );
40
40
  export {
41
- j as edenFetch
41
+ y as edenFetch
42
42
  };
@@ -1,4 +1,5 @@
1
1
  import type { Elysia } from 'elysia';
2
2
  import type { EdenFn } from './types';
3
3
  export type { EdenFn } from './types';
4
- export declare const edenFn: <App extends Elysia<any>>(domain: string, config?: EdenFn.Config) => EdenFn.Create<App>;
4
+ export declare const edenFn: <App extends Elysia<any, any>>(domain: string, config?: EdenFn.Config) => EdenFn.Create<App>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fn/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AA2CrC,eAAO,MAAM,MAAM,yCACP,MAAM,WACL,OAAO,MAAM,uBAI6B,CAAA"}
@@ -1,7 +1,9 @@
1
1
  /// <reference types="bun-types" />
2
- import type { Elysia, EXPOSED } from 'elysia';
2
+ import type { Elysia } from 'elysia';
3
3
  export declare namespace EdenFn {
4
- type Create<App extends Elysia<any>> = App['meta'] extends Record<typeof EXPOSED, infer Schema extends Record<string, any>> ? EdenFn.Compose<Schema> : 'Please install Elysia before using Eden';
4
+ type Create<App extends Elysia<any, any>> = App['meta'] extends {
5
+ exposed: infer Schema extends Record<string, any>;
6
+ } ? EdenFn.Compose<Schema> : 'Please install Elysia before using Eden';
5
7
  interface Config {
6
8
  }
7
9
  type Compose<Exposed extends Record<string, any>> = Fn<Exposed> & {
@@ -9,12 +11,13 @@ export declare namespace EdenFn {
9
11
  $clone(config?: Config): Compose<Exposed>;
10
12
  };
11
13
  type Fn<T> = T extends {
12
- [EXPOSED]: any;
14
+ exposed: any;
13
15
  value: infer Value;
14
16
  } ? Asynctify<Value> : Asynctify<T>;
15
17
  interface Config {
16
18
  fn?: string;
17
19
  fetch?: Omit<RequestInit, 'body'>;
20
+ fetcher?: typeof globalThis.fetch;
18
21
  }
19
22
  }
20
23
  type Promisify<T extends (...args: any[]) => any> = T extends (...args: infer Args) => infer Return ? Return extends Promise<any> ? T : (...args: Args) => Promise<Return> : never;
@@ -22,3 +25,4 @@ type Asynctify<T> = T extends infer Fn extends (...args: any) => any ? Promisify
22
25
  [K in keyof T]: EdenFn.Fn<T[K]>;
23
26
  } : never;
24
27
  export {};
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fn/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC,yBAAiB,MAAM,CAAC;IACpB,KAAY,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS;QACnE,OAAO,EAAE,MAAM,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACpD,GACK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GACtB,yCAAyC,CAAA;IAE/C,UAAiB,MAAM;KAAG;IAE1B,KAAY,OAAO,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG;QACrE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAC5C,CAAA;IAED,KAAY,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;QAC1B,OAAO,EAAE,GAAG,CAAA;QACZ,KAAK,EAAE,MAAM,KAAK,CAAA;KACrB,GACK,SAAS,CAAC,KAAK,CAAC,GAChB,SAAS,CAAC,CAAC,CAAC,CAAA;IAElB,UAAiB,MAAM;QACnB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QACjC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;KACpC;CACJ;AAED,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAC1D,GAAG,IAAI,EAAE,MAAM,IAAI,KAClB,MAAM,MAAM,GACX,MAAM,SAAS,OAAO,CAAC,GAAG,CAAC,GACvB,CAAC,GACD,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GACtC,KAAK,CAAA;AAEX,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAC9D,SAAS,CAAC,EAAE,CAAC,GACb,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B;KACK,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,GACD,KAAK,CAAA"}
@@ -11,3 +11,4 @@ export declare class Signal {
11
11
  clone(config?: EdenFn.Config): Signal;
12
12
  run(procedure: string[], params: any): Promise<any>;
13
13
  }
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fn/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,qBAAa,MAAM;IACf,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,QAAQ,CAAuD;IACvE,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,KAAK,CAGX;gBAEU,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAW;IAYnD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;IAI/B,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IAItB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG;CAkD7C"}
package/dist/fn.js CHANGED
@@ -1 +1 @@
1
- "use strict";var w=Object.create;var f=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var S=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var b=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of F(t))!O.call(e,s)&&s!==n&&f(e,s,{get:()=>t[s],enumerable:!(i=z(t,s))||i.enumerable});return e};var J=(e,t,n)=>(n=e!=null?w(P(e)):{},b(t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n,e));var h=(e,t,n)=>(S(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class g{constructor(t,n={}){h(this,"url");h(this,"config");h(this,"pendings",[]);h(this,"operation",null);h(this,"isFetching",!1);h(this,"sJson");this.url=t,this.config=n,this.sJson=import("superjson").then(i=>({serialize:i.serialize,deserialize:i.deserialize}))}setConfig(t){this.config=t}clone(t){return new g(this.url,t??this.config)}async run(t,n){var o;const i=+this.pendings.length;if(this.pendings.push(n!==void 0?{n:t,p:n}:{n:t}),this.isFetching)return(o=this.operation)==null?void 0:o.then(r=>r[i]);this.isFetching=!0,this.operation=new Promise(r=>{setTimeout(async()=>{var p;const c=[...this.pendings];this.pendings=[];const{serialize:l,deserialize:y}=await this.sJson,a=await fetch(`${this.url}${this.config.fn??"/~fn"}`,{method:"POST",...this.config.fetch,headers:{"content-type":"elysia/fn",...(p=this.config.fetch)==null?void 0:p.headers},body:JSON.stringify(l(c))});a.status===200?r(a.json().then(d=>y(d))):r(Array(c.length).fill(new Error(await a.text())))},33)});const s=await this.operation.then(r=>r[i]);return this.operation=null,this.isFetching=!1,s}}const u=(e,t,n)=>new Proxy((...i)=>{},{get(i,s,o){return u(e,[...t,s],n)},apply(i,s,o){const r=o[0],c=t[0];if(t.length===1){if(c in Object.prototype||c in Promise.prototype)return i(...o);switch(c){case"toJSON":return i(...o);case"$set":return n.setConfig(r);case"$clone":return u(e,[],n.clone(r))}}return n.run(t,o).then(l=>{if(l instanceof Error)throw l;return l})}}),$=(e,t)=>u(e,[],new g(e,t));exports.edenFn=$;
1
+ "use strict";var z=Object.create;var a=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var S=(e,t,n)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var J=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of P(t))!O.call(e,s)&&s!==n&&a(e,s,{get:()=>t[s],enumerable:!(i=F(t,s))||i.enumerable});return e};var T=(e,t,n)=>(n=e!=null?z(b(e)):{},J(t||!e||!e.__esModule?a(n,"default",{value:e,enumerable:!0}):n,e));var h=(e,t,n)=>(S(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class g{constructor(t,n={}){h(this,"url");h(this,"config");h(this,"pendings",[]);h(this,"operation",null);h(this,"isFetching",!1);h(this,"sJson");this.url=t,this.config=n,this.sJson=import("superjson").then(i=>({serialize:i.serialize,deserialize:i.deserialize}))}setConfig(t){this.config=t}clone(t){return new g(this.url,t??this.config)}async run(t,n){var o;const i=+this.pendings.length;if(this.pendings.push(n!==void 0?{n:t,p:n}:{n:t}),this.isFetching)return(o=this.operation)==null?void 0:o.then(r=>r[i]);this.isFetching=!0,this.operation=new Promise(r=>{setTimeout(async()=>{var p,y;const c=[...this.pendings];this.pendings=[];const{serialize:f,deserialize:d}=await this.sJson,l=await(((p=this.config)==null?void 0:p.fetcher)||globalThis.fetch)(`${this.url}${this.config.fn??"/~fn"}`,{method:"POST",...this.config.fetch,headers:{"content-type":"elysia/fn",...(y=this.config.fetch)==null?void 0:y.headers},body:JSON.stringify(f(c))});l.status===200?r(l.json().then(w=>d(w))):r(Array(c.length).fill(new Error(await l.text())))},33)});const s=await this.operation.then(r=>r[i]);return this.operation=null,this.isFetching=!1,s}}const u=(e,t,n)=>new Proxy((...i)=>{},{get(i,s,o){return u(e,[...t,s],n)},apply(i,s,o){const r=o[0],c=t[0];if(t.length===1){if(c in Object.prototype||c in Promise.prototype)return i(...o);switch(c){case"toJSON":return i(...o);case"$set":return n.setConfig(r);case"$clone":return u(e,[],n.clone(r))}}return n.run(t,o).then(f=>{if(f instanceof Error)throw f;return f})}}),$=(e,t)=>u(e,[],new g(e,t));exports.edenFn=$;
package/dist/fn.mjs CHANGED
@@ -1,6 +1,6 @@
1
- var w = Object.defineProperty;
2
- var d = (n, t, e) => t in n ? w(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
- var o = (n, t, e) => (d(n, typeof t != "symbol" ? t + "" : t, e), e);
1
+ var d = Object.defineProperty;
2
+ var z = (n, t, e) => t in n ? d(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var o = (n, t, e) => (z(n, typeof t != "symbol" ? t + "" : t, e), e);
4
4
  class u {
5
5
  constructor(t, e = {}) {
6
6
  o(this, "url");
@@ -29,40 +29,40 @@ class u {
29
29
  return (r = this.operation) == null ? void 0 : r.then((s) => s[i]);
30
30
  this.isFetching = !0, this.operation = new Promise((s) => {
31
31
  setTimeout(async () => {
32
- var g;
32
+ var g, p;
33
33
  const h = [...this.pendings];
34
34
  this.pendings = [];
35
- const { serialize: c, deserialize: p } = await this.sJson, f = await fetch(
35
+ const { serialize: c, deserialize: y } = await this.sJson, l = await (((g = this.config) == null ? void 0 : g.fetcher) || globalThis.fetch)(
36
36
  `${this.url}${this.config.fn ?? "/~fn"}`,
37
37
  {
38
38
  method: "POST",
39
39
  ...this.config.fetch,
40
40
  headers: {
41
41
  "content-type": "elysia/fn",
42
- ...(g = this.config.fetch) == null ? void 0 : g.headers
42
+ ...(p = this.config.fetch) == null ? void 0 : p.headers
43
43
  },
44
44
  body: JSON.stringify(c(h))
45
45
  }
46
46
  );
47
- f.status === 200 ? s(f.json().then((y) => p(y))) : s(
47
+ l.status === 200 ? s(l.json().then((w) => y(w))) : s(
48
48
  Array(h.length).fill(
49
- new Error(await f.text())
49
+ new Error(await l.text())
50
50
  )
51
51
  );
52
52
  }, 33);
53
53
  });
54
- const a = await this.operation.then((s) => s[i]);
55
- return this.operation = null, this.isFetching = !1, a;
54
+ const f = await this.operation.then((s) => s[i]);
55
+ return this.operation = null, this.isFetching = !1, f;
56
56
  }
57
57
  }
58
- const l = (n, t, e) => (
58
+ const a = (n, t, e) => (
59
59
  // eslint-disable-next-line @typescript-eslint/no-empty-function
60
60
  new Proxy((...i) => {
61
61
  }, {
62
- get(i, a, r) {
63
- return l(n, [...t, a], e);
62
+ get(i, f, r) {
63
+ return a(n, [...t, f], e);
64
64
  },
65
- apply(i, a, r) {
65
+ apply(i, f, r) {
66
66
  const s = r[0], h = t[0];
67
67
  if (t.length === 1) {
68
68
  if (h in Object.prototype || h in Promise.prototype)
@@ -73,7 +73,7 @@ const l = (n, t, e) => (
73
73
  case "$set":
74
74
  return e.setConfig(s);
75
75
  case "$clone":
76
- return l(n, [], e.clone(s));
76
+ return a(n, [], e.clone(s));
77
77
  }
78
78
  }
79
79
  return e.run(t, r).then((c) => {
@@ -83,11 +83,11 @@ const l = (n, t, e) => (
83
83
  });
84
84
  }
85
85
  })
86
- ), F = (n, t) => (
86
+ ), x = (n, t) => (
87
87
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
88
88
  // @ts-ignore
89
- l(n, [], new u(n, t))
89
+ a(n, [], new u(n, t))
90
90
  );
91
91
  export {
92
- F as edenFn
92
+ x as edenFn
93
93
  };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { edenTreaty } from './treaty';
2
2
  export { edenFetch } from './fetch';
3
3
  export { edenFn } from './fn';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA"}
@@ -14,6 +14,5 @@ export declare class EdenWS<Schema extends TypedSchema<any> = TypedSchema> {
14
14
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
15
15
  close(): this;
16
16
  }
17
- export declare const edenTreaty: <App extends Elysia<any>>(domain: string, config?: {
18
- fetcher?: typeof fetch;
19
- }) => EdenTreaty.Create<App>;
17
+ export declare const edenTreaty: <App extends Elysia<any, any>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/treaty/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAKjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AA4CzC,qBAAa,MAAM,CAAC,MAAM,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW;IAC7D,EAAE,EAAE,SAAS,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;gBAEC,GAAG,EAAE,MAAM;IAKvB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;IAc5C,EAAE,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAChC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EACpE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IAK/C,GAAG,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACjC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,EAC5D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB;IAO5C,SAAS,CACL,SAAS,EAAE,CACP,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KACvD,IAAI,EACT,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IAK/C,gBAAgB,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAC9C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EACpE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IA+B/C,mBAAmB,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACjD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,EAC5D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB;IAO5C,KAAK;CAKR;AAsID,eAAO,MAAM,UAAU,yCACX,MAAM,WACN,WAAW,MAAM,2BAWjB,CAAA"}
@@ -1 +1,2 @@
1
1
  export declare const composePath: (domain: string, path: string, query: Record<string, string> | undefined) => string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/treaty/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,WACZ,MAAM,QACR,MAAM,SACL,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,WAW5C,CAAA"}
package/dist/treaty.js CHANGED
@@ -1 +1 @@
1
- "use strict";var O=Object.defineProperty;var m=(r,e,t)=>e in r?O(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var w=(r,e,t)=>(m(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("./utils-a2cfc56a.js"),k=(r,e,t)=>{if(r.endsWith("/")||(r+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${r}${e}`;let n="";for(const[f,s]of Object.entries(t))n+=`${f}=${s}&`;return`${r}${e}?${n.slice(0,-1)}`},h=typeof FileList>"u",S=r=>h?r instanceof Blob:r instanceof FileList||r instanceof File,x=r=>{for(let e in r){if(S(r[e]))return!0;if(Array.isArray(r[e])&&r[e].find(t=>S(t)))return!0}return!1},E=r=>h?r:new Promise(e=>{const t=new FileReader;t.onload=()=>{e(new Blob([t.result],{type:r.type}))},t.readAsArrayBuffer(r)});class F{constructor(e){w(this,"ws");w(this,"url");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,f=>{if(e==="message"){let s=f.data.toString();const i=s.charCodeAt(0);if(i===47||i===123)try{s=JSON.parse(s)}catch{}else Number.isNaN(+s)?s==="true"?s=!0:s==="fase"&&(s=!1):s=+s;t({...f,data:s})}else t(f)},n),this}removeEventListener(e,t,n){return this.off(e,t,n),this}close(){return this.ws.close(),this}}const L=(r,e="",t)=>new Proxy(()=>{},{get(n,f,s){return L(r,`${e}/${f.toString()}`,t)},apply(n,f,[{$query:s,$fetch:i,$body:N,...p}={$fetch:void 0,$query:void 0,$body:void 0}]=[{}]){const b=e.lastIndexOf("/"),g=e.slice(b+1),d=k(r,e.slice(0,b),s);return g==="subscribe"?new F(d.replace(/^([^]+):\/\//,d.startsWith("https://")?"wss://":"ws://")):(async()=>{let c=N??(Object.keys(p).length?p:void 0);const y=typeof c=="object",v=y&&x(c);if(v){const o=new FormData;for(const[a,l]of Object.entries(c))if(h)o.append(a,l);else if(l instanceof File)o.append(a,await E(l));else if(l instanceof FileList)for(let u=0;u<l.length;u++)o.append(a,await E(l[u]));else o.append(a,l);c=o}else y&&(c=JSON.stringify(c));return(t.fetcher??fetch)(d,{method:g,body:c,...i,headers:c?v?i==null?void 0:i.headers:{"content-type":y?"application/json":"text/plain",...i==null?void 0:i.headers}:i==null?void 0:i.headers}).then(async o=>{var l;let a;switch((l=o.headers.get("Content-Type"))==null?void 0:l.split(";")[0]){case"application/json":a=await o.json();break;default:a=await o.text().then(u=>Number.isNaN(+u)?u==="true"?!0:u==="false"?!1:u:+u)}return o.status>300?{data:a,error:new j.EdenFetchError(o.status,await a)}:{data:a,error:null}})})()}}),A=(r,e={fetcher:fetch})=>new Proxy({},{get(t,n){return L(r,n,e)}});exports.EdenWS=F;exports.edenTreaty=A;
1
+ "use strict";var A=Object.defineProperty;var P=(r,e,t)=>e in r?A(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var g=(r,e,t)=>(P(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./utils-a2cfc56a.js"),T=(r,e,t)=>{if(r.endsWith("/")||(r+="/"),e==="index"&&(e=""),!t||!Object.keys(t).length)return`${r}${e}`;let n="";for(const[a,s]of Object.entries(t))n+=`${a}=${s}&`;return`${r}${e}?${n.slice(0,-1)}`},v=typeof FileList>"u",O=r=>v?r instanceof Blob:r instanceof FileList||r instanceof File,W=r=>{for(const e in r){if(O(r[e]))return!0;if(Array.isArray(r[e])&&r[e].find(t=>O(t)))return!0}return!1},m=r=>v?r:new Promise(e=>{const t=new FileReader;t.onload=()=>{e(new Blob([t.result],{type:r.type}))},t.readAsArrayBuffer(r)});class x{constructor(e){g(this,"ws");g(this,"url");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();const c=s.charCodeAt(0);if(c===47||c===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}}const j=(r,e="",t)=>new Proxy(()=>{},{get(n,a,s){return j(r,`${e}/${a.toString()}`,t)},apply(n,a,[{$query:s,$fetch:c,$body:k,...S}={$fetch:void 0,$query:void 0,$body:void 0}]=[{}]){const E=e.lastIndexOf("/"),F=e.slice(E+1),h=T(r,e.slice(0,E),s);if(F==="subscribe")return new x(h.replace(/^([^]+):\/\//,h.startsWith("https://")?"wss://":"ws://"));const y=async()=>{var L,N;let l=k??(Object.keys(S).length?S:void 0);const w=typeof l=="object",$=w&&W(l);if($){const o=new FormData;for(const[d,f]of Object.entries(l))if(v)o.append(d,f);else if(f instanceof File)o.append(d,await m(f));else if(f instanceof FileList)for(let b=0;b<f.length;b++)o.append(d,await m(f[b]));else o.append(d,f);l=o}else w&&(l=JSON.stringify(l));const p={...(L=t.$fetch)==null?void 0:L.headers,...c==null?void 0:c.headers},i=await(t.fetcher??fetch)(h,{method:F,body:l,...t.$fetch,...c,headers:l?$?p:{"content-type":w?"application/json":"text/plain",...p}:p});let u;switch((N=i.headers.get("Content-Type"))==null?void 0:N.split(";")[0]){case"application/json":u=await i.json();break;default:u=await i.text().then(o=>Number.isNaN(+o)?o==="true"?!0:o==="false"?!1:o:+o)}return i.status>300?{data:u,error:new B.EdenFetchError(i.status,await u),status:i.status,raw:i,headers:i.headers,retry:y}:{data:u,status:i.status,raw:i,headers:i.headers,error:null,retry:y}};return y()}}),J=(r,e={fetcher:fetch})=>new Proxy({},{get(t,n){return j(r,n,e)}});exports.EdenWS=x;exports.edenTreaty=J;
package/dist/treaty.mjs CHANGED
@@ -1,32 +1,32 @@
1
- var N = Object.defineProperty;
2
- var S = (r, e, t) => e in r ? N(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
- var p = (r, e, t) => (S(r, typeof e != "symbol" ? e + "" : e, t), t);
4
- import { E as x } from "./utils-5a40996f.mjs";
5
- const O = (r, e, t) => {
1
+ var A = Object.defineProperty;
2
+ var j = (r, e, t) => e in r ? A(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
+ var g = (r, e, t) => (j(r, typeof e != "symbol" ? e + "" : e, t), t);
4
+ import { E as B } from "./utils-5a40996f.mjs";
5
+ const P = (r, e, t) => {
6
6
  if (r.endsWith("/") || (r += "/"), e === "index" && (e = ""), !t || !Object.keys(t).length)
7
7
  return `${r}${e}`;
8
8
  let n = "";
9
- for (const [f, s] of Object.entries(t))
10
- n += `${f}=${s}&`;
9
+ for (const [a, s] of Object.entries(t))
10
+ n += `${a}=${s}&`;
11
11
  return `${r}${e}?${n.slice(0, -1)}`;
12
- }, w = typeof FileList > "u", E = (r) => w ? r instanceof Blob : r instanceof FileList || r instanceof File, k = (r) => {
13
- for (let e in r) {
14
- if (E(r[e]))
12
+ }, v = typeof FileList > "u", N = (r) => v ? r instanceof Blob : r instanceof FileList || r instanceof File, W = (r) => {
13
+ for (const e in r) {
14
+ if (N(r[e]))
15
15
  return !0;
16
- if (Array.isArray(r[e]) && r[e].find((t) => E(t)))
16
+ if (Array.isArray(r[e]) && r[e].find((t) => N(t)))
17
17
  return !0;
18
18
  }
19
19
  return !1;
20
- }, F = (r) => w ? r : new Promise((e) => {
20
+ }, S = (r) => v ? r : new Promise((e) => {
21
21
  const t = new FileReader();
22
22
  t.onload = () => {
23
23
  e(new Blob([t.result], { type: r.type }));
24
24
  }, t.readAsArrayBuffer(r);
25
25
  });
26
- class A {
26
+ class J {
27
27
  constructor(e) {
28
- p(this, "ws");
29
- p(this, "url");
28
+ g(this, "ws");
29
+ g(this, "url");
30
30
  this.ws = new WebSocket(e), this.url = e;
31
31
  }
32
32
  send(e) {
@@ -46,11 +46,11 @@ class A {
46
46
  addEventListener(e, t, n) {
47
47
  return this.ws.addEventListener(
48
48
  e,
49
- (f) => {
49
+ (a) => {
50
50
  if (e === "message") {
51
- let s = f.data.toString();
52
- const i = s.charCodeAt(0);
53
- if (i === 47 || i === 123)
51
+ let s = a.data.toString();
52
+ const f = s.charCodeAt(0);
53
+ if (f === 47 || f === 123)
54
54
  try {
55
55
  s = JSON.parse(s);
56
56
  } catch {
@@ -58,11 +58,11 @@ class A {
58
58
  else
59
59
  Number.isNaN(+s) ? s === "true" ? s = !0 : s === "fase" && (s = !1) : s = +s;
60
60
  t({
61
- ...f,
61
+ ...a,
62
62
  data: s
63
63
  });
64
64
  } else
65
- t(f);
65
+ t(a);
66
66
  },
67
67
  n
68
68
  ), this;
@@ -74,85 +74,104 @@ class A {
74
74
  return this.ws.close(), this;
75
75
  }
76
76
  }
77
- const m = (r, e = "", t) => new Proxy(() => {
78
- }, {
79
- get(n, f, s) {
80
- return m(r, `${e}/${f.toString()}`, t);
81
- },
82
- apply(n, f, [
83
- { $query: s, $fetch: i, $body: L, ...h } = {
84
- $fetch: void 0,
85
- $query: void 0,
86
- $body: void 0
87
- }
88
- ] = [{}]) {
89
- const b = e.lastIndexOf("/"), g = e.slice(b + 1), d = O(r, e.slice(0, b), s);
90
- return g === "subscribe" ? new A(
91
- d.replace(
92
- /^([^]+):\/\//,
93
- d.startsWith("https://") ? "wss://" : "ws://"
94
- )
95
- ) : (async () => {
96
- let c = L ?? (Object.keys(h).length ? h : void 0);
97
- const y = typeof c == "object", v = y && k(c);
98
- if (v) {
99
- const o = new FormData();
100
- for (const [a, l] of Object.entries(c))
101
- if (w)
102
- o.append(a, l);
103
- else if (l instanceof File)
104
- o.append(
105
- a,
106
- await F(l)
107
- );
108
- else if (l instanceof FileList)
109
- for (let u = 0; u < l.length; u++)
77
+ const O = (r, e = "", t) => (
78
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
79
+ new Proxy(() => {
80
+ }, {
81
+ get(n, a, s) {
82
+ return O(r, `${e}/${a.toString()}`, t);
83
+ },
84
+ apply(n, a, [
85
+ { $query: s, $fetch: f, $body: k, ...E } = {
86
+ $fetch: void 0,
87
+ $query: void 0,
88
+ $body: void 0
89
+ }
90
+ ] = [{}]) {
91
+ const F = e.lastIndexOf("/"), $ = e.slice(F + 1), h = P(r, e.slice(0, F), s);
92
+ if ($ === "subscribe")
93
+ return new J(
94
+ h.replace(
95
+ /^([^]+):\/\//,
96
+ h.startsWith("https://") ? "wss://" : "ws://"
97
+ )
98
+ );
99
+ const y = async () => {
100
+ var x, L;
101
+ let c = k ?? (Object.keys(E).length ? E : void 0);
102
+ const w = typeof c == "object", m = w && W(c);
103
+ if (m) {
104
+ const o = new FormData();
105
+ for (const [d, l] of Object.entries(c))
106
+ if (v)
107
+ o.append(d, l);
108
+ else if (l instanceof File)
110
109
  o.append(
111
- a,
112
- await F(l[u])
110
+ d,
111
+ await S(l)
113
112
  );
114
- else
115
- o.append(a, l);
116
- c = o;
117
- } else
118
- y && (c = JSON.stringify(c));
119
- return (t.fetcher ?? fetch)(d, {
120
- method: g,
121
- body: c,
122
- // ...config.fetch,
123
- ...i,
124
- headers: c ? v ? i == null ? void 0 : i.headers : {
125
- "content-type": y ? "application/json" : "text/plain",
126
- ...i == null ? void 0 : i.headers
127
- } : i == null ? void 0 : i.headers
128
- }).then(async (o) => {
129
- var l;
130
- let a;
131
- switch ((l = o.headers.get("Content-Type")) == null ? void 0 : l.split(";")[0]) {
113
+ else if (l instanceof FileList)
114
+ for (let b = 0; b < l.length; b++)
115
+ o.append(
116
+ d,
117
+ await S(l[b])
118
+ );
119
+ else
120
+ o.append(d, l);
121
+ c = o;
122
+ } else
123
+ w && (c = JSON.stringify(c));
124
+ const p = {
125
+ ...(x = t.$fetch) == null ? void 0 : x.headers,
126
+ ...f == null ? void 0 : f.headers
127
+ }, i = await (t.fetcher ?? fetch)(h, {
128
+ method: $,
129
+ body: c,
130
+ ...t.$fetch,
131
+ ...f,
132
+ headers: c ? m ? p : {
133
+ "content-type": w ? "application/json" : "text/plain",
134
+ ...p
135
+ } : p
136
+ });
137
+ let u;
138
+ switch ((L = i.headers.get("Content-Type")) == null ? void 0 : L.split(";")[0]) {
132
139
  case "application/json":
133
- a = await o.json();
140
+ u = await i.json();
134
141
  break;
135
142
  default:
136
- a = await o.text().then((u) => Number.isNaN(+u) ? u === "true" ? !0 : u === "false" ? !1 : u : +u);
143
+ u = await i.text().then((o) => Number.isNaN(+o) ? o === "true" ? !0 : o === "false" ? !1 : o : +o);
137
144
  }
138
- return o.status > 300 ? {
139
- data: a,
140
- error: new x(o.status, await a)
141
- } : { data: a, error: null };
142
- });
143
- })();
144
- }
145
- }), P = (r, e = {
145
+ return i.status > 300 ? {
146
+ data: u,
147
+ error: new B(i.status, await u),
148
+ status: i.status,
149
+ raw: i,
150
+ headers: i.headers,
151
+ retry: y
152
+ } : {
153
+ data: u,
154
+ status: i.status,
155
+ raw: i,
156
+ headers: i.headers,
157
+ error: null,
158
+ retry: y
159
+ };
160
+ };
161
+ return y();
162
+ }
163
+ })
164
+ ), D = (r, e = {
146
165
  fetcher: fetch
147
166
  }) => new Proxy(
148
167
  {},
149
168
  {
150
169
  get(t, n) {
151
- return m(r, n, e);
170
+ return O(r, n, e);
152
171
  }
153
172
  }
154
173
  );
155
174
  export {
156
- A as EdenWS,
157
- P as edenTreaty
175
+ J as EdenWS,
176
+ D as edenTreaty
158
177
  };
package/dist/types.d.ts CHANGED
@@ -23,3 +23,4 @@ export type AnyTypedRoute = {
23
23
  };
24
24
  };
25
25
  export {};
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,OAAO,CACpD,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,CACf,CAAA;AAED,KAAK,SAAS,CACV,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,IACzB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,GAAG,CAAC,MAAM,CAAC,GACX,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAE3C,KAAK,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEjC,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACtD;SACK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,UAAU,GAAG,CAAC,GAAG,KAAK;KACrD,CAAC,MAAM,CAAC,CAAC;CACb,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GAC5B;KACK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC,CAAC,GACJ,KAAK,CAAA;AAEX,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAC9B,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAC5C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GACvB,CAAC,GACD,KAAK,CAAA;AAEX,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAErD,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAE3D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1C,KAAK,GACL,OAAO,SAAS,CAAC,GACjB,IAAI,GACJ,KAAK,CAAA;AAEX,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAChC,KAAK,EAAE,OAAO,CAAA;KACjB,CAAA;CACJ,CAAA"}
package/dist/utils.d.ts CHANGED
@@ -3,3 +3,4 @@ export declare class EdenFetchError<Status extends number = number, Value = unkn
3
3
  value: Value;
4
4
  constructor(status: Status, value: Value);
5
5
  }
6
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc,CACvB,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,KAAK,GAAG,OAAO,CACjB,SAAQ,KAAK;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;gBAEA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAM3C"}