clear-router 2.7.6 → 2.7.7

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 (107) hide show
  1. package/dist/ClearRequest.cjs +23 -0
  2. package/dist/ClearRequest.d.cts +28 -0
  3. package/dist/ClearRequest.d.mts +28 -0
  4. package/dist/ClearRequest.mjs +22 -0
  5. package/dist/Contracts.d.cts +12 -0
  6. package/dist/Contracts.d.mts +12 -0
  7. package/dist/Controller.cjs +12 -0
  8. package/dist/Controller.d.cts +14 -0
  9. package/dist/Controller.d.mts +14 -0
  10. package/dist/Controller.mjs +11 -0
  11. package/dist/{Request-DKXwa_W0.d.mts → Request-BhTJDR_5.d.mts} +5 -5
  12. package/dist/Route.cjs +58 -0
  13. package/dist/Route.d.cts +35 -0
  14. package/dist/Route.d.mts +35 -0
  15. package/dist/Route.mjs +57 -0
  16. package/dist/core/Request.cjs +35 -0
  17. package/dist/core/Request.d.cts +25 -0
  18. package/dist/core/Request.d.mts +25 -0
  19. package/dist/core/Request.mjs +35 -0
  20. package/dist/core/Response.cjs +59 -0
  21. package/dist/core/Response.d.cts +24 -0
  22. package/dist/core/Response.d.mts +24 -0
  23. package/dist/core/Response.mjs +58 -0
  24. package/dist/{bindings-CLsZjOEy.cjs → core/bindings.cjs} +10 -160
  25. package/dist/{bindings-CNL7bpz5.d.mts → core/bindings.d.cts} +1 -1
  26. package/dist/{bindings-CxvtC8XS.d.cts → core/bindings.d.mts} +1 -1
  27. package/dist/{bindings-XLDXFpHZ.mjs → core/bindings.mjs} +3 -110
  28. package/dist/core/index.cjs +4 -20
  29. package/dist/core/index.d.cts +4 -1
  30. package/dist/core/index.d.mts +4 -1
  31. package/dist/core/index.mjs +4 -14
  32. package/dist/core/plugins.cjs +14 -0
  33. package/dist/core/plugins.d.cts +109 -0
  34. package/dist/core/plugins.d.mts +109 -0
  35. package/dist/core/plugins.mjs +13 -0
  36. package/dist/{responses-Bvnk0uvc.cjs → core/responses.cjs} +5 -20
  37. package/dist/{responses-BvETUeDL.mjs → core/responses.mjs} +2 -2
  38. package/dist/{router-C6W-k6sS.cjs → core/router.cjs} +11 -69
  39. package/dist/core/router.d.cts +274 -0
  40. package/dist/core/router.d.mts +274 -0
  41. package/dist/{router-Dc9w86Wn.mjs → core/router.mjs} +5 -58
  42. package/dist/decorators/index.cjs +1 -1
  43. package/dist/decorators/index.d.cts +1 -1
  44. package/dist/decorators/index.d.mts +1 -1
  45. package/dist/decorators/index.mjs +1 -1
  46. package/dist/decorators/setup.cjs +2 -2
  47. package/dist/decorators/setup.d.cts +1 -1
  48. package/dist/decorators/setup.d.mts +1 -1
  49. package/dist/decorators/setup.mjs +2 -2
  50. package/dist/express/index.cjs +2 -265
  51. package/dist/express/index.d.cts +1 -127
  52. package/dist/express/index.d.mts +1 -127
  53. package/dist/express/index.mjs +1 -264
  54. package/dist/express/router.cjs +265 -0
  55. package/dist/express/router.d.cts +131 -0
  56. package/dist/express/router.d.mts +131 -0
  57. package/dist/express/router.mjs +265 -0
  58. package/dist/fastify/index.cjs +2 -254
  59. package/dist/fastify/index.d.cts +1 -125
  60. package/dist/fastify/index.d.mts +1 -125
  61. package/dist/fastify/index.mjs +1 -253
  62. package/dist/fastify/router.cjs +254 -0
  63. package/dist/fastify/router.d.cts +129 -0
  64. package/dist/fastify/router.d.mts +129 -0
  65. package/dist/fastify/router.mjs +254 -0
  66. package/dist/h3/index.cjs +2 -260
  67. package/dist/h3/index.d.cts +1 -128
  68. package/dist/h3/index.d.mts +1 -128
  69. package/dist/h3/index.mjs +1 -259
  70. package/dist/h3/router.cjs +260 -0
  71. package/dist/h3/router.d.cts +132 -0
  72. package/dist/h3/router.d.mts +132 -0
  73. package/dist/h3/router.mjs +260 -0
  74. package/dist/hono/index.cjs +2 -251
  75. package/dist/hono/index.d.cts +1 -130
  76. package/dist/hono/index.d.mts +1 -130
  77. package/dist/hono/index.mjs +1 -250
  78. package/dist/hono/router.cjs +251 -0
  79. package/dist/hono/router.d.cts +134 -0
  80. package/dist/hono/router.d.mts +134 -0
  81. package/dist/hono/router.mjs +251 -0
  82. package/dist/index.cjs +16 -1097
  83. package/dist/index.d.cts +9 -563
  84. package/dist/index.d.mts +9 -563
  85. package/dist/index.mjs +8 -1089
  86. package/dist/koa/index.cjs +2 -261
  87. package/dist/koa/index.d.cts +1 -131
  88. package/dist/koa/index.d.mts +1 -131
  89. package/dist/koa/index.mjs +1 -260
  90. package/dist/koa/router.cjs +261 -0
  91. package/dist/koa/router.d.cts +135 -0
  92. package/dist/koa/router.d.mts +135 -0
  93. package/dist/koa/router.mjs +261 -0
  94. package/dist/types/basic.d.cts +43 -0
  95. package/dist/types/express.d.cts +44 -0
  96. package/dist/types/express.d.mts +4 -2
  97. package/dist/types/fastify.d.cts +23 -0
  98. package/dist/types/fastify.d.mts +4 -2
  99. package/dist/types/h3.d.cts +41 -0
  100. package/dist/types/h3.d.mts +4 -4
  101. package/dist/types/hono.d.cts +21 -0
  102. package/dist/types/hono.d.mts +4 -3
  103. package/dist/types/koa.d.cts +25 -0
  104. package/dist/types/koa.d.mts +4 -3
  105. package/package.json +1 -1
  106. package/dist/router-BEgAxp5A.d.cts +0 -649
  107. package/dist/router-DKKYx23P.d.mts +0 -649
package/dist/h3/index.cjs CHANGED
@@ -1,262 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- require('../bindings-CLsZjOEy.cjs');
3
- const require_router = require('../router-C6W-k6sS.cjs');
4
- const require_responses = require('../responses-Bvnk0uvc.cjs');
5
- let h3 = require("h3");
2
+ const require_router = require('./router.cjs');
6
3
 
7
- //#region src/h3/router.ts
8
- /**
9
- * @class clear-router H3 Router
10
- * @description Laravel-style routing system for Express.js and H3 with support for CommonJS, ESM, and TypeScript
11
- * @author 3m1n3nc3
12
- * @repository https://github.com/arkstack-tmp/clear-router
13
- */
14
- var Router = class Router extends require_router.CoreRouter {
15
- static routerStateNamespace = "clear-router:h3";
16
- static bodyCache = /* @__PURE__ */ new WeakMap();
17
- static toResponse(ctx, value, method, path) {
18
- const meta = require_responses.resolveResponseMeta(value, {
19
- headers: ctx.req.headers,
20
- method,
21
- path,
22
- status: typeof ctx.res.status === "number" && ctx.res.status !== 200 ? ctx.res.status : void 0
23
- });
24
- if (!meta) return void 0;
25
- if (meta.isNativeResponse) return meta.body;
26
- const headers = meta.headers ? {} : meta.contentType ? { "Content-Type": meta.contentType } : void 0;
27
- meta.headers?.forEach((headerValue, key) => {
28
- if (headers) headers[key] = headerValue;
29
- });
30
- return new h3.HTTPResponse(meta.contentType?.startsWith("application/json") ? JSON.stringify(meta.body) : meta.isEmpty ? null : meta.body, {
31
- status: meta.status,
32
- headers
33
- });
34
- }
35
- static async readBodyCached(ctx) {
36
- if (this.bodyCache.has(ctx)) {
37
- const cached = this.bodyCache.get(ctx);
38
- ctx.req.getBody = () => cached;
39
- return cached;
40
- }
41
- let body = {};
42
- if (ctx.req.headers.get("content-type")?.includes("multipart/form-data")) (await ctx.req.formData()).forEach((value, key) => {
43
- body[key] = value;
44
- });
45
- else body = await (0, h3.readBody)(ctx) ?? {};
46
- ctx.req.getBody = () => body;
47
- this.bodyCache.set(ctx, body);
48
- return body;
49
- }
50
- /**
51
- * Adds a new route to the router.
52
- *
53
- * @param methods
54
- * @param path
55
- * @param handler
56
- * @param middlewares
57
- */
58
- static add(methods, path, handler, middlewares) {
59
- return super.add(methods, path, handler, middlewares);
60
- }
61
- /**
62
- * Define a resourceful API controller with standard CRUD routes
63
- *
64
- * @param basePath
65
- * @param controller
66
- * @param options
67
- */
68
- static apiResource(basePath, controller, options) {
69
- super.apiResource(basePath, controller, options);
70
- }
71
- /**
72
- * Adds a new GET route to the router with the specified path, handler, and optional middlewares.
73
- *
74
- * @param path
75
- * @param handler
76
- * @param middlewares
77
- */
78
- static get(path, handler, middlewares) {
79
- return super.get(path, handler, middlewares);
80
- }
81
- /**
82
- * Adds a new POST route to the router with the specified path, handler, and optional middlewares.
83
- *
84
- * @param path
85
- * @param handler
86
- * @param middlewares
87
- */
88
- static post(path, handler, middlewares) {
89
- return super.post(path, handler, middlewares);
90
- }
91
- /**
92
- * Adds a new PUT route to the router with the specified path, handler, and optional middlewares.
93
- *
94
- * @param path
95
- * @param handler
96
- * @param middlewares
97
- */
98
- static put(path, handler, middlewares) {
99
- return super.put(path, handler, middlewares);
100
- }
101
- /**
102
- * Adds a new DELETE route to the router with the specified path, handler, and optional middlewares.
103
- *
104
- * @param path
105
- * @param handler
106
- * @param middlewares
107
- */
108
- static delete(path, handler, middlewares) {
109
- return super.delete(path, handler, middlewares);
110
- }
111
- /**
112
- * Adds a new PATCH route to the router with the specified path, handler, and optional middlewares.
113
- *
114
- * @param path
115
- * @param handler
116
- * @param middlewares
117
- */
118
- static patch(path, handler, middlewares) {
119
- return super.patch(path, handler, middlewares);
120
- }
121
- /**
122
- * Adds a new OPTIONS route to the router with the specified path, handler, and optional middlewares.
123
- *
124
- * @param path
125
- * @param handler
126
- * @param middlewares
127
- */
128
- static options(path, handler, middlewares) {
129
- return super.options(path, handler, middlewares);
130
- }
131
- /**
132
- * Adds a new HEAD route to the router.
133
- *
134
- * @param path
135
- * @param handler
136
- * @param middlewares
137
- */
138
- static head(path, handler, middlewares) {
139
- return super.head(path, handler, middlewares);
140
- }
141
- /**
142
- * Defines a group of routes with a common prefix.
143
- *
144
- * @param prefix
145
- * @param callback
146
- * @param middlewares
147
- */
148
- static async group(prefix, callback, middlewares) {
149
- await super.group(prefix, callback, middlewares);
150
- }
151
- /**
152
- * Adds global middlewares to the router, which will be applied to all routes.
153
- *
154
- * @param middlewares
155
- * @param callback
156
- */
157
- static middleware(middlewares, callback) {
158
- super.middleware(middlewares, callback);
159
- }
160
- static allRoutes(type) {
161
- return super.allRoutes(type);
162
- }
163
- static route(name) {
164
- return super.route(name);
165
- }
166
- /**
167
- * Applies the registered routes to the given H3 application instance, setting up the
168
- * necessary handlers and middlewares for each route.
169
- *
170
- * @param app
171
- * @returns
172
- */
173
- static apply(app) {
174
- for (const route of Array.from(this.routes)) {
175
- let handlerFunction = null;
176
- let instance = null;
177
- let bindingTarget;
178
- let bindingMethod;
179
- let bindingHandler;
180
- let bindingMetadata;
181
- try {
182
- const resolved = this.resolveHandler(route);
183
- handlerFunction = resolved.handlerFunction;
184
- instance = resolved.instance;
185
- bindingTarget = resolved.bindingTarget;
186
- bindingMethod = resolved.bindingMethod;
187
- bindingHandler = resolved.bindingHandler;
188
- bindingMetadata = resolved.bindingMetadata;
189
- } catch (error) {
190
- console.error(`[ROUTES] Error setting up route ${route.path}:`, error.message);
191
- throw error;
192
- }
193
- if (!handlerFunction) continue;
194
- for (const method of route.methods) {
195
- const allowedMethods = [
196
- "get",
197
- "post",
198
- "put",
199
- "delete",
200
- "patch",
201
- "options",
202
- "head"
203
- ];
204
- if (method === "options" && route.methods.length > 1) continue;
205
- if (!allowedMethods.includes(method)) {
206
- const error = /* @__PURE__ */ new Error(`Invalid HTTP method: ${method} for route: ${route.path}`);
207
- console.error("[ROUTES]", error.message);
208
- throw error;
209
- }
210
- for (const registrationPath of route.registrationPaths) app[method](registrationPath, async (event) => {
211
- try {
212
- const ctx = event;
213
- const reqBody = await Router.readBodyCached(ctx);
214
- const override = Router.resolveMethodOverride(ctx.req.method, ctx.req.headers, reqBody);
215
- if (method === "post" && override && override !== "post") return;
216
- const inst = instance ?? route;
217
- Router.bindRequestToInstance(ctx, inst, route, {
218
- body: reqBody,
219
- query: (0, h3.getQuery)(ctx),
220
- params: (0, h3.getRouterParams)(ctx, { decode: true }),
221
- method
222
- });
223
- const result = await Router.callHandler(handlerFunction, ctx, bindingTarget, bindingMethod, bindingHandler, bindingMetadata);
224
- const resolved = await Promise.resolve(result);
225
- const outgoing = typeof resolved === "undefined" && ctx.clearResponse?.sent ? ctx.clearResponse : resolved;
226
- return Router.toResponse(ctx, outgoing, method, route.path);
227
- } catch (error) {
228
- return error;
229
- }
230
- }, { middleware: route.middlewares });
231
- if ([
232
- "put",
233
- "patch",
234
- "delete"
235
- ].includes(method)) for (const registrationPath of route.registrationPaths) app.post(registrationPath, async (event) => {
236
- try {
237
- const ctx = event;
238
- const reqBody = await Router.readBodyCached(ctx);
239
- if (Router.resolveMethodOverride(ctx.req.method, ctx.req.headers, reqBody) !== method) return Symbol.for("h3.notFound");
240
- const inst = instance ?? route;
241
- Router.bindRequestToInstance(ctx, inst, route, {
242
- body: reqBody,
243
- query: (0, h3.getQuery)(ctx),
244
- params: (0, h3.getRouterParams)(ctx, { decode: true }),
245
- method
246
- });
247
- const result = await Router.callHandler(handlerFunction, ctx, bindingTarget, bindingMethod, bindingHandler, bindingMetadata);
248
- const resolved = await Promise.resolve(result);
249
- const outgoing = typeof resolved === "undefined" && ctx.clearResponse?.sent ? ctx.clearResponse : resolved;
250
- return Router.toResponse(ctx, outgoing, method, route.path);
251
- } catch (error) {
252
- return error;
253
- }
254
- }, { middleware: route.middlewares });
255
- }
256
- }
257
- return app;
258
- }
259
- };
260
-
261
- //#endregion
262
- exports.Router = Router;
4
+ exports.Router = require_router;
@@ -1,129 +1,2 @@
1
- import { C as H3App, E as Middleware, F as ApiResourceMiddleware, I as ControllerAction, L as HttpMethod, T as HttpContext, m as Route, t as CoreRouter, w as Handler } from "../router-BEgAxp5A.cjs";
2
- import { H3 } from "h3";
3
-
4
- //#region src/h3/router.d.ts
5
- /**
6
- * @class clear-router H3 Router
7
- * @description Laravel-style routing system for Express.js and H3 with support for CommonJS, ESM, and TypeScript
8
- * @author 3m1n3nc3
9
- * @repository https://github.com/arkstack-tmp/clear-router
10
- */
11
- declare class Router extends CoreRouter {
12
- protected static routerStateNamespace: string;
13
- private static readonly bodyCache;
14
- private static toResponse;
15
- private static readBodyCached;
16
- /**
17
- * Adds a new route to the router.
18
- *
19
- * @param methods
20
- * @param path
21
- * @param handler
22
- * @param middlewares
23
- */
24
- static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
25
- /**
26
- * Define a resourceful API controller with standard CRUD routes
27
- *
28
- * @param basePath
29
- * @param controller
30
- * @param options
31
- */
32
- static apiResource(basePath: string, controller: any, options?: {
33
- only?: ControllerAction[];
34
- except?: ControllerAction[];
35
- middlewares?: ApiResourceMiddleware<Middleware>;
36
- }): void;
37
- /**
38
- * Adds a new GET route to the router with the specified path, handler, and optional middlewares.
39
- *
40
- * @param path
41
- * @param handler
42
- * @param middlewares
43
- */
44
- static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
45
- /**
46
- * Adds a new POST route to the router with the specified path, handler, and optional middlewares.
47
- *
48
- * @param path
49
- * @param handler
50
- * @param middlewares
51
- */
52
- static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
53
- /**
54
- * Adds a new PUT route to the router with the specified path, handler, and optional middlewares.
55
- *
56
- * @param path
57
- * @param handler
58
- * @param middlewares
59
- */
60
- static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
61
- /**
62
- * Adds a new DELETE route to the router with the specified path, handler, and optional middlewares.
63
- *
64
- * @param path
65
- * @param handler
66
- * @param middlewares
67
- */
68
- static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
69
- /**
70
- * Adds a new PATCH route to the router with the specified path, handler, and optional middlewares.
71
- *
72
- * @param path
73
- * @param handler
74
- * @param middlewares
75
- */
76
- static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
77
- /**
78
- * Adds a new OPTIONS route to the router with the specified path, handler, and optional middlewares.
79
- *
80
- * @param path
81
- * @param handler
82
- * @param middlewares
83
- */
84
- static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
85
- /**
86
- * Adds a new HEAD route to the router.
87
- *
88
- * @param path
89
- * @param handler
90
- * @param middlewares
91
- */
92
- static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
93
- /**
94
- * Defines a group of routes with a common prefix.
95
- *
96
- * @param prefix
97
- * @param callback
98
- * @param middlewares
99
- */
100
- static group(prefix: string, callback: () => void | Promise<void>, middlewares?: Middleware[]): Promise<void>;
101
- /**
102
- * Adds global middlewares to the router, which will be applied to all routes.
103
- *
104
- * @param middlewares
105
- * @param callback
106
- */
107
- static middleware(middlewares: Middleware[], callback: () => void): void;
108
- /**
109
- * Retrieves all registered routes in the router, optionally organized by path or method
110
- * for easier access and management.
111
- *
112
- * @param type
113
- */
114
- static allRoutes(): Array<Route<HttpContext, Middleware, Handler>>;
115
- static allRoutes(type: 'path'): Record<string, Route<HttpContext, Middleware, Handler>>;
116
- static allRoutes(type: 'method'): { [method in Uppercase<HttpMethod>]?: Array<Route<HttpContext, Middleware, Handler>> };
117
- static allRoutes(type: 'name'): Record<string, Route<HttpContext, Middleware, Handler>>;
118
- static route(name: string): Route<HttpContext, Middleware, Handler> | undefined;
119
- /**
120
- * Applies the registered routes to the given H3 application instance, setting up the
121
- * necessary handlers and middlewares for each route.
122
- *
123
- * @param app
124
- * @returns
125
- */
126
- static apply(app: H3): H3App;
127
- }
128
- //#endregion
1
+ import { Router } from "./router.cjs";
129
2
  export { Router };
@@ -1,129 +1,2 @@
1
- import { C as H3App, E as Middleware, F as ApiResourceMiddleware, I as ControllerAction, L as HttpMethod, T as HttpContext, m as Route, t as CoreRouter, w as Handler } from "../router-DKKYx23P.mjs";
2
- import { H3 } from "h3";
3
-
4
- //#region src/h3/router.d.ts
5
- /**
6
- * @class clear-router H3 Router
7
- * @description Laravel-style routing system for Express.js and H3 with support for CommonJS, ESM, and TypeScript
8
- * @author 3m1n3nc3
9
- * @repository https://github.com/arkstack-tmp/clear-router
10
- */
11
- declare class Router extends CoreRouter {
12
- protected static routerStateNamespace: string;
13
- private static readonly bodyCache;
14
- private static toResponse;
15
- private static readBodyCached;
16
- /**
17
- * Adds a new route to the router.
18
- *
19
- * @param methods
20
- * @param path
21
- * @param handler
22
- * @param middlewares
23
- */
24
- static add(methods: HttpMethod | HttpMethod[], path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
25
- /**
26
- * Define a resourceful API controller with standard CRUD routes
27
- *
28
- * @param basePath
29
- * @param controller
30
- * @param options
31
- */
32
- static apiResource(basePath: string, controller: any, options?: {
33
- only?: ControllerAction[];
34
- except?: ControllerAction[];
35
- middlewares?: ApiResourceMiddleware<Middleware>;
36
- }): void;
37
- /**
38
- * Adds a new GET route to the router with the specified path, handler, and optional middlewares.
39
- *
40
- * @param path
41
- * @param handler
42
- * @param middlewares
43
- */
44
- static get(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
45
- /**
46
- * Adds a new POST route to the router with the specified path, handler, and optional middlewares.
47
- *
48
- * @param path
49
- * @param handler
50
- * @param middlewares
51
- */
52
- static post(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
53
- /**
54
- * Adds a new PUT route to the router with the specified path, handler, and optional middlewares.
55
- *
56
- * @param path
57
- * @param handler
58
- * @param middlewares
59
- */
60
- static put(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
61
- /**
62
- * Adds a new DELETE route to the router with the specified path, handler, and optional middlewares.
63
- *
64
- * @param path
65
- * @param handler
66
- * @param middlewares
67
- */
68
- static delete(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
69
- /**
70
- * Adds a new PATCH route to the router with the specified path, handler, and optional middlewares.
71
- *
72
- * @param path
73
- * @param handler
74
- * @param middlewares
75
- */
76
- static patch(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
77
- /**
78
- * Adds a new OPTIONS route to the router with the specified path, handler, and optional middlewares.
79
- *
80
- * @param path
81
- * @param handler
82
- * @param middlewares
83
- */
84
- static options(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
85
- /**
86
- * Adds a new HEAD route to the router.
87
- *
88
- * @param path
89
- * @param handler
90
- * @param middlewares
91
- */
92
- static head(path: string, handler: Handler, middlewares?: Middleware[] | Middleware): Route<HttpContext, Middleware, Handler>;
93
- /**
94
- * Defines a group of routes with a common prefix.
95
- *
96
- * @param prefix
97
- * @param callback
98
- * @param middlewares
99
- */
100
- static group(prefix: string, callback: () => void | Promise<void>, middlewares?: Middleware[]): Promise<void>;
101
- /**
102
- * Adds global middlewares to the router, which will be applied to all routes.
103
- *
104
- * @param middlewares
105
- * @param callback
106
- */
107
- static middleware(middlewares: Middleware[], callback: () => void): void;
108
- /**
109
- * Retrieves all registered routes in the router, optionally organized by path or method
110
- * for easier access and management.
111
- *
112
- * @param type
113
- */
114
- static allRoutes(): Array<Route<HttpContext, Middleware, Handler>>;
115
- static allRoutes(type: 'path'): Record<string, Route<HttpContext, Middleware, Handler>>;
116
- static allRoutes(type: 'method'): { [method in Uppercase<HttpMethod>]?: Array<Route<HttpContext, Middleware, Handler>> };
117
- static allRoutes(type: 'name'): Record<string, Route<HttpContext, Middleware, Handler>>;
118
- static route(name: string): Route<HttpContext, Middleware, Handler> | undefined;
119
- /**
120
- * Applies the registered routes to the given H3 application instance, setting up the
121
- * necessary handlers and middlewares for each route.
122
- *
123
- * @param app
124
- * @returns
125
- */
126
- static apply(app: H3): H3App;
127
- }
128
- //#endregion
1
+ import { Router } from "./router.mjs";
129
2
  export { Router };