clear-router 2.1.4 → 2.1.5

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.
@@ -160,15 +160,18 @@ var Router = class Router {
160
160
  * @param callback - Function containing route definitions
161
161
  * @param middlewares - Middleware functions applied to all routes in group
162
162
  */
163
- static group(prefix, callback, middlewares) {
163
+ static async group(prefix, callback, middlewares) {
164
164
  const previousPrefix = this.prefix;
165
165
  const previousMiddlewares = this.groupMiddlewares;
166
166
  const fullPrefix = [previousPrefix, prefix].filter(Boolean).join("/");
167
167
  this.prefix = this.normalizePath(fullPrefix);
168
168
  this.groupMiddlewares = [...previousMiddlewares, ...middlewares || []];
169
- callback();
170
- this.prefix = previousPrefix;
171
- this.groupMiddlewares = previousMiddlewares;
169
+ try {
170
+ await Promise.resolve(callback());
171
+ } finally {
172
+ this.prefix = previousPrefix;
173
+ this.groupMiddlewares = previousMiddlewares;
174
+ }
172
175
  }
173
176
  /**
174
177
  * Apply global middlewares for the duration of the callback
@@ -106,7 +106,7 @@ declare class Router {
106
106
  * @param callback - Function containing route definitions
107
107
  * @param middlewares - Middleware functions applied to all routes in group
108
108
  */
109
- static group(prefix: string, callback: () => void, middlewares?: Middleware[]): void;
109
+ static group(prefix: string, callback: () => void | Promise<void>, middlewares?: Middleware[]): Promise<void>;
110
110
  /**
111
111
  * Apply global middlewares for the duration of the callback
112
112
  * @param middlewares - Middleware functions
@@ -106,7 +106,7 @@ declare class Router {
106
106
  * @param callback - Function containing route definitions
107
107
  * @param middlewares - Middleware functions applied to all routes in group
108
108
  */
109
- static group(prefix: string, callback: () => void, middlewares?: Middleware[]): void;
109
+ static group(prefix: string, callback: () => void | Promise<void>, middlewares?: Middleware[]): Promise<void>;
110
110
  /**
111
111
  * Apply global middlewares for the duration of the callback
112
112
  * @param middlewares - Middleware functions
@@ -159,15 +159,18 @@ var Router = class Router {
159
159
  * @param callback - Function containing route definitions
160
160
  * @param middlewares - Middleware functions applied to all routes in group
161
161
  */
162
- static group(prefix, callback, middlewares) {
162
+ static async group(prefix, callback, middlewares) {
163
163
  const previousPrefix = this.prefix;
164
164
  const previousMiddlewares = this.groupMiddlewares;
165
165
  const fullPrefix = [previousPrefix, prefix].filter(Boolean).join("/");
166
166
  this.prefix = this.normalizePath(fullPrefix);
167
167
  this.groupMiddlewares = [...previousMiddlewares, ...middlewares || []];
168
- callback();
169
- this.prefix = previousPrefix;
170
- this.groupMiddlewares = previousMiddlewares;
168
+ try {
169
+ await Promise.resolve(callback());
170
+ } finally {
171
+ this.prefix = previousPrefix;
172
+ this.groupMiddlewares = previousMiddlewares;
173
+ }
171
174
  }
172
175
  /**
173
176
  * Apply global middlewares for the duration of the callback
package/dist/h3/index.cjs CHANGED
@@ -160,15 +160,18 @@ var Router = class Router {
160
160
  * @param callback - Function containing route definitions
161
161
  * @param middlewares - Middleware functions applied to all routes in group
162
162
  */
163
- static group(prefix, callback, middlewares) {
163
+ static async group(prefix, callback, middlewares) {
164
164
  const previousPrefix = this.prefix;
165
165
  const previousMiddlewares = this.groupMiddlewares;
166
166
  const fullPrefix = [previousPrefix, prefix].filter(Boolean).join("/");
167
167
  this.prefix = this.normalizePath(fullPrefix);
168
168
  this.groupMiddlewares = [...previousMiddlewares, ...middlewares || []];
169
- callback();
170
- this.prefix = previousPrefix;
171
- this.groupMiddlewares = previousMiddlewares;
169
+ try {
170
+ await Promise.resolve(callback());
171
+ } finally {
172
+ this.prefix = previousPrefix;
173
+ this.groupMiddlewares = previousMiddlewares;
174
+ }
172
175
  }
173
176
  /**
174
177
  * Apply global middlewares for the duration of the callback
@@ -105,7 +105,7 @@ declare class Router {
105
105
  * @param callback - Function containing route definitions
106
106
  * @param middlewares - Middleware functions applied to all routes in group
107
107
  */
108
- static group(prefix: string, callback: () => void, middlewares?: Middleware[]): void;
108
+ static group(prefix: string, callback: () => void | Promise<void>, middlewares?: Middleware[]): Promise<void>;
109
109
  /**
110
110
  * Apply global middlewares for the duration of the callback
111
111
  * @param middlewares - Middleware functions
@@ -105,7 +105,7 @@ declare class Router {
105
105
  * @param callback - Function containing route definitions
106
106
  * @param middlewares - Middleware functions applied to all routes in group
107
107
  */
108
- static group(prefix: string, callback: () => void, middlewares?: Middleware[]): void;
108
+ static group(prefix: string, callback: () => void | Promise<void>, middlewares?: Middleware[]): Promise<void>;
109
109
  /**
110
110
  * Apply global middlewares for the duration of the callback
111
111
  * @param middlewares - Middleware functions
package/dist/h3/index.mjs CHANGED
@@ -159,15 +159,18 @@ var Router = class Router {
159
159
  * @param callback - Function containing route definitions
160
160
  * @param middlewares - Middleware functions applied to all routes in group
161
161
  */
162
- static group(prefix, callback, middlewares) {
162
+ static async group(prefix, callback, middlewares) {
163
163
  const previousPrefix = this.prefix;
164
164
  const previousMiddlewares = this.groupMiddlewares;
165
165
  const fullPrefix = [previousPrefix, prefix].filter(Boolean).join("/");
166
166
  this.prefix = this.normalizePath(fullPrefix);
167
167
  this.groupMiddlewares = [...previousMiddlewares, ...middlewares || []];
168
- callback();
169
- this.prefix = previousPrefix;
170
- this.groupMiddlewares = previousMiddlewares;
168
+ try {
169
+ await Promise.resolve(callback());
170
+ } finally {
171
+ this.prefix = previousPrefix;
172
+ this.groupMiddlewares = previousMiddlewares;
173
+ }
171
174
  }
172
175
  /**
173
176
  * Apply global middlewares for the duration of the callback
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clear-router",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "description": "Laravel-style routing system for Express.js and H3, with CommonJS, ESM, and TypeScript support",
5
5
  "keywords": [
6
6
  "h3",