spiceflow 0.0.7 → 1.0.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.
Files changed (151) hide show
  1. package/README.md +1 -171
  2. package/dist/client/errors.d.ts +7 -0
  3. package/dist/client/errors.d.ts.map +1 -0
  4. package/dist/client/errors.js +18 -0
  5. package/dist/client/errors.js.map +1 -0
  6. package/dist/client/index.d.ts +15 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/index.js +376 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/types.d.ts +87 -0
  11. package/dist/client/types.d.ts.map +1 -0
  12. package/dist/client/types.js +2 -0
  13. package/dist/client/types.js.map +1 -0
  14. package/dist/client/utils.d.ts +2 -0
  15. package/dist/client/utils.d.ts.map +1 -0
  16. package/dist/client/utils.js +9 -0
  17. package/dist/client/utils.js.map +1 -0
  18. package/dist/client/ws.d.ts +15 -0
  19. package/dist/client/ws.d.ts.map +1 -0
  20. package/dist/client/ws.js +51 -0
  21. package/dist/client/ws.js.map +1 -0
  22. package/dist/client.test.d.ts +2 -0
  23. package/dist/client.test.d.ts.map +1 -0
  24. package/dist/client.test.js +237 -0
  25. package/dist/client.test.js.map +1 -0
  26. package/dist/elysia-fork/context.d.ts +87 -0
  27. package/dist/elysia-fork/context.d.ts.map +1 -0
  28. package/dist/elysia-fork/context.js +2 -0
  29. package/dist/elysia-fork/context.js.map +1 -0
  30. package/dist/elysia-fork/error.d.ts +246 -0
  31. package/dist/elysia-fork/error.d.ts.map +1 -0
  32. package/dist/elysia-fork/error.js +195 -0
  33. package/dist/elysia-fork/error.js.map +1 -0
  34. package/dist/elysia-fork/types.d.ts +570 -0
  35. package/dist/elysia-fork/types.d.ts.map +1 -0
  36. package/dist/elysia-fork/types.js +3 -0
  37. package/dist/elysia-fork/types.js.map +1 -0
  38. package/dist/elysia-fork/utils.d.ts +134 -0
  39. package/dist/elysia-fork/utils.d.ts.map +1 -0
  40. package/dist/elysia-fork/utils.js +70 -0
  41. package/dist/elysia-fork/utils.js.map +1 -0
  42. package/dist/index.d.ts +2 -7
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -22
  45. package/dist/index.js.map +1 -1
  46. package/dist/spiceflow.d.ts +237 -0
  47. package/dist/spiceflow.d.ts.map +1 -0
  48. package/dist/spiceflow.js +484 -0
  49. package/dist/spiceflow.js.map +1 -0
  50. package/dist/spiceflow.test.d.ts +2 -0
  51. package/dist/spiceflow.test.d.ts.map +1 -0
  52. package/dist/spiceflow.test.js +225 -0
  53. package/dist/spiceflow.test.js.map +1 -0
  54. package/dist/stream.test.d.ts +2 -0
  55. package/dist/stream.test.d.ts.map +1 -0
  56. package/dist/stream.test.js +286 -0
  57. package/dist/stream.test.js.map +1 -0
  58. package/dist/types.d.ts +1 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +2 -0
  61. package/dist/types.js.map +1 -0
  62. package/dist/utils.d.ts +4 -20
  63. package/dist/utils.d.ts.map +1 -1
  64. package/dist/utils.js +17 -46
  65. package/dist/utils.js.map +1 -1
  66. package/package.json +12 -37
  67. package/src/client/errors.ts +21 -0
  68. package/src/client/index.ts +541 -0
  69. package/src/client/types.ts +233 -0
  70. package/src/client/utils.ts +7 -0
  71. package/src/client/ws.ts +99 -0
  72. package/src/client.test.ts +235 -0
  73. package/src/elysia-fork/context.ts +196 -0
  74. package/src/elysia-fork/error.ts +293 -0
  75. package/src/elysia-fork/types.ts +1353 -0
  76. package/src/elysia-fork/utils.ts +85 -0
  77. package/src/index.ts +2 -34
  78. package/src/spiceflow.test.ts +290 -0
  79. package/src/spiceflow.ts +1251 -0
  80. package/src/stream.test.ts +342 -0
  81. package/src/types.ts +0 -0
  82. package/src/utils.ts +21 -70
  83. package/context.d.ts +0 -2
  84. package/context.js +0 -1
  85. package/dist/babel.test.d.ts +0 -2
  86. package/dist/babel.test.d.ts.map +0 -1
  87. package/dist/babel.test.js +0 -27
  88. package/dist/babel.test.js.map +0 -1
  89. package/dist/babelDebugOutputs.d.ts +0 -9
  90. package/dist/babelDebugOutputs.d.ts.map +0 -1
  91. package/dist/babelDebugOutputs.js +0 -34
  92. package/dist/babelDebugOutputs.js.map +0 -1
  93. package/dist/babelTransformRpc.d.ts +0 -19
  94. package/dist/babelTransformRpc.d.ts.map +0 -1
  95. package/dist/babelTransformRpc.js +0 -285
  96. package/dist/babelTransformRpc.js.map +0 -1
  97. package/dist/browser.d.ts +0 -8
  98. package/dist/browser.d.ts.map +0 -1
  99. package/dist/browser.js +0 -126
  100. package/dist/browser.js.map +0 -1
  101. package/dist/build.d.ts +0 -13
  102. package/dist/build.d.ts.map +0 -1
  103. package/dist/build.js +0 -230
  104. package/dist/build.js.map +0 -1
  105. package/dist/cli.d.ts +0 -3
  106. package/dist/cli.d.ts.map +0 -1
  107. package/dist/cli.js +0 -111
  108. package/dist/cli.js.map +0 -1
  109. package/dist/context-internal.d.ts +0 -20
  110. package/dist/context-internal.d.ts.map +0 -1
  111. package/dist/context-internal.js +0 -16
  112. package/dist/context-internal.js.map +0 -1
  113. package/dist/context.d.ts +0 -2
  114. package/dist/context.d.ts.map +0 -1
  115. package/dist/context.js +0 -2
  116. package/dist/context.js.map +0 -1
  117. package/dist/expose.d.ts +0 -6
  118. package/dist/expose.d.ts.map +0 -1
  119. package/dist/expose.js +0 -32
  120. package/dist/expose.js.map +0 -1
  121. package/dist/headers.d.ts +0 -2
  122. package/dist/headers.d.ts.map +0 -1
  123. package/dist/headers.js +0 -18
  124. package/dist/headers.js.map +0 -1
  125. package/dist/jsonRpc.d.ts +0 -32
  126. package/dist/jsonRpc.d.ts.map +0 -1
  127. package/dist/jsonRpc.js +0 -3
  128. package/dist/jsonRpc.js.map +0 -1
  129. package/dist/server.d.ts +0 -32
  130. package/dist/server.d.ts.map +0 -1
  131. package/dist/server.js +0 -292
  132. package/dist/server.js.map +0 -1
  133. package/headers.d.ts +0 -2
  134. package/headers.js +0 -1
  135. package/sdk-template/package.json +0 -22
  136. package/sdk-template/src/index.ts +0 -2
  137. package/sdk-template/src/v1/example.ts +0 -5
  138. package/sdk-template/src/v1/generator.ts +0 -12
  139. package/sdk-template/tsconfig.json +0 -16
  140. package/src/babel.test.ts +0 -35
  141. package/src/babelDebugOutputs.ts +0 -56
  142. package/src/babelTransformRpc.ts +0 -394
  143. package/src/browser.ts +0 -141
  144. package/src/build.ts +0 -298
  145. package/src/cli.ts +0 -132
  146. package/src/context-internal.ts +0 -36
  147. package/src/context.ts +0 -5
  148. package/src/expose.ts +0 -34
  149. package/src/headers.ts +0 -19
  150. package/src/jsonRpc.ts +0 -43
  151. package/src/server.ts +0 -384
@@ -0,0 +1,87 @@
1
+ /// <reference lib="dom" />
2
+ import type { Spiceflow } from '../spiceflow';
3
+ import { EdenFetchError } from './errors';
4
+ import { EdenWS } from './ws';
5
+ export type Prettify<T> = {
6
+ [K in keyof T]: T[K];
7
+ } & {};
8
+ export type IsNever<T> = [T] extends [never] ? true : false;
9
+ type Files = File | FileList;
10
+ type ReplaceBlobWithFiles<in out RecordType extends Record<string, unknown>> = {
11
+ [K in keyof RecordType]: RecordType[K] extends Blob | Blob[] ? Files : RecordType[K];
12
+ } & {};
13
+ type And<A extends boolean, B extends boolean> = A extends true ? B extends true ? true : false : false;
14
+ type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
15
+ [K in keyof RecordType]: RecordType[K] extends Generator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K] extends AsyncGenerator<infer A, infer B, infer C> ? And<Not<IsNever<A>>, void extends B ? true : false> extends true ? AsyncGenerator<A, B, C> : And<IsNever<A>, void extends B ? false : true> extends true ? B : AsyncGenerator<A, B, C> | B : RecordType[K];
16
+ } & {};
17
+ type MaybeArray<T> = T | T[];
18
+ type MaybePromise<T> = T | Promise<T>;
19
+ export declare namespace SpiceflowClient {
20
+ interface TreatyParam {
21
+ fetch?: RequestInit;
22
+ }
23
+ export type Create<App extends Spiceflow<any, any, any, any, any, any, any, any>> = App extends {
24
+ _routes: infer Schema extends Record<string, any>;
25
+ } ? Prettify<Sign<Schema>> : 'Please install Spiceflow before using Eden';
26
+ export type Sign<in out Route extends Record<string, any>> = {
27
+ [K in keyof Route as K extends `:${string}` ? never : K]: K extends 'subscribe' ? (undefined extends Route['subscribe']['headers'] ? {
28
+ headers?: Record<string, unknown>;
29
+ } : {
30
+ headers: Route['subscribe']['headers'];
31
+ }) & (undefined extends Route['subscribe']['query'] ? {
32
+ query?: Record<string, unknown>;
33
+ } : {
34
+ query: Route['subscribe']['query'];
35
+ }) extends infer Param ? {} extends Param ? (options?: Param) => EdenWS<Route['subscribe']> : (options?: Param) => EdenWS<Route['subscribe']> : never : Route[K] extends {
36
+ body: infer Body;
37
+ headers: infer Headers;
38
+ params: any;
39
+ query: infer Query;
40
+ response: infer Response extends Record<number, unknown>;
41
+ } ? (undefined extends Headers ? {
42
+ headers?: Record<string, unknown>;
43
+ } : {
44
+ headers: Headers;
45
+ }) & (undefined extends Query ? {
46
+ query?: Record<string, unknown>;
47
+ } : {
48
+ query: Query;
49
+ }) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body?: Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options?: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : K extends 'get' | 'head' ? (options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (body: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options: Prettify<Param & TreatyParam>) => Promise<TreatyResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : never : CreateParams<Route[K]>;
50
+ };
51
+ type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
52
+ (((params: {
53
+ [param in Path extends `:${infer Param}` ? Param extends `${infer Param}?` ? Param : Param : never]: string | number;
54
+ }) => Prettify<Sign<Route[Path]>> & CreateParams<Route[Path]>) & Prettify<Sign<Route>>) & (Path extends `:${string}?` ? CreateParams<Route[Path]> : {}) : never;
55
+ export interface Config {
56
+ fetch?: Omit<RequestInit, 'headers' | 'method'>;
57
+ fetcher?: typeof fetch;
58
+ headers?: MaybeArray<RequestInit['headers'] | ((path: string, options: RequestInit) => RequestInit['headers'] | void)>;
59
+ onRequest?: MaybeArray<(path: string, options: RequestInit) => MaybePromise<RequestInit | void>>;
60
+ onResponse?: MaybeArray<(response: Response) => MaybePromise<unknown>>;
61
+ keepDomain?: boolean;
62
+ }
63
+ export type TreatyResponse<Res extends Record<number, unknown>> = {
64
+ data: Res[200];
65
+ error: null;
66
+ response: Response;
67
+ status: number;
68
+ headers: RequestInit['headers'];
69
+ } | {
70
+ data: null;
71
+ error: Exclude<keyof Res, 200> extends never ? EdenFetchError<number, any> : {
72
+ [Status in keyof Res]: EdenFetchError<Status, Res[Status]>;
73
+ }[Exclude<keyof Res, 200>];
74
+ response: Response;
75
+ status: number;
76
+ headers: RequestInit['headers'];
77
+ };
78
+ export interface OnMessage<Data = unknown> extends MessageEvent {
79
+ data: Data;
80
+ rawData: MessageEvent['data'];
81
+ }
82
+ export type WSEvent<K extends keyof WebSocketEventMap, Data = unknown> = K extends 'message' ? OnMessage<Data> : WebSocketEventMap[K];
83
+ export {};
84
+ }
85
+ export type Not<T> = T extends true ? false : true;
86
+ export {};
87
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function parseStringifiedValue(value: string): any;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/client/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,OAMlD"}
@@ -0,0 +1,9 @@
1
+ export function parseStringifiedValue(value) {
2
+ try {
3
+ return JSON.parse(value);
4
+ }
5
+ catch (error) {
6
+ return value;
7
+ }
8
+ }
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/client/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAa;IAClD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { InputSchema } from '../elysia-fork/types';
2
+ import type { SpiceflowClient } from './types';
3
+ export declare class EdenWS<in out Schema extends InputSchema<any> = {}> {
4
+ url: string;
5
+ ws: WebSocket;
6
+ constructor(url: string);
7
+ send(data: Schema['body'] | Schema['body'][]): this;
8
+ on<K extends keyof WebSocketEventMap>(type: K, listener: (event: SpiceflowClient.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
9
+ off<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
10
+ subscribe(onMessage: (event: SpiceflowClient.WSEvent<'message', Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
11
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (event: SpiceflowClient.WSEvent<K, Schema['response']>) => void, options?: boolean | AddEventListenerOptions): this;
12
+ removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): this;
13
+ close(): this;
14
+ }
15
+ //# sourceMappingURL=ws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/client/ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,qBAAa,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;IAG3C,GAAG,EAAE,MAAM;IAF9B,EAAE,EAAE,SAAS,CAAA;gBAEM,GAAG,EAAE,MAAM;IAI9B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;IAc5C,EAAE,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACnC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EACzE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IAK5C,GAAG,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACpC,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;IAOzC,SAAS,CACR,SAAS,EAAE,CACV,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KACzD,IAAI,EACT,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IAK5C,gBAAgB,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACjD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EACzE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IAoB5C,mBAAmB,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACpD,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;IAOzC,KAAK;CAKL"}
@@ -0,0 +1,51 @@
1
+ import { parseStringifiedValue } from './utils';
2
+ export class EdenWS {
3
+ constructor(url) {
4
+ this.url = url;
5
+ this.ws = new WebSocket(url);
6
+ }
7
+ send(data) {
8
+ if (Array.isArray(data)) {
9
+ data.forEach((datum) => this.send(datum));
10
+ return this;
11
+ }
12
+ this.ws.send(typeof data === 'object' ? JSON.stringify(data) : data.toString());
13
+ return this;
14
+ }
15
+ on(type, listener, options) {
16
+ return this.addEventListener(type, listener, options);
17
+ }
18
+ off(type, listener, options) {
19
+ this.ws.removeEventListener(type, listener, options);
20
+ return this;
21
+ }
22
+ subscribe(onMessage, options) {
23
+ return this.addEventListener('message', onMessage, options);
24
+ }
25
+ addEventListener(type, listener, options) {
26
+ this.ws.addEventListener(type, (ws) => {
27
+ if (type === 'message') {
28
+ const data = parseMessageEvent(ws);
29
+ listener(Object.assign(Object.assign({}, ws), { data }));
30
+ }
31
+ else
32
+ listener(ws);
33
+ }, options);
34
+ return this;
35
+ }
36
+ removeEventListener(type, listener, options) {
37
+ this.off(type, listener, options);
38
+ return this;
39
+ }
40
+ close() {
41
+ this.ws.close();
42
+ return this;
43
+ }
44
+ }
45
+ const parseMessageEvent = (event) => {
46
+ const messageString = event.data.toString();
47
+ return messageString === 'null'
48
+ ? null
49
+ : parseStringifiedValue(messageString);
50
+ };
51
+ //# sourceMappingURL=ws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/client/ws.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,MAAM,OAAO,MAAM;IAGlB,YAAmB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;QAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,CAAC,IAAuC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAEzC,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,IAAI,CACX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CACjE,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,EAAE,CACD,IAAO,EACP,QAAyE,EACzE,OAA2C;QAE3C,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,GAAG,CACF,IAAO,EACP,QAA4D,EAC5D,OAAwC;QAExC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEpD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,SAAS,CACR,SAES,EACT,OAA2C;QAE3C,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED,gBAAgB,CACf,IAAO,EACP,QAAyE,EACzE,OAA2C;QAE3C,IAAI,CAAC,EAAE,CAAC,gBAAgB,CACvB,IAAI,EACJ,CAAC,EAAE,EAAE,EAAE;YACN,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAkB,CAAC,CAAA;gBAElD,QAAQ,CAAC,gCACL,EAAE,KACL,IAAI,GACG,CAAC,CAAA;YACV,CAAC;;gBAAM,QAAQ,CAAC,EAAS,CAAC,CAAA;QAC3B,CAAC,EACD,OAAO,CACP,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,mBAAmB,CAClB,IAAO,EACP,QAA4D,EAC5D,OAAwC;QAExC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEjC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QAEf,OAAO,IAAI,CAAA;IACZ,CAAC;CACD;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,EAAE;IACjD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAE3C,OAAO,aAAa,KAAK,MAAM;QAC9B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;AACxC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,237 @@
1
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
2
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
3
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
5
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
6
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
7
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
8
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
9
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
10
+ function fulfill(value) { resume("next", value); }
11
+ function reject(value) { resume("throw", value); }
12
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
13
+ };
14
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
15
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
16
+ var m = o[Symbol.asyncIterator], i;
17
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
18
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
19
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
20
+ };
21
+ import { createSpiceflowClient } from './client';
22
+ import { Spiceflow, t } from './spiceflow';
23
+ import { describe, expect, it } from 'vitest';
24
+ const randomObject = {
25
+ a: 'a',
26
+ b: 2,
27
+ c: true,
28
+ d: false,
29
+ e: null,
30
+ f: new Date(0)
31
+ };
32
+ const randomArray = [
33
+ 'a',
34
+ 2,
35
+ true,
36
+ false,
37
+ null,
38
+ new Date(0),
39
+ { a: 'a', b: 2, c: true, d: false, e: null, f: new Date(0) }
40
+ ];
41
+ const app = new Spiceflow()
42
+ .get('/', () => 'a')
43
+ .post('/', () => 'a')
44
+ .get('/number', () => 1)
45
+ .get('/true', () => true)
46
+ .get('/false', () => false)
47
+ .post('/array', ({ body }) => body, {
48
+ body: t.Array(t.String())
49
+ })
50
+ .post('/mirror', ({ body }) => body)
51
+ .post('/body', ({ body }) => body, {
52
+ body: t.String()
53
+ })
54
+ .delete('/empty', ({ body }) => ({ body: body !== null && body !== void 0 ? body : null }))
55
+ .post('/deep/nested/mirror', ({ body }) => body, {
56
+ body: t.Object({
57
+ username: t.String(),
58
+ password: t.String()
59
+ })
60
+ })
61
+ .use(new Spiceflow({ basePath: '/nested' }).get('/data', ({ params }) => 'hi'))
62
+ // .get('/error', ({ error }) => error("I'm a teapot", 'Kirifuji Nagisa'), {
63
+ // response: {
64
+ // 200: t.Void(),
65
+ // 418: t.Literal('Kirifuji Nagisa'),
66
+ // 420: t.Literal('Snoop Dogg')
67
+ // }
68
+ // })
69
+ .get('/validationError',
70
+ // @ts-expect-error
71
+ () => {
72
+ return 'this errors because validation is wrong';
73
+ }, {
74
+ response: {
75
+ 200: t.Object({
76
+ x: t.String()
77
+ })
78
+ }
79
+ })
80
+ .post('/date', ({ body: { date } }) => date, {
81
+ body: t.Object({
82
+ date: t.Date()
83
+ })
84
+ })
85
+ .get('/dateObject', () => ({ date: new Date() }))
86
+ .get('/redirect', ({ redirect }) => redirect('http://localhost:8083/true'))
87
+ .post('/redirect', ({ redirect }) => redirect('http://localhost:8083/true'), {
88
+ body: t.Object({
89
+ username: t.String()
90
+ })
91
+ })
92
+ // .get('/formdata', () => ({
93
+ // image: Bun.file('./test/kyuukurarin.mp4')
94
+ // }))
95
+ .get('/stream', function* stream() {
96
+ yield 'a';
97
+ yield 'b';
98
+ yield 'c';
99
+ })
100
+ .get('/stream-async', function stream() {
101
+ return __asyncGenerator(this, arguments, function* stream_1() {
102
+ yield yield __await('a');
103
+ yield yield __await('b');
104
+ yield yield __await('c');
105
+ });
106
+ })
107
+ .get('/stream-return', function* stream() {
108
+ return 'a';
109
+ })
110
+ .get('/stream-return-async', function* stream() {
111
+ return 'a';
112
+ })
113
+ .get('/id/:id?', ({ params: { id = 'unknown' } }) => id);
114
+ const client = createSpiceflowClient(app);
115
+ describe('client', () => {
116
+ it('get index', async () => {
117
+ const { data, error } = await client.index.get();
118
+ expect(data).toBe('a');
119
+ expect(error).toBeNull();
120
+ });
121
+ it('post index', async () => {
122
+ const { data, error } = await client.index.post();
123
+ expect(data).toBe('a');
124
+ expect(error).toBeNull();
125
+ });
126
+ it('parse number', async () => {
127
+ const { data } = await client.number.get();
128
+ expect(data).toEqual(1);
129
+ });
130
+ it('parse true', async () => {
131
+ const { data } = await client.true.get();
132
+ expect(data).toEqual(true);
133
+ });
134
+ it('parse false', async () => {
135
+ const { data } = await client.false.get();
136
+ expect(data).toEqual(false);
137
+ });
138
+ it.todo('parse object with date', async () => {
139
+ const { data } = await client.dateObject.get();
140
+ expect(data === null || data === void 0 ? void 0 : data.date).toBeInstanceOf(Date);
141
+ });
142
+ it('post array', async () => {
143
+ const { data } = await client.array.post(['a', 'b']);
144
+ expect(data).toEqual(['a', 'b']);
145
+ });
146
+ it('post body', async () => {
147
+ const { data } = await client.body.post('a');
148
+ expect(data).toEqual('a');
149
+ });
150
+ it('post mirror', async () => {
151
+ const body = { username: 'A', password: 'B' };
152
+ const { data } = await client.mirror.post(body);
153
+ expect(data).toEqual(body);
154
+ });
155
+ it('delete empty', async () => {
156
+ const { data } = await client.empty.delete();
157
+ expect(data).toEqual({ body: null });
158
+ });
159
+ it('post deep nested mirror', async () => {
160
+ const body = { username: 'A', password: 'B' };
161
+ const { data } = await client.deep.nested.mirror.post(body);
162
+ expect(data).toEqual(body);
163
+ });
164
+ it('get nested data', async () => {
165
+ const { data } = await client.nested.data.get();
166
+ expect(data).toEqual('hi');
167
+ });
168
+ it('stream ', async () => {
169
+ var _a, e_1, _b, _c;
170
+ const { data } = await client.stream.get();
171
+ let all = '';
172
+ try {
173
+ for (var _d = true, _e = __asyncValues(data), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
174
+ _c = _f.value;
175
+ _d = false;
176
+ const chunk = _c;
177
+ // console.log(chunk)
178
+ all += chunk + '-';
179
+ }
180
+ }
181
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
182
+ finally {
183
+ try {
184
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
185
+ }
186
+ finally { if (e_1) throw e_1.error; }
187
+ }
188
+ expect(all).toEqual('a-b-c-');
189
+ });
190
+ it('stream async', async () => {
191
+ var _a, e_2, _b, _c;
192
+ const { data } = await client['stream-async'].get();
193
+ let all = '';
194
+ try {
195
+ for (var _d = true, _e = __asyncValues(data), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
196
+ _c = _f.value;
197
+ _d = false;
198
+ const chunk = _c;
199
+ // console.log(chunk)
200
+ all += chunk + '-';
201
+ }
202
+ }
203
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
204
+ finally {
205
+ try {
206
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
207
+ }
208
+ finally { if (e_2) throw e_2.error; }
209
+ }
210
+ expect(all).toEqual('a-b-c-');
211
+ });
212
+ it('stream return', async () => {
213
+ const { data } = await client['stream-return'].get();
214
+ expect(data).toEqual('a');
215
+ });
216
+ it('stream return async', async () => {
217
+ const { data } = await client['stream-return-async'].get();
218
+ // console.log(data)
219
+ expect(data).toEqual('a');
220
+ });
221
+ // it('handle error', async () => {
222
+ // const { data, error } = await client.error.get()
223
+ // let value
224
+ // if (error)
225
+ // switch (error.status) {
226
+ // case 418:
227
+ // value = error.value
228
+ // break
229
+ // case 420:
230
+ // value = error.value
231
+ // break
232
+ // }
233
+ // expect(data).toBeNull()
234
+ // expect(value).toEqual('Kirifuji Nagisa')
235
+ // })
236
+ });
237
+ //# sourceMappingURL=client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import type { StatusMap, InvertedStatusMap, redirect as Redirect } from './utils.js';
2
+ import type { RouteSchema, Prettify, ResolvePath, SingletonBase } from './types.js';
3
+ import { error } from './error.js';
4
+ type InvertedStatusMapKey = keyof InvertedStatusMap;
5
+ export type ErrorContext<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
6
+ decorator: {};
7
+ store: {};
8
+ derive: {};
9
+ resolve: {};
10
+ }, Path extends string = ''> = Prettify<{
11
+ body: Route['body'];
12
+ query: undefined extends Route['query'] ? Record<string, string | undefined> : Route['query'];
13
+ params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : {
14
+ [key in string]: string;
15
+ } : Route['params'];
16
+ redirect: Redirect;
17
+ /**
18
+ * Path extracted from incoming URL
19
+ *
20
+ * Represent a value extracted from URL
21
+ *
22
+ * @example '/id/9'
23
+ */
24
+ path: string;
25
+ /**
26
+ * Path as registered to router
27
+ *
28
+ * Represent a path registered to a router, not a URL
29
+ *
30
+ * @example '/id/:id'
31
+ */
32
+ route: string;
33
+ request: Request;
34
+ store: Singleton['store'];
35
+ response: Route['response'];
36
+ } & Singleton['decorator'] & Singleton['derive'] & Singleton['resolve']>;
37
+ export type Context<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
38
+ decorator: {};
39
+ store: {};
40
+ derive: {};
41
+ resolve: {};
42
+ }, Path extends string = ''> = Prettify<{
43
+ body: Route['body'];
44
+ params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
45
+ redirect: Redirect;
46
+ /**
47
+ * Path extracted from incoming URL
48
+ *
49
+ * Represent a value extracted from URL
50
+ *
51
+ * @example '/id/9'
52
+ */
53
+ path: string;
54
+ /**
55
+ * Path as registered to router
56
+ *
57
+ * Represent a path registered to a router, not a URL
58
+ *
59
+ * @example '/id/:id'
60
+ */
61
+ route: string;
62
+ request: Request;
63
+ store: Singleton['store'];
64
+ response?: Route['response'];
65
+ } & ({} extends Route['response'] ? {
66
+ error: typeof error;
67
+ } : {
68
+ error: <const Code extends keyof Route['response'] | InvertedStatusMap[Extract<InvertedStatusMapKey, keyof Route['response']>], const T extends Code extends keyof Route['response'] ? Route['response'][Code] : Code extends keyof StatusMap ? Route['response'][StatusMap[Code]] : never>(code: Code, response: T) => {
69
+ response: T;
70
+ _type: {
71
+ [ERROR_CODE in Code extends keyof StatusMap ? StatusMap[Code] : Code]: T;
72
+ };
73
+ };
74
+ }) & Singleton['decorator'] & Singleton['derive'] & Singleton['resolve']>;
75
+ export type PreContext<in out Singleton extends SingletonBase = {
76
+ decorator: {};
77
+ store: {};
78
+ derive: {};
79
+ resolve: {};
80
+ }> = Prettify<{
81
+ store: Singleton['store'];
82
+ request: Request;
83
+ redirect: Redirect;
84
+ error: typeof error;
85
+ } & Singleton['decorator']>;
86
+ export {};
87
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/elysia-fork/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/elysia-fork/context.ts"],"names":[],"mappings":""}