spiceflow 1.1.16 → 1.1.18

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.
@@ -6,11 +6,13 @@ export type Prettify<T> = {
6
6
  export type IsNever<T> = [T] extends [never] ? true : false;
7
7
  type Files = File | FileList;
8
8
  type ReplaceBlobWithFiles<in out RecordType extends Record<string, unknown>> = {
9
- [K in keyof RecordType]: RecordType[K] extends Blob | Blob[] ? Files : RecordType[K];
9
+ [K in keyof RecordType]: RecordType[K] extends any ? RecordType[K] : RecordType[K] extends Blob | Blob[] | {
10
+ arrayBuffer: () => Promise<ArrayBuffer>;
11
+ } ? Files : RecordType[K];
10
12
  } & {};
11
13
  type And<A extends boolean, B extends boolean> = A extends true ? B extends true ? true : false : false;
12
14
  type ReplaceGeneratorWithAsyncGenerator<in out RecordType extends Record<string, unknown>> = {
13
- [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];
15
+ [K in keyof RecordType]: RecordType[K] extends any ? RecordType[K] : 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];
14
16
  } & {};
15
17
  type MaybeArray<T> = T | T[];
16
18
  type MaybePromise<T> = T | Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
18
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
19
  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
20
20
  };
21
+ import { z } from 'zod';
21
22
  import { createSpiceflowClient } from './client/index.js';
22
23
  import { Spiceflow, t } from './spiceflow.js';
23
24
  import { describe, expect, it } from 'vitest';
@@ -33,6 +34,9 @@ const app = new Spiceflow()
33
34
  .post('/mirror', async ({ request }) => await request.json())
34
35
  .post('/body', async ({ request }) => await request.text(), {
35
36
  body: t.String(),
37
+ })
38
+ .post('/zodAny', async ({ request }) => await request.json(), {
39
+ body: z.object({ body: z.array(z.any()) }),
36
40
  })
37
41
  .delete('/empty', async ({ request }) => {
38
42
  const body = await request.text();
@@ -43,6 +47,20 @@ const app = new Spiceflow()
43
47
  username: t.String(),
44
48
  password: t.String(),
45
49
  }),
50
+ })
51
+ .get('/throws', () => {
52
+ throw new Response('Custom error', { status: 400 });
53
+ })
54
+ .get('/throws-307', () => {
55
+ throw new Response('Redirect', {
56
+ status: 307,
57
+ headers: { location: 'http://example.com' },
58
+ });
59
+ })
60
+ .get('/throws-200', () => {
61
+ throw new Response('this string will not be parsed as json', {
62
+ status: 200,
63
+ });
46
64
  })
47
65
  .use(new Spiceflow({ basePath: '/nested' }).get('/data', ({ params }) => 'hi'))
48
66
  // .get('/error', ({ error }) => error("I'm a teapot", 'Kirifuji Nagisa'), {
@@ -152,6 +170,27 @@ describe('client', () => {
152
170
  const { data } = await client.nested.data.get();
153
171
  expect(data).toEqual('hi');
154
172
  });
173
+ it('handles thrown response', async () => {
174
+ const { data, error } = await client.throws.get();
175
+ expect(data).toBeNull();
176
+ expect(error).toBeDefined();
177
+ expect(error === null || error === void 0 ? void 0 : error.status).toBe(400);
178
+ expect(error === null || error === void 0 ? void 0 : error.message).toBe('Custom error');
179
+ });
180
+ it('handles thrown response with 307', async () => {
181
+ const { data, error } = await client['throws-307'].get();
182
+ expect(data).toBeNull();
183
+ expect(error).toBeDefined();
184
+ expect(error === null || error === void 0 ? void 0 : error.status).toBe(307);
185
+ expect(error === null || error === void 0 ? void 0 : error.message).toBe('Redirect');
186
+ });
187
+ it('handles thrown response with 200', async () => {
188
+ const { data, error } = await client['throws-200'].get();
189
+ // @ts-expect-error data should not be AsyncGenerator type
190
+ data;
191
+ expect(data).toMatchInlineSnapshot(`"this string will not be parsed as json"`);
192
+ expect(error).toMatchInlineSnapshot(`null`);
193
+ });
155
194
  it('stream ', async () => {
156
195
  var _a, e_1, _b, _c;
157
196
  const { data } = await client.stream.get();
@@ -205,6 +244,11 @@ describe('client', () => {
205
244
  // console.log(data)
206
245
  expect(data).toEqual('a');
207
246
  });
247
+ it('post zodAny', async () => {
248
+ const body = [{ key: 'value' }, 123, 'string', true, null];
249
+ const { data } = await client.zodAny.post({ body });
250
+ expect(data).toEqual({ body });
251
+ });
208
252
  // it('handle error', async () => {
209
253
  // const { data, error } = await client.error.get()
210
254
  // let value
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
@@ -74,194 +74,197 @@ test('openapi response', async () => {
74
74
  .handle(new Request('http://localhost/openapi'))
75
75
  .then((x) => x.json());
76
76
  expect(openapiSchema).toMatchInlineSnapshot(`
77
- {
78
- "components": {
79
- "schemas": {},
80
- },
81
- "info": {
82
- "description": "Development documentation",
83
- "title": "Spiceflow Docs",
84
- "version": "0.0.0",
85
- },
86
- "openapi": "3.0.3",
87
- "paths": {
88
- "/addBody": {
89
- "patch": {
90
- "operationId": "patchAddBody",
91
- "parameters": [],
92
- "requestBody": {
93
- "content": {
94
- "application/json": {
95
- "schema": {
96
- "$schema": "http://json-schema.org/draft-07/schema#",
97
- "additionalProperties": false,
98
- "properties": {
99
- "name": {
100
- "type": "string",
101
- },
102
- },
103
- "required": [
104
- "name",
105
- ],
106
- "type": "object",
107
- },
108
- },
109
- },
110
- "required": true,
111
- },
112
- "responses": {
113
- "200": {
114
- "$schema": "http://json-schema.org/draft-07/schema#",
115
- "content": {
116
- "application/json": {
117
- "schema": {
118
- "properties": {
119
- "name": {
120
- "type": "string",
121
- },
122
- },
123
- "type": "object",
124
- },
125
- },
126
- },
127
- },
128
- },
129
- },
130
- },
131
- "/one/ids/{id}": {
132
- "get": {
133
- "operationId": "getOneIdsById",
134
- "responses": {
135
- "200": {
136
- "$schema": "http://json-schema.org/draft-07/schema#",
137
- "content": {
138
- "application/json": {
139
- "schema": {
140
- "$schema": "http://json-schema.org/draft-07/schema#",
141
- "type": "string",
142
- },
143
- },
144
- },
145
- },
146
- "404": {
147
- "$schema": "http://json-schema.org/draft-07/schema#",
148
- "content": {
149
- "application/json": {
150
- "schema": {
151
- "properties": {
152
- "message": {
153
- "type": "string",
154
- },
155
- },
156
- "required": [
157
- "message",
158
- ],
159
- "type": "object",
160
- },
161
- },
162
- },
163
- },
164
- },
165
- },
166
- },
167
- "/openapi": {
168
- "get": {
169
- "operationId": "getOpenapi",
170
- "responses": {},
171
- },
172
- },
173
- "/queryParams": {
174
- "get": {
175
- "operationId": "getQueryParams",
176
- "parameters": [
177
- {
178
- "in": "query",
179
- "name": "name",
180
- "required": true,
181
- "schema": {
182
- "type": "string",
183
- },
184
- },
185
- ],
186
- "responses": {
187
- "200": {
188
- "$schema": "http://json-schema.org/draft-07/schema#",
189
- "content": {
190
- "application/json": {
191
- "schema": {
192
- "properties": {
193
- "name": {
194
- "type": "string",
195
- },
196
- },
197
- "type": "object",
198
- },
199
- },
200
- },
201
- },
202
- },
203
- },
204
- "post": {
205
- "description": "This is a post",
206
- "operationId": "postQueryParamsXXX",
207
- "parameters": [],
208
- "requestBody": {
209
- "content": {
210
- "application/json": {
211
- "schema": {
212
- "$schema": "http://json-schema.org/draft-07/schema#",
213
- "additionalProperties": false,
214
- "properties": {
215
- "name": {
216
- "type": "string",
217
- },
218
- },
219
- "required": [
220
- "name",
221
- ],
222
- "type": "object",
223
- },
224
- },
225
- },
226
- "required": true,
227
- },
228
- "responses": {
229
- "200": {
230
- "$schema": "http://json-schema.org/draft-07/schema#",
231
- "content": {
232
- "application/json": {
233
- "schema": {
234
- "properties": {
235
- "name": {
236
- "type": "string",
237
- },
238
- },
239
- "type": "object",
240
- },
241
- },
242
- },
243
- },
244
- },
245
- },
246
- },
247
- "/two/ids/{id}": {
248
- "get": {
249
- "operationId": "getTwoIdsById",
250
- "parameters": [
251
- {
252
- "in": "path",
253
- "name": "id",
254
- "required": true,
255
- "schema": {
256
- "type": "string",
257
- },
258
- },
259
- ],
260
- "responses": {},
261
- },
262
- },
263
- },
264
- }
265
- `);
77
+ {
78
+ "components": {
79
+ "schemas": {},
80
+ },
81
+ "info": {
82
+ "description": "Development documentation",
83
+ "title": "Spiceflow Docs",
84
+ "version": "0.0.0",
85
+ },
86
+ "openapi": "3.1.3",
87
+ "paths": {
88
+ "/addBody": {
89
+ "patch": {
90
+ "operationId": "patchAddBody",
91
+ "parameters": [],
92
+ "requestBody": {
93
+ "content": {
94
+ "application/json": {
95
+ "schema": {
96
+ "$schema": "http://json-schema.org/draft-07/schema#",
97
+ "additionalProperties": false,
98
+ "properties": {
99
+ "name": {
100
+ "type": "string",
101
+ },
102
+ },
103
+ "required": [
104
+ "name",
105
+ ],
106
+ "type": "object",
107
+ },
108
+ },
109
+ },
110
+ "required": true,
111
+ },
112
+ "responses": {
113
+ "200": {
114
+ "$schema": "http://json-schema.org/draft-07/schema#",
115
+ "content": {
116
+ "application/json": {
117
+ "schema": {
118
+ "properties": {
119
+ "name": {
120
+ "type": "string",
121
+ },
122
+ },
123
+ "type": "object",
124
+ },
125
+ },
126
+ },
127
+ "description": "",
128
+ },
129
+ },
130
+ },
131
+ },
132
+ "/one/ids/{id}": {
133
+ "get": {
134
+ "operationId": "getOneIdsById",
135
+ "responses": {
136
+ "200": {
137
+ "$schema": "http://json-schema.org/draft-07/schema#",
138
+ "content": {
139
+ "application/json": {
140
+ "schema": {
141
+ "$schema": "http://json-schema.org/draft-07/schema#",
142
+ "type": "string",
143
+ },
144
+ },
145
+ },
146
+ "description": "",
147
+ },
148
+ "404": {
149
+ "$schema": "http://json-schema.org/draft-07/schema#",
150
+ "content": {
151
+ "application/json": {
152
+ "schema": {
153
+ "properties": {
154
+ "message": {
155
+ "type": "string",
156
+ },
157
+ },
158
+ "required": [
159
+ "message",
160
+ ],
161
+ "type": "object",
162
+ },
163
+ },
164
+ },
165
+ "description": "",
166
+ },
167
+ },
168
+ },
169
+ },
170
+ "/openapi": {
171
+ "get": {
172
+ "operationId": "getOpenapi",
173
+ },
174
+ },
175
+ "/queryParams": {
176
+ "get": {
177
+ "operationId": "getQueryParams",
178
+ "parameters": [
179
+ {
180
+ "in": "query",
181
+ "name": "name",
182
+ "required": true,
183
+ "schema": {
184
+ "type": "string",
185
+ },
186
+ },
187
+ ],
188
+ "responses": {
189
+ "200": {
190
+ "$schema": "http://json-schema.org/draft-07/schema#",
191
+ "content": {
192
+ "application/json": {
193
+ "schema": {
194
+ "properties": {
195
+ "name": {
196
+ "type": "string",
197
+ },
198
+ },
199
+ "type": "object",
200
+ },
201
+ },
202
+ },
203
+ "description": "",
204
+ },
205
+ },
206
+ },
207
+ "post": {
208
+ "description": "This is a post",
209
+ "operationId": "postQueryParamsXXX",
210
+ "parameters": [],
211
+ "requestBody": {
212
+ "content": {
213
+ "application/json": {
214
+ "schema": {
215
+ "$schema": "http://json-schema.org/draft-07/schema#",
216
+ "additionalProperties": false,
217
+ "properties": {
218
+ "name": {
219
+ "type": "string",
220
+ },
221
+ },
222
+ "required": [
223
+ "name",
224
+ ],
225
+ "type": "object",
226
+ },
227
+ },
228
+ },
229
+ "required": true,
230
+ },
231
+ "responses": {
232
+ "200": {
233
+ "$schema": "http://json-schema.org/draft-07/schema#",
234
+ "content": {
235
+ "application/json": {
236
+ "schema": {
237
+ "properties": {
238
+ "name": {
239
+ "type": "string",
240
+ },
241
+ },
242
+ "type": "object",
243
+ },
244
+ },
245
+ },
246
+ "description": "",
247
+ },
248
+ },
249
+ },
250
+ },
251
+ "/two/ids/{id}": {
252
+ "get": {
253
+ "operationId": "getTwoIdsById",
254
+ "parameters": [
255
+ {
256
+ "in": "path",
257
+ "name": "id",
258
+ "required": true,
259
+ "schema": {
260
+ "type": "string",
261
+ },
262
+ },
263
+ ],
264
+ },
265
+ },
266
+ },
267
+ }
268
+ `);
266
269
  });
267
270
  //# sourceMappingURL=openapi.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.test.js","sourceRoot":"","sources":["../src/openapi.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.test.js","sourceRoot":"","sources":["../src/openapi.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,UAAW,GAAG,QAOpC,CAAA;AAED,eAAO,MAAM,GAAG,SAAU,MAAM,YAAY,WAAW,YACN,CAAA;AAEjD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,CAQpE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DZ,CAAA;AAEV,eAAO,MAAM,iBAAiB,EAEzB,GACF,CAAC,IAAI,MAAM,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAC1C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AACxC,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,QACd,MAAM,WACH,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,aACF,CAAA;AAEnC,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAEtC,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,QAAQ,CAoB1D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,UAAW,GAAG,QAOpC,CAAA;AAED,eAAO,MAAM,GAAG,SAAU,MAAM,YAAY,WAAW,YACN,CAAA;AAEjD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,CAQpE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DZ,CAAA;AAEV,eAAO,MAAM,iBAAiB,EAEzB,GACF,CAAoB,IAAf,MAAM,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAC1C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AACxC,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,QACd,MAAM,WACH,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,aACF,CAAA;AAEnC,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAEtC,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,QAAQ,CAoB1D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spiceflow",
3
- "version": "1.1.16",
3
+ "version": "1.1.18",
4
4
  "description": "Simple API framework with RPC and type safety",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,7 +12,12 @@ export type IsNever<T> = [T] extends [never] ? true : false
12
12
  type Files = File | FileList
13
13
 
14
14
  type ReplaceBlobWithFiles<in out RecordType extends Record<string, unknown>> = {
15
- [K in keyof RecordType]: RecordType[K] extends Blob | Blob[]
15
+ [K in keyof RecordType]: RecordType[K] extends any
16
+ ? RecordType[K]
17
+ : RecordType[K] extends
18
+ | Blob
19
+ | Blob[]
20
+ | { arrayBuffer: () => Promise<ArrayBuffer> }
16
21
  ? Files
17
22
  : RecordType[K]
18
23
  } & {}
@@ -26,11 +31,9 @@ type And<A extends boolean, B extends boolean> = A extends true
26
31
  type ReplaceGeneratorWithAsyncGenerator<
27
32
  in out RecordType extends Record<string, unknown>,
28
33
  > = {
29
- [K in keyof RecordType]: RecordType[K] extends Generator<
30
- infer A,
31
- infer B,
32
- infer C
33
- >
34
+ [K in keyof RecordType]: RecordType[K] extends any
35
+ ? RecordType[K]
36
+ : RecordType[K] extends Generator<infer A, infer B, infer C>
34
37
  ? And<Not<IsNever<A>>, void extends B ? true : false> extends true
35
38
  ? AsyncGenerator<A, B, C>
36
39
  : And<IsNever<A>, void extends B ? false : true> extends true
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod'
1
2
  import { createSpiceflowClient } from './client/index.js'
2
3
  import { Spiceflow, t } from './spiceflow.js'
3
4
 
@@ -16,6 +17,9 @@ const app = new Spiceflow()
16
17
  .post('/body', async ({ request }) => await request.text(), {
17
18
  body: t.String(),
18
19
  })
20
+ .post('/zodAny', async ({ request }) => await request.json(), {
21
+ body: z.object({ body: z.array(z.any()) }),
22
+ })
19
23
  .delete('/empty', async ({ request }) => {
20
24
  const body = await request.text()
21
25
  return { body: body || null }
@@ -26,7 +30,20 @@ const app = new Spiceflow()
26
30
  password: t.String(),
27
31
  }),
28
32
  })
29
-
33
+ .get('/throws', () => {
34
+ throw new Response('Custom error', { status: 400 })
35
+ })
36
+ .get('/throws-307', () => {
37
+ throw new Response('Redirect', {
38
+ status: 307,
39
+ headers: { location: 'http://example.com' },
40
+ })
41
+ })
42
+ .get('/throws-200', () => {
43
+ throw new Response('this string will not be parsed as json', {
44
+ status: 200,
45
+ })
46
+ })
30
47
  .use(
31
48
  new Spiceflow({ basePath: '/nested' }).get('/data', ({ params }) => 'hi'),
32
49
  )
@@ -168,6 +185,36 @@ describe('client', () => {
168
185
  expect(data).toEqual('hi')
169
186
  })
170
187
 
188
+ it('handles thrown response', async () => {
189
+ const { data, error } = await client.throws.get()
190
+
191
+ expect(data).toBeNull()
192
+ expect(error).toBeDefined()
193
+ expect(error?.status).toBe(400)
194
+ expect(error?.message).toBe('Custom error')
195
+ })
196
+
197
+ it('handles thrown response with 307', async () => {
198
+ const { data, error } = await client['throws-307'].get()
199
+
200
+ expect(data).toBeNull()
201
+ expect(error).toBeDefined()
202
+ expect(error?.status).toBe(307)
203
+ expect(error?.message).toBe('Redirect')
204
+ })
205
+
206
+ it('handles thrown response with 200', async () => {
207
+ const { data, error } = await client['throws-200'].get()
208
+ // @ts-expect-error data should not be AsyncGenerator type
209
+ data satisfies AsyncGenerator
210
+ expect(data).toMatchInlineSnapshot(
211
+ `"this string will not be parsed as json"`,
212
+ )
213
+ expect(error).toMatchInlineSnapshot(
214
+ `null`,
215
+ )
216
+ })
217
+
171
218
  it('stream ', async () => {
172
219
  const { data } = await client.stream.get()
173
220
  let all = ''
@@ -196,6 +243,13 @@ describe('client', () => {
196
243
  // console.log(data)
197
244
  expect(data).toEqual('a')
198
245
  })
246
+ it('post zodAny', async () => {
247
+ const body = [{ key: 'value' }, 123, 'string', true, null]
248
+
249
+ const { data } = await client.zodAny.post({ body })
250
+
251
+ expect(data).toEqual({ body })
252
+ })
199
253
 
200
254
  // it('handle error', async () => {
201
255
  // const { data, error } = await client.error.get()
@@ -102,193 +102,196 @@ test('openapi response', async () => {
102
102
  .handle(new Request('http://localhost/openapi'))
103
103
  .then((x) => x.json())
104
104
  expect(openapiSchema).toMatchInlineSnapshot(`
105
- {
106
- "components": {
107
- "schemas": {},
108
- },
109
- "info": {
110
- "description": "Development documentation",
111
- "title": "Spiceflow Docs",
112
- "version": "0.0.0",
113
- },
114
- "openapi": "3.0.3",
115
- "paths": {
116
- "/addBody": {
117
- "patch": {
118
- "operationId": "patchAddBody",
119
- "parameters": [],
120
- "requestBody": {
121
- "content": {
122
- "application/json": {
123
- "schema": {
124
- "$schema": "http://json-schema.org/draft-07/schema#",
125
- "additionalProperties": false,
126
- "properties": {
127
- "name": {
128
- "type": "string",
129
- },
130
- },
131
- "required": [
132
- "name",
133
- ],
134
- "type": "object",
135
- },
136
- },
137
- },
138
- "required": true,
139
- },
140
- "responses": {
141
- "200": {
142
- "$schema": "http://json-schema.org/draft-07/schema#",
143
- "content": {
144
- "application/json": {
145
- "schema": {
146
- "properties": {
147
- "name": {
148
- "type": "string",
149
- },
150
- },
151
- "type": "object",
152
- },
153
- },
154
- },
155
- },
156
- },
157
- },
158
- },
159
- "/one/ids/{id}": {
160
- "get": {
161
- "operationId": "getOneIdsById",
162
- "responses": {
163
- "200": {
164
- "$schema": "http://json-schema.org/draft-07/schema#",
165
- "content": {
166
- "application/json": {
167
- "schema": {
168
- "$schema": "http://json-schema.org/draft-07/schema#",
169
- "type": "string",
170
- },
171
- },
172
- },
173
- },
174
- "404": {
175
- "$schema": "http://json-schema.org/draft-07/schema#",
176
- "content": {
177
- "application/json": {
178
- "schema": {
179
- "properties": {
180
- "message": {
181
- "type": "string",
182
- },
183
- },
184
- "required": [
185
- "message",
186
- ],
187
- "type": "object",
188
- },
189
- },
190
- },
191
- },
192
- },
193
- },
194
- },
195
- "/openapi": {
196
- "get": {
197
- "operationId": "getOpenapi",
198
- "responses": {},
199
- },
200
- },
201
- "/queryParams": {
202
- "get": {
203
- "operationId": "getQueryParams",
204
- "parameters": [
205
- {
206
- "in": "query",
207
- "name": "name",
208
- "required": true,
209
- "schema": {
210
- "type": "string",
211
- },
212
- },
213
- ],
214
- "responses": {
215
- "200": {
216
- "$schema": "http://json-schema.org/draft-07/schema#",
217
- "content": {
218
- "application/json": {
219
- "schema": {
220
- "properties": {
221
- "name": {
222
- "type": "string",
223
- },
224
- },
225
- "type": "object",
226
- },
227
- },
228
- },
229
- },
230
- },
231
- },
232
- "post": {
233
- "description": "This is a post",
234
- "operationId": "postQueryParamsXXX",
235
- "parameters": [],
236
- "requestBody": {
237
- "content": {
238
- "application/json": {
239
- "schema": {
240
- "$schema": "http://json-schema.org/draft-07/schema#",
241
- "additionalProperties": false,
242
- "properties": {
243
- "name": {
244
- "type": "string",
245
- },
246
- },
247
- "required": [
248
- "name",
249
- ],
250
- "type": "object",
251
- },
252
- },
253
- },
254
- "required": true,
255
- },
256
- "responses": {
257
- "200": {
258
- "$schema": "http://json-schema.org/draft-07/schema#",
259
- "content": {
260
- "application/json": {
261
- "schema": {
262
- "properties": {
263
- "name": {
264
- "type": "string",
265
- },
266
- },
267
- "type": "object",
268
- },
269
- },
270
- },
271
- },
272
- },
273
- },
274
- },
275
- "/two/ids/{id}": {
276
- "get": {
277
- "operationId": "getTwoIdsById",
278
- "parameters": [
279
- {
280
- "in": "path",
281
- "name": "id",
282
- "required": true,
283
- "schema": {
284
- "type": "string",
285
- },
286
- },
287
- ],
288
- "responses": {},
289
- },
290
- },
291
- },
292
- }
293
- `)
105
+ {
106
+ "components": {
107
+ "schemas": {},
108
+ },
109
+ "info": {
110
+ "description": "Development documentation",
111
+ "title": "Spiceflow Docs",
112
+ "version": "0.0.0",
113
+ },
114
+ "openapi": "3.1.3",
115
+ "paths": {
116
+ "/addBody": {
117
+ "patch": {
118
+ "operationId": "patchAddBody",
119
+ "parameters": [],
120
+ "requestBody": {
121
+ "content": {
122
+ "application/json": {
123
+ "schema": {
124
+ "$schema": "http://json-schema.org/draft-07/schema#",
125
+ "additionalProperties": false,
126
+ "properties": {
127
+ "name": {
128
+ "type": "string",
129
+ },
130
+ },
131
+ "required": [
132
+ "name",
133
+ ],
134
+ "type": "object",
135
+ },
136
+ },
137
+ },
138
+ "required": true,
139
+ },
140
+ "responses": {
141
+ "200": {
142
+ "$schema": "http://json-schema.org/draft-07/schema#",
143
+ "content": {
144
+ "application/json": {
145
+ "schema": {
146
+ "properties": {
147
+ "name": {
148
+ "type": "string",
149
+ },
150
+ },
151
+ "type": "object",
152
+ },
153
+ },
154
+ },
155
+ "description": "",
156
+ },
157
+ },
158
+ },
159
+ },
160
+ "/one/ids/{id}": {
161
+ "get": {
162
+ "operationId": "getOneIdsById",
163
+ "responses": {
164
+ "200": {
165
+ "$schema": "http://json-schema.org/draft-07/schema#",
166
+ "content": {
167
+ "application/json": {
168
+ "schema": {
169
+ "$schema": "http://json-schema.org/draft-07/schema#",
170
+ "type": "string",
171
+ },
172
+ },
173
+ },
174
+ "description": "",
175
+ },
176
+ "404": {
177
+ "$schema": "http://json-schema.org/draft-07/schema#",
178
+ "content": {
179
+ "application/json": {
180
+ "schema": {
181
+ "properties": {
182
+ "message": {
183
+ "type": "string",
184
+ },
185
+ },
186
+ "required": [
187
+ "message",
188
+ ],
189
+ "type": "object",
190
+ },
191
+ },
192
+ },
193
+ "description": "",
194
+ },
195
+ },
196
+ },
197
+ },
198
+ "/openapi": {
199
+ "get": {
200
+ "operationId": "getOpenapi",
201
+ },
202
+ },
203
+ "/queryParams": {
204
+ "get": {
205
+ "operationId": "getQueryParams",
206
+ "parameters": [
207
+ {
208
+ "in": "query",
209
+ "name": "name",
210
+ "required": true,
211
+ "schema": {
212
+ "type": "string",
213
+ },
214
+ },
215
+ ],
216
+ "responses": {
217
+ "200": {
218
+ "$schema": "http://json-schema.org/draft-07/schema#",
219
+ "content": {
220
+ "application/json": {
221
+ "schema": {
222
+ "properties": {
223
+ "name": {
224
+ "type": "string",
225
+ },
226
+ },
227
+ "type": "object",
228
+ },
229
+ },
230
+ },
231
+ "description": "",
232
+ },
233
+ },
234
+ },
235
+ "post": {
236
+ "description": "This is a post",
237
+ "operationId": "postQueryParamsXXX",
238
+ "parameters": [],
239
+ "requestBody": {
240
+ "content": {
241
+ "application/json": {
242
+ "schema": {
243
+ "$schema": "http://json-schema.org/draft-07/schema#",
244
+ "additionalProperties": false,
245
+ "properties": {
246
+ "name": {
247
+ "type": "string",
248
+ },
249
+ },
250
+ "required": [
251
+ "name",
252
+ ],
253
+ "type": "object",
254
+ },
255
+ },
256
+ },
257
+ "required": true,
258
+ },
259
+ "responses": {
260
+ "200": {
261
+ "$schema": "http://json-schema.org/draft-07/schema#",
262
+ "content": {
263
+ "application/json": {
264
+ "schema": {
265
+ "properties": {
266
+ "name": {
267
+ "type": "string",
268
+ },
269
+ },
270
+ "type": "object",
271
+ },
272
+ },
273
+ },
274
+ "description": "",
275
+ },
276
+ },
277
+ },
278
+ },
279
+ "/two/ids/{id}": {
280
+ "get": {
281
+ "operationId": "getTwoIdsById",
282
+ "parameters": [
283
+ {
284
+ "in": "path",
285
+ "name": "id",
286
+ "required": true,
287
+ "schema": {
288
+ "type": "string",
289
+ },
290
+ },
291
+ ],
292
+ },
293
+ },
294
+ },
295
+ }
296
+ `)
294
297
  })