@asenajs/asena 0.3.3 → 0.5.0

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 (136) hide show
  1. package/README.md +165 -140
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/adapter/AsenaAdapter.d.ts +19 -3
  6. package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
  7. package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +2 -2
  8. package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
  9. package/dist/lib/adapter/types/RouteParams.d.ts +3 -0
  10. package/dist/lib/adapter/types/ServeOptions.d.ts +2 -2
  11. package/dist/lib/adapter/types/index.d.ts +4 -4
  12. package/dist/lib/adapter/types/index.js +4 -4
  13. package/dist/lib/adapter/types/index.js.map +1 -1
  14. package/dist/lib/ioc/CircularDependencyDetector.d.ts +49 -0
  15. package/dist/lib/ioc/CircularDependencyDetector.js +69 -0
  16. package/dist/lib/ioc/CircularDependencyDetector.js.map +1 -0
  17. package/dist/lib/ioc/Container.d.ts +16 -0
  18. package/dist/lib/ioc/Container.js +61 -11
  19. package/dist/lib/ioc/Container.js.map +1 -1
  20. package/dist/lib/ioc/CoreContainer.d.ts +78 -0
  21. package/dist/lib/ioc/CoreContainer.js +139 -0
  22. package/dist/lib/ioc/CoreContainer.js.map +1 -0
  23. package/dist/lib/ioc/IocEngine.d.ts +16 -6
  24. package/dist/lib/ioc/IocEngine.js +35 -7
  25. package/dist/lib/ioc/IocEngine.js.map +1 -1
  26. package/dist/lib/ioc/component/decorators/Inject.d.ts +24 -4
  27. package/dist/lib/ioc/component/decorators/Inject.js +44 -7
  28. package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
  29. package/dist/lib/ioc/component/index.d.ts +1 -1
  30. package/dist/lib/ioc/component/index.js +1 -1
  31. package/dist/lib/ioc/component/index.js.map +1 -1
  32. package/dist/lib/ioc/constants/ComponentConstants.d.ts +27 -18
  33. package/dist/lib/ioc/constants/ComponentConstants.js +34 -20
  34. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  35. package/dist/lib/ioc/decorators/CoreService.d.ts +8 -0
  36. package/dist/lib/ioc/decorators/CoreService.js +27 -0
  37. package/dist/lib/ioc/decorators/CoreService.js.map +1 -0
  38. package/dist/lib/ioc/decorators/index.d.ts +1 -0
  39. package/dist/lib/ioc/decorators/index.js +2 -0
  40. package/dist/lib/ioc/decorators/index.js.map +1 -0
  41. package/dist/lib/ioc/index.d.ts +5 -0
  42. package/dist/lib/ioc/index.js +5 -0
  43. package/dist/lib/ioc/index.js.map +1 -1
  44. package/dist/lib/ioc/types/CoreBootstrapPhase.d.ts +15 -0
  45. package/dist/lib/ioc/types/CoreBootstrapPhase.js +17 -0
  46. package/dist/lib/ioc/types/CoreBootstrapPhase.js.map +1 -0
  47. package/dist/lib/ioc/types/ICoreService.d.ts +9 -0
  48. package/dist/lib/ioc/types/ICoreService.js +2 -0
  49. package/dist/lib/ioc/types/ICoreService.js.map +1 -0
  50. package/dist/lib/ioc/types/ICoreServiceNamesType.d.ts +19 -0
  51. package/dist/lib/ioc/types/ICoreServiceNamesType.js +25 -0
  52. package/dist/lib/ioc/types/ICoreServiceNamesType.js.map +1 -0
  53. package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +1 -1
  54. package/dist/lib/ioc/types/index.d.ts +3 -0
  55. package/dist/lib/ioc/types/index.js +3 -0
  56. package/dist/lib/ioc/types/index.js.map +1 -1
  57. package/dist/lib/server/AsenaServer.d.ts +85 -14
  58. package/dist/lib/server/AsenaServer.js +176 -68
  59. package/dist/lib/server/AsenaServer.js.map +1 -1
  60. package/dist/lib/server/AsenaServerFactory.d.ts +26 -0
  61. package/dist/lib/server/AsenaServerFactory.js +66 -0
  62. package/dist/lib/server/AsenaServerFactory.js.map +1 -0
  63. package/dist/lib/server/config/AsenaConfig.d.ts +91 -18
  64. package/dist/lib/server/decorators/Override.js +1 -1
  65. package/dist/lib/server/decorators/Override.js.map +1 -1
  66. package/dist/lib/server/decorators/components/Config.d.ts +1 -1
  67. package/dist/lib/server/decorators/components/Config.js +1 -1
  68. package/dist/lib/server/decorators/components/Config.js.map +1 -1
  69. package/dist/lib/server/decorators/components/Controller.d.ts +1 -1
  70. package/dist/lib/server/decorators/components/Controller.js +1 -2
  71. package/dist/lib/server/decorators/components/Controller.js.map +1 -1
  72. package/dist/lib/server/decorators/components/Middleware.js +1 -2
  73. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  74. package/dist/lib/server/decorators/components/Schedule.d.ts +1 -1
  75. package/dist/lib/server/decorators/components/Schedule.js +1 -2
  76. package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
  77. package/dist/lib/server/decorators/components/WebSocket.d.ts +1 -1
  78. package/dist/lib/server/decorators/components/WebSocket.js +1 -2
  79. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  80. package/dist/lib/server/decorators/index.d.ts +2 -0
  81. package/dist/lib/server/decorators/index.js +2 -0
  82. package/dist/lib/server/decorators/index.js.map +1 -1
  83. package/dist/lib/server/index.d.ts +3 -0
  84. package/dist/lib/server/index.js +4 -0
  85. package/dist/lib/server/index.js.map +1 -1
  86. package/dist/lib/server/messaging/Ulak.d.ts +224 -0
  87. package/dist/lib/server/messaging/Ulak.js +351 -0
  88. package/dist/lib/server/messaging/Ulak.js.map +1 -0
  89. package/dist/lib/server/messaging/index.d.ts +8 -0
  90. package/dist/lib/server/messaging/index.js +9 -0
  91. package/dist/lib/server/messaging/index.js.map +1 -0
  92. package/dist/lib/server/messaging/types.d.ts +73 -0
  93. package/dist/lib/server/messaging/types.js +35 -0
  94. package/dist/lib/server/messaging/types.js.map +1 -0
  95. package/dist/lib/server/src/services/PrepareConfigService.d.ts +9 -5
  96. package/dist/lib/server/src/services/PrepareConfigService.js +32 -7
  97. package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -1
  98. package/dist/lib/server/src/services/PrepareMiddlewareService.d.ts +8 -5
  99. package/dist/lib/server/src/services/PrepareMiddlewareService.js +27 -7
  100. package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -1
  101. package/dist/lib/server/src/services/PrepareStaticServeConfigService.d.ts +8 -5
  102. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +27 -6
  103. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -1
  104. package/dist/lib/server/src/services/PrepareValidatorService.d.ts +8 -5
  105. package/dist/lib/server/src/services/PrepareValidatorService.js +27 -6
  106. package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -1
  107. package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +9 -5
  108. package/dist/lib/server/src/services/PrepareWebsocketService.js +35 -9
  109. package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -1
  110. package/dist/lib/server/web/decorators/http.base.d.ts +1 -1
  111. package/dist/lib/server/web/decorators/http.base.js.map +1 -1
  112. package/dist/lib/server/web/decorators/methods/Connect.d.ts +1 -1
  113. package/dist/lib/server/web/decorators/methods/Delete.d.ts +1 -1
  114. package/dist/lib/server/web/decorators/methods/Get.d.ts +1 -1
  115. package/dist/lib/server/web/decorators/methods/Head.d.ts +1 -1
  116. package/dist/lib/server/web/decorators/methods/Options.d.ts +1 -1
  117. package/dist/lib/server/web/decorators/methods/Patch.d.ts +1 -1
  118. package/dist/lib/server/web/decorators/methods/Post.d.ts +1 -1
  119. package/dist/lib/server/web/decorators/methods/Put.d.ts +1 -1
  120. package/dist/lib/server/web/decorators/methods/Trace.d.ts +1 -1
  121. package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
  122. package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +3 -16
  123. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +3 -20
  124. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
  125. package/dist/lib/server/web/websocket/index.d.ts +1 -1
  126. package/dist/lib/server/web/websocket/index.js +1 -1
  127. package/dist/lib/server/web/websocket/index.js.map +1 -1
  128. package/dist/lib/utils/patternMatcher.d.ts +41 -0
  129. package/dist/lib/utils/patternMatcher.js +99 -0
  130. package/dist/lib/utils/patternMatcher.js.map +1 -0
  131. package/dist/lib/utils/typedMetadata.d.ts +3 -3
  132. package/dist/lib/utils/typedMetadata.js.map +1 -1
  133. package/package.json +19 -8
  134. package/dist/lib/server/src/PrepareService.d.ts +0 -8
  135. package/dist/lib/server/src/PrepareService.js +0 -9
  136. package/dist/lib/server/src/PrepareService.js.map +0 -1
@@ -1,9 +1,12 @@
1
- import { PrepareService } from '../PrepareService';
2
1
  import type { StaticServeClass } from '../../web/middleware';
3
2
  import type { BaseStaticServeParams } from '../../../adapter';
4
- import type { Container } from '../../../ioc';
5
- import type { ServerLogger } from '../../../logger';
6
- export declare class PrepareStaticServeConfigService extends PrepareService {
7
- constructor(container: Container, logger: ServerLogger);
3
+ import { type ICoreService } from '../../../ioc';
4
+ /**
5
+ * @description Core service for preparing static serve configuration
6
+ * Handles static serve service resolution and configuration
7
+ */
8
+ export declare class PrepareStaticServeConfigService implements ICoreService {
9
+ serviceName: string;
10
+ private container;
8
11
  prepare(staticServeClass: StaticServeClass): Promise<BaseStaticServeParams>;
9
12
  }
@@ -1,10 +1,23 @@
1
- import { PrepareService } from '../PrepareService';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
2
10
  import { getOwnTypedMetadata, getTypedMetadata } from '../../../utils/typedMetadata';
3
11
  import { ComponentConstants } from '../../../ioc/constants';
4
- export class PrepareStaticServeConfigService extends PrepareService {
5
- constructor(container, logger) {
6
- super(container, logger);
7
- }
12
+ import { CoreService, ICoreServiceNames } from '../../../ioc';
13
+ import { Inject } from '../../../ioc/component';
14
+ /**
15
+ * @description Core service for preparing static serve configuration
16
+ * Handles static serve service resolution and configuration
17
+ */
18
+ let PrepareStaticServeConfigService = class PrepareStaticServeConfigService {
19
+ serviceName = 'PrepareStaticServeConfigService';
20
+ container;
8
21
  async prepare(staticServeClass) {
9
22
  if (!staticServeClass) {
10
23
  return;
@@ -46,5 +59,13 @@ export class PrepareStaticServeConfigService extends PrepareService {
46
59
  }
47
60
  return baseStaticServeParams;
48
61
  }
49
- }
62
+ };
63
+ __decorate([
64
+ Inject(ICoreServiceNames.CONTAINER),
65
+ __metadata("design:type", Function)
66
+ ], PrepareStaticServeConfigService.prototype, "container", void 0);
67
+ PrepareStaticServeConfigService = __decorate([
68
+ CoreService(ICoreServiceNames.PREPARE_STATIC_SERVE_CONFIG_SERVICE)
69
+ ], PrepareStaticServeConfigService);
70
+ export { PrepareStaticServeConfigService };
50
71
  //# sourceMappingURL=PrepareStaticServeConfigService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrepareStaticServeConfigService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareStaticServeConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,MAAM,OAAO,+BAAgC,SAAQ,cAAc;IAEjE,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,gBAAkC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAElG,MAAM,0BAA0B,GAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA+B,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAEnH,MAAM,qBAAqB,GAA0B;YACnD,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,kBAAkB,EAAE,SAAS;YAC7B,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,IAAI,0BAA0B,CAAC,KAAK,EAAE,CAAC;YACrC,qBAAqB,CAAC,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC;QACjE,CAAC;QAED,IAAI,0BAA0B,CAAC,kBAAkB,EAAE,CAAC;YAClD,qBAAqB,CAAC,kBAAkB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC;QAC3F,CAAC;QAED,IAAI,0BAA0B,CAAC,OAAO,EAAE,CAAC;YACvC,qBAAqB,CAAC,OAAO,GAAG;gBAC9B,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC5E,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;aACzC,CAAC;QACJ,CAAC;QAED,IAAI,0BAA0B,CAAC,UAAU,EAAE,CAAC;YAC1C,qBAAqB,CAAC,UAAU,GAAG;gBACjC,OAAO,EAAE,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC/E,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;aAC5C,CAAC;QACJ,CAAC;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CAEF"}
1
+ {"version":3,"file":"PrepareStaticServeConfigService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareStaticServeConfigService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAkB,WAAW,EAAqB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD;;;GAGG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAEnC,WAAW,GAAG,iCAAiC,CAAC;IAG/C,SAAS,CAAY;IAEtB,KAAK,CAAC,OAAO,CAAC,gBAAkC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAElG,MAAM,0BAA0B,GAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA+B,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAEnH,MAAM,qBAAqB,GAA0B;YACnD,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,kBAAkB,EAAE,SAAS;YAC7B,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,IAAI,0BAA0B,CAAC,KAAK,EAAE,CAAC;YACrC,qBAAqB,CAAC,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC;QACjE,CAAC;QAED,IAAI,0BAA0B,CAAC,kBAAkB,EAAE,CAAC;YAClD,qBAAqB,CAAC,kBAAkB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC;QAC3F,CAAC;QAED,IAAI,0BAA0B,CAAC,OAAO,EAAE,CAAC;YACvC,qBAAqB,CAAC,OAAO,GAAG;gBAC9B,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC5E,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;aACzC,CAAC;QACJ,CAAC;QAED,IAAI,0BAA0B,CAAC,UAAU,EAAE,CAAC;YAC1C,qBAAqB,CAAC,UAAU,GAAG;gBACjC,OAAO,EAAE,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC/E,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;aAC5C,CAAC;QACJ,CAAC;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CAEF,CAAA;AAxDS;IADP,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;;kEACP;AALlB,+BAA+B;IAD3C,WAAW,CAAC,iBAAiB,CAAC,mCAAmC,CAAC;GACtD,+BAA+B,CA6D3C"}
@@ -1,9 +1,12 @@
1
- import { PrepareService } from '../PrepareService';
2
1
  import type { ValidatorClass } from '../../web/middleware';
3
2
  import { type BaseValidator } from '../../../adapter';
4
- import type { Container } from '../../../ioc';
5
- import type { ServerLogger } from '../../../logger';
6
- export declare class PrepareValidatorService extends PrepareService {
7
- constructor(container: Container, logger: ServerLogger);
3
+ import { type ICoreService } from '../../../ioc';
4
+ /**
5
+ * @description Core service for preparing validator instances
6
+ * Handles validator resolution and method binding
7
+ */
8
+ export declare class PrepareValidatorService implements ICoreService {
9
+ serviceName: string;
10
+ private container;
8
11
  prepare(Validator: ValidatorClass<any>): Promise<BaseValidator>;
9
12
  }
@@ -1,11 +1,24 @@
1
- import { PrepareService } from '../PrepareService';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
2
10
  import { getTypedMetadata } from '../../../utils/typedMetadata';
3
11
  import { ComponentConstants } from '../../../ioc/constants';
4
12
  import { VALIDATOR_METHODS } from '../../../adapter';
5
- export class PrepareValidatorService extends PrepareService {
6
- constructor(container, logger) {
7
- super(container, logger);
8
- }
13
+ import { CoreService, ICoreServiceNames } from '../../../ioc';
14
+ import { Inject } from '../../../ioc/component';
15
+ /**
16
+ * @description Core service for preparing validator instances
17
+ * Handles validator resolution and method binding
18
+ */
19
+ let PrepareValidatorService = class PrepareValidatorService {
20
+ serviceName = 'PrepareValidatorService';
21
+ container;
9
22
  async prepare(Validator) {
10
23
  if (!Validator) {
11
24
  return;
@@ -28,5 +41,13 @@ export class PrepareValidatorService extends PrepareService {
28
41
  });
29
42
  return baseValidatorMiddleware;
30
43
  }
31
- }
44
+ };
45
+ __decorate([
46
+ Inject(ICoreServiceNames.CONTAINER),
47
+ __metadata("design:type", Function)
48
+ ], PrepareValidatorService.prototype, "container", void 0);
49
+ PrepareValidatorService = __decorate([
50
+ CoreService(ICoreServiceNames.PREPARE_VALIDATOR_SERVICE)
51
+ ], PrepareValidatorService);
52
+ export { PrepareValidatorService };
32
53
  //# sourceMappingURL=PrepareValidatorService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrepareValidatorService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareValidatorService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAsB,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAIhG,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IAEzD,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAA8B;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE7E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA8B,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAElG,MAAM,uBAAuB,GAAkB,EAAE,CAAC;QAElD,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtF,uBAAuB,CAAC,GAAG,CAAC,GAAG;gBAC7B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBACtC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK;aACjB,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAEF"}
1
+ {"version":3,"file":"PrepareValidatorService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareValidatorService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAsB,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAkB,WAAW,EAAqB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD;;;GAGG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE3B,WAAW,GAAG,yBAAyB,CAAC;IAGvC,SAAS,CAAY;IAEtB,KAAK,CAAC,OAAO,CAAC,SAA8B;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE7E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA8B,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAElG,MAAM,uBAAuB,GAAkB,EAAE,CAAC;QAElD,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtF,uBAAuB,CAAC,GAAG,CAAC,GAAG;gBAC7B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBACtC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK;aACjB,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAEF,CAAA;AAjCS;IADP,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;;0DACP;AALlB,uBAAuB;IADnC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;GAC5C,uBAAuB,CAsCnC"}
@@ -1,8 +1,12 @@
1
- import { PrepareService } from '../PrepareService';
1
+ import type { ICoreService } from '../../../ioc';
2
2
  import type { AsenaWebSocketService, WebSocketData } from '../../web/websocket';
3
- import type { Container } from '../../../ioc';
4
- import type { ServerLogger } from '../../../logger';
5
- export declare class PrepareWebsocketService extends PrepareService {
6
- constructor(container: Container, logger: ServerLogger);
3
+ /**
4
+ * @description Core service for preparing WebSocket services
5
+ * Handles WebSocket resolution, path registration, and Ulak integration
6
+ */
7
+ export declare class PrepareWebsocketService implements ICoreService {
8
+ serviceName: string;
9
+ private container;
10
+ private ulak;
7
11
  prepare(): Promise<AsenaWebSocketService<WebSocketData<any>>[]>;
8
12
  }
@@ -1,15 +1,26 @@
1
- import { PrepareService } from '../PrepareService';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
2
10
  import { getOwnTypedMetadata } from '../../../utils/typedMetadata';
3
- import { ComponentConstants } from '../../../ioc/constants';
4
- import { ComponentType } from '../../../ioc/types';
5
- export class PrepareWebsocketService extends PrepareService {
6
- constructor(container, logger) {
7
- super(container, logger);
8
- }
11
+ import { ComponentConstants, ComponentType, CoreService, ICoreServiceNames } from '../../../ioc';
12
+ import { Inject } from '../../../ioc/component';
13
+ /**
14
+ * @description Core service for preparing WebSocket services
15
+ * Handles WebSocket resolution, path registration, and Ulak integration
16
+ */
17
+ let PrepareWebsocketService = class PrepareWebsocketService {
18
+ serviceName = 'PrepareWebsocketService';
19
+ container;
20
+ ulak;
9
21
  async prepare() {
10
22
  const webSockets = await this.container.resolveAll(ComponentType.WEBSOCKET);
11
23
  if (!webSockets?.length) {
12
- this.logger.info('No websockets found');
13
24
  return;
14
25
  }
15
26
  // flat the array
@@ -23,9 +34,24 @@ export class PrepareWebsocketService extends PrepareService {
23
34
  }
24
35
  registeredPaths.add(path);
25
36
  webSocket.namespace = path;
37
+ // Register with Ulak messaging system
38
+ // Note: WebSocket decorator removes leading '/', but Ulak uses it for consistency
39
+ this.ulak.registerNamespace(`/${path}`, webSocket);
26
40
  preparedWebsockets.push(webSocket);
27
41
  }
28
42
  return preparedWebsockets;
29
43
  }
30
- }
44
+ };
45
+ __decorate([
46
+ Inject(ICoreServiceNames.CONTAINER),
47
+ __metadata("design:type", Function)
48
+ ], PrepareWebsocketService.prototype, "container", void 0);
49
+ __decorate([
50
+ Inject(ICoreServiceNames.__ULAK__),
51
+ __metadata("design:type", Function)
52
+ ], PrepareWebsocketService.prototype, "ulak", void 0);
53
+ PrepareWebsocketService = __decorate([
54
+ CoreService(ICoreServiceNames.PREPARE_WEBSOCKET_SERVICE)
55
+ ], PrepareWebsocketService);
56
+ export { PrepareWebsocketService };
31
57
  //# sourceMappingURL=PrepareWebsocketService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrepareWebsocketService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareWebsocketService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IAEzD,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAuC,aAAa,CAAC,SAAS,CAAC,CAAC;QAElH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,MAAM,kBAAkB,GAAgD,EAAE,CAAC;QAE3E,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YAE5F,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;YAE3B,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CAEF"}
1
+ {"version":3,"file":"PrepareWebsocketService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareWebsocketService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD;;;GAGG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE3B,WAAW,GAAG,yBAAyB,CAAC;IAGvC,SAAS,CAAY;IAGrB,IAAI,CAAO;IAEZ,KAAK,CAAC,OAAO;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAuC,aAAa,CAAC,SAAS,CAAC,CAAC;QAElH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,MAAM,kBAAkB,GAAgD,EAAE,CAAC;QAE3E,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YAE5F,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;YAE3B,sCAAsC;YACtC,kFAAkF;YAClF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YAEnD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CAEF,CAAA;AAtCS;IADP,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;;0DACP;AAGrB;IADP,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;;qDAChB;AARR,uBAAuB;IADnC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;GAC5C,uBAAuB,CA2CnC"}
@@ -1,4 +1,4 @@
1
- import type { ApiParams, ControllerDecoratorParams, ControllerHandler } from "../../../adapter";
1
+ import type { ApiParams, ControllerDecoratorParams, ControllerHandler } from '../../../adapter';
2
2
  export declare function genericHandler({ method, path, description, middlewares, staticServe, validator }: ApiParams): (route: Object, propertyKey: string, _descriptor: TypedPropertyDescriptor<ControllerHandler>) => void;
3
3
  export declare const DEFAULT_PARAMS: ControllerDecoratorParams;
4
4
  export declare const generateHandlerParams: (params: ControllerDecoratorParams | string) => ControllerDecoratorParams;
@@ -1 +1 @@
1
- {"version":3,"file":"http.base.js","sourceRoot":"","sources":["../../../../../lib/server/web/decorators/http.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAQxF,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAa;IAC1G,OAAO,UAAU,KAAa,EAAE,WAAmB,EAAE,WAAuD;QAC1G,MAAM,MAAM,GAAG,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC3F,CAAC;QAED,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnF,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAA0C,EAA6B,EAAE;IAC7G,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,cAAc;YACjB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,MAAM;QACT,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"http.base.js","sourceRoot":"","sources":["../../../../../lib/server/web/decorators/http.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxF,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAa;IAC1G,OAAO,UAAU,KAAa,EAAE,WAAmB,EAAE,WAAuD;QAC1G,MAAM,MAAM,GAAG,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC3F,CAAC;QAED,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnF,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAA0C,EAA6B,EAAE;IAC7G,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,cAAc;YACjB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,MAAM;QACT,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP CONNECT requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the CONNECT request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP DELETE requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the DELETE request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP GET requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the GET request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP HEAD requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the HEAD request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP OPTIONS requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the OPTIONS request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP PATCH requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the PATCH request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP POST requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the POST request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP PUT requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the PUT request.
@@ -1,4 +1,4 @@
1
- import type { ControllerDecoratorParams } from "../../../../adapter";
1
+ import type { ControllerDecoratorParams } from '../../../../adapter';
2
2
  /**
3
3
  * Decorator for handling HTTP TRACE requests.
4
4
  * @param {ControllerDecoratorParams | string} params - The parameters for the TRACE request.
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaSocket.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsenaSocket.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaSocket.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import type { Server } from 'bun';
2
2
  /**
3
3
  * AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
4
4
  *
5
- * This class provides a wrapper around Bun's WebSocket Server implementation with additional
6
- * functionality for managing topics and message publishing.
5
+ * This class provides a thin wrapper around Bun's WebSocket Server implementation.
6
+ * All WebSocket services share a single instance of this wrapper for efficiency.
7
7
  */
8
8
  export declare class AsenaWebSocketServer {
9
9
  /**
@@ -11,19 +11,12 @@ export declare class AsenaWebSocketServer {
11
11
  * @private
12
12
  */
13
13
  private server;
14
- /**
15
- * The topic identifier for this WebSocket server
16
- * @private
17
- * @readonly
18
- */
19
- private readonly topic;
20
14
  /**
21
15
  * Creates a new instance of AsenaWebSocketServer
22
16
  *
23
17
  * @param server - The Bun Server instance to use
24
- * @param topic - The topic identifier for this WebSocket server
25
18
  */
26
- constructor(server: Server, topic: string);
19
+ constructor(server: Server<any>);
27
20
  /**
28
21
  * Publishes data to a specific namespace
29
22
  *
@@ -39,10 +32,4 @@ export declare class AsenaWebSocketServer {
39
32
  * @param data - The data to publish
40
33
  */
41
34
  in(nameSpace: string, data?: any): void;
42
- /**
43
- * Gets the current number of WebSocket subscribers for this server's topic
44
- *
45
- * @returns The number of active WebSocket connections
46
- */
47
- get websocketCount(): number;
48
35
  }
@@ -1,9 +1,8 @@
1
- // TODO: this section needs to rework
2
1
  /**
3
2
  * AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
4
3
  *
5
- * This class provides a wrapper around Bun's WebSocket Server implementation with additional
6
- * functionality for managing topics and message publishing.
4
+ * This class provides a thin wrapper around Bun's WebSocket Server implementation.
5
+ * All WebSocket services share a single instance of this wrapper for efficiency.
7
6
  */
8
7
  export class AsenaWebSocketServer {
9
8
  /**
@@ -11,21 +10,13 @@ export class AsenaWebSocketServer {
11
10
  * @private
12
11
  */
13
12
  server;
14
- /**
15
- * The topic identifier for this WebSocket server
16
- * @private
17
- * @readonly
18
- */
19
- topic;
20
13
  /**
21
14
  * Creates a new instance of AsenaWebSocketServer
22
15
  *
23
16
  * @param server - The Bun Server instance to use
24
- * @param topic - The topic identifier for this WebSocket server
25
17
  */
26
- constructor(server, topic) {
18
+ constructor(server) {
27
19
  this.server = server;
28
- this.topic = topic;
29
20
  }
30
21
  /**
31
22
  * Publishes data to a specific namespace
@@ -55,13 +46,5 @@ export class AsenaWebSocketServer {
55
46
  in(nameSpace, data) {
56
47
  this.to(nameSpace, data);
57
48
  }
58
- /**
59
- * Gets the current number of WebSocket subscribers for this server's topic
60
- *
61
- * @returns The number of active WebSocket connections
62
- */
63
- get websocketCount() {
64
- return this.server.subscriberCount(this.topic);
65
- }
66
49
  }
67
50
  //# sourceMappingURL=AsenaWebSocketServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaWebSocketServer.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketServer.ts"],"names":[],"mappings":"AACA,qCAAqC;AACrC;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAE/B;;;OAGG;IACK,MAAM,CAAS;IAEvB;;;;OAIG;IACc,KAAK,CAAS;IAE/B;;;;;OAKG;IACH,YAAmB,MAAc,EAAE,KAAa;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CAEF"}
1
+ {"version":3,"file":"AsenaWebSocketServer.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketServer.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAE/B;;;OAGG;IACK,MAAM,CAAc;IAE5B;;;;OAIG;IACH,YAAmB,MAAmB;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;CAEF"}
@@ -1,4 +1,4 @@
1
1
  export * from './AsenaWebSocketService';
2
2
  export * from './types';
3
3
  export * from './AsenaSocket';
4
- export * from "./AsenaWebSocketServer";
4
+ export * from './AsenaWebSocketServer';
@@ -1,5 +1,5 @@
1
1
  export * from './AsenaWebSocketService';
2
2
  export * from './types';
3
3
  export * from './AsenaSocket';
4
- export * from "./AsenaWebSocketServer";
4
+ export * from './AsenaWebSocketServer';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Pattern matching utility for global middleware routing
3
+ *
4
+ * Supports:
5
+ * - Exact match: '/users'
6
+ * - Wildcard: '/api/*'
7
+ * - Parameters: '/users/:id'
8
+ * - Multiple patterns: ['/api/*', '/admin/*']
9
+ */
10
+ import type { GlobalMiddlewareRouteConfig } from '../server/config';
11
+ /**
12
+ * Checks if a path matches a pattern
13
+ *
14
+ * @param path - Request path to test (e.g., '/api/users/123')
15
+ * @param pattern - Pattern to match against (e.g., '/api/*', '/users/:id')
16
+ * @returns true if path matches pattern
17
+ *
18
+ * @example
19
+ * matchesPattern('/api/users', '/api/*') // => true
20
+ * matchesPattern('/api/users/123', '/api/users/:id') // => true
21
+ * matchesPattern('/health', '/api/*') // => false
22
+ */
23
+ export declare function matchesPattern(path: string, pattern: string): boolean;
24
+ /**
25
+ * Checks if a path should have middleware applied based on include/exclude rules
26
+ *
27
+ * Rules:
28
+ * 1. If no include patterns, default to ['*'] (all routes)
29
+ * 2. Path must match at least one include pattern
30
+ * 3. Exclude patterns take precedence (if matched, return false)
31
+ *
32
+ * @param path - Request path to test
33
+ * @param config - Route configuration with include/exclude patterns
34
+ * @returns true if middleware should be applied to this path
35
+ *
36
+ * @example
37
+ * shouldApplyMiddleware('/api/users', { include: ['/api/*'] }) // => true
38
+ * shouldApplyMiddleware('/health', { exclude: ['/health'] }) // => false
39
+ * shouldApplyMiddleware('/api/health', { include: ['/api/*'], exclude: ['/api/health'] }) // => false
40
+ */
41
+ export declare function shouldApplyMiddleware(path: string, config?: GlobalMiddlewareRouteConfig): boolean;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Pattern matching utility for global middleware routing
3
+ *
4
+ * Supports:
5
+ * - Exact match: '/users'
6
+ * - Wildcard: '/api/*'
7
+ * - Parameters: '/users/:id'
8
+ * - Multiple patterns: ['/api/*', '/admin/*']
9
+ */
10
+ /**
11
+ * Checks if a path matches a pattern
12
+ *
13
+ * @param path - Request path to test (e.g., '/api/users/123')
14
+ * @param pattern - Pattern to match against (e.g., '/api/*', '/users/:id')
15
+ * @returns true if path matches pattern
16
+ *
17
+ * @example
18
+ * matchesPattern('/api/users', '/api/*') // => true
19
+ * matchesPattern('/api/users/123', '/api/users/:id') // => true
20
+ * matchesPattern('/health', '/api/*') // => false
21
+ */
22
+ export function matchesPattern(path, pattern) {
23
+ // Exact match
24
+ if (path === pattern) {
25
+ return true;
26
+ }
27
+ // Wildcard pattern: /api/* matches /api/users, /api/users/123, etc.
28
+ if (pattern.includes('*')) {
29
+ const regexPattern = pattern
30
+ .split('/')
31
+ .map((segment) => {
32
+ if (segment === '*') {
33
+ return '.*'; // Match any characters
34
+ }
35
+ if (segment.includes('*')) {
36
+ return segment.replace(/\*/g, '.*'); // Partial wildcard
37
+ }
38
+ return segment.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // Escape special chars
39
+ })
40
+ .join('\\/');
41
+ const regex = new RegExp(`^${regexPattern}$`);
42
+ return regex.test(path);
43
+ }
44
+ // Parameter pattern: /users/:id matches /users/123, /users/abc, etc.
45
+ if (pattern.includes(':')) {
46
+ const regexPattern = pattern
47
+ .split('/')
48
+ .map((segment) => {
49
+ if (segment.startsWith(':')) {
50
+ return '[^/]+'; // Match any non-slash characters
51
+ }
52
+ return segment.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // Escape special chars
53
+ })
54
+ .join('\\/');
55
+ const regex = new RegExp(`^${regexPattern}$`);
56
+ return regex.test(path);
57
+ }
58
+ // No match
59
+ return false;
60
+ }
61
+ /**
62
+ * Checks if a path should have middleware applied based on include/exclude rules
63
+ *
64
+ * Rules:
65
+ * 1. If no include patterns, default to ['*'] (all routes)
66
+ * 2. Path must match at least one include pattern
67
+ * 3. Exclude patterns take precedence (if matched, return false)
68
+ *
69
+ * @param path - Request path to test
70
+ * @param config - Route configuration with include/exclude patterns
71
+ * @returns true if middleware should be applied to this path
72
+ *
73
+ * @example
74
+ * shouldApplyMiddleware('/api/users', { include: ['/api/*'] }) // => true
75
+ * shouldApplyMiddleware('/health', { exclude: ['/health'] }) // => false
76
+ * shouldApplyMiddleware('/api/health', { include: ['/api/*'], exclude: ['/api/health'] }) // => false
77
+ */
78
+ export function shouldApplyMiddleware(path, config) {
79
+ // No config means apply to all routes
80
+ if (!config) {
81
+ return true;
82
+ }
83
+ const { include = ['*'], exclude = [] } = config;
84
+ // Check exclusions first (they take precedence)
85
+ for (const excludePattern of exclude) {
86
+ if (matchesPattern(path, excludePattern)) {
87
+ return false; // Excluded, don't apply
88
+ }
89
+ }
90
+ // Check inclusions
91
+ for (const includePattern of include) {
92
+ if (matchesPattern(path, includePattern)) {
93
+ return true; // Included and not excluded, apply
94
+ }
95
+ }
96
+ // Not included, don't apply
97
+ return false;
98
+ }
99
+ //# sourceMappingURL=patternMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patternMatcher.js","sourceRoot":"","sources":["../../../lib/utils/patternMatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC1D,cAAc;IACd,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,CAAC,uBAAuB;YACtC,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB;YAC1D,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB;QAChF,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC,CAAC,iCAAiC;YACnD,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB;QAChF,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW;IACX,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAAoC;IACtF,sCAAsC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEjD,gDAAgD;IAChD,KAAK,MAAM,cAAc,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,wBAAwB;QACxC,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,cAAc,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,CAAC,mCAAmC;QAClD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC"}