clear-router 2.5.13 → 2.5.14

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 (38) hide show
  1. package/README.md +2 -0
  2. package/dist/core/index.cjs +1 -1
  3. package/dist/core/index.d.cts +1 -1
  4. package/dist/core/index.d.mts +1 -1
  5. package/dist/core/index.mjs +1 -1
  6. package/dist/decorators/setup.cjs +1 -1
  7. package/dist/decorators/setup.d.mts +0 -1
  8. package/dist/decorators/setup.mjs +1 -1
  9. package/dist/express/index.cjs +14 -11
  10. package/dist/express/index.d.cts +11 -9
  11. package/dist/express/index.d.mts +11 -9
  12. package/dist/express/index.mjs +14 -11
  13. package/dist/fastify/index.cjs +16 -13
  14. package/dist/fastify/index.d.cts +11 -9
  15. package/dist/fastify/index.d.mts +11 -9
  16. package/dist/fastify/index.mjs +16 -13
  17. package/dist/h3/index.cjs +14 -11
  18. package/dist/h3/index.d.cts +11 -9
  19. package/dist/h3/index.d.mts +11 -9
  20. package/dist/h3/index.mjs +14 -11
  21. package/dist/hono/index.cjs +14 -11
  22. package/dist/hono/index.d.cts +11 -9
  23. package/dist/hono/index.d.mts +11 -9
  24. package/dist/hono/index.mjs +14 -11
  25. package/dist/index.cjs +101 -11
  26. package/dist/index.d.cts +37 -10
  27. package/dist/index.d.mts +37 -10
  28. package/dist/index.mjs +101 -11
  29. package/dist/koa/index.cjs +14 -11
  30. package/dist/koa/index.d.cts +11 -9
  31. package/dist/koa/index.d.mts +11 -9
  32. package/dist/koa/index.mjs +14 -11
  33. package/dist/{router-DiKqUyvk.d.mts → router-Bk8mXRu1.d.mts} +36 -9
  34. package/dist/{router-D9H9-T27.cjs → router-CAnd539U.cjs} +101 -11
  35. package/dist/{router-CPmZcbU0.mjs → router-DSq9dtuQ.mjs} +101 -11
  36. package/dist/{router-DTI0BowV.d.cts → router-jwZwD8ZT.d.cts} +36 -9
  37. package/dist/types/Route.d.mts +16 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -50,6 +50,8 @@ yarn add clear-router express
50
50
  - Controller handlers receive hydrated `this.body`, `this.query`, `this.params`, and `this.clearRequest`
51
51
  - `clearRequest` is passed as second handler argument for controller handlers
52
52
  - Route handlers can return response values directly across Express, Fastify, Hono, H3, and Koa
53
+ - Laravel-style route parameters like `/books/{book}`, `/books/{book?}`, and `/books/{book:profile}`
54
+ - Named routes with path generation via `Router.get(...).name(...)` and `Router.url(...)`
53
55
  - Optional decorated container binding for controller method arguments
54
56
  - Plugin API for registering container bindings from external packages
55
57
  - Supports TS 5.2+ standard decorators with explicit `@Bind(...)` tokens
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_bindings = require('../bindings-CLsZjOEy.cjs');
3
- const require_router = require('../router-D9H9-T27.cjs');
3
+ const require_router = require('../router-CAnd539U.cjs');
4
4
 
5
5
  //#region src/core/plugins.ts
6
6
  function definePlugin(plugin) {
@@ -1,2 +1,2 @@
1
- import { E as Response, a as ClearRouterPluginInput, c as PluginBind, d as PluginSetupResult, f as definePlugin, i as ClearRouterPluginContext, l as PluginBindFactory, n as ClearRouterPlugin, o as ClearRouterPluginRequestContext, p as Request, r as ClearRouterPluginArgumentsContext, s as PluginArgumentsResolver, t as CoreRouter, u as PluginBindValue } from "../router-DTI0BowV.cjs";
1
+ import { E as Response, a as ClearRouterPluginInput, c as PluginBind, d as PluginSetupResult, f as definePlugin, i as ClearRouterPluginContext, l as PluginBindFactory, n as ClearRouterPlugin, o as ClearRouterPluginRequestContext, p as Request, r as ClearRouterPluginArgumentsContext, s as PluginArgumentsResolver, t as CoreRouter, u as PluginBindValue } from "../router-jwZwD8ZT.cjs";
2
2
  export { ClearRouterPlugin, ClearRouterPluginArgumentsContext, ClearRouterPluginContext, ClearRouterPluginInput, ClearRouterPluginRequestContext, CoreRouter, PluginArgumentsResolver, PluginBind, PluginBindFactory, PluginBindValue, PluginSetupResult, Request, Response, definePlugin };
@@ -1,2 +1,2 @@
1
- import { E as Response, a as ClearRouterPluginInput, c as PluginBind, d as PluginSetupResult, f as definePlugin, i as ClearRouterPluginContext, l as PluginBindFactory, n as ClearRouterPlugin, o as ClearRouterPluginRequestContext, p as Request, r as ClearRouterPluginArgumentsContext, s as PluginArgumentsResolver, t as CoreRouter, u as PluginBindValue } from "../router-DiKqUyvk.mjs";
1
+ import { E as Response, a as ClearRouterPluginInput, c as PluginBind, d as PluginSetupResult, f as definePlugin, i as ClearRouterPluginContext, l as PluginBindFactory, n as ClearRouterPlugin, o as ClearRouterPluginRequestContext, p as Request, r as ClearRouterPluginArgumentsContext, s as PluginArgumentsResolver, t as CoreRouter, u as PluginBindValue } from "../router-Bk8mXRu1.mjs";
2
2
  export { ClearRouterPlugin, ClearRouterPluginArgumentsContext, ClearRouterPluginContext, ClearRouterPluginInput, ClearRouterPluginRequestContext, CoreRouter, PluginArgumentsResolver, PluginBind, PluginBindFactory, PluginBindValue, PluginSetupResult, Request, Response, definePlugin };
@@ -1,5 +1,5 @@
1
1
  import { c as Request, s as Response } from "../bindings-XLDXFpHZ.mjs";
2
- import { t as CoreRouter } from "../router-CPmZcbU0.mjs";
2
+ import { t as CoreRouter } from "../router-DSq9dtuQ.mjs";
3
3
 
4
4
  //#region src/core/plugins.ts
5
5
  function definePlugin(plugin) {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_bindings = require('../bindings-CLsZjOEy.cjs');
3
- const require_router = require('../router-D9H9-T27.cjs');
3
+ const require_router = require('../router-CAnd539U.cjs');
4
4
  require('./index.cjs');
5
5
  require("reflect-metadata");
6
6
 
@@ -1,3 +1,2 @@
1
1
  import { a as BindValue, i as BindToken, n as BindDecorator, o as Container, r as BindFactory, t as Bind } from "../bindings-CNL7bpz5.mjs";
2
- import "reflect-metadata";
3
2
  export { Bind, BindDecorator, BindFactory, BindToken, BindValue, Container };
@@ -1,5 +1,5 @@
1
1
  import { n as Container, t as Bind } from "../bindings-XLDXFpHZ.mjs";
2
- import { t as CoreRouter } from "../router-CPmZcbU0.mjs";
2
+ import { t as CoreRouter } from "../router-DSq9dtuQ.mjs";
3
3
  import "./index.mjs";
4
4
  import "reflect-metadata";
5
5
 
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  require('../bindings-CLsZjOEy.cjs');
3
- const require_router = require('../router-D9H9-T27.cjs');
3
+ const require_router = require('../router-CAnd539U.cjs');
4
4
  const require_responses = require('../responses-Bvnk0uvc.cjs');
5
5
 
6
6
  //#region src/express/router.ts
@@ -54,7 +54,7 @@ var Router = class Router extends require_router.CoreRouter {
54
54
  * @param middlewares
55
55
  */
56
56
  static add(methods, path, handler, middlewares) {
57
- super.add(methods, path, handler, middlewares);
57
+ return super.add(methods, path, handler, middlewares);
58
58
  }
59
59
  /**
60
60
  * Define a resourceful API controller with standard CRUD routes
@@ -74,7 +74,7 @@ var Router = class Router extends require_router.CoreRouter {
74
74
  * @param middlewares
75
75
  */
76
76
  static get(path, handler, middlewares) {
77
- super.get(path, handler, middlewares);
77
+ return super.get(path, handler, middlewares);
78
78
  }
79
79
  /**
80
80
  * Adds a new POST route to the router.
@@ -84,7 +84,7 @@ var Router = class Router extends require_router.CoreRouter {
84
84
  * @param middlewares
85
85
  */
86
86
  static post(path, handler, middlewares) {
87
- super.post(path, handler, middlewares);
87
+ return super.post(path, handler, middlewares);
88
88
  }
89
89
  /**
90
90
  * Adds a new PUT route to the router.
@@ -94,7 +94,7 @@ var Router = class Router extends require_router.CoreRouter {
94
94
  * @param middlewares
95
95
  */
96
96
  static put(path, handler, middlewares) {
97
- super.put(path, handler, middlewares);
97
+ return super.put(path, handler, middlewares);
98
98
  }
99
99
  /**
100
100
  * Adds a new DELETE route to the router.
@@ -104,7 +104,7 @@ var Router = class Router extends require_router.CoreRouter {
104
104
  * @param middlewares
105
105
  */
106
106
  static delete(path, handler, middlewares) {
107
- super.delete(path, handler, middlewares);
107
+ return super.delete(path, handler, middlewares);
108
108
  }
109
109
  /**
110
110
  * Adds a new PATCH route to the router.
@@ -114,7 +114,7 @@ var Router = class Router extends require_router.CoreRouter {
114
114
  * @param middlewares
115
115
  */
116
116
  static patch(path, handler, middlewares) {
117
- super.patch(path, handler, middlewares);
117
+ return super.patch(path, handler, middlewares);
118
118
  }
119
119
  /**
120
120
  * Adds a new OPTIONS route to the router.
@@ -124,7 +124,7 @@ var Router = class Router extends require_router.CoreRouter {
124
124
  * @param middlewares
125
125
  */
126
126
  static options(path, handler, middlewares) {
127
- super.options(path, handler, middlewares);
127
+ return super.options(path, handler, middlewares);
128
128
  }
129
129
  /**
130
130
  * Adds a new HEAD route to the router.
@@ -134,7 +134,7 @@ var Router = class Router extends require_router.CoreRouter {
134
134
  * @param middlewares
135
135
  */
136
136
  static head(path, handler, middlewares) {
137
- super.head(path, handler, middlewares);
137
+ return super.head(path, handler, middlewares);
138
138
  }
139
139
  /**
140
140
  * Defines a group of routes with a common prefix.
@@ -158,6 +158,9 @@ var Router = class Router extends require_router.CoreRouter {
158
158
  static allRoutes(type) {
159
159
  return super.allRoutes(type);
160
160
  }
161
+ static route(name) {
162
+ return super.route(name);
163
+ }
161
164
  static async apply(router) {
162
165
  for (const route of this.routes) {
163
166
  let handlerFunction = null;
@@ -195,7 +198,7 @@ var Router = class Router extends require_router.CoreRouter {
195
198
  console.error("[ROUTES]", error.message);
196
199
  throw error;
197
200
  }
198
- router[method](route.path, (req, _res, next) => {
201
+ for (const registrationPath of route.registrationPaths) router[method](registrationPath, (req, _res, next) => {
199
202
  Router.ensureRequestBodyAccessor(req);
200
203
  const override = Router.resolveMethodOverride(req.method, req.headers, req.body);
201
204
  if (method === "post" && override && override !== "post") return next("route");
@@ -227,7 +230,7 @@ var Router = class Router extends require_router.CoreRouter {
227
230
  "put",
228
231
  "patch",
229
232
  "delete"
230
- ].includes(method)) router.post(route.path, (req, _res, next) => {
233
+ ].includes(method)) for (const registrationPath of route.registrationPaths) router.post(registrationPath, (req, _res, next) => {
231
234
  Router.ensureRequestBodyAccessor(req);
232
235
  if (Router.resolveMethodOverride(req.method, req.headers, req.body) !== method) return next("route");
233
236
  req.method = method.toUpperCase();
@@ -1,4 +1,4 @@
1
- import { C as ControllerAction, S as ApiResourceMiddleware, T as HttpMethod, b as HttpContext, m as Route, t as CoreRouter, x as Middleware, y as Handler } from "../router-DTI0BowV.cjs";
1
+ import { C as ControllerAction, S as ApiResourceMiddleware, T as HttpMethod, b as HttpContext, m as Route, t as CoreRouter, x as Middleware, y as Handler } from "../router-jwZwD8ZT.cjs";
2
2
  import { Router as Router$1 } from "express";
3
3
 
4
4
  //#region src/express/router.d.ts
@@ -21,7 +21,7 @@ declare class Router extends CoreRouter {
21
21
  * @param handler
22
22
  * @param middlewares
23
23
  */
24
- static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
24
+ static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
25
25
  /**
26
26
  * Define a resourceful API controller with standard CRUD routes
27
27
  *
@@ -41,7 +41,7 @@ declare class Router extends CoreRouter {
41
41
  * @param handler
42
42
  * @param middlewares
43
43
  */
44
- static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
44
+ static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
45
45
  /**
46
46
  * Adds a new POST route to the router.
47
47
  *
@@ -49,7 +49,7 @@ declare class Router extends CoreRouter {
49
49
  * @param handler
50
50
  * @param middlewares
51
51
  */
52
- static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
52
+ static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
53
53
  /**
54
54
  * Adds a new PUT route to the router.
55
55
  *
@@ -57,7 +57,7 @@ declare class Router extends CoreRouter {
57
57
  * @param handler
58
58
  * @param middlewares
59
59
  */
60
- static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
60
+ static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
61
61
  /**
62
62
  * Adds a new DELETE route to the router.
63
63
  *
@@ -65,7 +65,7 @@ declare class Router extends CoreRouter {
65
65
  * @param handler
66
66
  * @param middlewares
67
67
  */
68
- static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
68
+ static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
69
69
  /**
70
70
  * Adds a new PATCH route to the router.
71
71
  *
@@ -73,7 +73,7 @@ declare class Router extends CoreRouter {
73
73
  * @param handler
74
74
  * @param middlewares
75
75
  */
76
- static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
76
+ static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
77
77
  /**
78
78
  * Adds a new OPTIONS route to the router.
79
79
  *
@@ -81,7 +81,7 @@ declare class Router extends CoreRouter {
81
81
  * @param handler
82
82
  * @param middlewares
83
83
  */
84
- static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
84
+ static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
85
85
  /**
86
86
  * Adds a new HEAD route to the router.
87
87
  *
@@ -89,7 +89,7 @@ declare class Router extends CoreRouter {
89
89
  * @param handler
90
90
  * @param middlewares
91
91
  */
92
- static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
92
+ static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
93
93
  /**
94
94
  * Defines a group of routes with a common prefix.
95
95
  *
@@ -113,6 +113,8 @@ declare class Router extends CoreRouter {
113
113
  static allRoutes(): Array<Route<HttpContext, Middleware, Handler>>;
114
114
  static allRoutes(type: 'path'): Record<string, Route<HttpContext, Middleware, Handler>>;
115
115
  static allRoutes(type: 'method'): { [method in Uppercase<HttpMethod>]?: Array<Route<HttpContext, Middleware, Handler>> };
116
+ static allRoutes(type: 'name'): Record<string, Route<HttpContext, Middleware, Handler>>;
117
+ static route(name: string): Route<HttpContext, Middleware, Handler> | undefined;
116
118
  /**
117
119
  * Applies the registered routes to the given Express router instance, setting up the necessary
118
120
  * handlers and middlewares for each route.
@@ -1,4 +1,4 @@
1
- import { C as ControllerAction, S as ApiResourceMiddleware, T as HttpMethod, b as HttpContext, m as Route, t as CoreRouter, x as Middleware, y as Handler } from "../router-DiKqUyvk.mjs";
1
+ import { C as ControllerAction, S as ApiResourceMiddleware, T as HttpMethod, b as HttpContext, m as Route, t as CoreRouter, x as Middleware, y as Handler } from "../router-Bk8mXRu1.mjs";
2
2
  import { Router as Router$1 } from "express";
3
3
 
4
4
  //#region src/express/router.d.ts
@@ -21,7 +21,7 @@ declare class Router extends CoreRouter {
21
21
  * @param handler
22
22
  * @param middlewares
23
23
  */
24
- static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
24
+ static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
25
25
  /**
26
26
  * Define a resourceful API controller with standard CRUD routes
27
27
  *
@@ -41,7 +41,7 @@ declare class Router extends CoreRouter {
41
41
  * @param handler
42
42
  * @param middlewares
43
43
  */
44
- static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
44
+ static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
45
45
  /**
46
46
  * Adds a new POST route to the router.
47
47
  *
@@ -49,7 +49,7 @@ declare class Router extends CoreRouter {
49
49
  * @param handler
50
50
  * @param middlewares
51
51
  */
52
- static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
52
+ static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
53
53
  /**
54
54
  * Adds a new PUT route to the router.
55
55
  *
@@ -57,7 +57,7 @@ declare class Router extends CoreRouter {
57
57
  * @param handler
58
58
  * @param middlewares
59
59
  */
60
- static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
60
+ static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
61
61
  /**
62
62
  * Adds a new DELETE route to the router.
63
63
  *
@@ -65,7 +65,7 @@ declare class Router extends CoreRouter {
65
65
  * @param handler
66
66
  * @param middlewares
67
67
  */
68
- static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
68
+ static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
69
69
  /**
70
70
  * Adds a new PATCH route to the router.
71
71
  *
@@ -73,7 +73,7 @@ declare class Router extends CoreRouter {
73
73
  * @param handler
74
74
  * @param middlewares
75
75
  */
76
- static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
76
+ static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
77
77
  /**
78
78
  * Adds a new OPTIONS route to the router.
79
79
  *
@@ -81,7 +81,7 @@ declare class Router extends CoreRouter {
81
81
  * @param handler
82
82
  * @param middlewares
83
83
  */
84
- static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
84
+ static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
85
85
  /**
86
86
  * Adds a new HEAD route to the router.
87
87
  *
@@ -89,7 +89,7 @@ declare class Router extends CoreRouter {
89
89
  * @param handler
90
90
  * @param middlewares
91
91
  */
92
- static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
92
+ static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
93
93
  /**
94
94
  * Defines a group of routes with a common prefix.
95
95
  *
@@ -113,6 +113,8 @@ declare class Router extends CoreRouter {
113
113
  static allRoutes(): Array<Route<HttpContext, Middleware, Handler>>;
114
114
  static allRoutes(type: 'path'): Record<string, Route<HttpContext, Middleware, Handler>>;
115
115
  static allRoutes(type: 'method'): { [method in Uppercase<HttpMethod>]?: Array<Route<HttpContext, Middleware, Handler>> };
116
+ static allRoutes(type: 'name'): Record<string, Route<HttpContext, Middleware, Handler>>;
117
+ static route(name: string): Route<HttpContext, Middleware, Handler> | undefined;
116
118
  /**
117
119
  * Applies the registered routes to the given Express router instance, setting up the necessary
118
120
  * handlers and middlewares for each route.
@@ -1,5 +1,5 @@
1
1
  import "../bindings-XLDXFpHZ.mjs";
2
- import { t as CoreRouter } from "../router-CPmZcbU0.mjs";
2
+ import { t as CoreRouter } from "../router-DSq9dtuQ.mjs";
3
3
  import { n as resolveResponseMeta, r as responseWasSent, t as isFetchResponse } from "../responses-BvETUeDL.mjs";
4
4
 
5
5
  //#region src/express/router.ts
@@ -53,7 +53,7 @@ var Router = class Router extends CoreRouter {
53
53
  * @param middlewares
54
54
  */
55
55
  static add(methods, path, handler, middlewares) {
56
- super.add(methods, path, handler, middlewares);
56
+ return super.add(methods, path, handler, middlewares);
57
57
  }
58
58
  /**
59
59
  * Define a resourceful API controller with standard CRUD routes
@@ -73,7 +73,7 @@ var Router = class Router extends CoreRouter {
73
73
  * @param middlewares
74
74
  */
75
75
  static get(path, handler, middlewares) {
76
- super.get(path, handler, middlewares);
76
+ return super.get(path, handler, middlewares);
77
77
  }
78
78
  /**
79
79
  * Adds a new POST route to the router.
@@ -83,7 +83,7 @@ var Router = class Router extends CoreRouter {
83
83
  * @param middlewares
84
84
  */
85
85
  static post(path, handler, middlewares) {
86
- super.post(path, handler, middlewares);
86
+ return super.post(path, handler, middlewares);
87
87
  }
88
88
  /**
89
89
  * Adds a new PUT route to the router.
@@ -93,7 +93,7 @@ var Router = class Router extends CoreRouter {
93
93
  * @param middlewares
94
94
  */
95
95
  static put(path, handler, middlewares) {
96
- super.put(path, handler, middlewares);
96
+ return super.put(path, handler, middlewares);
97
97
  }
98
98
  /**
99
99
  * Adds a new DELETE route to the router.
@@ -103,7 +103,7 @@ var Router = class Router extends CoreRouter {
103
103
  * @param middlewares
104
104
  */
105
105
  static delete(path, handler, middlewares) {
106
- super.delete(path, handler, middlewares);
106
+ return super.delete(path, handler, middlewares);
107
107
  }
108
108
  /**
109
109
  * Adds a new PATCH route to the router.
@@ -113,7 +113,7 @@ var Router = class Router extends CoreRouter {
113
113
  * @param middlewares
114
114
  */
115
115
  static patch(path, handler, middlewares) {
116
- super.patch(path, handler, middlewares);
116
+ return super.patch(path, handler, middlewares);
117
117
  }
118
118
  /**
119
119
  * Adds a new OPTIONS route to the router.
@@ -123,7 +123,7 @@ var Router = class Router extends CoreRouter {
123
123
  * @param middlewares
124
124
  */
125
125
  static options(path, handler, middlewares) {
126
- super.options(path, handler, middlewares);
126
+ return super.options(path, handler, middlewares);
127
127
  }
128
128
  /**
129
129
  * Adds a new HEAD route to the router.
@@ -133,7 +133,7 @@ var Router = class Router extends CoreRouter {
133
133
  * @param middlewares
134
134
  */
135
135
  static head(path, handler, middlewares) {
136
- super.head(path, handler, middlewares);
136
+ return super.head(path, handler, middlewares);
137
137
  }
138
138
  /**
139
139
  * Defines a group of routes with a common prefix.
@@ -157,6 +157,9 @@ var Router = class Router extends CoreRouter {
157
157
  static allRoutes(type) {
158
158
  return super.allRoutes(type);
159
159
  }
160
+ static route(name) {
161
+ return super.route(name);
162
+ }
160
163
  static async apply(router) {
161
164
  for (const route of this.routes) {
162
165
  let handlerFunction = null;
@@ -194,7 +197,7 @@ var Router = class Router extends CoreRouter {
194
197
  console.error("[ROUTES]", error.message);
195
198
  throw error;
196
199
  }
197
- router[method](route.path, (req, _res, next) => {
200
+ for (const registrationPath of route.registrationPaths) router[method](registrationPath, (req, _res, next) => {
198
201
  Router.ensureRequestBodyAccessor(req);
199
202
  const override = Router.resolveMethodOverride(req.method, req.headers, req.body);
200
203
  if (method === "post" && override && override !== "post") return next("route");
@@ -226,7 +229,7 @@ var Router = class Router extends CoreRouter {
226
229
  "put",
227
230
  "patch",
228
231
  "delete"
229
- ].includes(method)) router.post(route.path, (req, _res, next) => {
232
+ ].includes(method)) for (const registrationPath of route.registrationPaths) router.post(registrationPath, (req, _res, next) => {
230
233
  Router.ensureRequestBodyAccessor(req);
231
234
  if (Router.resolveMethodOverride(req.method, req.headers, req.body) !== method) return next("route");
232
235
  req.method = method.toUpperCase();
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  require('../bindings-CLsZjOEy.cjs');
3
- const require_router = require('../router-D9H9-T27.cjs');
3
+ const require_router = require('../router-CAnd539U.cjs');
4
4
  const require_responses = require('../responses-Bvnk0uvc.cjs');
5
5
 
6
6
  //#region src/fastify/router.ts
@@ -47,7 +47,7 @@ var Router = class Router extends require_router.CoreRouter {
47
47
  * @param middlewares Optional middlewares for the route
48
48
  */
49
49
  static add(methods, path, handler, middlewares) {
50
- super.add(methods, path, handler, middlewares);
50
+ return super.add(methods, path, handler, middlewares);
51
51
  }
52
52
  /**
53
53
  * Define a resourceful API controller with standard CRUD routes
@@ -67,7 +67,7 @@ var Router = class Router extends require_router.CoreRouter {
67
67
  * @param middlewares
68
68
  */
69
69
  static get(path, handler, middlewares) {
70
- super.get(path, handler, middlewares);
70
+ return super.get(path, handler, middlewares);
71
71
  }
72
72
  /**
73
73
  * Define a POST route
@@ -77,7 +77,7 @@ var Router = class Router extends require_router.CoreRouter {
77
77
  * @param middlewares
78
78
  */
79
79
  static post(path, handler, middlewares) {
80
- super.post(path, handler, middlewares);
80
+ return super.post(path, handler, middlewares);
81
81
  }
82
82
  /**
83
83
  * Define a PUT route
@@ -87,7 +87,7 @@ var Router = class Router extends require_router.CoreRouter {
87
87
  * @param middlewares
88
88
  */
89
89
  static put(path, handler, middlewares) {
90
- super.put(path, handler, middlewares);
90
+ return super.put(path, handler, middlewares);
91
91
  }
92
92
  /**
93
93
  * Define a DELETE route
@@ -97,7 +97,7 @@ var Router = class Router extends require_router.CoreRouter {
97
97
  * @param middlewares
98
98
  */
99
99
  static delete(path, handler, middlewares) {
100
- super.delete(path, handler, middlewares);
100
+ return super.delete(path, handler, middlewares);
101
101
  }
102
102
  /**
103
103
  * Define a PATCH route
@@ -107,7 +107,7 @@ var Router = class Router extends require_router.CoreRouter {
107
107
  * @param middlewares
108
108
  */
109
109
  static patch(path, handler, middlewares) {
110
- super.patch(path, handler, middlewares);
110
+ return super.patch(path, handler, middlewares);
111
111
  }
112
112
  /**
113
113
  * Define an OPTIONS route
@@ -117,7 +117,7 @@ var Router = class Router extends require_router.CoreRouter {
117
117
  * @param middlewares
118
118
  */
119
119
  static options(path, handler, middlewares) {
120
- super.options(path, handler, middlewares);
120
+ return super.options(path, handler, middlewares);
121
121
  }
122
122
  /**
123
123
  * Define a HEAD route
@@ -127,7 +127,7 @@ var Router = class Router extends require_router.CoreRouter {
127
127
  * @param middlewares
128
128
  */
129
129
  static head(path, handler, middlewares) {
130
- super.head(path, handler, middlewares);
130
+ return super.head(path, handler, middlewares);
131
131
  }
132
132
  /**
133
133
  * Define a group of routes with a common prefix and optional middlewares
@@ -151,6 +151,9 @@ var Router = class Router extends require_router.CoreRouter {
151
151
  static allRoutes(type) {
152
152
  return super.allRoutes(type);
153
153
  }
154
+ static route(name) {
155
+ return super.route(name);
156
+ }
154
157
  /**
155
158
  * Apply the defined routes to a Fastify application instance
156
159
  *
@@ -190,9 +193,9 @@ var Router = class Router extends require_router.CoreRouter {
190
193
  ];
191
194
  if (method === "options" && route.methods.length > 1) continue;
192
195
  if (!allowedMethods.includes(method)) throw new Error(`Invalid HTTP method: ${method} for route: ${route.path}`);
193
- app.route({
196
+ for (const registrationPath of route.registrationPaths) app.route({
194
197
  method: method.toUpperCase(),
195
- url: route.path,
198
+ url: registrationPath,
196
199
  preHandler: route.middlewares,
197
200
  handler: async (req, reply) => {
198
201
  Router.ensureRequestBodyAccessor(req);
@@ -219,9 +222,9 @@ var Router = class Router extends require_router.CoreRouter {
219
222
  "put",
220
223
  "patch",
221
224
  "delete"
222
- ].includes(method)) app.route({
225
+ ].includes(method)) for (const registrationPath of route.registrationPaths) app.route({
223
226
  method: "POST",
224
- url: route.path,
227
+ url: registrationPath,
225
228
  preHandler: route.middlewares,
226
229
  handler: async (req, reply) => {
227
230
  Router.ensureRequestBodyAccessor(req);
@@ -1,4 +1,4 @@
1
- import { C as ControllerAction, E as Response, S as ApiResourceMiddleware, T as HttpMethod, m as Route, p as Request, t as CoreRouter, w as ControllerHandler } from "../router-DTI0BowV.cjs";
1
+ import { C as ControllerAction, E as Response, S as ApiResourceMiddleware, T as HttpMethod, m as Route, p as Request, t as CoreRouter, w as ControllerHandler } from "../router-jwZwD8ZT.cjs";
2
2
  import { FastifyInstance, FastifyReply, FastifyRequest } from "fastify";
3
3
 
4
4
  //#region types/fastify.d.ts
@@ -36,7 +36,7 @@ declare class Router extends CoreRouter {
36
36
  * @param handler Route handler function
37
37
  * @param middlewares Optional middlewares for the route
38
38
  */
39
- static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
39
+ static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
40
40
  /**
41
41
  * Define a resourceful API controller with standard CRUD routes
42
42
  *
@@ -56,7 +56,7 @@ declare class Router extends CoreRouter {
56
56
  * @param handler
57
57
  * @param middlewares
58
58
  */
59
- static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
59
+ static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
60
60
  /**
61
61
  * Define a POST route
62
62
  *
@@ -64,7 +64,7 @@ declare class Router extends CoreRouter {
64
64
  * @param handler
65
65
  * @param middlewares
66
66
  */
67
- static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
67
+ static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
68
68
  /**
69
69
  * Define a PUT route
70
70
  *
@@ -72,7 +72,7 @@ declare class Router extends CoreRouter {
72
72
  * @param handler
73
73
  * @param middlewares
74
74
  */
75
- static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
75
+ static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
76
76
  /**
77
77
  * Define a DELETE route
78
78
  *
@@ -80,7 +80,7 @@ declare class Router extends CoreRouter {
80
80
  * @param handler
81
81
  * @param middlewares
82
82
  */
83
- static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
83
+ static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
84
84
  /**
85
85
  * Define a PATCH route
86
86
  *
@@ -88,7 +88,7 @@ declare class Router extends CoreRouter {
88
88
  * @param handler
89
89
  * @param middlewares
90
90
  */
91
- static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
91
+ static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
92
92
  /**
93
93
  * Define an OPTIONS route
94
94
  *
@@ -96,7 +96,7 @@ declare class Router extends CoreRouter {
96
96
  * @param handler
97
97
  * @param middlewares
98
98
  */
99
- static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
99
+ static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
100
100
  /**
101
101
  * Define a HEAD route
102
102
  *
@@ -104,7 +104,7 @@ declare class Router extends CoreRouter {
104
104
  * @param handler
105
105
  * @param middlewares
106
106
  */
107
- static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): void;
107
+ static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
108
108
  /**
109
109
  * Define a group of routes with a common prefix and optional middlewares
110
110
  *
@@ -129,6 +129,8 @@ declare class Router extends CoreRouter {
129
129
  * @param type - 'method' to get routes organized by method
130
130
  */
131
131
  static allRoutes(type: 'method'): { [method in Uppercase<HttpMethod>]?: Array<Route<HttpContext, Middleware, Handler>> };
132
+ static allRoutes(type: 'name'): Record<string, Route<HttpContext, Middleware, Handler>>;
133
+ static route(name: string): Route<HttpContext, Middleware, Handler> | undefined;
132
134
  /**
133
135
  * Apply the defined routes to a Fastify application instance
134
136
  *