stratal 0.0.11 → 0.0.12

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 (45) hide show
  1. package/dist/application.d.ts +6 -0
  2. package/dist/application.d.ts.map +1 -1
  3. package/dist/application.js +1 -1
  4. package/dist/application.js.map +1 -1
  5. package/dist/middleware/middleware-configuration.service.d.ts +8 -2
  6. package/dist/middleware/middleware-configuration.service.d.ts.map +1 -1
  7. package/dist/middleware/middleware-configuration.service.js +32 -3
  8. package/dist/middleware/middleware-configuration.service.js.map +1 -1
  9. package/dist/middleware/types.d.ts +2 -0
  10. package/dist/middleware/types.d.ts.map +1 -1
  11. package/dist/router/constants.d.ts +7 -0
  12. package/dist/router/constants.d.ts.map +1 -1
  13. package/dist/router/constants.js +7 -0
  14. package/dist/router/constants.js.map +1 -1
  15. package/dist/router/decorators/controller.decorator.d.ts +8 -1
  16. package/dist/router/decorators/controller.decorator.d.ts.map +1 -1
  17. package/dist/router/decorators/controller.decorator.js +10 -0
  18. package/dist/router/decorators/controller.decorator.js.map +1 -1
  19. package/dist/router/decorators/http-method.decorator.d.ts +83 -0
  20. package/dist/router/decorators/http-method.decorator.d.ts.map +1 -0
  21. package/dist/router/decorators/http-method.decorator.js +113 -0
  22. package/dist/router/decorators/http-method.decorator.js.map +1 -0
  23. package/dist/router/decorators/index.d.ts +1 -0
  24. package/dist/router/decorators/index.d.ts.map +1 -1
  25. package/dist/router/decorators/index.js +1 -0
  26. package/dist/router/decorators/index.js.map +1 -1
  27. package/dist/router/decorators/route.decorator.d.ts +5 -2
  28. package/dist/router/decorators/route.decorator.d.ts.map +1 -1
  29. package/dist/router/decorators/route.decorator.js +4 -1
  30. package/dist/router/decorators/route.decorator.js.map +1 -1
  31. package/dist/router/hono-app.d.ts +2 -2
  32. package/dist/router/hono-app.d.ts.map +1 -1
  33. package/dist/router/hono-app.js +3 -3
  34. package/dist/router/hono-app.js.map +1 -1
  35. package/dist/router/index.d.ts +4 -3
  36. package/dist/router/index.d.ts.map +1 -1
  37. package/dist/router/index.js +3 -2
  38. package/dist/router/index.js.map +1 -1
  39. package/dist/router/services/route-registration.service.d.ts +24 -2
  40. package/dist/router/services/route-registration.service.d.ts.map +1 -1
  41. package/dist/router/services/route-registration.service.js +155 -13
  42. package/dist/router/services/route-registration.service.js.map +1 -1
  43. package/dist/router/types.d.ts +41 -2
  44. package/dist/router/types.d.ts.map +1 -1
  45. package/package.json +17 -15
@@ -5,6 +5,7 @@ import { LogLevel } from './logger';
5
5
  import type { DynamicModule, ModuleClass } from './module/types';
6
6
  import { type RouterContext } from './router';
7
7
  import { HonoApp } from './router/hono-app';
8
+ import type { VersioningOptions } from './router/types';
8
9
  export interface ApplicationConfig {
9
10
  /** Root application module */
10
11
  module: ModuleClass | DynamicModule;
@@ -13,6 +14,11 @@ export interface ApplicationConfig {
13
14
  level?: LogLevel;
14
15
  formatter?: 'json' | 'pretty';
15
16
  };
17
+ /**
18
+ * API versioning configuration.
19
+ * When provided, enables URI-based versioning for controllers.
20
+ */
21
+ versioning?: VersioningOptions;
16
22
  }
17
23
  export interface ApplicationOptions extends ApplicationConfig {
18
24
  env: StratalEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAiE,QAAQ,EAAmB,MAAM,UAAU,CAAA;AAEnH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAMhE,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,aAAa,CAAA;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC9B,CAAA;CACF;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,GAAG,EAAE,UAAU,CAAA;IACf,GAAG,EAAE,uBAAuB,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,UAAU,CAAW;IAE7B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAQ;IAE3B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,kBAAkB;IA4BvD;;OAEG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAU5B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE;;OAEG;IACH,uBAAuB,CAAC,MAAM,SAAO,GAAG,aAAa;IAQ/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAiE,QAAQ,EAAmB,MAAM,UAAU,CAAA;AAEnH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAMhE,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvD,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,aAAa,CAAA;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC9B,CAAA;IACD;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,GAAG,EAAE,UAAU,CAAA;IACf,GAAG,EAAE,uBAAuB,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,UAAU,CAAW;IAE7B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAQ;IAE3B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,kBAAkB;IA4BvD;;OAEG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAU5B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE;;OAEG;IACH,uBAAuB,CAAC,MAAM,SAAO,GAAG,aAAa;IAQ/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
@@ -99,7 +99,7 @@ export class Application {
99
99
  this.honoApp = new HonoApp(this._container, logger);
100
100
  const middlewareConfigs = this.moduleRegistry.getAllMiddlewareConfigs();
101
101
  const controllers = this.moduleRegistry.getAllControllers();
102
- this.honoApp.configure(middlewareConfigs, controllers);
102
+ this.honoApp.configure(middlewareConfigs, controllers, this.appConfig.versioning);
103
103
  // Phase 6: Configure queues, cron, events
104
104
  this.registerQueueConsumers();
105
105
  this.registerCronJobs();
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { OpenAPIHono } from '../i18n/validation';
2
2
  import type { Container } from '../di';
3
3
  import type { LoggerService } from '../logger';
4
4
  import type { IController } from '../router/controller';
5
- import type { RouterEnv } from '../router/types';
5
+ import type { RouterEnv, VersioningOptions } from '../router/types';
6
6
  import type { Constructor } from '../types';
7
7
  import type { MiddlewareConfigEntry } from './types';
8
8
  /**
@@ -13,7 +13,8 @@ import type { MiddlewareConfigEntry } from './types';
13
13
  */
14
14
  export declare class MiddlewareConfigurationService {
15
15
  private readonly logger;
16
- constructor(logger: LoggerService);
16
+ private readonly versioningOptions;
17
+ constructor(logger: LoggerService, versioningOptions?: VersioningOptions | null);
17
18
  /**
18
19
  * Apply middleware configurations to the Hono app
19
20
  *
@@ -31,6 +32,11 @@ export declare class MiddlewareConfigurationService {
31
32
  * Resolve route targets into concrete route patterns
32
33
  */
33
34
  private resolveRoutePatterns;
35
+ /**
36
+ * Resolve a RouteInfo with version into versioned path(s).
37
+ * If versioning is disabled or no version is specified, returns the RouteInfo as-is.
38
+ */
39
+ private resolveVersionedRouteInfo;
34
40
  /**
35
41
  * Register middleware handlers for a specific route pattern
36
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-configuration.service.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware-configuration.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,SAAS,CAAA;AAE/D;;;;;GAKG;AACH,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;;;;OAOG;IACH,gBAAgB,CACd,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,EAC3B,OAAO,EAAE,qBAAqB,EAAE,EAChC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,EACvC,SAAS,EAAE,SAAS,GACnB,IAAI;IAMP;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA2BpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;YACW,sBAAsB;CAwBrC"}
1
+ {"version":3,"file":"middleware-configuration.service.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware-configuration.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD,OAAO,KAAK,EAAc,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,SAAS,CAAA;AAE/D;;;;;GAKG;AACH,qBAAa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,aAAa,EACrB,iBAAiB,GAAE,iBAAiB,GAAG,IAAW;IAGrE;;;;;;;OAOG;IACH,gBAAgB,CACd,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,EAC3B,OAAO,EAAE,qBAAqB,EAAE,EAChC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,EACvC,SAAS,EAAE,SAAS,GACnB,IAAI;IAMP;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoC5B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAoBjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA2BpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;YACW,sBAAsB;CAwBrC"}
@@ -8,8 +8,10 @@ import { RouterContext } from '../router/router-context';
8
8
  */
9
9
  export class MiddlewareConfigurationService {
10
10
  logger;
11
- constructor(logger) {
11
+ versioningOptions;
12
+ constructor(logger, versioningOptions = null) {
12
13
  this.logger = logger;
14
+ this.versioningOptions = versioningOptions;
13
15
  }
14
16
  /**
15
17
  * Apply middleware configurations to the Hono app
@@ -66,12 +68,39 @@ export class MiddlewareConfigurationService {
66
68
  }
67
69
  }
68
70
  else {
69
- // RouteInfo object - use directly
70
- patterns.push(target);
71
+ // RouteInfo object - resolve version if present
72
+ if (!this.versioningOptions || !target.version) {
73
+ // Fast path: no versioning or no version on target — push directly
74
+ patterns.push(target);
75
+ }
76
+ else {
77
+ const resolved = this.resolveVersionedRouteInfo(target);
78
+ patterns.push(...resolved);
79
+ }
71
80
  }
72
81
  }
73
82
  return patterns;
74
83
  }
84
+ /**
85
+ * Resolve a RouteInfo with version into versioned path(s).
86
+ * If versioning is disabled or no version is specified, returns the RouteInfo as-is.
87
+ */
88
+ resolveVersionedRouteInfo(routeInfo) {
89
+ if (!this.versioningOptions || !routeInfo.version) {
90
+ return [routeInfo];
91
+ }
92
+ const prefix = this.versioningOptions.prefix ?? 'v';
93
+ const versions = Array.isArray(routeInfo.version) ? routeInfo.version : [routeInfo.version];
94
+ const results = [];
95
+ for (const v of versions) {
96
+ const versionedPath = `/${prefix}${v}${routeInfo.path}`;
97
+ // Add exact path match
98
+ results.push({ path: versionedPath, method: routeInfo.method });
99
+ // Add wildcard match for sub-paths
100
+ results.push({ path: `${versionedPath}/*`, method: routeInfo.method });
101
+ }
102
+ return results;
103
+ }
75
104
  /**
76
105
  * Register middleware handlers for a specific route pattern
77
106
  */
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-configuration.service.js","sourceRoot":"","sources":["../../src/middleware/middleware-configuration.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware-configuration.service.js","sourceRoot":"","sources":["../../src/middleware/middleware-configuration.service.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface RouteInfo {
10
10
  path: string;
11
11
  /** HTTP method(s) to match. If omitted, matches all methods */
12
12
  method?: HttpMethod | HttpMethod[];
13
+ /** API version(s) to target. When versioning is enabled, resolves to versioned path. */
14
+ version?: string | string[];
13
15
  }
14
16
  /**
15
17
  * Internal configuration entry for middleware registration
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/middleware/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAA;IACtC,wCAAwC;IACxC,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,mCAAmC;IACnC,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,GAAG,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,KAAK,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,iBAAiB,CAAA;IACnE;;OAEG;IACH,UAAU,IAAI,qBAAqB,EAAE,CAAA;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,CAAA;IAChD;;;OAGG;IACH,SAAS,CAAC,GAAG,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAA;CACrD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/middleware/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IAClC,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAA;IACtC,wCAAwC;IACxC,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,mCAAmC;IACnC,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,GAAG,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,KAAK,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,iBAAiB,CAAA;IACnE;;OAEG;IACH,UAAU,IAAI,qBAAqB,EAAE,CAAA;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,CAAA;IAChD;;;OAGG;IACH,SAAS,CAAC,GAAG,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAA;CACrD"}
@@ -16,6 +16,8 @@ export declare const ROUTE_METADATA_KEYS: {
16
16
  readonly CONTROLLER_MIDDLEWARES: symbol;
17
17
  readonly ROUTE_CONFIG: symbol;
18
18
  readonly DECORATED_METHODS: symbol;
19
+ readonly HTTP_ROUTE_CONFIG: symbol;
20
+ readonly HTTP_DECORATED_METHODS: symbol;
19
21
  readonly AUTH_GUARD: symbol;
20
22
  };
21
23
  /**
@@ -69,4 +71,9 @@ export declare const METHOD_STATUS_CODES: {
69
71
  readonly patch: 200;
70
72
  readonly destroy: 200;
71
73
  };
74
+ /**
75
+ * Sentinel symbol to opt a controller out of versioning.
76
+ * When used as the version, no prefix is applied even when defaultVersion is set.
77
+ */
78
+ export declare const VERSION_NEUTRAL: unique symbol;
72
79
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/router/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;CAGW,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;CAOtB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;CAOtB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/router/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;CAGW,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;CAOtB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,eAAe,eAAwC,CAAA"}
@@ -16,6 +16,8 @@ export const ROUTE_METADATA_KEYS = {
16
16
  CONTROLLER_MIDDLEWARES: Symbol.for('stratal:controller:middlewares'),
17
17
  ROUTE_CONFIG: Symbol.for('stratal:route:config'),
18
18
  DECORATED_METHODS: Symbol.for('stratal:decorated:methods'),
19
+ HTTP_ROUTE_CONFIG: Symbol.for('stratal:http-route:config'),
20
+ HTTP_DECORATED_METHODS: Symbol.for('stratal:http-decorated:methods'),
19
21
  AUTH_GUARD: Symbol.for('stratal:auth:guard')
20
22
  };
21
23
  /**
@@ -51,4 +53,9 @@ export const METHOD_STATUS_CODES = {
51
53
  patch: 200,
52
54
  destroy: 200
53
55
  };
56
+ /**
57
+ * Sentinel symbol to opt a controller out of versioning.
58
+ * When used as the version, no prefix is applied even when defaultVersion is set.
59
+ */
60
+ export const VERSION_NEUTRAL = Symbol.for('stratal:version:neutral');
54
61
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/router/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,kBAAkB;IACrC,MAAM,EAAE,QAAQ;CACyB,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACxD,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC5D,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAChD,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;CACpC,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW,EAAE,YAAY;IACzB,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,eAAe;CACvB,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAW;IAC3C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAW;IAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAW;IAC7C,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAW;IAChD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAW;IACjD,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAW;CAC5C,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;CACJ,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/router/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,kBAAkB;IACrC,MAAM,EAAE,QAAQ;CACyB,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACxD,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC5D,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAChD,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAC1D,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAC1D,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;CACpC,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW,EAAE,YAAY;IACzB,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,eAAe;CACvB,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAW;IAC3C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAW;IAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAW;IAC7C,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAW;IAChD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAW;IACjD,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAW;CAC5C,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;CACJ,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type Constructor } from '../../types';
2
- import type { ControllerOptions } from '../types';
2
+ import { type ControllerOptions } from '../types';
3
3
  /**
4
4
  * Base controller decorator for route registration
5
5
  *
@@ -36,4 +36,11 @@ export declare function getControllerRoute(target: object): string | undefined;
36
36
  * @returns Controller options or undefined if not set
37
37
  */
38
38
  export declare function getControllerOptions(target: object): ControllerOptions | undefined;
39
+ /**
40
+ * Get the version from controller class metadata
41
+ *
42
+ * @param target - Controller class or instance
43
+ * @returns Version string, array, VERSION_NEUTRAL symbol, or undefined if not set
44
+ */
45
+ export declare function getControllerVersion(target: object): ControllerOptions['version'];
39
46
  //# sourceMappingURL=controller.decorator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/controller.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,IAClD,CAAC,SAAS,WAAW,EAAE,QAAQ,CAAC,OAclD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAGlF"}
1
+ {"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/controller.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,IAClD,CAAC,SAAS,WAAW,EAAE,QAAQ,CAAC,OAclD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAGlF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAGjF"}
@@ -57,4 +57,14 @@ export function getControllerOptions(target) {
57
57
  const metadataTarget = typeof target === 'function' ? target : target.constructor;
58
58
  return Reflect.getMetadata(ROUTE_METADATA_KEYS.CONTROLLER_OPTIONS, metadataTarget);
59
59
  }
60
+ /**
61
+ * Get the version from controller class metadata
62
+ *
63
+ * @param target - Controller class or instance
64
+ * @returns Version string, array, VERSION_NEUTRAL symbol, or undefined if not set
65
+ */
66
+ export function getControllerVersion(target) {
67
+ const options = getControllerOptions(target);
68
+ return options?.version;
69
+ }
60
70
  //# sourceMappingURL=controller.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/router/decorators/controller.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,gBAAgB,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,OAA2B;IACnE,OAAO,UAAiC,MAAS;QAC/C,2DAA2D;QAC3D,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;QAEnB,oCAAoC;QACpC,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAE3D,qCAAqC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACjF,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,mEAAmE;IACnE,6EAA6E;IAC7E,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAkC,CAAC,WAAW,CAAA;IAC9G,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,CAAuB,CAAA;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAkC,CAAC,WAAW,CAAA;IAC9G,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAkC,CAAA;AACrH,CAAC"}
1
+ {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/router/decorators/controller.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,gBAAgB,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,OAA2B;IACnE,OAAO,UAAiC,MAAS;QAC/C,2DAA2D;QAC3D,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;QAEnB,oCAAoC;QACpC,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAE3D,qCAAqC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACjF,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,mEAAmE;IACnE,6EAA6E;IAC7E,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAkC,CAAC,WAAW,CAAA;IAC9G,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,CAAuB,CAAA;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAkC,CAAC,WAAW,CAAA;IAC9G,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAkC,CAAA;AACrH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC5C,OAAO,OAAO,EAAE,OAAO,CAAA;AACzB,CAAC"}
@@ -0,0 +1,83 @@
1
+ import type { HttpRouteMetadata, RouteConfig } from '../types';
2
+ /**
3
+ * Registers a GET route on the controller method.
4
+ *
5
+ * @param path - Route path relative to the controller base path
6
+ * @param config - Optional route configuration (response schema, body, params, etc.)
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * @Controller('/api/v1/users')
11
+ * class UsersController {
12
+ * @Get('/', { response: z.array(userSchema), summary: 'List users' })
13
+ * async list(ctx: RouterContext) { ... }
14
+ *
15
+ * @Get('/:id', { params: z.object({ id: z.string().uuid() }), response: userSchema })
16
+ * async getUser(ctx: RouterContext) { ... }
17
+ * }
18
+ * ```
19
+ */
20
+ export declare const Get: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
21
+ /**
22
+ * Registers a POST route on the controller method.
23
+ *
24
+ * @param path - Route path relative to the controller base path
25
+ * @param config - Optional route configuration (response schema, body, params, etc.)
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * @Controller('/api/v1/users')
30
+ * class UsersController {
31
+ * @Post('/', { body: createUserSchema, response: userSchema, statusCode: 201 })
32
+ * async createUser(ctx: RouterContext) { ... }
33
+ * }
34
+ * ```
35
+ */
36
+ export declare const Post: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
37
+ /**
38
+ * Registers a PUT route on the controller method.
39
+ *
40
+ * @param path - Route path relative to the controller base path
41
+ * @param config - Optional route configuration
42
+ */
43
+ export declare const Put: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
44
+ /**
45
+ * Registers a PATCH route on the controller method.
46
+ *
47
+ * @param path - Route path relative to the controller base path
48
+ * @param config - Optional route configuration
49
+ */
50
+ export declare const Patch: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
51
+ /**
52
+ * Registers a DELETE route on the controller method.
53
+ *
54
+ * @param path - Route path relative to the controller base path
55
+ * @param config - Optional route configuration
56
+ */
57
+ export declare const Delete: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
58
+ /**
59
+ * Registers an ALL (any HTTP method) route on the controller method.
60
+ * Routes using @All are automatically hidden from OpenAPI documentation
61
+ * since OpenAPI does not support a catch-all HTTP method.
62
+ *
63
+ * @param path - Route path relative to the controller base path
64
+ * @param config - Optional route configuration
65
+ */
66
+ export declare const All: (path: string, config?: RouteConfig) => (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
67
+ /**
68
+ * Get the HTTP route metadata from a controller method decorated with
69
+ * @Get, @Post, @Put, @Patch, @Delete, or @All.
70
+ *
71
+ * @param target - Controller prototype
72
+ * @param methodName - Name of the method
73
+ * @returns HTTP route metadata or undefined if not decorated
74
+ */
75
+ export declare function getHttpRouteMetadata(target: object, methodName: string): HttpRouteMetadata | undefined;
76
+ /**
77
+ * Get all methods decorated with HTTP method decorators from a controller class.
78
+ *
79
+ * @param ControllerClass - Controller class
80
+ * @returns Array of method names that have HTTP route metadata
81
+ */
82
+ export declare function getHttpDecoratedMethods(ControllerClass: new (...args: unknown[]) => object): string[];
83
+ //# sourceMappingURL=http-method.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-method.decorator.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/http-method.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAwC1E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,GAAG,SAhDS,MAAM,WAAW,WAAW,MAE/C,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,uBA4Ce,CAAA;AAEnD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,SAjEQ,MAAM,WAAW,WAAW,MAE/C,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,uBA6DiB,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,GAAG,SAzES,MAAM,WAAW,WAAW,MAE/C,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,uBAqEe,CAAA;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,SAjFO,MAAM,WAAW,WAAW,MAE/C,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,uBA6EmB,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,SAzFM,MAAM,WAAW,WAAW,MAE/C,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,uBAqFqB,CAAA;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,SAnGS,MAAM,WAAW,WAAW,MAE/C,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,uBA+Fe,CAAA;AAEnD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEtG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,CAGrG"}
@@ -0,0 +1,113 @@
1
+ import { z } from '../../i18n/validation';
2
+ import { ROUTE_METADATA_KEYS } from '../constants';
3
+ /**
4
+ * Creates an HTTP method decorator factory for the given HTTP method.
5
+ *
6
+ * The returned decorator stores {@link HttpRouteMetadata} on the method and
7
+ * tracks the method name under {@link ROUTE_METADATA_KEYS.HTTP_DECORATED_METHODS}
8
+ * on the controller prototype so they can be discovered at registration time.
9
+ */
10
+ function createHttpMethodDecorator(method) {
11
+ return function (path, config) {
12
+ return function (target, propertyKey, descriptor) {
13
+ const metadata = {
14
+ method,
15
+ path,
16
+ config: config ?? { response: z.any() },
17
+ };
18
+ Reflect.defineMetadata(ROUTE_METADATA_KEYS.HTTP_ROUTE_CONFIG, metadata, target, propertyKey);
19
+ // Track this method as HTTP-decorated on the prototype
20
+ const existing = Reflect.getOwnMetadata(ROUTE_METADATA_KEYS.HTTP_DECORATED_METHODS, target) ?? [];
21
+ existing.push(propertyKey);
22
+ Reflect.defineMetadata(ROUTE_METADATA_KEYS.HTTP_DECORATED_METHODS, existing, target);
23
+ return descriptor;
24
+ };
25
+ };
26
+ }
27
+ /**
28
+ * Registers a GET route on the controller method.
29
+ *
30
+ * @param path - Route path relative to the controller base path
31
+ * @param config - Optional route configuration (response schema, body, params, etc.)
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * @Controller('/api/v1/users')
36
+ * class UsersController {
37
+ * @Get('/', { response: z.array(userSchema), summary: 'List users' })
38
+ * async list(ctx: RouterContext) { ... }
39
+ *
40
+ * @Get('/:id', { params: z.object({ id: z.string().uuid() }), response: userSchema })
41
+ * async getUser(ctx: RouterContext) { ... }
42
+ * }
43
+ * ```
44
+ */
45
+ export const Get = createHttpMethodDecorator('get');
46
+ /**
47
+ * Registers a POST route on the controller method.
48
+ *
49
+ * @param path - Route path relative to the controller base path
50
+ * @param config - Optional route configuration (response schema, body, params, etc.)
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * @Controller('/api/v1/users')
55
+ * class UsersController {
56
+ * @Post('/', { body: createUserSchema, response: userSchema, statusCode: 201 })
57
+ * async createUser(ctx: RouterContext) { ... }
58
+ * }
59
+ * ```
60
+ */
61
+ export const Post = createHttpMethodDecorator('post');
62
+ /**
63
+ * Registers a PUT route on the controller method.
64
+ *
65
+ * @param path - Route path relative to the controller base path
66
+ * @param config - Optional route configuration
67
+ */
68
+ export const Put = createHttpMethodDecorator('put');
69
+ /**
70
+ * Registers a PATCH route on the controller method.
71
+ *
72
+ * @param path - Route path relative to the controller base path
73
+ * @param config - Optional route configuration
74
+ */
75
+ export const Patch = createHttpMethodDecorator('patch');
76
+ /**
77
+ * Registers a DELETE route on the controller method.
78
+ *
79
+ * @param path - Route path relative to the controller base path
80
+ * @param config - Optional route configuration
81
+ */
82
+ export const Delete = createHttpMethodDecorator('delete');
83
+ /**
84
+ * Registers an ALL (any HTTP method) route on the controller method.
85
+ * Routes using @All are automatically hidden from OpenAPI documentation
86
+ * since OpenAPI does not support a catch-all HTTP method.
87
+ *
88
+ * @param path - Route path relative to the controller base path
89
+ * @param config - Optional route configuration
90
+ */
91
+ export const All = createHttpMethodDecorator('all');
92
+ /**
93
+ * Get the HTTP route metadata from a controller method decorated with
94
+ * @Get, @Post, @Put, @Patch, @Delete, or @All.
95
+ *
96
+ * @param target - Controller prototype
97
+ * @param methodName - Name of the method
98
+ * @returns HTTP route metadata or undefined if not decorated
99
+ */
100
+ export function getHttpRouteMetadata(target, methodName) {
101
+ return Reflect.getMetadata(ROUTE_METADATA_KEYS.HTTP_ROUTE_CONFIG, target, methodName);
102
+ }
103
+ /**
104
+ * Get all methods decorated with HTTP method decorators from a controller class.
105
+ *
106
+ * @param ControllerClass - Controller class
107
+ * @returns Array of method names that have HTTP route metadata
108
+ */
109
+ export function getHttpDecoratedMethods(ControllerClass) {
110
+ const prototype = ControllerClass.prototype;
111
+ return Reflect.getOwnMetadata(ROUTE_METADATA_KEYS.HTTP_DECORATED_METHODS, prototype) ?? [];
112
+ }
113
+ //# sourceMappingURL=http-method.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-method.decorator.js","sourceRoot":"","sources":["../../../src/router/decorators/http-method.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,MAAkB;IACnD,OAAO,UAAU,IAAY,EAAE,MAAoB;QACjD,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;YAE9B,MAAM,QAAQ,GAAsB;gBAClC,MAAM;gBACN,IAAI;gBACJ,MAAM,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;aACxC,CAAA;YAED,OAAO,CAAC,cAAc,CACpB,mBAAmB,CAAC,iBAAiB,EACrC,QAAQ,EACR,MAAM,EACN,WAAW,CACZ,CAAA;YAED,uDAAuD;YACvD,MAAM,QAAQ,GACX,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,CAA0B,IAAI,EAAE,CAAA;YAC5G,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1B,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAEpF,OAAO,UAAU,CAAA;QACnB,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,UAAkB;IACrE,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAkC,CAAA;AACxH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,eAAmD;IACzF,MAAM,SAAS,GAAG,eAAe,CAAC,SAAmB,CAAA;IACrD,OAAQ,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,SAAS,CAA0B,IAAI,EAAE,CAAA;AACtH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { Controller, getControllerOptions, getControllerRoute } from './controller.decorator';
2
+ export { All, Delete, Get, getHttpDecoratedMethods, getHttpRouteMetadata, Patch, Post, Put } from './http-method.decorator';
2
3
  export { getDecoratedMethods, getRouteConfig, Route } from './route.decorator';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EACrD,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EACrD,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC3H,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { Controller, getControllerOptions, getControllerRoute } from './controller.decorator';
2
+ export { All, Delete, Get, getHttpDecoratedMethods, getHttpRouteMetadata, Patch, Post, Put } from './http-method.decorator';
2
3
  export { getDecoratedMethods, getRouteConfig, Route } from './route.decorator';
3
4
  // Guards are now exported from core/guards module
4
5
  // Use: import { UseGuards, AuthGuard } from 'stratal/guards'
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EACrD,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9E,kDAAkD;AAClD,6DAA6D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EACrD,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC3H,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9E,kDAAkD;AAClD,6DAA6D"}
@@ -1,6 +1,9 @@
1
1
  import type { RouteConfig } from '../types';
2
2
  /**
3
- * Decorator to add OpenAPI metadata to a controller method
3
+ * Decorator to add OpenAPI metadata to a controller method using convention-based routing.
4
+ *
5
+ * **Cannot be mixed with HTTP method decorators** (`@Get`, `@Post`, `@Put`, `@Patch`,
6
+ * `@Delete`, `@All`) in the same controller. Use one pattern or the other.
4
7
  *
5
8
  * Stores route configuration (schemas, response, tags, security) in metadata.
6
9
  * HTTP method, path, and success status code are auto-derived from the method name:
@@ -68,7 +71,7 @@ import type { RouteConfig } from '../types';
68
71
  * }
69
72
  * ```
70
73
  */
71
- export declare function Route(config: RouteConfig): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
74
+ export declare function Route(config: Omit<RouteConfig, 'statusCode'>): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
72
75
  /**
73
76
  * Get the route configuration from a controller method
74
77
  *
@@ -1 +1 @@
1
- {"version":3,"file":"route.decorator.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/route.decorator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,IAErC,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,wBAYjC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,CASjG"}
1
+ {"version":3,"file":"route.decorator.d.ts","sourceRoot":"","sources":["../../../src/router/decorators/route.decorator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,IAEzD,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,YAAY,kBAAkB,wBAYjC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,CASjG"}
@@ -1,6 +1,9 @@
1
1
  import { ROUTE_METADATA_KEYS } from '../constants';
2
2
  /**
3
- * Decorator to add OpenAPI metadata to a controller method
3
+ * Decorator to add OpenAPI metadata to a controller method using convention-based routing.
4
+ *
5
+ * **Cannot be mixed with HTTP method decorators** (`@Get`, `@Post`, `@Put`, `@Patch`,
6
+ * `@Delete`, `@All`) in the same controller. Use one pattern or the other.
4
7
  *
5
8
  * Stores route configuration (schemas, response, tags, security) in metadata.
6
9
  * HTTP method, path, and success status code are auto-derived from the method name:
@@ -1 +1 @@
1
- {"version":3,"file":"route.decorator.js","sourceRoot":"","sources":["../../../src/router/decorators/route.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,UAAU,KAAK,CAAC,MAAmB;IACvC,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,4CAA4C;QAC5C,OAAO,CAAC,cAAc,CACpB,mBAAmB,CAAC,YAAY,EAChC,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,UAAkB;IAC/D,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAA4B,CAAA;AAC7G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,eAAmD;IACrF,MAAM,SAAS,GAAG,eAAe,CAAC,SAAoC,CAAA;IACtE,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9D,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,CACxE,CAAA;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACrC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAC7E,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"route.decorator.js","sourceRoot":"","sources":["../../../src/router/decorators/route.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,MAAM,UAAU,KAAK,CAAC,MAAuC;IAC3D,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,4CAA4C;QAC5C,OAAO,CAAC,cAAc,CACpB,mBAAmB,CAAC,YAAY,EAChC,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,UAAkB;IAC/D,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAA4B,CAAA;AAC7G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,eAAmD;IACrF,MAAM,SAAS,GAAG,eAAe,CAAC,SAAoC,CAAA;IACtE,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9D,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,CACxE,CAAA;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACrC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAC7E,CAAA;AACH,CAAC"}