spiceflow 1.0.2 → 1.0.4

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/dist/openapi.d.ts CHANGED
@@ -50,7 +50,6 @@ export declare const openapi: <Path extends string = "/openapi">({ path, documen
50
50
  body: unknown;
51
51
  params: { [Param in import("./elysia-fork/types").GetPathParameter<Path> as Param extends `${string}?` ? never : Param]: string; } & { [Param_1 in import("./elysia-fork/types").GetPathParameter<Path> as Param_1 extends `${infer OptionalParam}?` ? OptionalParam : never]?: string | undefined; } extends infer T ? { [K in keyof T]: ({ [Param in import("./elysia-fork/types").GetPathParameter<Path> as Param extends `${string}?` ? never : Param]: string; } & { [Param_1 in import("./elysia-fork/types").GetPathParameter<Path> as Param_1 extends `${infer OptionalParam}?` ? OptionalParam : never]?: string | undefined; })[K]; } : never;
52
52
  query: unknown;
53
- headers: unknown;
54
53
  response: {
55
54
  [x: number]: any;
56
55
  200: any;
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,SAAS,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAK9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAQ5E,eAAO,MAAM,aAAa,SAAU,MAAM,WAY9B,CAAA;AAEZ,eAAO,MAAM,aAAa,SACnB,MAAM,UACJ,UAAU,GAAG,MAAM,GAAG,SAAS,UAC/B,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;;;;GA4BlC,CAAA;AAiCD,eAAO,MAAM,UAAU,SAAU,MAAM,WACM,CAAA;AAE7C,eAAO,MAAM,mBAAmB,WAAY,MAAM,SAAS,MAAM,WAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,4CAM5B;IACF,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAClC,SAkLA,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,SAAS,MAAM,yCAGxC;IACF,IAAI,EAAE,IAAI,CAAA;IACV;;;;OAIG;IACH,aAAa,CAAC,EAAE,IAAI,CACnB,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EACzB,yCAAyC,GACzC,qCAAqC,CACvC,CAAA;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFA,CAAA"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,SAAS,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAK9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAQ5E,eAAO,MAAM,aAAa,SAAU,MAAM,WAY9B,CAAA;AAEZ,eAAO,MAAM,aAAa,SACnB,MAAM,UACJ,UAAU,GAAG,MAAM,GAAG,SAAS,UAC/B,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;;;;GA4BlC,CAAA;AAiCD,eAAO,MAAM,UAAU,SAAU,MAAM,WACM,CAAA;AAE7C,eAAO,MAAM,mBAAmB,WAAY,MAAM,SAAS,MAAM,WAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,4CAM5B;IACF,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAClC,SAkLA,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,SAAS,MAAM,yCAGxC;IACF,IAAI,EAAE,IAAI,CAAA;IACV;;;;OAIG;IACH,aAAa,CAAC,EAAE,IAAI,CACnB,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EACzB,yCAAyC,GACzC,qCAAqC,CACvC,CAAA;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFA,CAAA"}
@@ -26,7 +26,9 @@ export type InternalRoute = {
26
26
  path: string;
27
27
  handler: InlineHandler<any, any, any>;
28
28
  hooks: LocalHook<any, any, any, any, any, any, any>;
29
- validate?: ValidateFunction;
29
+ validateBody?: ValidateFunction;
30
+ validateQuery?: ValidateFunction;
31
+ validateParams?: ValidateFunction;
30
32
  prefix: string;
31
33
  };
32
34
  /**
@@ -60,7 +62,9 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
60
62
  method: HTTPMethod;
61
63
  handler: InlineHandler<any, any, any>;
62
64
  hooks: LocalHook<any, any, any, any, any, any, any>;
63
- validate?: ValidateFunction;
65
+ validateBody?: ValidateFunction;
66
+ validateQuery?: ValidateFunction;
67
+ validateParams?: ValidateFunction;
64
68
  prefix: string;
65
69
  }[];
66
70
  private add;
@@ -104,7 +108,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
104
108
  body: Schema['body'];
105
109
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
106
110
  query: Schema['query'];
107
- headers: Schema['headers'];
108
111
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
109
112
  };
110
113
  }>, Ephemeral, Volatile>;
@@ -119,7 +122,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
119
122
  body: Schema['body'];
120
123
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
121
124
  query: Schema['query'];
122
- headers: Schema['headers'];
123
125
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
124
126
  };
125
127
  }>, Ephemeral, Volatile>;
@@ -134,7 +136,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
134
136
  body: Schema['body'];
135
137
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
136
138
  query: Schema['query'];
137
- headers: Schema['headers'];
138
139
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
139
140
  };
140
141
  }>, Ephemeral, Volatile>;
@@ -149,7 +150,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
149
150
  body: Schema['body'];
150
151
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
151
152
  query: Schema['query'];
152
- headers: Schema['headers'];
153
153
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
154
154
  };
155
155
  }>, Ephemeral, Volatile>;
@@ -164,7 +164,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
164
164
  body: Schema['body'];
165
165
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
166
166
  query: Schema['query'];
167
- headers: Schema['headers'];
168
167
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
169
168
  };
170
169
  }>, Ephemeral, Volatile>;
@@ -179,7 +178,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
179
178
  body: Schema['body'];
180
179
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
181
180
  query: Schema['query'];
182
- headers: Schema['headers'];
183
181
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
184
182
  };
185
183
  }>, Ephemeral, Volatile>;
@@ -194,7 +192,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
194
192
  body: Schema['body'];
195
193
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
196
194
  query: Schema['query'];
197
- headers: Schema['headers'];
198
195
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
199
196
  };
200
197
  }>, Ephemeral, Volatile>;
@@ -209,7 +206,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
209
206
  body: Schema['body'];
210
207
  params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
211
208
  query: Schema['query'];
212
- headers: Schema['headers'];
213
209
  response: ComposeSpiceflowResponse<Schema['response'], Handle>;
214
210
  };
215
211
  }>, Ephemeral, Volatile>;
@@ -242,6 +238,10 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
242
238
  declare const METHODS: readonly ["ALL", "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"];
243
239
  /** HTTP method string */
244
240
  export type Method = (typeof METHODS)[number];
241
+ export declare class TypedRequest<T = any> extends Request {
242
+ validateBody?: ValidateFunction;
243
+ json(): Promise<T>;
244
+ }
245
245
  export declare function bfs(tree: RouterTree): RouterTree[];
246
246
  export declare function turnHandlerResultIntoResponse(result: any): Promise<Response>;
247
247
  export type AnySpiceflow = Spiceflow<any, any, any, any, any, any, any, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"spiceflow.d.ts","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiceflow.d.ts","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
package/dist/spiceflow.js CHANGED
@@ -27,6 +27,7 @@ import OriginalRouter from '@medley/router';
27
27
  import Ajv from 'ajv';
28
28
  import { isAsyncIterable } from './utils.js';
29
29
  import { redirect } from './elysia-fork/utils.js';
30
+ import { ValidationError } from './elysia-fork/error.js';
30
31
  import { zodToJsonSchema } from 'zod-to-json-schema';
31
32
  import { z } from 'zod';
32
33
  const ajv = addFormats(new Ajv({ useDefaults: true }), [
@@ -68,20 +69,16 @@ export class Spiceflow {
68
69
  // path = router.prefix + path
69
70
  // }
70
71
  let bodySchema = hooks === null || hooks === void 0 ? void 0 : hooks.body;
71
- let validate;
72
- if (isZodSchema(bodySchema)) {
73
- let jsonSchema = zodToJsonSchema(bodySchema, {});
74
- validate = ajv.compile(jsonSchema);
75
- }
76
- else if (bodySchema) {
77
- // console.log(bodySchema)
78
- validate = ajv.compile(bodySchema);
79
- }
72
+ let validateBody = getValidateFunction(bodySchema);
73
+ let validateQuery = getValidateFunction(hooks === null || hooks === void 0 ? void 0 : hooks.query);
74
+ let validateParams = getValidateFunction(hooks === null || hooks === void 0 ? void 0 : hooks.params);
80
75
  const store = router.router.register(path);
81
76
  let route = Object.assign(Object.assign({}, rest), { prefix: router.prefix || '', method: (method || ''), path: path || '',
82
77
  // prefix,
83
78
  handler: handler, hooks,
84
- validate });
79
+ validateBody,
80
+ validateParams,
81
+ validateQuery });
85
82
  router.routes.push(route);
86
83
  store[method] = route;
87
84
  }
@@ -261,7 +258,7 @@ export class Spiceflow {
261
258
  * @returns The final `Response`
262
259
  */
263
260
  async handle(request, platform) {
264
- var _a;
261
+ var _a, _b;
265
262
  platform !== null && platform !== void 0 ? platform : (platform = {});
266
263
  let u = new URL(request.url);
267
264
  let path = u.pathname + u.search;
@@ -281,7 +278,7 @@ export class Spiceflow {
281
278
  onErrorHandlers = this.getRouteAndParents(route.router)
282
279
  .reverse()
283
280
  .flatMap((x) => x.onErrorHandlers);
284
- const { params, store: defaultStore } = route;
281
+ let { params, store: defaultStore } = route;
285
282
  const onReqHandlers = this.getRouteAndParents(route.router)
286
283
  .reverse()
287
284
  .flatMap((x) => x.onRequestHandlers);
@@ -289,22 +286,14 @@ export class Spiceflow {
289
286
  let store = Object.assign({}, defaultStore);
290
287
  // TODO add content type
291
288
  let content = (_a = route === null || route === void 0 ? void 0 : route.hooks) === null || _a === void 0 ? void 0 : _a.content;
292
- let body = await getRequestBody({ request, content });
293
- if (route.validate) {
294
- // TODO move compile to the router
295
- const valid = route.validate(body);
296
- if (!valid) {
297
- const error = ajv.errorsText(route.validate.errors, {
298
- separator: '\n',
299
- });
300
- return new Response(error, {
301
- status: 400,
302
- headers: {
303
- 'content-type': 'text/plain',
304
- },
305
- });
306
- }
289
+ // let body = await getRequestBody({ request, content })
290
+ if (route.validateBody) {
291
+ // TODO don't clone the request
292
+ let typedRequest = new TypedRequest(request);
293
+ typedRequest.validateBody = route.validateBody;
294
+ request = typedRequest;
307
295
  }
296
+ let query = parseQuery.parse((u.search || '').slice(1));
308
297
  if (onReqHandlers.length > 0) {
309
298
  for (const handler of onReqHandlers) {
310
299
  const res = await handler({
@@ -312,16 +301,20 @@ export class Spiceflow {
312
301
  response,
313
302
  store,
314
303
  path,
304
+ query,
315
305
  });
316
306
  if (res) {
317
307
  return await turnHandlerResultIntoResponse(res);
318
308
  }
319
309
  }
320
310
  }
311
+ query = runValidation(query, route.validateQuery);
312
+ params = runValidation(params, route.validateParams);
321
313
  // console.log(route)
322
314
  const res = route.handler(Object.assign(Object.assign({}, defaultContext), { request,
323
315
  response, params: params, store,
324
- body,
316
+ query,
317
+ // body,
325
318
  path }));
326
319
  if (isAsyncIterable(res)) {
327
320
  return await this.handleStream({
@@ -333,6 +326,8 @@ export class Spiceflow {
333
326
  return await turnHandlerResultIntoResponse(res);
334
327
  }
335
328
  catch (err) {
329
+ if (err instanceof Response)
330
+ return err;
336
331
  let res = await this.runErrorHandlers({
337
332
  onErrorHandlers,
338
333
  error: err,
@@ -340,8 +335,9 @@ export class Spiceflow {
340
335
  });
341
336
  if (res)
342
337
  return res;
338
+ let status = (_b = err === null || err === void 0 ? void 0 : err.status) !== null && _b !== void 0 ? _b : 500;
343
339
  return new Response((err === null || err === void 0 ? void 0 : err.message) || 'Internal Server Error', {
344
- status: 500,
340
+ status,
345
341
  });
346
342
  }
347
343
  }
@@ -448,45 +444,48 @@ export class Spiceflow {
448
444
  });
449
445
  }
450
446
  }
451
- async function getRequestBody({ request, content, }) {
452
- var _a, _b;
453
- let body;
454
- if (request.method === 'GET' || request.method === 'HEAD') {
455
- return;
456
- }
457
- const contentType = content || ((_b = (_a = request.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.split(';')) === null || _b === void 0 ? void 0 : _b[0]);
458
- if (!contentType) {
459
- return;
460
- }
461
- switch (contentType) {
462
- case 'application/json':
463
- body = (await request.json());
464
- break;
465
- case 'text/plain':
466
- body = await request.text();
467
- break;
468
- case 'application/x-www-form-urlencoded':
469
- body = parseQuery.parse(await request.text());
470
- break;
471
- case 'application/octet-stream':
472
- body = await request.arrayBuffer();
473
- break;
474
- case 'multipart/form-data':
475
- body = {};
476
- const form = await request.formData();
477
- for (const key of form.keys()) {
478
- if (body[key])
479
- continue;
480
- const value = form.getAll(key);
481
- if (value.length === 1)
482
- body[key] = value[0];
483
- else
484
- body[key] = value;
485
- }
486
- break;
487
- }
488
- return body;
489
- }
447
+ // async function getRequestBody({
448
+ // request,
449
+ // content,
450
+ // }: {
451
+ // content
452
+ // request: Request
453
+ // }) {
454
+ // let body: string | Record<string, any> | undefined
455
+ // if (request.method === 'GET' || request.method === 'HEAD') {
456
+ // return
457
+ // }
458
+ // const contentType =
459
+ // content || request.headers.get('content-type')?.split(';')?.[0]
460
+ // if (!contentType) {
461
+ // return
462
+ // }
463
+ // switch (contentType) {
464
+ // case 'application/json':
465
+ // body = (await request.json()) as any
466
+ // break
467
+ // case 'text/plain':
468
+ // body = await request.text()
469
+ // break
470
+ // case 'application/x-www-form-urlencoded':
471
+ // body = parseQuery.parse(await request.text()) as any
472
+ // break
473
+ // case 'application/octet-stream':
474
+ // body = await request.arrayBuffer()
475
+ // break
476
+ // case 'multipart/form-data':
477
+ // body = {}
478
+ // const form = await request.formData()
479
+ // for (const key of form.keys()) {
480
+ // if (body[key]) continue
481
+ // const value = form.getAll(key)
482
+ // if (value.length === 1) body[key] = value[0]
483
+ // else body[key] = value
484
+ // }
485
+ // break
486
+ // }
487
+ // return body
488
+ // }
490
489
  const METHODS = [
491
490
  'ALL',
492
491
  'CONNECT',
@@ -511,6 +510,12 @@ function bfsFind(tree, onNode) {
511
510
  }
512
511
  return;
513
512
  }
513
+ export class TypedRequest extends Request {
514
+ async json() {
515
+ const body = (await super.json());
516
+ return runValidation(body, this.validateBody);
517
+ }
518
+ }
514
519
  export function bfs(tree) {
515
520
  const queue = [tree];
516
521
  let nodes = [];
@@ -558,4 +563,25 @@ export function isZodSchema(value) {
558
563
  'optional' in value &&
559
564
  'nullable' in value));
560
565
  }
566
+ function getValidateFunction(schema) {
567
+ if (isZodSchema(schema)) {
568
+ let jsonSchema = zodToJsonSchema(schema, {});
569
+ return ajv.compile(jsonSchema);
570
+ }
571
+ if (schema) {
572
+ return ajv.compile(schema);
573
+ }
574
+ }
575
+ function runValidation(value, validate) {
576
+ if (!validate)
577
+ return value;
578
+ const valid = validate(value);
579
+ if (!valid) {
580
+ const error = ajv.errorsText(validate.errors, {
581
+ separator: '\n',
582
+ });
583
+ throw new ValidationError(error);
584
+ }
585
+ return value;
586
+ }
561
587
  //# sourceMappingURL=spiceflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spiceflow.js","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiceflow.js","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { test, expect } from 'vitest';
2
2
  import { Type } from '@sinclair/typebox';
3
3
  import { bfs, Spiceflow } from './spiceflow';
4
+ import { z } from 'zod';
4
5
  test('works', async () => {
5
6
  const res = await new Spiceflow()
6
7
  .post('/xxx', () => 'hi')
@@ -22,6 +23,70 @@ test('GET dynamic route', async () => {
22
23
  expect(res.status).toBe(200);
23
24
  expect(await res.json()).toEqual('hi');
24
25
  });
26
+ test('GET with query, untyped', async () => {
27
+ const res = await new Spiceflow()
28
+ .get('/query', ({ query }) => {
29
+ return query.id;
30
+ })
31
+ .handle(new Request('http://localhost/query?id=hi', { method: 'GET' }));
32
+ expect(res.status).toBe(200);
33
+ expect(await res.json()).toEqual('hi');
34
+ });
35
+ test('GET with query, zod, fails validation', async () => {
36
+ const res = await new Spiceflow()
37
+ .get('/query', ({ query }) => {
38
+ return query.id;
39
+ }, {
40
+ query: z.object({
41
+ id: z.number(),
42
+ }),
43
+ })
44
+ .handle(new Request('http://localhost/query?id=hi', { method: 'GET' }));
45
+ expect(res.status).toBe(422);
46
+ });
47
+ test('GET with query and zod', async () => {
48
+ const res = await new Spiceflow()
49
+ .get('/query', ({ query }) => {
50
+ return query.id;
51
+ // @ts-expect-error
52
+ void query.sdfsd;
53
+ }, {
54
+ query: z.object({
55
+ id: z.string(),
56
+ }),
57
+ })
58
+ .handle(new Request('http://localhost/query?id=hi', { method: 'GET' }));
59
+ expect(res.status).toBe(200);
60
+ expect(await res.json()).toEqual('hi');
61
+ });
62
+ test('GET dynamic route, params are typed', async () => {
63
+ const res = await new Spiceflow()
64
+ .get('/ids/:id', ({ params }) => {
65
+ let id = params.id;
66
+ // @ts-expect-error
67
+ params.sdfsd;
68
+ return id;
69
+ })
70
+ .handle(new Request('http://localhost/ids/hi', { method: 'GET' }));
71
+ expect(res.status).toBe(200);
72
+ expect(await res.json()).toEqual('hi');
73
+ });
74
+ test('GET dynamic route, params are typed with schema', async () => {
75
+ const res = await new Spiceflow()
76
+ .get('/ids/:id', ({ params }) => {
77
+ let id = params.id;
78
+ // @ts-expect-error
79
+ params.sdfsd;
80
+ return id;
81
+ }, {
82
+ params: z.object({
83
+ id: z.string(),
84
+ }),
85
+ })
86
+ .handle(new Request('http://localhost/ids/hi', { method: 'GET' }));
87
+ expect(res.status).toBe(200);
88
+ expect(await res.json()).toEqual('hi');
89
+ });
25
90
  test('missing route is not found', async () => {
26
91
  const res = await new Spiceflow()
27
92
  .get('/ids/:id', () => 'hi')
@@ -44,9 +109,9 @@ test('body is parsed as json', async () => {
44
109
  let body;
45
110
  const res = await new Spiceflow()
46
111
  .state('id', '')
47
- .post('/post', (c) => {
48
- body = c.body;
49
- // console.log({ body })
112
+ .post('/post', async (c) => {
113
+ body = await c.request.json();
114
+ // console.log({request})
50
115
  return body;
51
116
  })
52
117
  .handle(new Request('http://localhost/post', {
@@ -61,8 +126,9 @@ test('body is parsed as json', async () => {
61
126
  });
62
127
  test('validate body works, request success', async () => {
63
128
  const res = await new Spiceflow()
64
- .post('/post', ({ body }) => {
65
- // console.log({ body })
129
+ .post('/post', async ({ request }) => {
130
+ // console.log({request})
131
+ let body = await request.json();
66
132
  expect(body).toEqual({ name: 'John' });
67
133
  return 'ok';
68
134
  }, {
@@ -82,8 +148,9 @@ test('validate body works, request success', async () => {
82
148
  });
83
149
  test('validate body works, request fails', async () => {
84
150
  const res = await new Spiceflow()
85
- .post('/post', ({ body, redirect, error }) => {
86
- // console.log({ body })
151
+ .post('/post', async ({ request, redirect }) => {
152
+ // console.log({request})
153
+ let body = await request.json();
87
154
  expect(body).toEqual({ name: 'John' });
88
155
  }, {
89
156
  body: Type.Object({
@@ -98,7 +165,7 @@ test('validate body works, request fails', async () => {
98
165
  },
99
166
  body: JSON.stringify({ name: 'John' }),
100
167
  }));
101
- expect(res.status).toBe(400);
168
+ expect(res.status).toBe(422);
102
169
  expect(await res.text()).toMatchInlineSnapshot(`"data must have required property 'requiredField'"`);
103
170
  });
104
171
  test('run onRequest', async () => {