@elysiajs/eden 0.6.0 → 0.6.2

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.
Files changed (58) hide show
  1. package/dist/errors.js +10 -0
  2. package/dist/errors.js.map +1 -0
  3. package/dist/fetch/index.js +64 -0
  4. package/dist/fetch/index.js.map +1 -0
  5. package/dist/fetch/types.js +2 -0
  6. package/dist/fetch/types.js.map +1 -0
  7. package/dist/fetch.js +1 -1
  8. package/dist/fetch.mjs +26 -16
  9. package/dist/fn/index.js +35 -0
  10. package/dist/fn/index.js.map +1 -0
  11. package/dist/fn/types.js +2 -0
  12. package/dist/fn/types.js.map +1 -0
  13. package/dist/fn/utils.js +59 -0
  14. package/dist/fn/utils.js.map +1 -0
  15. package/dist/index.js +25 -1
  16. package/dist/index.js.map +1 -0
  17. package/dist/index.mjs +1 -1
  18. package/dist/treaty/index.js +205 -0
  19. package/dist/treaty/index.js.map +1 -0
  20. package/dist/treaty/types.js +2 -0
  21. package/dist/treaty/types.js.map +1 -0
  22. package/dist/treaty/utils.js +13 -0
  23. package/dist/treaty/utils.js.map +1 -0
  24. package/dist/treaty.js +1 -1
  25. package/dist/treaty.mjs +108 -112
  26. package/dist/types.js +2 -0
  27. package/dist/types.js.map +1 -0
  28. package/package.json +5 -8
  29. package/src/fetch/index.ts +17 -6
  30. package/src/fetch/types.ts +33 -14
  31. package/src/fn/index.ts +1 -1
  32. package/src/fn/types.ts +1 -1
  33. package/src/treaty/index.ts +58 -53
  34. package/src/treaty/types.ts +117 -206
  35. package/src/types.ts +1 -1
  36. package/dist/fetch/index.d.ts +0 -5
  37. package/dist/fetch/index.d.ts.map +0 -1
  38. package/dist/fetch/types.d.ts +0 -36
  39. package/dist/fetch/types.d.ts.map +0 -1
  40. package/dist/fn/index.d.ts +0 -5
  41. package/dist/fn/index.d.ts.map +0 -1
  42. package/dist/fn/types.d.ts +0 -28
  43. package/dist/fn/types.d.ts.map +0 -1
  44. package/dist/fn/utils.d.ts +0 -14
  45. package/dist/fn/utils.d.ts.map +0 -1
  46. package/dist/index.d.ts +0 -4
  47. package/dist/index.d.ts.map +0 -1
  48. package/dist/treaty/index.d.ts +0 -18
  49. package/dist/treaty/index.d.ts.map +0 -1
  50. package/dist/treaty/utils.d.ts +0 -2
  51. package/dist/treaty/utils.d.ts.map +0 -1
  52. package/dist/types.d.ts +0 -26
  53. package/dist/types.d.ts.map +0 -1
  54. package/dist/utils.d.ts +0 -6
  55. package/dist/utils.d.ts.map +0 -1
  56. /package/dist/{utils-5a40996f.mjs → errors-5a40996f.mjs} +0 -0
  57. /package/dist/{utils-a2cfc56a.js → errors-a2cfc56a.js} +0 -0
  58. /package/src/{utils.ts → errors.ts} +0 -0
@@ -1,8 +1,15 @@
1
- import type { Elysia, AnyTypedSchema } from 'elysia'
2
-
1
+ import type { Elysia } from 'elysia'
3
2
  import type { EdenWS } from './index'
4
- import type { IsNever, IsUnknown, MapError, UnionToIntersect } from '../types'
5
- import { EdenFetchError } from '../utils'
3
+ import type {
4
+ IsUnknown,
5
+ IsNever,
6
+ IsAny,
7
+ UnionToIntersect,
8
+ MapError
9
+ } from '../types'
10
+ import type { EdenFetchError } from '../errors'
11
+
12
+ type Files = File | FileList
6
13
 
7
14
  type Replace<RecordType, TargetType, GenericType> = {
8
15
  [K in keyof RecordType]: RecordType[K] extends TargetType
@@ -10,209 +17,127 @@ type Replace<RecordType, TargetType, GenericType> = {
10
17
  : RecordType[K]
11
18
  }
12
19
 
13
- // @ts-ignore
14
- type Files = File | FileList
20
+ type Split<S extends string> = S extends `${infer Head}/${infer Tail}`
21
+ ? Head extends ''
22
+ ? Tail extends ''
23
+ ? []
24
+ : Split<Tail>
25
+ : [Head, ...Split<Tail>]
26
+ : S extends `/`
27
+ ? []
28
+ : S extends `${infer Head}/`
29
+ ? [Head]
30
+ : [S]
31
+
32
+ type Prettify<T> = {
33
+ [K in keyof T]: T[K]
34
+ } & {}
35
+
36
+ type AnySchema = {
37
+ body: unknown
38
+ headers: Record<string, any> | undefined
39
+ query: Record<string, any> | undefined
40
+ params: Record<string, any> | undefined
41
+ response: any
42
+ }
15
43
 
16
44
  export namespace EdenTreaty {
17
- export type Create<App extends Elysia<any>> = App['meta'] extends {
45
+ export type Create<App extends Elysia<any, any>> = App['meta'] extends {
18
46
  schema: infer Schema extends Record<string, any>
19
47
  }
20
- ? EdenTreaty.Sign<Schema>
48
+ ? UnionToIntersect<Sign<Schema>>
21
49
  : 'Please install Elysia before using Eden'
22
50
 
23
51
  export interface Config {
24
52
  /**
25
53
  * Default options to pass to fetch
26
54
  */
27
- $fetch?: FetchRequestInit
55
+ $fetch?: RequestInit
28
56
  fetcher?: typeof fetch
29
57
  }
30
58
 
31
- export type Sign<A> = {
32
- [Path in keyof A as Path extends `/${infer Prefix}/${string}`
33
- ? Prefix
34
- : Path extends `/`
35
- ? 'index'
36
- : Path extends `/${infer Prefix}`
37
- ? Prefix
38
- : never]: UnionToIntersect<
39
- Path extends `/${string}/${infer Rest}`
40
- ? NestPath<
41
- Rest,
42
- {
43
- [Method in keyof A[Path]]: A[Path][Method] extends infer Route extends AnyTypedSchema
44
- ? Method extends 'subscribe'
45
- ? undefined extends Route['query']
46
- ? (params?: {
47
- $query?: Record<string, string>
48
- }) => EdenWS<Route>
49
- : (params: {
50
- $query: Route['query']
51
- }) => EdenWS<Route>
52
- : ((
53
- params: (IsUnknown<
54
- Route['body']
55
- > extends false
56
- ? Replace<
57
- Route['body'],
58
- Blob | Blob[],
59
- Files
60
- >
61
- : {}) &
62
- (undefined extends Route['query']
63
- ? {
64
- $query?: Record<
65
- string,
66
- string
67
- >
68
- }
69
- : {
70
- $query: Route['query']
71
- }) &
72
- (undefined extends Route['headers']
73
- ? {
74
- $headers?: Record<
75
- string,
76
- unknown
77
- >
78
- }
79
- : {
80
- $headers: Route['headers']
81
- }) &
82
- (IsUnknown<
83
- Route['params']
84
- > extends false
85
- ? {
86
- $params?: never
87
- }
88
- : {
89
- $params: Route['params']
90
- })
91
- ) => Promise<
92
- | {
93
- data: Route['response'] extends {
94
- 200: infer ReturnedType
95
- }
96
- ? Awaited<ReturnedType>
97
- : unknown
98
- error: null
99
- }
100
- | {
101
- data: null
102
- error: MapError<
103
- Route['response']
104
- > extends infer Errors
105
- ? IsNever<Errors> extends true
106
- ? EdenFetchError<
107
- number,
108
- string
109
- >
110
- : Errors
111
- : EdenFetchError<
112
- number,
113
- string
114
- >
115
- }
116
- >) extends (
117
- params: infer Params
118
- ) => infer Response
119
- ? {
120
- $params: undefined
121
- $headers: undefined
122
- $query: undefined
123
- } extends Params
124
- ? (params?: Params) => Response
125
- : (params: Params) => Response
126
- : never
127
- : never
128
- }
129
- >
130
- : {
131
- [Method in keyof A[Path]]: A[Path][Method] extends infer Route extends AnyTypedSchema
132
- ? Method extends 'subscribe'
133
- ? undefined extends Route['query']
134
- ? (params?: {
135
- $query?: Record<string, string>
136
- }) => EdenWS<Route>
137
- : (params: {
138
- $query: Route['query']
139
- }) => EdenWS<Route>
140
- : ((
141
- params: (IsUnknown<
142
- Route['body']
143
- > extends false
144
- ? Replace<
145
- Route['body'],
146
- Blob | Blob[],
147
- Files
148
- >
149
- : {}) &
150
- (undefined extends Route['query']
151
- ? {
152
- $query?: Record<
153
- string,
154
- string
155
- >
156
- }
157
- : {
158
- $query: Route['query']
159
- }) &
160
- (undefined extends Route['headers']
161
- ? {
162
- $headers?: Record<
163
- string,
164
- unknown
165
- >
166
- }
167
- : {
168
- $headers: Route['headers']
169
- }) &
170
- (IsUnknown<
171
- Route['params']
172
- > extends false
173
- ? {
174
- $params?: never
175
- }
176
- : {
177
- $params: Route['params']
178
- })
179
- ) => Promise<
180
- | {
181
- data: Route['response'] extends {
182
- 200: infer ReturnedType
183
- }
184
- ? Awaited<ReturnedType>
185
- : unknown
186
- error: null
59
+ export type Sign<
60
+ Schema extends Record<string, Record<string, unknown>>,
61
+ // @ts-ignore
62
+ Paths extends (string | number)[] = Split<keyof Schema>,
63
+ Carry extends string = ''
64
+ > = Paths extends [
65
+ infer Prefix extends string | number,
66
+ ...infer Rest extends (string | number)[]
67
+ ]
68
+ ? {
69
+ [Key in Prefix as Prefix extends `:${string}`
70
+ ? (string & {}) | number | Prefix
71
+ : Prefix]: Sign<Schema, Rest, `${Carry}/${Key}`>
72
+ }
73
+ : Schema[Carry extends '' ? '/' : Carry] extends infer Routes
74
+ ? {
75
+ [Method in keyof Routes]: Routes[Method] extends infer Route extends AnySchema
76
+ ? Method extends 'subscribe'
77
+ ? undefined extends Route['query']
78
+ ? (params?: {
79
+ $query?: Record<string, string>
80
+ }) => EdenWS<Route>
81
+ : (params: {
82
+ $query: Route['query']
83
+ }) => EdenWS<Route>
84
+ : ((
85
+ params: {
86
+ $fetch?: RequestInit
87
+ } & (IsUnknown<Route['body']> extends false
88
+ ? Replace<Route['body'], Blob | Blob[], Files>
89
+ : {}) &
90
+ (undefined extends Route['query']
91
+ ? {
92
+ $query?: Record<string, string>
187
93
  }
188
- | {
189
- data: null
190
- error: MapError<
191
- Route['response']
192
- > extends infer Errors
193
- ? IsNever<Errors> extends true
194
- ? EdenFetchError<
195
- number,
196
- string
197
- >
198
- : Errors
199
- : EdenFetchError<number, string>
94
+ : {
95
+ $query: Route['query']
96
+ }) &
97
+ (undefined extends Route['headers']
98
+ ? {
99
+ $headers?: Record<string, unknown>
200
100
  }
201
- >) extends (
202
- params: infer Params
203
- ) => infer Response
204
- ? {
205
- $params: undefined
206
- $headers: undefined
207
- $query: undefined
208
- } extends Params
209
- ? (params?: Params) => Response
210
- : (params: Params) => Response
211
- : never
212
- : never
213
- }
214
- >
215
- }
101
+ : {
102
+ $headers: Route['headers']
103
+ })
104
+ ) => Promise<
105
+ (
106
+ | {
107
+ data: Route['response'] extends {
108
+ 200: infer ReturnedType
109
+ }
110
+ ? Awaited<ReturnedType>
111
+ : unknown
112
+ error: null
113
+ }
114
+ | {
115
+ data: null
116
+ error: MapError<
117
+ Route['response']
118
+ > extends infer Errors
119
+ ? IsNever<Errors> extends true
120
+ ? EdenFetchError<number, string>
121
+ : Errors
122
+ : EdenFetchError<number, string>
123
+ }
124
+ ) & {
125
+ status: number
126
+ response: Response
127
+ headers: Record<string, string>
128
+ }
129
+ >) extends (params: infer Params) => infer Response
130
+ ? {
131
+ $params: undefined
132
+ $headers: undefined
133
+ $query: undefined
134
+ } extends Params
135
+ ? (params?: Prettify<Params>) => Response
136
+ : (params: Prettify<Params>) => Response
137
+ : never
138
+ : never
139
+ }
140
+ : {}
216
141
 
217
142
  export interface OnMessage<Data = unknown> extends MessageEvent {
218
143
  data: Data
@@ -223,18 +148,4 @@ export namespace EdenTreaty {
223
148
  K extends keyof WebSocketEventMap,
224
149
  Data = unknown
225
150
  > = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K]
226
-
227
- export interface CallOption {
228
- [x: string]: any
229
- $fetch?: RequestInit
230
- $query?: Record<string, string>
231
- }
232
151
  }
233
-
234
- type NestPath<T extends string, V> = T extends `${infer First}/${infer Rest}`
235
- ? First extends `:${infer Parameter}`
236
- ? Record<(string & {}) | number | `:${Parameter}`, NestPath<Rest, V>>
237
- : Record<First, NestPath<Rest, V>>
238
- : T extends `:${string}`
239
- ? Record<(string & {}) | number | T, V>
240
- : Record<T, V>
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { EdenFetchError } from './utils'
1
+ import type { EdenFetchError } from './errors'
2
2
 
3
3
  // https://stackoverflow.com/a/39495173
4
4
  type Range<F extends number, T extends number> = Exclude<
@@ -1,5 +0,0 @@
1
- import type { Elysia } from 'elysia';
2
- import type { EdenFetch } from './types';
3
- export type { EdenFetch } from './types';
4
- export declare const edenFetch: <App extends Elysia<any>>(server: string, config?: EdenFetch.Config) => EdenFetch.Create<App>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,oCAEN,MAAM,WACL,UAAU,MAAM,0BAyD5B,CAAA"}
@@ -1,36 +0,0 @@
1
- /// <reference types="bun-types" />
2
- import type { Elysia } from 'elysia';
3
- import type { EdenFetchError } from '../utils';
4
- import type { MapError, IsUnknown, IsNever } from '../types';
5
- export declare namespace EdenFetch {
6
- type Create<App extends Elysia<any>> = App['meta'] extends {
7
- schema: infer Schema extends Record<string, any>;
8
- } ? EdenFetch.Fn<Schema> : 'Please install Elysia before using Eden';
9
- interface Config {
10
- fetcher?: typeof globalThis.fetch;
11
- }
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 ? {
13
- method?: Uppercase<Method>;
14
- } : {
15
- method: Uppercase<Method>;
16
- }) & (IsNever<keyof Route['params']> extends true ? {
17
- params?: Record<never, string>;
18
- } : {
19
- params: Route['params'];
20
- }) & (undefined extends Route['headers'] ? {
21
- headers?: Record<string, string>;
22
- } : {
23
- headers: Route['headers'];
24
- }) & (IsUnknown<Route['body']> extends false ? {
25
- body: Route['body'];
26
- } : {
27
- body?: unknown;
28
- })) => Promise<{
29
- data: Awaited<Route['response']['200']>;
30
- error: null;
31
- } | {
32
- data: null;
33
- error: MapError<Route['response']> extends infer Errors ? IsNever<Errors> extends true ? EdenFetchError<number, string> : Errors : EdenFetchError<number, string>;
34
- }>;
35
- }
36
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
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,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS;QAC9D,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"}
@@ -1,5 +0,0 @@
1
- import type { Elysia } from 'elysia';
2
- import type { EdenFn } from './types';
3
- export type { EdenFn } from './types';
4
- export declare const edenFn: <App extends Elysia<any>>(domain: string, config?: EdenFn.Config) => EdenFn.Create<App>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,oCACP,MAAM,WACL,OAAO,MAAM,uBAI6B,CAAA"}
@@ -1,28 +0,0 @@
1
- /// <reference types="bun-types" />
2
- import type { Elysia } from 'elysia';
3
- export declare namespace EdenFn {
4
- type Create<App extends Elysia<any>> = App['meta'] extends {
5
- exposed: infer Schema extends Record<string, any>;
6
- } ? EdenFn.Compose<Schema> : 'Please install Elysia before using Eden';
7
- interface Config {
8
- }
9
- type Compose<Exposed extends Record<string, any>> = Fn<Exposed> & {
10
- $set(config: Config): void;
11
- $clone(config?: Config): Compose<Exposed>;
12
- };
13
- type Fn<T> = T extends {
14
- exposed: any;
15
- value: infer Value;
16
- } ? Asynctify<Value> : Asynctify<T>;
17
- interface Config {
18
- fn?: string;
19
- fetch?: Omit<RequestInit, 'body'>;
20
- fetcher?: typeof globalThis.fetch;
21
- }
22
- }
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;
24
- type Asynctify<T> = T extends infer Fn extends (...args: any) => any ? Promisify<Fn> : T extends Record<string, any> ? {
25
- [K in keyof T]: EdenFn.Fn<T[K]>;
26
- } : never;
27
- export {};
28
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
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,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS;QAC9D,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"}
@@ -1,14 +0,0 @@
1
- import type { EdenFn } from './types';
2
- export declare class Signal {
3
- private url;
4
- private config;
5
- private pendings;
6
- private operation;
7
- private isFetching;
8
- private sJson;
9
- constructor(url: string, config?: EdenFn.Config);
10
- setConfig(config: EdenFn.Config): void;
11
- clone(config?: EdenFn.Config): Signal;
12
- run(procedure: string[], params: any): Promise<any>;
13
- }
14
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
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/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { edenTreaty } from './treaty';
2
- export { edenFetch } from './fetch';
3
- export { edenFn } from './fn';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
1
- /// <reference types="bun-types" />
2
- import type { Elysia, TypedSchema } from 'elysia';
3
- import type { EdenTreaty } from './types';
4
- export type { EdenTreaty } from './types';
5
- export declare class EdenWS<Schema extends TypedSchema<any> = TypedSchema> {
6
- ws: WebSocket;
7
- url: string;
8
- constructor(url: string);
9
- send(data: Schema['body'] | Schema['body'][]): this;
10
- on<K extends keyof WebSocketEventMap>(type: K, listener: (event: EdenTreaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
11
- off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
12
- subscribe(onMessage: (event: EdenTreaty.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
13
- addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: EdenTreaty.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
14
- removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
15
- close(): this;
16
- }
17
- export declare const edenTreaty: <App extends Elysia<any>>(domain: string, config?: EdenTreaty.Config) => EdenTreaty.Create<App>;
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,oCACX,MAAM,WACN,WAAW,MAAM,2BAWjB,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const composePath: (domain: string, path: string, query: Record<string, string> | undefined) => string;
2
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
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/types.d.ts DELETED
@@ -1,26 +0,0 @@
1
- import type { EdenFetchError } from './utils';
2
- type Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
3
- type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
4
- type ErrorRange = Range<300, 599>;
5
- export type MapError<T extends Record<number, unknown>> = [
6
- {
7
- [K in keyof T]-?: K extends ErrorRange ? K : never;
8
- }[keyof T]
9
- ] extends [infer A extends number] ? {
10
- [K in A]: EdenFetchError<K, T[K]>;
11
- }[A] : false;
12
- export type UnionToIntersect<U> = (U extends unknown ? (arg: U) => 0 : never) extends (arg: infer I) => 0 ? I : never;
13
- export type IsAny<T> = 0 extends 1 & T ? true : false;
14
- export type IsNever<T> = [T] extends [never] ? true : false;
15
- export type IsUnknown<T> = IsAny<T> extends true ? false : unknown extends T ? true : false;
16
- export type AnyTypedRoute = {
17
- body: unknown;
18
- headers: Record<string, any> | undefined;
19
- query: Record<string, any> | undefined;
20
- params: Record<string, any> | undefined;
21
- response: Record<string, unknown> & {
22
- '200': unknown;
23
- };
24
- };
25
- export {};
26
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,6 +0,0 @@
1
- export declare class EdenFetchError<Status extends number = number, Value = unknown> extends Error {
2
- status: Status;
3
- value: Value;
4
- constructor(status: Status, value: Value);
5
- }
6
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
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"}
File without changes
File without changes