@asenajs/asena 0.4.0 → 0.6.0-beta.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 (126) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.js +0 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
  5. package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
  6. package/dist/lib/ioc/CircularDependencyDetector.js.map +1 -1
  7. package/dist/lib/ioc/Container.d.ts +7 -0
  8. package/dist/lib/ioc/Container.js +25 -6
  9. package/dist/lib/ioc/Container.js.map +1 -1
  10. package/dist/lib/ioc/CoreContainer.d.ts +1 -1
  11. package/dist/lib/ioc/CoreContainer.js +12 -1
  12. package/dist/lib/ioc/CoreContainer.js.map +1 -1
  13. package/dist/lib/ioc/IocEngine.js +0 -2
  14. package/dist/lib/ioc/IocEngine.js.map +1 -1
  15. package/dist/lib/ioc/component/componentUtils.js.map +1 -1
  16. package/dist/lib/ioc/component/decorators/Inject.d.ts +24 -4
  17. package/dist/lib/ioc/component/decorators/Inject.js +44 -7
  18. package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
  19. package/dist/lib/ioc/constants/ComponentConstants.d.ts +2 -0
  20. package/dist/lib/ioc/constants/ComponentConstants.js +3 -0
  21. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  22. package/dist/lib/ioc/types/ICoreServiceNamesType.d.ts +4 -0
  23. package/dist/lib/ioc/types/ICoreServiceNamesType.js +6 -0
  24. package/dist/lib/ioc/types/ICoreServiceNamesType.js.map +1 -1
  25. package/dist/lib/ioc/types/decorators/ComponentType.d.ts +2 -1
  26. package/dist/lib/ioc/types/decorators/ComponentType.js +1 -0
  27. package/dist/lib/ioc/types/decorators/ComponentType.js.map +1 -1
  28. package/dist/lib/server/AsenaServer.d.ts +1 -0
  29. package/dist/lib/server/AsenaServer.js +16 -10
  30. package/dist/lib/server/AsenaServer.js.map +1 -1
  31. package/dist/lib/server/AsenaServerFactory.js +8 -0
  32. package/dist/lib/server/AsenaServerFactory.js.map +1 -1
  33. package/dist/lib/server/decorators/components/Controller.js +1 -2
  34. package/dist/lib/server/decorators/components/Controller.js.map +1 -1
  35. package/dist/lib/server/decorators/components/EventService.d.ts +37 -0
  36. package/dist/lib/server/decorators/components/EventService.js +47 -0
  37. package/dist/lib/server/decorators/components/EventService.js.map +1 -0
  38. package/dist/lib/server/decorators/components/Middleware.js +1 -2
  39. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  40. package/dist/lib/server/decorators/components/Schedule.js +1 -2
  41. package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
  42. package/dist/lib/server/decorators/components/StaticServe.js +1 -1
  43. package/dist/lib/server/decorators/components/StaticServe.js.map +1 -1
  44. package/dist/lib/server/decorators/components/WebSocket.js +1 -2
  45. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  46. package/dist/lib/server/decorators/components/index.d.ts +1 -0
  47. package/dist/lib/server/decorators/components/index.js +1 -0
  48. package/dist/lib/server/decorators/components/index.js.map +1 -1
  49. package/dist/lib/server/decorators/index.d.ts +1 -0
  50. package/dist/lib/server/decorators/index.js +1 -0
  51. package/dist/lib/server/decorators/index.js.map +1 -1
  52. package/dist/lib/server/event/EventDispatchService.d.ts +104 -0
  53. package/dist/lib/server/event/EventDispatchService.js +203 -0
  54. package/dist/lib/server/event/EventDispatchService.js.map +1 -0
  55. package/dist/lib/server/event/EventEmitter.d.ts +67 -0
  56. package/dist/lib/server/event/EventEmitter.js +88 -0
  57. package/dist/lib/server/event/EventEmitter.js.map +1 -0
  58. package/dist/lib/server/event/EventService.d.ts +5 -0
  59. package/dist/lib/server/event/EventService.js +6 -0
  60. package/dist/lib/server/event/EventService.js.map +1 -0
  61. package/dist/lib/server/event/decorators/On.d.ts +38 -0
  62. package/dist/lib/server/event/decorators/On.js +56 -0
  63. package/dist/lib/server/event/decorators/On.js.map +1 -0
  64. package/dist/lib/server/event/decorators/index.d.ts +1 -0
  65. package/dist/lib/server/event/decorators/index.js +2 -0
  66. package/dist/lib/server/event/decorators/index.js.map +1 -0
  67. package/dist/lib/server/event/emitter.d.ts +21 -0
  68. package/dist/lib/server/event/emitter.js +25 -0
  69. package/dist/lib/server/event/emitter.js.map +1 -0
  70. package/dist/lib/server/event/eventPatternMatcher.d.ts +24 -0
  71. package/dist/lib/server/event/eventPatternMatcher.js +112 -0
  72. package/dist/lib/server/event/eventPatternMatcher.js.map +1 -0
  73. package/dist/lib/server/event/index.d.ts +6 -0
  74. package/dist/lib/server/event/index.js +12 -0
  75. package/dist/lib/server/event/index.js.map +1 -0
  76. package/dist/lib/server/event/types.d.ts +70 -0
  77. package/dist/lib/server/event/types.js +2 -0
  78. package/dist/lib/server/event/types.js.map +1 -0
  79. package/dist/lib/server/index.d.ts +0 -1
  80. package/dist/lib/server/index.js +0 -1
  81. package/dist/lib/server/index.js.map +1 -1
  82. package/dist/lib/server/messaging/Ulak.d.ts +224 -0
  83. package/dist/lib/server/messaging/Ulak.js +351 -0
  84. package/dist/lib/server/messaging/Ulak.js.map +1 -0
  85. package/dist/lib/server/messaging/index.d.ts +8 -0
  86. package/dist/lib/server/messaging/index.js +9 -0
  87. package/dist/lib/server/messaging/index.js.map +1 -0
  88. package/dist/lib/server/messaging/types.d.ts +73 -0
  89. package/dist/lib/server/messaging/types.js +35 -0
  90. package/dist/lib/server/messaging/types.js.map +1 -0
  91. package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -1
  92. package/dist/lib/server/src/services/PrepareEventService.d.ts +40 -0
  93. package/dist/lib/server/src/services/PrepareEventService.js +103 -0
  94. package/dist/lib/server/src/services/PrepareEventService.js.map +1 -0
  95. package/dist/lib/server/src/services/PrepareMiddlewareService.js +1 -2
  96. package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -1
  97. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +3 -3
  98. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -1
  99. package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -1
  100. package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +4 -3
  101. package/dist/lib/server/src/services/PrepareWebsocketService.js +11 -4
  102. package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -1
  103. package/dist/lib/server/web/decorators/http.base.d.ts +1 -1
  104. package/dist/lib/server/web/decorators/http.base.js +1 -1
  105. package/dist/lib/server/web/decorators/http.base.js.map +1 -1
  106. package/dist/lib/server/web/helper/middlewareHelper.d.ts +1 -1
  107. package/dist/lib/server/web/helper/middlewareHelper.js +1 -1
  108. package/dist/lib/server/web/helper/middlewareHelper.js.map +1 -1
  109. package/dist/lib/server/web/middleware/AsenaMiddlewareService.js.map +1 -1
  110. package/dist/lib/server/web/middleware/AsenaStaticServeService.d.ts +1 -1
  111. package/dist/lib/server/web/middleware/AsenaStaticServeService.js.map +1 -1
  112. package/dist/lib/server/web/websocket/AsenaSocket.d.ts +237 -4
  113. package/dist/lib/server/web/websocket/AsenaSocket.js +234 -32
  114. package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
  115. package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +3 -16
  116. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +3 -20
  117. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
  118. package/dist/lib/server/web/websocket/AsenaWebSocketService.d.ts +0 -13
  119. package/dist/lib/server/web/websocket/AsenaWebSocketService.js +1 -21
  120. package/dist/lib/server/web/websocket/AsenaWebSocketService.js.map +1 -1
  121. package/dist/lib/utils/index.d.ts +2 -0
  122. package/dist/lib/utils/index.js +3 -0
  123. package/dist/lib/utils/index.js.map +1 -0
  124. package/dist/lib/utils/typedMetadata.js +0 -1
  125. package/dist/lib/utils/typedMetadata.js.map +1 -1
  126. package/package.json +32 -15
package/dist/index.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export { AsenaServerFactory, AsenaServer } from './lib/server';
2
- export { ICoreServiceNames, ComponentConstants } from './lib/ioc';
package/dist/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  export { AsenaServerFactory, AsenaServer } from './lib/server';
2
- export { ICoreServiceNames, ComponentConstants } from './lib/ioc';
3
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaAdapter.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,MAAM,OAAgB,YAAY;IAEhC;;OAEG;IACa,IAAI,CAAS;IAE7B;;OAEG;IACO,IAAI,CAAS;IAEvB;;OAEG;IACO,MAAM,GAAiB,OAAO,CAAC;IAEzC;;OAEG;IACO,gBAAgB,CAAwB;IAElD;;;;OAIG;IACH,YAAsB,MAAoB,EAAE,gBAAwC;QAClF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC3C,CAAC;IACH,CAAC;CAuEF"}
1
+ {"version":3,"file":"AsenaAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaAdapter.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,MAAM,OAAgB,YAAY;IAChC;;OAEG;IACa,IAAI,CAAS;IAE7B;;OAEG;IACO,IAAI,CAAS;IAEvB;;OAEG;IACO,MAAM,GAAiB,OAAO,CAAC;IAEzC;;OAEG;IACO,gBAAgB,CAAwB;IAElD;;;;OAIG;IACH,YAAsB,MAAoB,EAAE,gBAAwC;QAClF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC3C,CAAC;IACH,CAAC;CAsEF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaWebsocketAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaWebsocketAdapter.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAgB,qBAAqB;IAEzB,IAAI,CAAS;IAE7B;;;;;;;;OAQG;IACO,WAAW,CAAoB;IAEzC;;;OAGG;IACK,UAAU,CAAwB;IAE1C;;;OAGG;IACK,OAAO,GAAiB,OAAO,CAAC;IAExC;;;OAGG;IACH,YAAsB,MAAoB;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAoBD;;OAEG;IACH,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAc,UAAU,CAAC,KAAwB;QAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS,CAAC,KAA4B;QAC/C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,KAAmB;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CAEF"}
1
+ {"version":3,"file":"AsenaWebsocketAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaWebsocketAdapter.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAgB,qBAAqB;IACzB,IAAI,CAAS;IAE7B;;;;;;;;OAQG;IACO,WAAW,CAAoB;IAEzC;;;OAGG;IACK,UAAU,CAAwB;IAE1C;;;OAGG;IACK,OAAO,GAAiB,OAAO,CAAC;IAExC;;;OAGG;IACH,YAAsB,MAAoB;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAoBD;;OAEG;IACH,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAc,UAAU,CAAC,KAAwB;QAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS,CAAC,KAA4B;QAC/C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,KAAmB;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"CircularDependencyDetector.js","sourceRoot":"","sources":["../../../lib/ioc/CircularDependencyDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAEhD,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CAEF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAE7B,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEjD;;;;;OAKG;IACI,aAAa,CAAC,WAAmB;QACtC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,IAAI,uBAAuB,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,WAAmB;QAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,WAAmB;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC;IACzC,CAAC;CAEF"}
1
+ {"version":3,"file":"CircularDependencyDetector.js","sourceRoot":"","sources":["../../../lib/ioc/CircularDependencyDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAC7B,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEjD;;;;;OAKG;IACI,aAAa,CAAC,WAAmB;QACtC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,IAAI,uBAAuB,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,WAAmB;QAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,WAAmB;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -36,6 +36,13 @@ export declare class Container {
36
36
  private executePostConstructs;
37
37
  private injectStrategies;
38
38
  private injectDependencies;
39
+ /**
40
+ * @description Checks if a class is a framework class (CoreService)
41
+ * Framework classes can traverse the prototype chain even if they contain native code patterns
42
+ * @param {any} cls - The class to check
43
+ * @returns {boolean} True if the class is a framework class
44
+ */
45
+ private isFrameworkClass;
39
46
  private getPrototypeChain;
40
47
  get services(): {
41
48
  [p: string]: ContainerService | ContainerService[];
@@ -1,6 +1,7 @@
1
1
  import { ComponentConstants } from './constants';
2
2
  import { getOwnTypedMetadata, getTypedMetadata } from '../utils/typedMetadata';
3
3
  import { CircularDependencyDetector } from './CircularDependencyDetector';
4
+ import { CORE_SERVICE } from './decorators';
4
5
  export class Container {
5
6
  _services = {};
6
7
  circularDetector = new CircularDependencyDetector();
@@ -162,7 +163,7 @@ export class Container {
162
163
  const expression = getOwnTypedMetadata(ComponentConstants.ExpressionKey, classInChain);
163
164
  Object.defineProperty(newInstance, propertyKey, {
164
165
  get() {
165
- return expression && expression[propertyKey] ? strategy.map((s) => expression[propertyKey](s)) : strategy;
166
+ return expression?.[propertyKey] ? strategy.map((s) => expression[propertyKey](s)) : strategy;
166
167
  },
167
168
  enumerable: true,
168
169
  configurable: true,
@@ -179,7 +180,7 @@ export class Container {
179
180
  let property;
180
181
  for (const [k, name] of Object.entries(deps)) {
181
182
  property = Object.getOwnPropertyDescriptor(newInstance, k);
182
- if (property && property.value !== undefined)
183
+ if (property?.value !== undefined)
183
184
  continue;
184
185
  const instance = await this.resolve(name);
185
186
  if (instance === null) {
@@ -191,7 +192,7 @@ export class Container {
191
192
  const expression = getOwnTypedMetadata(ComponentConstants.ExpressionKey, classInChain);
192
193
  Object.defineProperty(newInstance, k, {
193
194
  get: () => {
194
- return expression && expression[k] ? expression[k](instance) : instance;
195
+ return expression?.[k] ? expression[k](instance) : instance;
195
196
  },
196
197
  enumerable: true,
197
198
  configurable: true,
@@ -199,12 +200,30 @@ export class Container {
199
200
  }
200
201
  }
201
202
  }
203
+ /**
204
+ * @description Checks if a class is a framework class (CoreService)
205
+ * Framework classes can traverse the prototype chain even if they contain native code patterns
206
+ * @param {any} cls - The class to check
207
+ * @returns {boolean} True if the class is a framework class
208
+ */
209
+ isFrameworkClass(cls) {
210
+ if (!cls || cls === Object.prototype) {
211
+ return false;
212
+ }
213
+ // Check if class is marked as a CoreService
214
+ const isCoreService = getTypedMetadata(CORE_SERVICE, cls);
215
+ return Boolean(isCoreService);
216
+ }
202
217
  getPrototypeChain(Class) {
203
218
  const chain = [];
204
219
  let currentClass = Class;
205
- while (currentClass &&
206
- currentClass !== Object.prototype &&
207
- (currentClass.name === 'IocEngine' || !currentClass.toString().includes('[native code]'))) {
220
+ while (currentClass && currentClass !== Object.prototype) {
221
+ const classSource = currentClass.toString();
222
+ const isNativeCode = classSource.includes('[native code]');
223
+ // Stop at native code unless it's a framework class
224
+ if (isNativeCode && !this.isFrameworkClass(currentClass)) {
225
+ break;
226
+ }
208
227
  chain.push(currentClass);
209
228
  currentClass = Object.getPrototypeOf(currentClass);
210
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/ioc/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/ioc/Container.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export declare class CoreContainer {
55
55
  */
56
56
  private registerAdapters;
57
57
  /**
58
- * @description Phase 5: Register all Prepare Services
58
+ * @description Phase 5: Register all Prepare Services and Internal Services
59
59
  * They will inject Container and Logger automatically
60
60
  * @returns {Promise<void>}
61
61
  */
@@ -6,6 +6,10 @@ import { PrepareConfigService } from '../server/src/services/PrepareConfigServic
6
6
  import { PrepareWebsocketService } from '../server/src/services/PrepareWebsocketService';
7
7
  import { PrepareValidatorService } from '../server/src/services/PrepareValidatorService';
8
8
  import { PrepareStaticServeConfigService } from '../server/src/services/PrepareStaticServeConfigService';
9
+ import { PrepareEventService } from '../server/src/services/PrepareEventService';
10
+ import { Ulak } from '../server/messaging/Ulak';
11
+ import { EventDispatchService } from '../server/event/EventDispatchService';
12
+ import { EventEmitter } from '../server/event/EventEmitter';
9
13
  /**
10
14
  * @description CoreContainer manages framework-level services
11
15
  * Handles the bootstrap sequence for core services and user components
@@ -93,17 +97,24 @@ export class CoreContainer {
93
97
  this._phase = CoreBootstrapPhase.PREPARE_SERVICES_INIT;
94
98
  }
95
99
  /**
96
- * @description Phase 5: Register all Prepare Services
100
+ * @description Phase 5: Register all Prepare Services and Internal Services
97
101
  * They will inject Container and Logger automatically
98
102
  * @returns {Promise<void>}
99
103
  */
100
104
  async registerPrepareServices() {
101
105
  const services = [
106
+ // Internal messaging system (must be registered before prepare services)
107
+ { name: ICoreServiceNames.__ULAK__, Class: Ulak },
108
+ // Event system (must be registered before PrepareEventService)
109
+ { name: ICoreServiceNames.EVENT_DISPATCH_SERVICE, Class: EventDispatchService },
110
+ { name: ICoreServiceNames.EVENT_EMITTER, Class: EventEmitter },
111
+ // Prepare services
102
112
  { name: ICoreServiceNames.PREPARE_MIDDLEWARE_SERVICE, Class: PrepareMiddlewareService },
103
113
  { name: ICoreServiceNames.PREPARE_CONFIG_SERVICE, Class: PrepareConfigService },
104
114
  { name: ICoreServiceNames.PREPARE_WEBSOCKET_SERVICE, Class: PrepareWebsocketService },
105
115
  { name: ICoreServiceNames.PREPARE_VALIDATOR_SERVICE, Class: PrepareValidatorService },
106
116
  { name: ICoreServiceNames.PREPARE_STATIC_SERVE_CONFIG_SERVICE, Class: PrepareStaticServeConfigService },
117
+ { name: ICoreServiceNames.PREPARE_EVENT_SERVICE, Class: PrepareEventService },
107
118
  ];
108
119
  for (const service of services) {
109
120
  await this._container.register(service.name, service.Class, true);
@@ -1 +1 @@
1
- {"version":3,"file":"CoreContainer.js","sourceRoot":"","sources":["../../../lib/ioc/CoreContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreContainer.js","sourceRoot":"","sources":["../../../lib/ioc/CoreContainer.ts"],"names":[],"mappings":"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"}
@@ -153,7 +153,6 @@ let IocEngine = class IocEngine {
153
153
  }
154
154
  return sorted.reverse();
155
155
  }
156
- // eslint-disable-next-line max-params
157
156
  initializeGraph(classes, injectables, inDegree, adjacencyList, nameToClass) {
158
157
  classes.forEach((cls) => {
159
158
  const name = getTypedMetadata(ComponentConstants.NameKey, cls) || cls.name;
@@ -211,7 +210,6 @@ let IocEngine = class IocEngine {
211
210
  if (parentClass &&
212
211
  parentClass !== Object.prototype &&
213
212
  // circular detection
214
- // eslint-disable-next-line no-useless-concat
215
213
  parentClass.toString() !== 'function () {\n' + ' [native code]\n' + '}') {
216
214
  const parentDependencies = this.getDependencies(parentClass);
217
215
  const parentName = getTypedMetadata(ComponentConstants.NameKey, parentClass) || parentClass.name;
@@ -1 +1 @@
1
- {"version":3,"file":"IocEngine.js","sourceRoot":"","sources":["../../../lib/ioc/IocEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IocEngine.js","sourceRoot":"","sources":["../../../lib/ioc/IocEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../../../lib/ioc/component/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAA0D,MAAM,UAAU,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,MAAkB,EAClB,KAAkC,EAClB,EAAE;IAClB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/F,mBAAmB,CAAU,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1D,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5E,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvE,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9F,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1F,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,MAAgC,EAChC,aAA4B,EACK,EAAE;IACnC,MAAM,YAAY,GAAoC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE5F,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,aAAa,KAAK,aAAa,CAAC,UAAU,IAAI,aAAa,KAAK,aAAa,CAAC,SAAS,CAAC,EACzF,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC;AAChF,CAAC,CAAC"}
1
+ {"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../../../lib/ioc/component/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAsC,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,MAAkB,EAClB,KAAkC,EAClB,EAAE;IAClB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/F,mBAAmB,CAAU,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1D,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5E,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvE,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9F,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1F,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAgC,EAAE,aAA4B,EAAmB,EAAE;IAC1G,MAAM,YAAY,GAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE5E,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,aAAa,KAAK,aAAa,CAAC,UAAU,IAAI,aAAa,KAAK,aAAa,CAAC,SAAS,CAAC,EACzF,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC;AAChF,CAAC,CAAC"}
@@ -2,8 +2,28 @@ import type { Class } from '../../../server/types';
2
2
  /**
3
3
  * Property decorator to inject a dependency.
4
4
  *
5
- * @param {Class } Injection - The class of component to inject.
6
- * @param expression - The expression to evaluate on the injected class.
7
- * @returns {PropertyDecorator} - The property decorator function.
5
+ * Supports three syntaxes:
6
+ * 1. Class injection: `@Inject(UserService)`
7
+ * 2. String injection with expression: `@Inject('UserService', (s) => s.getUsers())`
8
+ * 3. Tuple injection (helper pattern): `@Inject(ulak('/chat'))` where ulak() returns [serviceName, expression]
9
+ *
10
+ * @param {Class | string | readonly [string, (injectedClass: any) => any]} Injection - The dependency to inject
11
+ * @param expression - Optional expression to evaluate on the injected class (only used with Class or string)
12
+ * @returns {PropertyDecorator} - The property decorator function
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Class injection
17
+ * @Inject(UserService)
18
+ * private userService: UserService;
19
+ *
20
+ * // String injection with expression
21
+ * @Inject('UserService', (s) => s.getAllUsers())
22
+ * private users: User[];
23
+ *
24
+ * // Tuple injection (helper pattern)
25
+ * @Inject(ulak('/chat'))
26
+ * private chat: Ulak.NameSpace<'/chat'>;
27
+ * ```
8
28
  */
9
- export declare const Inject: (Injection: Class | string, expression?: (injectedClass: any) => any) => PropertyDecorator;
29
+ export declare const Inject: (Injection: Class | string | readonly [string | Class, (injectedClass: any) => any], expression?: (injectedClass: any) => any) => PropertyDecorator;
@@ -3,22 +3,59 @@ import { defineTypedMetadata, getOwnTypedMetadata, getTypedMetadata } from '../.
3
3
  /**
4
4
  * Property decorator to inject a dependency.
5
5
  *
6
- * @param {Class } Injection - The class of component to inject.
7
- * @param expression - The expression to evaluate on the injected class.
8
- * @returns {PropertyDecorator} - The property decorator function.
6
+ * Supports three syntaxes:
7
+ * 1. Class injection: `@Inject(UserService)`
8
+ * 2. String injection with expression: `@Inject('UserService', (s) => s.getUsers())`
9
+ * 3. Tuple injection (helper pattern): `@Inject(ulak('/chat'))` where ulak() returns [serviceName, expression]
10
+ *
11
+ * @param {Class | string | readonly [string, (injectedClass: any) => any]} Injection - The dependency to inject
12
+ * @param expression - Optional expression to evaluate on the injected class (only used with Class or string)
13
+ * @returns {PropertyDecorator} - The property decorator function
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Class injection
18
+ * @Inject(UserService)
19
+ * private userService: UserService;
20
+ *
21
+ * // String injection with expression
22
+ * @Inject('UserService', (s) => s.getAllUsers())
23
+ * private users: User[];
24
+ *
25
+ * // Tuple injection (helper pattern)
26
+ * @Inject(ulak('/chat'))
27
+ * private chat: Ulak.NameSpace<'/chat'>;
28
+ * ```
9
29
  */
10
30
  export const Inject = (Injection, expression) => {
11
31
  return (target, propertyKey) => {
32
+ let dependencyName;
33
+ let resolvedExpression = expression;
34
+ // Check if Injection is a tuple [serviceName, expression]
35
+ if (Array.isArray(Injection) && Injection.length === 2) {
36
+ const [name, tupleExpression] = Injection;
37
+ // Check Name type, it can be a Class or String
38
+ dependencyName = typeof name === 'string' ? name : getTypedMetadata(ComponentConstants.NameKey, name);
39
+ resolvedExpression = tupleExpression;
40
+ }
41
+ else if (typeof Injection === 'string') {
42
+ dependencyName = Injection;
43
+ }
44
+ else {
45
+ // Injection is a Class
46
+ dependencyName = getTypedMetadata(ComponentConstants.NameKey, Injection);
47
+ }
48
+ // Store dependency
12
49
  const dependencies = getOwnTypedMetadata(ComponentConstants.DependencyKey, target.constructor) || {};
13
50
  if (!dependencies[propertyKey]) {
14
- dependencies[propertyKey] =
15
- typeof Injection === 'string' ? Injection : getTypedMetadata(ComponentConstants.NameKey, Injection);
51
+ dependencies[propertyKey] = dependencyName;
16
52
  }
17
53
  defineTypedMetadata(ComponentConstants.DependencyKey, dependencies, target.constructor);
18
- if (expression) {
54
+ // Store expression if provided
55
+ if (resolvedExpression) {
19
56
  const expressions = getOwnTypedMetadata(ComponentConstants.ExpressionKey, target.constructor) || {};
20
57
  if (!expressions[propertyKey]) {
21
- expressions[propertyKey] = expression;
58
+ expressions[propertyKey] = resolvedExpression;
22
59
  }
23
60
  defineTypedMetadata(ComponentConstants.ExpressionKey, expressions, target.constructor);
24
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../../lib/ioc/component/decorators/Inject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE1G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAyB,EAAE,UAAwC,EAAqB,EAAE;IAC/G,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAQ,EAAE;QACnD,MAAM,YAAY,GAChB,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChH,CAAC;QAED,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEtG,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GACf,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAE/F,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;YACxC,CAAC;YAED,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACtG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../../lib/ioc/component/decorators/Inject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE1G;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,SAAkF,EAClF,UAAwC,EACrB,EAAE;IACrB,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAQ,EAAE;QACnD,IAAI,cAAsB,CAAC;QAC3B,IAAI,kBAAkB,GAA8C,UAAU,CAAC;QAE/E,0DAA0D;QAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC;YAE1C,+CAA+C;YAC/C,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE9G,kBAAkB,GAAG,eAAe,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,cAAc,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAED,mBAAmB;QACnB,MAAM,YAAY,GAChB,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;QAC7C,CAAC;QAED,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEtG,+BAA+B;QAC/B,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,WAAW,GACf,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAE/F,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC;YAChD,CAAC;YAED,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACtG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -27,4 +27,6 @@ export declare class ComponentConstants {
27
27
  static readonly WebSocketPathKey: unique symbol;
28
28
  static readonly WebSocketMiddlewaresKey: unique symbol;
29
29
  static readonly StaticServeRootKey: unique symbol;
30
+ static readonly EventHandlersKey: unique symbol;
31
+ static readonly EventPrefixKey: unique symbol;
30
32
  }
@@ -33,5 +33,8 @@ export class ComponentConstants {
33
33
  static WebSocketMiddlewaresKey = Symbol('websocket:middlewares');
34
34
  // Static Serve specific
35
35
  static StaticServeRootKey = Symbol('staticServe:root');
36
+ // Event specific
37
+ static EventHandlersKey = Symbol('event:handlers');
38
+ static EventPrefixKey = Symbol('event:prefix');
36
39
  }
37
40
  //# sourceMappingURL=ComponentConstants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentConstants.js","sourceRoot":"","sources":["../../../../lib/ioc/constants/ComponentConstants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAE7B,wDAAwD;IACjD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEvE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAErE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE1D,sBAAsB;IACf,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7D,sBAAsB;IACf,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAErE,iBAAiB;IACV,MAAM,CAAU,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErE,qBAAqB;IACd,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEjF,wBAAwB;IACjB,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"ComponentConstants.js","sourceRoot":"","sources":["../../../../lib/ioc/constants/ComponentConstants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,wDAAwD;IACjD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEvE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAErE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE1D,sBAAsB;IACf,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7D,sBAAsB;IACf,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAErE,iBAAiB;IACV,MAAM,CAAU,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErE,qBAAqB;IACd,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEjF,wBAAwB;IACjB,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvE,iBAAiB;IACV,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
@@ -8,11 +8,15 @@ export declare enum ICoreServiceNames {
8
8
  SERVER_LOGGER = "ServerLogger",
9
9
  IOC_ENGINE = "IocEngine",
10
10
  ASENA_ADAPTER = "AsenaAdapter",
11
+ __ULAK__ = "__Ulak__",
12
+ EVENT_EMITTER = "EventEmitter",
13
+ EVENT_DISPATCH_SERVICE = "EventDispatchService",
11
14
  PREPARE_MIDDLEWARE_SERVICE = "PrepareMiddlewareService",
12
15
  PREPARE_CONFIG_SERVICE = "PrepareConfigService",
13
16
  PREPARE_WEBSOCKET_SERVICE = "PrepareWebsocketService",
14
17
  PREPARE_VALIDATOR_SERVICE = "PrepareValidatorService",
15
18
  PREPARE_STATIC_SERVE_CONFIG_SERVICE = "PrepareStaticServeConfigService",
19
+ PREPARE_EVENT_SERVICE = "PrepareEventService",
16
20
  CORE_CONTAINER = "CoreContainer",
17
21
  ASENA_SERVER = "AsenaServer"
18
22
  }
@@ -10,12 +10,18 @@ export var ICoreServiceNames;
10
10
  ICoreServiceNames["SERVER_LOGGER"] = "ServerLogger";
11
11
  ICoreServiceNames["IOC_ENGINE"] = "IocEngine";
12
12
  ICoreServiceNames["ASENA_ADAPTER"] = "AsenaAdapter";
13
+ // Internal Messaging Services (Phase 5)
14
+ ICoreServiceNames["__ULAK__"] = "__Ulak__";
15
+ // Event Services (Phase 5)
16
+ ICoreServiceNames["EVENT_EMITTER"] = "EventEmitter";
17
+ ICoreServiceNames["EVENT_DISPATCH_SERVICE"] = "EventDispatchService";
13
18
  // Prepare Services (Phase 5)
14
19
  ICoreServiceNames["PREPARE_MIDDLEWARE_SERVICE"] = "PrepareMiddlewareService";
15
20
  ICoreServiceNames["PREPARE_CONFIG_SERVICE"] = "PrepareConfigService";
16
21
  ICoreServiceNames["PREPARE_WEBSOCKET_SERVICE"] = "PrepareWebsocketService";
17
22
  ICoreServiceNames["PREPARE_VALIDATOR_SERVICE"] = "PrepareValidatorService";
18
23
  ICoreServiceNames["PREPARE_STATIC_SERVE_CONFIG_SERVICE"] = "PrepareStaticServeConfigService";
24
+ ICoreServiceNames["PREPARE_EVENT_SERVICE"] = "PrepareEventService";
19
25
  // Factory Services (Phase 6+)
20
26
  ICoreServiceNames["CORE_CONTAINER"] = "CoreContainer";
21
27
  ICoreServiceNames["ASENA_SERVER"] = "AsenaServer";
@@ -1 +1 @@
1
- {"version":3,"file":"ICoreServiceNamesType.js","sourceRoot":"","sources":["../../../../lib/ioc/types/ICoreServiceNamesType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAC3B,2CAA2C;IAC3C,4CAAuB,CAAA;IACvB,mDAA8B,CAAA;IAC9B,6CAAwB,CAAA;IACxB,mDAA8B,CAAA;IAE9B,6BAA6B;IAC7B,4EAAuD,CAAA;IACvD,oEAA+C,CAAA;IAC/C,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IACrD,4FAAuE,CAAA;IAEvE,8BAA8B;IAC9B,qDAAgC,CAAA;IAChC,iDAA4B,CAAA;AAC9B,CAAC,EAjBW,iBAAiB,KAAjB,iBAAiB,QAiB5B"}
1
+ {"version":3,"file":"ICoreServiceNamesType.js","sourceRoot":"","sources":["../../../../lib/ioc/types/ICoreServiceNamesType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,iBAyBX;AAzBD,WAAY,iBAAiB;IAC3B,2CAA2C;IAC3C,4CAAuB,CAAA;IACvB,mDAA8B,CAAA;IAC9B,6CAAwB,CAAA;IACxB,mDAA8B,CAAA;IAE9B,wCAAwC;IACxC,0CAAqB,CAAA;IAErB,2BAA2B;IAC3B,mDAA8B,CAAA;IAC9B,oEAA+C,CAAA;IAE/C,6BAA6B;IAC7B,4EAAuD,CAAA;IACvD,oEAA+C,CAAA;IAC/C,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IACrD,4FAAuE,CAAA;IACvE,kEAA6C,CAAA;IAE7C,8BAA8B;IAC9B,qDAAgC,CAAA;IAChC,iDAA4B,CAAA;AAC9B,CAAC,EAzBW,iBAAiB,KAAjB,iBAAiB,QAyB5B"}
@@ -5,5 +5,6 @@ export declare enum ComponentType {
5
5
  SCHEDULE = "SCHEDULE",
6
6
  MIDDLEWARE = "MIDDLEWARE",
7
7
  WEBSOCKET = "WEBSOCKET",
8
- CONFIG = "CONFIG"
8
+ CONFIG = "CONFIG",
9
+ EVENT = "EVENT"
9
10
  }
@@ -7,5 +7,6 @@ export var ComponentType;
7
7
  ComponentType["MIDDLEWARE"] = "MIDDLEWARE";
8
8
  ComponentType["WEBSOCKET"] = "WEBSOCKET";
9
9
  ComponentType["CONFIG"] = "CONFIG";
10
+ ComponentType["EVENT"] = "EVENT";
10
11
  })(ComponentType || (ComponentType = {}));
11
12
  //# sourceMappingURL=ComponentType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentType.js","sourceRoot":"","sources":["../../../../../lib/ioc/types/decorators/ComponentType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;AACnB,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB"}
1
+ {"version":3,"file":"ComponentType.js","sourceRoot":"","sources":["../../../../../lib/ioc/types/decorators/ComponentType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;AACjB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB"}
@@ -14,6 +14,7 @@ export declare class AsenaServer<A extends AsenaAdapter<any, any>> implements IC
14
14
  private prepareWebsocketService;
15
15
  private prepareValidatorService;
16
16
  private prepareStaticServeConfigService;
17
+ private prepareEventService;
17
18
  private _port;
18
19
  private _gc;
19
20
  private controllers;
@@ -11,9 +11,9 @@ import { ComponentType, CoreBootstrapPhase, CoreService, ICoreServiceNames, } fr
11
11
  import * as path from 'node:path';
12
12
  import { ComponentConstants } from '../ioc/constants';
13
13
  import * as bun from 'bun';
14
- import { green, yellow } from '../logger';
14
+ import { blue, green, yellow } from '../logger';
15
15
  import { getOwnTypedMetadata, getTypedMetadata } from '../utils/typedMetadata';
16
- import { Inject } from '../ioc/component';
16
+ import { Inject, PostConstruct } from '../ioc/component';
17
17
  /**
18
18
  * @description AsenaServer - Main server class for Asena framework
19
19
  * Now a core service managed by IoC container with field injection
@@ -28,6 +28,7 @@ let AsenaServer = class AsenaServer {
28
28
  prepareWebsocketService;
29
29
  prepareValidatorService;
30
30
  prepareStaticServeConfigService;
31
+ prepareEventService;
31
32
  // Instance state
32
33
  _port;
33
34
  _gc = false;
@@ -37,13 +38,7 @@ let AsenaServer = class AsenaServer {
37
38
  * @returns {void}
38
39
  */
39
40
  onInit() {
40
- this._logger.info(`
41
- ___ _____ ______ _ __ ___
42
- / | / ___/ / ____// | / // |
43
- / /| | \\__ \\ / __/ / |/ // /| |
44
- / ___ | ___/ // /___ / /| // ___ |
45
- /_/ |_|/____//_____//_/ |_//_/ |_|
46
- `);
41
+ this._logger.info(`${blue('[AsenaServer]')} is initialized`);
47
42
  }
48
43
  /**
49
44
  * @description Start the server
@@ -57,6 +52,7 @@ let AsenaServer = class AsenaServer {
57
52
  // Phase 7: Application setup
58
53
  this._coreContainer.setPhase(CoreBootstrapPhase.APPLICATION_SETUP);
59
54
  await this.prepareConfigs();
55
+ await this.prepareEventService.prepare();
60
56
  await this.initializeControllers();
61
57
  await this.prepareWebSocket();
62
58
  // Phase 8: Server ready
@@ -94,7 +90,7 @@ let AsenaServer = class AsenaServer {
94
90
  const routePath = getOwnTypedMetadata(ComponentConstants.PathKey, controller.constructor) || '';
95
91
  await this.prepareTopMiddlewares({ controller, routePath });
96
92
  for (const [name, params] of Object.entries(routes)) {
97
- const lastPath = path.join(`${routePath}/`, params.path);
93
+ const lastPath = path.join(`${routePath}/`, params.path).replace(/\\/g, '/');
98
94
  const middlewares = await this.prepareRouteMiddleware(params);
99
95
  const validatorInstance = await this.prepareValidator(params.validator);
100
96
  await this._adapter.registerRoute({
@@ -280,6 +276,16 @@ __decorate([
280
276
  Inject(ICoreServiceNames.PREPARE_STATIC_SERVE_CONFIG_SERVICE),
281
277
  __metadata("design:type", Function)
282
278
  ], AsenaServer.prototype, "prepareStaticServeConfigService", void 0);
279
+ __decorate([
280
+ Inject(ICoreServiceNames.PREPARE_EVENT_SERVICE),
281
+ __metadata("design:type", Function)
282
+ ], AsenaServer.prototype, "prepareEventService", void 0);
283
+ __decorate([
284
+ PostConstruct(),
285
+ __metadata("design:type", Function),
286
+ __metadata("design:paramtypes", []),
287
+ __metadata("design:returntype", void 0)
288
+ ], AsenaServer.prototype, "onInit", null);
283
289
  AsenaServer = __decorate([
284
290
  CoreService(ICoreServiceNames.ASENA_SERVER)
285
291
  ], AsenaServer);