clear-router 2.1.0 → 2.1.1

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.
@@ -13,6 +13,7 @@ var ClearRequest = class {
13
13
  * @param params - Parsed route parameters
14
14
  */
15
15
  params;
16
+ route;
16
17
  constructor(init) {
17
18
  Object.assign(this, init);
18
19
  }
@@ -12,6 +12,7 @@ var ClearRequest = class {
12
12
  * @param params - Parsed route parameters
13
13
  */
14
14
  params;
15
+ route;
15
16
  constructor(init) {
16
17
  Object.assign(this, init);
17
18
  }
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_Route = require('../Route-BJ9lF-Fj.cjs');
2
+ const require_Route = require('../Route-97p-tEbS.cjs');
3
3
 
4
4
  //#region src/express/router.ts
5
5
  /**
@@ -241,7 +241,7 @@ var Router = class Router {
241
241
  next
242
242
  };
243
243
  const inst = instance ?? route;
244
- await Router.bindRequestToInstance(ctx, inst);
244
+ await Router.bindRequestToInstance(ctx, inst, route);
245
245
  const result = handlerFunction(ctx, inst.clearRequest);
246
246
  await Promise.resolve(result);
247
247
  } catch (error) {
@@ -251,7 +251,7 @@ var Router = class Router {
251
251
  }
252
252
  }
253
253
  }
254
- static async bindRequestToInstance(ctx, instance) {
254
+ static async bindRequestToInstance(ctx, instance, route) {
255
255
  if (!instance) return;
256
256
  instance.ctx = ctx;
257
257
  instance.body = ctx.req.body;
@@ -259,6 +259,7 @@ var Router = class Router {
259
259
  instance.params = ctx.req.params;
260
260
  instance.clearRequest = new require_Route.ClearRequest({
261
261
  ctx,
262
+ route,
262
263
  body: instance.body,
263
264
  query: instance.query,
264
265
  params: instance.params
@@ -1,4 +1,4 @@
1
- import { c as Middleware, d as RouteInfo, l as ControllerAction, o as Handler, s as HttpContext, t as Route, u as HttpMethod } from "../Route-DS_MAytb.cjs";
1
+ import { d as RouteInfo, i as Route, l as ControllerAction, n as HttpContext, r as Middleware, t as Handler, u as HttpMethod } from "../express-sjYra4oE.cjs";
2
2
  import { Router as Router$1 } from "express";
3
3
 
4
4
  //#region src/express/router.d.ts
@@ -1,4 +1,4 @@
1
- import { c as Middleware, d as RouteInfo, l as ControllerAction, o as Handler, s as HttpContext, t as Route, u as HttpMethod } from "../Route-DsnulZob.mjs";
1
+ import { d as RouteInfo, i as Route, l as ControllerAction, n as HttpContext, r as Middleware, t as Handler, u as HttpMethod } from "../express-WiUTZlHA.mjs";
2
2
  import { Router as Router$1 } from "express";
3
3
 
4
4
  //#region src/express/router.d.ts
@@ -1,4 +1,4 @@
1
- import { n as ClearRequest, t as Route } from "../Route-DcqlC_Bp.mjs";
1
+ import { n as ClearRequest, t as Route } from "../Route-BtmoiYq5.mjs";
2
2
 
3
3
  //#region src/express/router.ts
4
4
  /**
@@ -240,7 +240,7 @@ var Router = class Router {
240
240
  next
241
241
  };
242
242
  const inst = instance ?? route;
243
- await Router.bindRequestToInstance(ctx, inst);
243
+ await Router.bindRequestToInstance(ctx, inst, route);
244
244
  const result = handlerFunction(ctx, inst.clearRequest);
245
245
  await Promise.resolve(result);
246
246
  } catch (error) {
@@ -250,7 +250,7 @@ var Router = class Router {
250
250
  }
251
251
  }
252
252
  }
253
- static async bindRequestToInstance(ctx, instance) {
253
+ static async bindRequestToInstance(ctx, instance, route) {
254
254
  if (!instance) return;
255
255
  instance.ctx = ctx;
256
256
  instance.body = ctx.req.body;
@@ -258,6 +258,7 @@ var Router = class Router {
258
258
  instance.params = ctx.req.params;
259
259
  instance.clearRequest = new ClearRequest({
260
260
  ctx,
261
+ route,
261
262
  body: instance.body,
262
263
  query: instance.query,
263
264
  params: instance.params
@@ -1,5 +1,5 @@
1
+ import { H3, H3Event, Middleware as Middleware$1, TypedServerRequest } from "h3";
1
2
  import { NextFunction, Request, Response as Response$1 } from "express";
2
- import { H3, H3Event, Middleware, TypedServerRequest } from "h3";
3
3
 
4
4
  //#region types/basic.d.ts
5
5
  /**
@@ -28,8 +28,49 @@ type ControllerAction = 'index' | 'show' | 'create' | 'update' | 'destroy';
28
28
  */
29
29
  type RequestData = Record<string, any>;
30
30
  //#endregion
31
+ //#region types/h3.d.ts
32
+ type H3App = Omit<H3['fetch'], 'fetch'> & {
33
+ fetch: (request: TypedServerRequest) => Promise<Response>;
34
+ };
35
+ /**
36
+ * HTTP context passed to route handlers
37
+ */
38
+ type HttpContext$1 = H3Event & {};
39
+ /**
40
+ * Route handler function type
41
+ */
42
+ type RouteHandler$1 = (
43
+ /**
44
+ * H3 event context
45
+ */
46
+
47
+ ctx: HttpContext$1,
48
+ /**
49
+ * ClearRequest instance
50
+ */
51
+
52
+ req: ClearRequest) => any | Promise<any>;
53
+ /**
54
+ * Handler can be either a function or controller reference
55
+ */
56
+ type Handler$1 = RouteHandler$1 | ControllerHandler;
57
+ //#endregion
58
+ //#region src/Route.d.ts
59
+ declare class Route<X = any, M = Middleware$1 | Middleware> {
60
+ ctx: X;
61
+ body: RequestData;
62
+ query: RequestData;
63
+ params: RequestData;
64
+ clearRequest: ClearRequest;
65
+ methods: HttpMethod[];
66
+ path: string;
67
+ handler: Handler$1;
68
+ middlewares: M[];
69
+ constructor(methods: HttpMethod[], path: string, handler: Handler$1, middlewares?: M[]);
70
+ }
71
+ //#endregion
31
72
  //#region src/ClearRequest.d.ts
32
- declare class ClearRequest {
73
+ declare class ClearRequest<X = any, M = Middleware$1 | Middleware> {
33
74
  [key: string]: any;
34
75
  /**
35
76
  * @param body - Parsed request body
@@ -43,6 +84,7 @@ declare class ClearRequest {
43
84
  * @param params - Parsed route parameters
44
85
  */
45
86
  params: RequestData;
87
+ route: Route<X, M>;
46
88
  constructor(init?: Partial<ClearRequest>);
47
89
  }
48
90
  //#endregion
@@ -50,7 +92,7 @@ declare class ClearRequest {
50
92
  /**
51
93
  * HTTP context passed to route handlers
52
94
  */
53
- interface HttpContext$1 {
95
+ interface HttpContext {
54
96
  req: Request;
55
97
  res: Response$1;
56
98
  next: NextFunction;
@@ -58,12 +100,12 @@ interface HttpContext$1 {
58
100
  /**
59
101
  * Route handler function type
60
102
  */
61
- type RouteHandler$1 = (
103
+ type RouteHandler = (
62
104
  /**
63
105
  * Express context object containing req, res, and next
64
106
  */
65
107
 
66
- ctx: HttpContext$1,
108
+ ctx: HttpContext,
67
109
  /**
68
110
  * ClearRequest instance
69
111
  */
@@ -72,51 +114,10 @@ req: ClearRequest) => any | Promise<any>;
72
114
  /**
73
115
  * Handler can be either a function or controller reference
74
116
  */
75
- type Handler$1 = RouteHandler$1 | ControllerHandler;
117
+ type Handler = RouteHandler | ControllerHandler;
76
118
  /**
77
119
  * Middleware function type
78
120
  */
79
- type Middleware$1 = (req: Request, res: Response$1, next: NextFunction) => any | Promise<any>;
80
- //#endregion
81
- //#region types/h3.d.ts
82
- type H3App = Omit<H3['fetch'], 'fetch'> & {
83
- fetch: (request: TypedServerRequest) => Promise<Response>;
84
- };
85
- /**
86
- * HTTP context passed to route handlers
87
- */
88
- type HttpContext = H3Event & {};
89
- /**
90
- * Route handler function type
91
- */
92
- type RouteHandler = (
93
- /**
94
- * H3 event context
95
- */
96
-
97
- ctx: HttpContext,
98
- /**
99
- * ClearRequest instance
100
- */
101
-
102
- req: ClearRequest) => any | Promise<any>;
103
- /**
104
- * Handler can be either a function or controller reference
105
- */
106
- type Handler = RouteHandler | ControllerHandler;
107
- //#endregion
108
- //#region src/Route.d.ts
109
- declare class Route<X = any, M = Middleware | Middleware$1> {
110
- ctx: X;
111
- body: RequestData;
112
- query: RequestData;
113
- params: RequestData;
114
- clearRequest: ClearRequest;
115
- methods: HttpMethod[];
116
- path: string;
117
- handler: Handler;
118
- middlewares: M[];
119
- constructor(methods: HttpMethod[], path: string, handler: Handler, middlewares?: M[]);
120
- }
121
+ type Middleware = (req: Request, res: Response$1, next: NextFunction) => any | Promise<any>;
121
122
  //#endregion
122
- export { Middleware as a, Middleware$1 as c, RouteInfo as d, HttpContext as i, ControllerAction as l, H3App as n, Handler$1 as o, Handler as r, HttpContext$1 as s, Route as t, HttpMethod as u };
123
+ export { H3App as a, Middleware$1 as c, RouteInfo as d, Route as i, ControllerAction as l, HttpContext as n, Handler$1 as o, Middleware as r, HttpContext$1 as s, Handler as t, HttpMethod as u };
@@ -1,5 +1,5 @@
1
- import { H3, H3Event, Middleware, TypedServerRequest } from "h3";
2
1
  import { NextFunction, Request, Response as Response$1 } from "express";
2
+ import { H3, H3Event, Middleware as Middleware$1, TypedServerRequest } from "h3";
3
3
 
4
4
  //#region types/basic.d.ts
5
5
  /**
@@ -28,8 +28,49 @@ type ControllerAction = 'index' | 'show' | 'create' | 'update' | 'destroy';
28
28
  */
29
29
  type RequestData = Record<string, any>;
30
30
  //#endregion
31
+ //#region types/h3.d.ts
32
+ type H3App = Omit<H3['fetch'], 'fetch'> & {
33
+ fetch: (request: TypedServerRequest) => Promise<Response>;
34
+ };
35
+ /**
36
+ * HTTP context passed to route handlers
37
+ */
38
+ type HttpContext$1 = H3Event & {};
39
+ /**
40
+ * Route handler function type
41
+ */
42
+ type RouteHandler$1 = (
43
+ /**
44
+ * H3 event context
45
+ */
46
+
47
+ ctx: HttpContext$1,
48
+ /**
49
+ * ClearRequest instance
50
+ */
51
+
52
+ req: ClearRequest) => any | Promise<any>;
53
+ /**
54
+ * Handler can be either a function or controller reference
55
+ */
56
+ type Handler$1 = RouteHandler$1 | ControllerHandler;
57
+ //#endregion
58
+ //#region src/Route.d.ts
59
+ declare class Route<X = any, M = Middleware$1 | Middleware> {
60
+ ctx: X;
61
+ body: RequestData;
62
+ query: RequestData;
63
+ params: RequestData;
64
+ clearRequest: ClearRequest;
65
+ methods: HttpMethod[];
66
+ path: string;
67
+ handler: Handler$1;
68
+ middlewares: M[];
69
+ constructor(methods: HttpMethod[], path: string, handler: Handler$1, middlewares?: M[]);
70
+ }
71
+ //#endregion
31
72
  //#region src/ClearRequest.d.ts
32
- declare class ClearRequest {
73
+ declare class ClearRequest<X = any, M = Middleware$1 | Middleware> {
33
74
  [key: string]: any;
34
75
  /**
35
76
  * @param body - Parsed request body
@@ -43,6 +84,7 @@ declare class ClearRequest {
43
84
  * @param params - Parsed route parameters
44
85
  */
45
86
  params: RequestData;
87
+ route: Route<X, M>;
46
88
  constructor(init?: Partial<ClearRequest>);
47
89
  }
48
90
  //#endregion
@@ -50,7 +92,7 @@ declare class ClearRequest {
50
92
  /**
51
93
  * HTTP context passed to route handlers
52
94
  */
53
- interface HttpContext$1 {
95
+ interface HttpContext {
54
96
  req: Request;
55
97
  res: Response$1;
56
98
  next: NextFunction;
@@ -58,12 +100,12 @@ interface HttpContext$1 {
58
100
  /**
59
101
  * Route handler function type
60
102
  */
61
- type RouteHandler$1 = (
103
+ type RouteHandler = (
62
104
  /**
63
105
  * Express context object containing req, res, and next
64
106
  */
65
107
 
66
- ctx: HttpContext$1,
108
+ ctx: HttpContext,
67
109
  /**
68
110
  * ClearRequest instance
69
111
  */
@@ -72,51 +114,10 @@ req: ClearRequest) => any | Promise<any>;
72
114
  /**
73
115
  * Handler can be either a function or controller reference
74
116
  */
75
- type Handler$1 = RouteHandler$1 | ControllerHandler;
117
+ type Handler = RouteHandler | ControllerHandler;
76
118
  /**
77
119
  * Middleware function type
78
120
  */
79
- type Middleware$1 = (req: Request, res: Response$1, next: NextFunction) => any | Promise<any>;
80
- //#endregion
81
- //#region types/h3.d.ts
82
- type H3App = Omit<H3['fetch'], 'fetch'> & {
83
- fetch: (request: TypedServerRequest) => Promise<Response>;
84
- };
85
- /**
86
- * HTTP context passed to route handlers
87
- */
88
- type HttpContext = H3Event & {};
89
- /**
90
- * Route handler function type
91
- */
92
- type RouteHandler = (
93
- /**
94
- * H3 event context
95
- */
96
-
97
- ctx: HttpContext,
98
- /**
99
- * ClearRequest instance
100
- */
101
-
102
- req: ClearRequest) => any | Promise<any>;
103
- /**
104
- * Handler can be either a function or controller reference
105
- */
106
- type Handler = RouteHandler | ControllerHandler;
107
- //#endregion
108
- //#region src/Route.d.ts
109
- declare class Route<X = any, M = Middleware | Middleware$1> {
110
- ctx: X;
111
- body: RequestData;
112
- query: RequestData;
113
- params: RequestData;
114
- clearRequest: ClearRequest;
115
- methods: HttpMethod[];
116
- path: string;
117
- handler: Handler;
118
- middlewares: M[];
119
- constructor(methods: HttpMethod[], path: string, handler: Handler, middlewares?: M[]);
120
- }
121
+ type Middleware = (req: Request, res: Response$1, next: NextFunction) => any | Promise<any>;
121
122
  //#endregion
122
- export { Middleware as a, Middleware$1 as c, RouteInfo as d, HttpContext as i, ControllerAction as l, H3App as n, Handler$1 as o, Handler as r, HttpContext$1 as s, Route as t, HttpMethod as u };
123
+ export { H3App as a, Middleware$1 as c, RouteInfo as d, Route as i, ControllerAction as l, HttpContext as n, Handler$1 as o, Middleware as r, HttpContext$1 as s, Handler as t, HttpMethod as u };
package/dist/h3/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_Route = require('../Route-BJ9lF-Fj.cjs');
2
+ const require_Route = require('../Route-97p-tEbS.cjs');
3
3
  let h3 = require("h3");
4
4
 
5
5
  //#region src/h3/router.ts
@@ -244,7 +244,7 @@ var Router = class Router {
244
244
  try {
245
245
  const ctx = event;
246
246
  const inst = instance ?? route;
247
- await Router.bindRequestToInstance(ctx, inst);
247
+ await Router.bindRequestToInstance(ctx, inst, route);
248
248
  const result = handlerFunction(ctx, inst.clearRequest);
249
249
  return await Promise.resolve(result);
250
250
  } catch (error) {
@@ -255,7 +255,7 @@ var Router = class Router {
255
255
  }
256
256
  return app;
257
257
  }
258
- static async bindRequestToInstance(ctx, instance) {
258
+ static async bindRequestToInstance(ctx, instance, route) {
259
259
  if (!instance) return;
260
260
  instance.ctx = ctx;
261
261
  instance.body = await (0, h3.readBody)(ctx) ?? {};
@@ -263,6 +263,7 @@ var Router = class Router {
263
263
  instance.params = (0, h3.getRouterParams)(ctx, { decode: true });
264
264
  instance.clearRequest = new require_Route.ClearRequest({
265
265
  ctx,
266
+ route,
266
267
  body: instance.body,
267
268
  query: instance.query,
268
269
  params: instance.params
@@ -1,4 +1,4 @@
1
- import { a as Middleware, d as RouteInfo, i as HttpContext, l as ControllerAction, n as H3App, r as Handler, t as Route, u as HttpMethod } from "../Route-DS_MAytb.cjs";
1
+ import { a as H3App, c as Middleware, d as RouteInfo, i as Route, l as ControllerAction, o as Handler, s as HttpContext, u as HttpMethod } from "../express-sjYra4oE.cjs";
2
2
  import { H3 } from "h3";
3
3
 
4
4
  //#region src/h3/router.d.ts
@@ -1,4 +1,4 @@
1
- import { a as Middleware, d as RouteInfo, i as HttpContext, l as ControllerAction, n as H3App, r as Handler, t as Route, u as HttpMethod } from "../Route-DsnulZob.mjs";
1
+ import { a as H3App, c as Middleware, d as RouteInfo, i as Route, l as ControllerAction, o as Handler, s as HttpContext, u as HttpMethod } from "../express-WiUTZlHA.mjs";
2
2
  import { H3 } from "h3";
3
3
 
4
4
  //#region src/h3/router.d.ts
package/dist/h3/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as ClearRequest, t as Route } from "../Route-DcqlC_Bp.mjs";
1
+ import { n as ClearRequest, t as Route } from "../Route-BtmoiYq5.mjs";
2
2
  import { getQuery, getRouterParams, readBody } from "h3";
3
3
 
4
4
  //#region src/h3/router.ts
@@ -243,7 +243,7 @@ var Router = class Router {
243
243
  try {
244
244
  const ctx = event;
245
245
  const inst = instance ?? route;
246
- await Router.bindRequestToInstance(ctx, inst);
246
+ await Router.bindRequestToInstance(ctx, inst, route);
247
247
  const result = handlerFunction(ctx, inst.clearRequest);
248
248
  return await Promise.resolve(result);
249
249
  } catch (error) {
@@ -254,7 +254,7 @@ var Router = class Router {
254
254
  }
255
255
  return app;
256
256
  }
257
- static async bindRequestToInstance(ctx, instance) {
257
+ static async bindRequestToInstance(ctx, instance, route) {
258
258
  if (!instance) return;
259
259
  instance.ctx = ctx;
260
260
  instance.body = await readBody(ctx) ?? {};
@@ -262,6 +262,7 @@ var Router = class Router {
262
262
  instance.params = getRouterParams(ctx, { decode: true });
263
263
  instance.clearRequest = new ClearRequest({
264
264
  ctx,
265
+ route,
265
266
  body: instance.body,
266
267
  query: instance.query,
267
268
  params: instance.params
@@ -1,7 +1,10 @@
1
1
  import { RequestData } from "../types/basic.mjs";
2
+ import { Middleware } from "../types/h3.mjs";
3
+ import { Route } from "./Route.mjs";
4
+ import { Middleware as Middleware$1 } from "../types/express.mjs";
2
5
 
3
6
  //#region src/ClearRequest.d.ts
4
- declare class ClearRequest {
7
+ declare class ClearRequest<X = any, M = Middleware | Middleware$1> {
5
8
  [key: string]: any;
6
9
  /**
7
10
  * @param body - Parsed request body
@@ -15,6 +18,7 @@ declare class ClearRequest {
15
18
  * @param params - Parsed route parameters
16
19
  */
17
20
  params: RequestData;
21
+ route: Route<X, M>;
18
22
  constructor(init?: Partial<ClearRequest>);
19
23
  }
20
24
  //#endregion
@@ -0,0 +1,20 @@
1
+ import { HttpMethod, RequestData } from "../types/basic.mjs";
2
+ import { Handler, Middleware } from "../types/h3.mjs";
3
+ import { ClearRequest } from "./ClearRequest.mjs";
4
+ import { Middleware as Middleware$1 } from "../types/express.mjs";
5
+
6
+ //#region src/Route.d.ts
7
+ declare class Route<X = any, M = Middleware | Middleware$1> {
8
+ ctx: X;
9
+ body: RequestData;
10
+ query: RequestData;
11
+ params: RequestData;
12
+ clearRequest: ClearRequest;
13
+ methods: HttpMethod[];
14
+ path: string;
15
+ handler: Handler;
16
+ middlewares: M[];
17
+ constructor(methods: HttpMethod[], path: string, handler: Handler, middlewares?: M[]);
18
+ }
19
+ //#endregion
20
+ export { Route };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clear-router",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Laravel-style routing system for Express.js and H3, with CommonJS, ESM, and TypeScript support",
5
5
  "keywords": [
6
6
  "h3",