@rudderjs/router 1.3.2 → 1.4.0

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.
@@ -0,0 +1,20 @@
1
+ import { ZodType } from 'zod';
2
+ import { type MiddlewareHandler } from '@rudderjs/contracts';
3
+ /**
4
+ * Build a middleware that validates `req.body` against a Zod schema.
5
+ *
6
+ * - On success, `req.body` is **replaced in place** with the parsed result.
7
+ * This mirrors `buildQueryValidator`'s behavior so `z.coerce.*`,
8
+ * `z.transform()`, and `.default()` work end-to-end: the handler sees
9
+ * the parsed shape, not the raw JSON.
10
+ * - On failure, throws `ValidationError` (rendered as HTTP 422 by core's
11
+ * exception handler). The error map mirrors FormRequest's shape:
12
+ * `{ [path]: string[] }`, with top-level issues under `'root'`.
13
+ *
14
+ * Used by `RouteBuilder.body(schema)` and the `{ body: schema }` opts form
15
+ * on `Router.get/post/etc`. Server adapters populate `req.body` from JSON
16
+ * and form-encoded payloads before middleware runs; this validator only
17
+ * reads + replaces the already-parsed value.
18
+ */
19
+ export declare function buildBodyValidator(schema: ZodType): MiddlewareHandler;
20
+ //# sourceMappingURL=body-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-validator.d.ts","sourceRoot":"","sources":["../src/body-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,KAAK,CAAA;AACvC,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CASrE"}
@@ -0,0 +1,37 @@
1
+ import { ValidationError } from '@rudderjs/contracts';
2
+ /**
3
+ * Build a middleware that validates `req.body` against a Zod schema.
4
+ *
5
+ * - On success, `req.body` is **replaced in place** with the parsed result.
6
+ * This mirrors `buildQueryValidator`'s behavior so `z.coerce.*`,
7
+ * `z.transform()`, and `.default()` work end-to-end: the handler sees
8
+ * the parsed shape, not the raw JSON.
9
+ * - On failure, throws `ValidationError` (rendered as HTTP 422 by core's
10
+ * exception handler). The error map mirrors FormRequest's shape:
11
+ * `{ [path]: string[] }`, with top-level issues under `'root'`.
12
+ *
13
+ * Used by `RouteBuilder.body(schema)` and the `{ body: schema }` opts form
14
+ * on `Router.get/post/etc`. Server adapters populate `req.body` from JSON
15
+ * and form-encoded payloads before middleware runs; this validator only
16
+ * reads + replaces the already-parsed value.
17
+ */
18
+ export function buildBodyValidator(schema) {
19
+ return async (req, _res, next) => {
20
+ const result = schema.safeParse(req.body);
21
+ if (!result.success) {
22
+ throw new ValidationError(zodIssuesToErrors(result.error));
23
+ }
24
+ ;
25
+ req.body = result.data;
26
+ await next();
27
+ };
28
+ }
29
+ function zodIssuesToErrors(err) {
30
+ const errors = {};
31
+ for (const issue of err.issues) {
32
+ const key = issue.path.join('.') || 'root';
33
+ errors[key] = [...(errors[key] ?? []), issue.message];
34
+ }
35
+ return errors;
36
+ }
37
+ //# sourceMappingURL=body-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-validator.js","sourceRoot":"","sources":["../src/body-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,qBAAqB,CAAA;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,CAAC;QAAC,GAAyB,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC9C,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAa;IACtC,MAAM,MAAM,GAA6B,EAAE,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;QAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,13 +7,16 @@ export type { ExtractParams, TypedRequest, TypedHandler } from './typed-routes.j
7
7
  * Per-route options accepted in the 3-arg form of `Router.get/post/etc`.
8
8
  *
9
9
  * The 3-arg form exists so the handler closure can be typed against the
10
- * Zod-inferred query shape *at write time* — the bare 2-arg form types
11
- * `req.query` as `Record<string, string>`, and chaining `.query(schema)`
12
- * after that can't go back and re-type the closure.
10
+ * Zod-inferred query/body shapes *at write time* — the bare 2-arg form
11
+ * types `req.query` as `Record<string, string>` and `req.body` as
12
+ * `unknown`, and chaining `.query()` / `.body()` after that can't go back
13
+ * and re-type the closure.
13
14
  */
14
- export interface RouteOptions<S extends ZodType = ZodType> {
15
+ export interface RouteOptions<Q extends ZodType = ZodType, B extends ZodType = ZodType> {
15
16
  /** Zod schema to validate `req.query` against. Parsed result replaces `req.query`. */
16
- query?: S;
17
+ query?: Q;
18
+ /** Zod schema to validate `req.body` against. Parsed result replaces `req.body`. */
19
+ body?: B;
17
20
  /** Per-route middleware (prepended before the handler). */
18
21
  middleware?: MiddlewareHandler[];
19
22
  }
@@ -75,12 +78,14 @@ export declare const ROUTE_PATTERN_ULID = "[0-7][0-9A-HJKMNP-TV-Z]{25}";
75
78
  * router.get('/users/:id', handler).name('users.show').whereNumber('id')
76
79
  * route('users.show', { id: 1 }) // → '/users/1'
77
80
  */
78
- export declare class RouteBuilder<P extends string = string, // path literal — preserved for .query() / future .body() chains
79
- Q = Record<string, string>> {
81
+ export declare class RouteBuilder<P extends string = string, // path literal — preserved for .query() / .body() chains
82
+ Q = Record<string, string>, // query shape — replaced by .query(schema) overload
83
+ B = unknown> {
80
84
  private readonly definition;
81
85
  private readonly _router;
82
86
  readonly _path: P;
83
87
  readonly _query: Q;
88
+ readonly _body: B;
84
89
  constructor(definition: RouteDefinition, _router: Router);
85
90
  /** Assign a name to this route for use with `route()` and `Url.signedRoute()`. */
86
91
  name(n: string): this;
@@ -157,7 +162,28 @@ Q = Record<string, string>> {
157
162
  * // Runtime-only (validation runs, but `req.query.page` is still typed string)
158
163
  * Route.get('/users', (req) => req.query.page).query(z.object({ page: z.coerce.number() }))
159
164
  */
160
- query<S extends ZodType>(schema: S): RouteBuilder<P, z.infer<S>>;
165
+ query<S extends ZodType>(schema: S): RouteBuilder<P, z.infer<S>, B>;
166
+ /**
167
+ * Install a Zod validator on `req.body` for this route. Mirrors `.query()`:
168
+ * the parsed result replaces `req.body` so the handler sees the inferred
169
+ * shape end-to-end (including `z.coerce.*` / `z.transform()` / `.default()`).
170
+ *
171
+ * **Note on typing:** the handler was already passed (and typed) when this
172
+ * route was registered. Chaining `.body(schema)` AFTER cannot re-type a
173
+ * closure that's already been bound. The returned `RouteBuilder<P, Q, z.infer<S>>`
174
+ * carries the inferred body for downstream chain methods, but the
175
+ * already-registered handler still sees its original body typing.
176
+ *
177
+ * For type-safe body at the handler closure, use the opts-object form:
178
+ *
179
+ * @example
180
+ * // Type-safe (handler closure sees `req.body.title: string`)
181
+ * Route.post('/posts', { body: z.object({ title: z.string() }) }, (req) => req.body.title)
182
+ *
183
+ * // Runtime-only (validation runs, but `req.body` is still typed unknown)
184
+ * Route.post('/posts', (req) => req.body).body(z.object({ title: z.string() }))
185
+ */
186
+ body<S extends ZodType>(schema: S): RouteBuilder<P, Q, z.infer<S>>;
161
187
  }
162
188
  /**
163
189
  * Options accepted by `router.group(opts, fn)`. Each route registered inside
@@ -279,32 +305,79 @@ export declare class Router {
279
305
  /** Manually register a route. Returns `this` for bulk registration. */
280
306
  add(method: HttpMethod, path: string, handler: RouteHandler, middleware?: MiddlewareHandler[]): this;
281
307
  get<P extends string>(path: P, handler: TypedHandler<P>, middleware?: MiddlewareHandler[]): RouteBuilder<P>;
282
- get<P extends string, S extends ZodType>(path: P, opts: RouteOptions<S> & {
283
- query: S;
284
- }, handler: TypedHandler<P, z.infer<S>>): RouteBuilder<P, z.infer<S>>;
308
+ get<P extends string, Q extends ZodType, B extends ZodType>(path: P, opts: RouteOptions<Q, B> & {
309
+ query: Q;
310
+ body: B;
311
+ }, handler: TypedHandler<P, z.infer<Q>, z.infer<B>>): RouteBuilder<P, z.infer<Q>, z.infer<B>>;
312
+ get<P extends string, Q extends ZodType>(path: P, opts: RouteOptions<Q> & {
313
+ query: Q;
314
+ }, handler: TypedHandler<P, z.infer<Q>>): RouteBuilder<P, z.infer<Q>>;
315
+ get<P extends string, B extends ZodType>(path: P, opts: RouteOptions<ZodType, B> & {
316
+ body: B;
317
+ }, handler: TypedHandler<P, Record<string, string>, z.infer<B>>): RouteBuilder<P, Record<string, string>, z.infer<B>>;
285
318
  post<P extends string>(path: P, handler: TypedHandler<P>, middleware?: MiddlewareHandler[]): RouteBuilder<P>;
286
- post<P extends string, S extends ZodType>(path: P, opts: RouteOptions<S> & {
287
- query: S;
288
- }, handler: TypedHandler<P, z.infer<S>>): RouteBuilder<P, z.infer<S>>;
319
+ post<P extends string, Q extends ZodType, B extends ZodType>(path: P, opts: RouteOptions<Q, B> & {
320
+ query: Q;
321
+ body: B;
322
+ }, handler: TypedHandler<P, z.infer<Q>, z.infer<B>>): RouteBuilder<P, z.infer<Q>, z.infer<B>>;
323
+ post<P extends string, Q extends ZodType>(path: P, opts: RouteOptions<Q> & {
324
+ query: Q;
325
+ }, handler: TypedHandler<P, z.infer<Q>>): RouteBuilder<P, z.infer<Q>>;
326
+ post<P extends string, B extends ZodType>(path: P, opts: RouteOptions<ZodType, B> & {
327
+ body: B;
328
+ }, handler: TypedHandler<P, Record<string, string>, z.infer<B>>): RouteBuilder<P, Record<string, string>, z.infer<B>>;
289
329
  put<P extends string>(path: P, handler: TypedHandler<P>, middleware?: MiddlewareHandler[]): RouteBuilder<P>;
290
- put<P extends string, S extends ZodType>(path: P, opts: RouteOptions<S> & {
291
- query: S;
292
- }, handler: TypedHandler<P, z.infer<S>>): RouteBuilder<P, z.infer<S>>;
330
+ put<P extends string, Q extends ZodType, B extends ZodType>(path: P, opts: RouteOptions<Q, B> & {
331
+ query: Q;
332
+ body: B;
333
+ }, handler: TypedHandler<P, z.infer<Q>, z.infer<B>>): RouteBuilder<P, z.infer<Q>, z.infer<B>>;
334
+ put<P extends string, Q extends ZodType>(path: P, opts: RouteOptions<Q> & {
335
+ query: Q;
336
+ }, handler: TypedHandler<P, z.infer<Q>>): RouteBuilder<P, z.infer<Q>>;
337
+ put<P extends string, B extends ZodType>(path: P, opts: RouteOptions<ZodType, B> & {
338
+ body: B;
339
+ }, handler: TypedHandler<P, Record<string, string>, z.infer<B>>): RouteBuilder<P, Record<string, string>, z.infer<B>>;
293
340
  patch<P extends string>(path: P, handler: TypedHandler<P>, middleware?: MiddlewareHandler[]): RouteBuilder<P>;
294
- patch<P extends string, S extends ZodType>(path: P, opts: RouteOptions<S> & {
295
- query: S;
296
- }, handler: TypedHandler<P, z.infer<S>>): RouteBuilder<P, z.infer<S>>;
341
+ patch<P extends string, Q extends ZodType, B extends ZodType>(path: P, opts: RouteOptions<Q, B> & {
342
+ query: Q;
343
+ body: B;
344
+ }, handler: TypedHandler<P, z.infer<Q>, z.infer<B>>): RouteBuilder<P, z.infer<Q>, z.infer<B>>;
345
+ patch<P extends string, Q extends ZodType>(path: P, opts: RouteOptions<Q> & {
346
+ query: Q;
347
+ }, handler: TypedHandler<P, z.infer<Q>>): RouteBuilder<P, z.infer<Q>>;
348
+ patch<P extends string, B extends ZodType>(path: P, opts: RouteOptions<ZodType, B> & {
349
+ body: B;
350
+ }, handler: TypedHandler<P, Record<string, string>, z.infer<B>>): RouteBuilder<P, Record<string, string>, z.infer<B>>;
297
351
  delete<P extends string>(path: P, handler: TypedHandler<P>, middleware?: MiddlewareHandler[]): RouteBuilder<P>;
298
- delete<P extends string, S extends ZodType>(path: P, opts: RouteOptions<S> & {
299
- query: S;
300
- }, handler: TypedHandler<P, z.infer<S>>): RouteBuilder<P, z.infer<S>>;
352
+ delete<P extends string, Q extends ZodType, B extends ZodType>(path: P, opts: RouteOptions<Q, B> & {
353
+ query: Q;
354
+ body: B;
355
+ }, handler: TypedHandler<P, z.infer<Q>, z.infer<B>>): RouteBuilder<P, z.infer<Q>, z.infer<B>>;
356
+ delete<P extends string, Q extends ZodType>(path: P, opts: RouteOptions<Q> & {
357
+ query: Q;
358
+ }, handler: TypedHandler<P, z.infer<Q>>): RouteBuilder<P, z.infer<Q>>;
359
+ delete<P extends string, B extends ZodType>(path: P, opts: RouteOptions<ZodType, B> & {
360
+ body: B;
361
+ }, handler: TypedHandler<P, Record<string, string>, z.infer<B>>): RouteBuilder<P, Record<string, string>, z.infer<B>>;
301
362
  all<P extends string>(path: P, handler: TypedHandler<P>, middleware?: MiddlewareHandler[]): RouteBuilder<P>;
302
- all<P extends string, S extends ZodType>(path: P, opts: RouteOptions<S> & {
303
- query: S;
304
- }, handler: TypedHandler<P, z.infer<S>>): RouteBuilder<P, z.infer<S>>;
363
+ all<P extends string, Q extends ZodType, B extends ZodType>(path: P, opts: RouteOptions<Q, B> & {
364
+ query: Q;
365
+ body: B;
366
+ }, handler: TypedHandler<P, z.infer<Q>, z.infer<B>>): RouteBuilder<P, z.infer<Q>, z.infer<B>>;
367
+ all<P extends string, Q extends ZodType>(path: P, opts: RouteOptions<Q> & {
368
+ query: Q;
369
+ }, handler: TypedHandler<P, z.infer<Q>>): RouteBuilder<P, z.infer<Q>>;
370
+ all<P extends string, B extends ZodType>(path: P, opts: RouteOptions<ZodType, B> & {
371
+ body: B;
372
+ }, handler: TypedHandler<P, Record<string, string>, z.infer<B>>): RouteBuilder<P, Record<string, string>, z.infer<B>>;
305
373
  /**
306
- * Internal dispatcher for the two-overload shorthand methods. Decides
374
+ * Internal dispatcher for the four-overload shorthand methods. Decides
307
375
  * between bare and opts form by whether the second arg is callable.
376
+ *
377
+ * Middleware order in the opts form: query validator (if any) → body
378
+ * validator (if any) → user middleware. Validators run first so the
379
+ * handler's typed `req.query` / `req.body` are parsed before any
380
+ * user-supplied middleware runs.
308
381
  */
309
382
  private _verb;
310
383
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import 'reflect-metadata';
2
2
  import { buildQueryValidator } from './query-validator.js';
3
+ import { buildBodyValidator } from './body-validator.js';
3
4
  // ─── Route Group Context ──────────────────────────────────
4
5
  //
5
6
  // `runWithGroup(group, fn)` sets the current group for the duration of `fn`.
@@ -340,6 +341,31 @@ export class RouteBuilder {
340
341
  this.definition.middleware.unshift(buildQueryValidator(schema));
341
342
  return this;
342
343
  }
344
+ /**
345
+ * Install a Zod validator on `req.body` for this route. Mirrors `.query()`:
346
+ * the parsed result replaces `req.body` so the handler sees the inferred
347
+ * shape end-to-end (including `z.coerce.*` / `z.transform()` / `.default()`).
348
+ *
349
+ * **Note on typing:** the handler was already passed (and typed) when this
350
+ * route was registered. Chaining `.body(schema)` AFTER cannot re-type a
351
+ * closure that's already been bound. The returned `RouteBuilder<P, Q, z.infer<S>>`
352
+ * carries the inferred body for downstream chain methods, but the
353
+ * already-registered handler still sees its original body typing.
354
+ *
355
+ * For type-safe body at the handler closure, use the opts-object form:
356
+ *
357
+ * @example
358
+ * // Type-safe (handler closure sees `req.body.title: string`)
359
+ * Route.post('/posts', { body: z.object({ title: z.string() }) }, (req) => req.body.title)
360
+ *
361
+ * // Runtime-only (validation runs, but `req.body` is still typed unknown)
362
+ * Route.post('/posts', (req) => req.body).body(z.object({ title: z.string() }))
363
+ */
364
+ body(schema) {
365
+ // Prepend so the validator runs before any other per-route middleware.
366
+ this.definition.middleware.unshift(buildBodyValidator(schema));
367
+ return this;
368
+ }
343
369
  }
344
370
  // ─── Route Model Binding ───────────────────────────────────
345
371
  import { buildBindingMiddleware, } from './binding-middleware.js';
@@ -522,6 +548,9 @@ export class Router {
522
548
  this.routes.push(def);
523
549
  return this;
524
550
  }
551
+ // Impl signature — `b` is intentionally `unknown` so all four typed
552
+ // overload-handler shapes (bare / query / body / both) are assignment-
553
+ // compatible. The runtime cast back to `RouteHandler` happens in `_verb`.
525
554
  get(path, a, b) { return this._verb('GET', path, a, b); }
526
555
  post(path, a, b) { return this._verb('POST', path, a, b); }
527
556
  put(path, a, b) { return this._verb('PUT', path, a, b); }
@@ -529,20 +558,27 @@ export class Router {
529
558
  delete(path, a, b) { return this._verb('DELETE', path, a, b); }
530
559
  all(path, a, b) { return this._verb('ALL', path, a, b); }
531
560
  /**
532
- * Internal dispatcher for the two-overload shorthand methods. Decides
561
+ * Internal dispatcher for the four-overload shorthand methods. Decides
533
562
  * between bare and opts form by whether the second arg is callable.
563
+ *
564
+ * Middleware order in the opts form: query validator (if any) → body
565
+ * validator (if any) → user middleware. Validators run first so the
566
+ * handler's typed `req.query` / `req.body` are parsed before any
567
+ * user-supplied middleware runs.
534
568
  */
535
569
  _verb(method, path, a, b) {
536
570
  if (typeof a === 'function') {
537
571
  // Bare form: (path, handler, middleware?)
538
572
  return this._rb(method, path, a, b);
539
573
  }
540
- // Opts form: (path, { query, middleware }, handler)
574
+ // Opts form: (path, { query, body, middleware }, handler)
541
575
  const opts = a;
542
576
  const handler = b;
543
577
  const mw = [];
544
578
  if (opts.query)
545
579
  mw.push(buildQueryValidator(opts.query));
580
+ if (opts.body)
581
+ mw.push(buildBodyValidator(opts.body));
546
582
  if (opts.middleware)
547
583
  mw.push(...opts.middleware);
548
584
  return this._rb(method, path, handler, mw);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -65,19 +65,21 @@ type Prettify<T> = {
65
65
  [K in keyof T]: T[K];
66
66
  } & {};
67
67
  /**
68
- * `AppRequest` with `params` and `query` overridden to the inferred shapes.
69
- * All other fields (including module-augmented `user`, `session`, `token`)
70
- * are inherited via `Omit + extend`.
68
+ * `AppRequest` with `params`, `query`, and `body` overridden to the inferred
69
+ * shapes. All other fields (including module-augmented `user`, `session`,
70
+ * `token`) are inherited via `Omit + extend`.
71
71
  */
72
- export interface TypedRequest<P extends Record<string, string | undefined> = Record<string, string>, Q = Record<string, string>> extends Omit<AppRequest, 'params' | 'query'> {
72
+ export interface TypedRequest<P extends Record<string, string | undefined> = Record<string, string>, Q = Record<string, string>, B = unknown> extends Omit<AppRequest, 'params' | 'query' | 'body'> {
73
73
  params: P;
74
74
  query: Q;
75
+ body: B;
75
76
  }
76
77
  /**
77
- * Handler whose `req.params` is derived from the literal path `P`, and whose
78
+ * Handler whose `req.params` is derived from the literal path `P`, whose
78
79
  * `req.query` is `Q` (defaulted to `Record<string, string>`; replaced via
79
- * `{ query: schema }` opts in the route declaration).
80
+ * `{ query: schema }` opts), and whose `req.body` is `B` (defaulted to
81
+ * `unknown`; replaced via `{ body: schema }` opts).
80
82
  */
81
- export type TypedHandler<P extends string, Q = Record<string, string>> = (req: TypedRequest<ExtractParams<P>, Q>, res: AppResponse) => unknown | Promise<unknown>;
83
+ export type TypedHandler<P extends string, Q = Record<string, string>, B = unknown> = (req: TypedRequest<ExtractParams<P>, Q, B>, res: AppResponse) => unknown | Promise<unknown>;
82
84
  export {};
83
85
  //# sourceMappingURL=typed-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-routes.d.ts","sourceRoot":"","sources":["../src/typed-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-routes.d.ts","sourceRoot":"","sources":["../src/typed-routes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typed-routes.test-d.d.ts","sourceRoot":"","sources":["../src/typed-routes.test-d.ts"],"names":[],"mappings":"AAgHA,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"typed-routes.test-d.d.ts","sourceRoot":"","sources":["../src/typed-routes.test-d.ts"],"names":[],"mappings":"AA+KA,OAAO,EAAE,CAAA"}
@@ -66,6 +66,43 @@ router.get('/search', { query: z.object({ q: z.string() }) }, (req) => {
66
66
  const q = req.query.q;
67
67
  return q;
68
68
  });
69
+ // ─── Opts form: req.body inferred from Zod schema ──────────
70
+ router.post('/posts', { body: z.object({ title: z.string(), views: z.coerce.number() }) }, (req) => {
71
+ const title = req.body.title;
72
+ const views = req.body.views;
73
+ return { title, views };
74
+ });
75
+ router.post('/posts', { body: z.object({ title: z.string() }) }, (req) => {
76
+ // @ts-expect-error `slug` is not in the body schema
77
+ return req.body.slug;
78
+ });
79
+ router.post('/posts', { body: z.object({ title: z.string() }) }, (req) => {
80
+ // @ts-expect-error `title` is `string`, not `number`
81
+ const title = req.body.title;
82
+ return title;
83
+ });
84
+ // ─── Opts form: query + body together — both inferred ──────
85
+ router.post('/posts', {
86
+ query: z.object({ draft: z.coerce.boolean() }),
87
+ body: z.object({ title: z.string() }),
88
+ }, (req) => {
89
+ const draft = req.query.draft;
90
+ const title = req.body.title;
91
+ return { draft, title };
92
+ });
93
+ // ─── .body() chain — narrows the returned RouteBuilder's B ─
94
+ const _bodyChained = router
95
+ .post('/posts', () => null)
96
+ .body(z.object({ title: z.string() }));
97
+ // Just confirm the chain compiles; runtime semantics covered by body-validator.test.ts.
98
+ void _bodyChained;
99
+ // ─── Bare form: req.body remains `unknown` ─────────────────
100
+ router.post('/posts', (req) => {
101
+ const body = req.body;
102
+ // @ts-expect-error `req.body` is `unknown`; can't dot-access without narrowing
103
+ void req.body.title;
104
+ return body;
105
+ });
69
106
  // ─── Other AppRequest fields still accessible ──────────────
70
107
  router.get('/health', (req) => {
71
108
  const method = req.method;
@@ -1 +1 @@
1
- {"version":3,"file":"typed-routes.test-d.js","sourceRoot":"","sources":["../src/typed-routes.test-d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-routes.test-d.js","sourceRoot":"","sources":["../src/typed-routes.test-d.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/router",
3
- "version": "1.3.2",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,6 +46,6 @@
46
46
  "typecheck": "tsc --noEmit",
47
47
  "lint": "eslint src",
48
48
  "clean": "rm -rf dist",
49
- "test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js dist-test/resource.test.js dist-test/query-validator.test.js"
49
+ "test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js dist-test/resource.test.js dist-test/query-validator.test.js dist-test/body-validator.test.js"
50
50
  }
51
51
  }