@stacksjs/router 0.53.1 → 0.56.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { HttpMethod, RouteCallback, RouteGroupOptions } from '@stacksjs/types';
2
- export declare class Router {
1
+ import { HttpMethod, RouteCallback, RouteGroupOptions } from '@stacksjs/types';
2
+
3
+ declare class Router {
3
4
  private routes;
4
5
  addRoute(method: HttpMethod, url: string, callback: RouteCallback): void;
5
6
  group(options: RouteGroupOptions, callback: () => void): void;
@@ -15,3 +16,6 @@ export declare class Router {
15
16
  private extractParams;
16
17
  private getMiddleware;
17
18
  }
19
+ declare const route: Router;
20
+
21
+ export { Router, route };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export class Router {
1
+ class Router {
2
2
  constructor() {
3
3
  this.routes = [];
4
4
  }
@@ -35,14 +35,14 @@ export class Router {
35
35
  this.routes.push({ method: "after", pattern: /^$/, callback, paramNames: [] });
36
36
  }
37
37
  async handleRequest(method, url) {
38
- const route = this.matchRoute(method, url);
39
- if (!route)
38
+ const route2 = this.matchRoute(method, url);
39
+ if (!route2)
40
40
  throw new Error("Route not found");
41
- const params = this.extractParams(route, url);
42
- const middleware = this.getMiddleware(route);
41
+ const params = this.extractParams(route2, url);
42
+ const middleware = this.getMiddleware(route2);
43
43
  if (middleware.before)
44
44
  await middleware.before(params);
45
- const result = await route.callback(params);
45
+ const result = await route2.callback(params);
46
46
  if (middleware.after)
47
47
  await middleware.after(params);
48
48
  return result;
@@ -63,31 +63,34 @@ export class Router {
63
63
  this.addRoute("delete", url, callback);
64
64
  }
65
65
  matchRoute(method, url) {
66
- const route = this.routes.find((r) => r.method === method && r.pattern.test(url));
67
- return route || null;
66
+ const route2 = this.routes.find((r) => r.method === method && r.pattern.test(url));
67
+ return route2 || null;
68
68
  }
69
- extractParams(route, url) {
70
- const matches = url.match(route.pattern);
69
+ extractParams(route2, url) {
70
+ const matches = url.match(route2.pattern);
71
71
  const params = {};
72
72
  if (matches) {
73
- route.paramNames.forEach((name, i) => {
73
+ route2.paramNames.forEach((name, i) => {
74
74
  params[name] = matches[i + 1];
75
75
  });
76
76
  }
77
77
  return params;
78
78
  }
79
- getMiddleware(route) {
79
+ getMiddleware(route2) {
80
80
  const before = this.routes.filter((r) => r.method === "before");
81
81
  const after = this.routes.filter((r) => r.method === "after");
82
82
  const middleware = {};
83
83
  before.forEach((b) => {
84
- if (b.pattern.test(route.pattern.source))
84
+ if (b.pattern.test(route2.pattern.source))
85
85
  middleware.before = b.callback;
86
86
  });
87
87
  after.forEach((a) => {
88
- if (a.pattern.test(route.pattern.source))
88
+ if (a.pattern.test(route2.pattern.source))
89
89
  middleware.after = a.callback;
90
90
  });
91
91
  return middleware;
92
92
  }
93
93
  }
94
+ const route = new Router();
95
+
96
+ export { Router, route };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/router",
3
3
  "type": "module",
4
- "version": "0.53.1",
5
- "packageManager": "pnpm@8.5.1",
4
+ "version": "0.56.3",
5
+ "packageManager": "pnpm@8.6.5",
6
6
  "description": "The Stacks framework router.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -39,10 +39,10 @@
39
39
  "README.md"
40
40
  ],
41
41
  "peerDependencies": {
42
- "vue-router": "^4.2.1"
42
+ "vue-router": "^4.2.2"
43
43
  },
44
44
  "devDependencies": {
45
- "@stacksjs/development": "0.53.1"
45
+ "@stacksjs/development": "0.56.3"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "unbuild",