@asenajs/asena 0.1.18 → 0.2.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 (260) hide show
  1. package/README.md +90 -147
  2. package/dist/index.d.ts +0 -9
  3. package/dist/index.js +0 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/adapter/AsenaAdapter.d.ts +46 -54
  6. package/dist/lib/adapter/AsenaAdapter.js +22 -11
  7. package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
  8. package/dist/lib/adapter/AsenaContext.d.ts +67 -57
  9. package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +57 -34
  10. package/dist/lib/adapter/AsenaWebsocketAdapter.js +43 -12
  11. package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
  12. package/dist/lib/adapter/index.d.ts +1 -0
  13. package/dist/lib/adapter/index.js +1 -0
  14. package/dist/lib/adapter/index.js.map +1 -1
  15. package/dist/lib/adapter/types/ApiParams.d.ts +73 -0
  16. package/dist/lib/adapter/types/ApiParams.js +2 -0
  17. package/dist/lib/adapter/types/ApiParams.js.map +1 -0
  18. package/dist/lib/adapter/types/AsenaHandler.d.ts +2 -0
  19. package/dist/lib/adapter/types/AsenaHandler.js +2 -0
  20. package/dist/lib/adapter/types/AsenaHandler.js.map +1 -0
  21. package/dist/lib/adapter/types/AsenaMiddlewareHandler.d.ts +2 -0
  22. package/dist/lib/adapter/types/AsenaMiddlewareHandler.js +2 -0
  23. package/dist/lib/adapter/types/AsenaMiddlewareHandler.js.map +1 -0
  24. package/dist/lib/adapter/types/BaseMiddleware.d.ts +57 -0
  25. package/dist/lib/adapter/types/BaseMiddleware.js +2 -0
  26. package/dist/lib/adapter/types/BaseMiddleware.js.map +1 -0
  27. package/dist/lib/adapter/types/ErrorHandler.d.ts +2 -0
  28. package/dist/lib/adapter/types/ErrorHandler.js +2 -0
  29. package/dist/lib/adapter/types/ErrorHandler.js.map +1 -0
  30. package/dist/lib/adapter/types/RouteParams.d.ts +8 -5
  31. package/dist/lib/adapter/types/ServeOptions.d.ts +7 -0
  32. package/dist/lib/adapter/types/ServeOptions.js +2 -0
  33. package/dist/lib/adapter/types/ServeOptions.js.map +1 -0
  34. package/dist/lib/adapter/types/WebSocketRegistry.d.ts +5 -4
  35. package/dist/lib/adapter/types/WebsocketAdapterParams.d.ts +1 -1
  36. package/dist/lib/adapter/types/index.d.ts +6 -0
  37. package/dist/lib/adapter/types/index.js +6 -0
  38. package/dist/lib/adapter/types/index.js.map +1 -1
  39. package/dist/lib/ioc/Container.d.ts +8 -3
  40. package/dist/lib/ioc/Container.js +100 -76
  41. package/dist/lib/ioc/Container.js.map +1 -1
  42. package/dist/lib/ioc/IocEngine.d.ts +2 -2
  43. package/dist/lib/ioc/IocEngine.js +28 -16
  44. package/dist/lib/ioc/IocEngine.js.map +1 -1
  45. package/dist/lib/ioc/component/componentUtils.d.ts +1 -1
  46. package/dist/lib/ioc/component/componentUtils.js +16 -12
  47. package/dist/lib/ioc/component/componentUtils.js.map +1 -1
  48. package/dist/lib/{server/decorators/components → ioc/component/decorators}/Component.d.ts +1 -1
  49. package/dist/lib/{server/decorators/components → ioc/component/decorators}/Component.js +2 -2
  50. package/dist/lib/ioc/component/decorators/Component.js.map +1 -0
  51. package/dist/lib/ioc/component/decorators/Implements.js +2 -2
  52. package/dist/lib/ioc/component/decorators/Implements.js.map +1 -1
  53. package/dist/lib/ioc/component/decorators/Inject.d.ts +1 -1
  54. package/dist/lib/ioc/component/decorators/Inject.js +6 -7
  55. package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
  56. package/dist/lib/ioc/component/decorators/PostConstruct.d.ts +6 -0
  57. package/dist/lib/ioc/component/decorators/PostConstruct.js +17 -0
  58. package/dist/lib/ioc/component/decorators/PostConstruct.js.map +1 -0
  59. package/dist/lib/ioc/component/decorators/Strategy.js +6 -6
  60. package/dist/lib/ioc/component/decorators/Strategy.js.map +1 -1
  61. package/dist/lib/ioc/component/decorators/index.d.ts +1 -0
  62. package/dist/lib/ioc/component/decorators/index.js +1 -0
  63. package/dist/lib/ioc/component/decorators/index.js.map +1 -1
  64. package/dist/lib/ioc/component/index.d.ts +1 -0
  65. package/dist/lib/ioc/component/index.js +2 -0
  66. package/dist/lib/ioc/component/index.js.map +1 -0
  67. package/dist/lib/ioc/constants/ComponentConstants.d.ts +4 -2
  68. package/dist/lib/ioc/constants/ComponentConstants.js +3 -1
  69. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  70. package/dist/lib/ioc/helper/fileHelper.d.ts +1 -1
  71. package/dist/lib/ioc/helper/fileHelper.js +9 -3
  72. package/dist/lib/ioc/helper/fileHelper.js.map +1 -1
  73. package/dist/lib/ioc/helper/iocHelper.d.ts +2 -3
  74. package/dist/lib/ioc/helper/iocHelper.js +4 -2
  75. package/dist/lib/ioc/helper/iocHelper.js.map +1 -1
  76. package/dist/lib/ioc/types/{Component.d.ts → InjectableComponent.d.ts} +4 -4
  77. package/dist/lib/ioc/types/InjectableComponent.js +2 -0
  78. package/dist/lib/ioc/types/InjectableComponent.js.map +1 -0
  79. package/dist/lib/ioc/types/IocConfig.d.ts +1 -0
  80. package/dist/lib/ioc/types/decorators/ComponentParams.d.ts +1 -1
  81. package/dist/lib/ioc/types/decorators/ComponentType.d.ts +2 -2
  82. package/dist/lib/ioc/types/decorators/ComponentType.js +1 -1
  83. package/dist/lib/ioc/types/decorators/ComponentType.js.map +1 -1
  84. package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +4 -3
  85. package/dist/lib/ioc/types/decorators/MiddlewareParams.d.ts +1 -1
  86. package/dist/lib/ioc/types/index.d.ts +1 -1
  87. package/dist/lib/ioc/types/index.js +1 -1
  88. package/dist/lib/ioc/types/index.js.map +1 -1
  89. package/dist/lib/{services/logger → logger}/DefaultLogger.d.ts +1 -1
  90. package/dist/lib/logger/DefaultLogger.js.map +1 -0
  91. package/dist/lib/{services/types → logger}/Logger.js.map +1 -1
  92. package/dist/lib/logger/index.d.ts +2 -0
  93. package/dist/lib/logger/index.js +3 -0
  94. package/dist/lib/logger/index.js.map +1 -0
  95. package/dist/lib/server/AsenaServer.d.ts +15 -14
  96. package/dist/lib/server/AsenaServer.js +125 -113
  97. package/dist/lib/server/AsenaServer.js.map +1 -1
  98. package/dist/lib/server/config/AsenaConfig.d.ts +43 -0
  99. package/dist/lib/server/config/AsenaConfig.js +2 -0
  100. package/dist/lib/server/config/AsenaConfig.js.map +1 -0
  101. package/dist/lib/server/config/index.d.ts +1 -0
  102. package/dist/lib/server/config/index.js +2 -0
  103. package/dist/lib/server/config/index.js.map +1 -0
  104. package/dist/lib/server/decorators/Override.d.ts +4 -4
  105. package/dist/lib/server/decorators/Override.js +11 -7
  106. package/dist/lib/server/decorators/Override.js.map +1 -1
  107. package/dist/lib/server/decorators/components/Config.d.ts +10 -0
  108. package/dist/lib/server/decorators/components/Config.js +14 -0
  109. package/dist/lib/server/decorators/components/Config.js.map +1 -0
  110. package/dist/lib/server/decorators/components/Controller.js +4 -4
  111. package/dist/lib/server/decorators/components/Controller.js.map +1 -1
  112. package/dist/lib/server/decorators/components/Middleware.d.ts +1 -1
  113. package/dist/lib/server/decorators/components/Middleware.js +19 -9
  114. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  115. package/dist/lib/server/decorators/components/Schedule.d.ts +2 -2
  116. package/dist/lib/server/decorators/components/Schedule.js +7 -7
  117. package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
  118. package/dist/lib/server/decorators/components/Service.d.ts +1 -1
  119. package/dist/lib/server/decorators/components/Service.js +2 -2
  120. package/dist/lib/server/decorators/components/Service.js.map +1 -1
  121. package/dist/lib/server/decorators/components/WebSocket.js +4 -4
  122. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  123. package/dist/lib/server/decorators/components/index.d.ts +1 -2
  124. package/dist/lib/server/decorators/components/index.js +1 -2
  125. package/dist/lib/server/decorators/components/index.js.map +1 -1
  126. package/dist/lib/server/decorators/index.d.ts +2 -1
  127. package/dist/lib/server/decorators/index.js +2 -1
  128. package/dist/lib/server/decorators/index.js.map +1 -1
  129. package/dist/lib/server/types/Class.d.ts +0 -3
  130. package/dist/lib/server/types/index.d.ts +2 -2
  131. package/dist/lib/server/types/index.js +2 -2
  132. package/dist/lib/server/types/index.js.map +1 -1
  133. package/dist/lib/server/web/decorators/http.base.d.ts +4 -0
  134. package/dist/lib/server/web/decorators/http.base.js +35 -0
  135. package/dist/lib/server/web/decorators/http.base.js.map +1 -0
  136. package/dist/lib/server/web/decorators/index.d.ts +4 -0
  137. package/dist/lib/server/web/decorators/index.js +5 -0
  138. package/dist/lib/server/web/decorators/index.js.map +1 -0
  139. package/dist/lib/server/web/decorators/methods/Connect.d.ts +7 -0
  140. package/dist/lib/server/web/decorators/methods/Connect.js +12 -0
  141. package/dist/lib/server/web/decorators/methods/Connect.js.map +1 -0
  142. package/dist/lib/server/web/decorators/methods/Delete.d.ts +7 -0
  143. package/dist/lib/server/web/decorators/methods/Delete.js +12 -0
  144. package/dist/lib/server/web/decorators/methods/Delete.js.map +1 -0
  145. package/dist/lib/server/web/decorators/methods/Get.d.ts +7 -0
  146. package/dist/lib/server/web/decorators/methods/Get.js +12 -0
  147. package/dist/lib/server/web/decorators/methods/Get.js.map +1 -0
  148. package/dist/lib/server/web/decorators/methods/Head.d.ts +7 -0
  149. package/dist/lib/server/web/decorators/methods/Head.js +12 -0
  150. package/dist/lib/server/web/decorators/methods/Head.js.map +1 -0
  151. package/dist/lib/server/web/decorators/methods/Options.d.ts +7 -0
  152. package/dist/lib/server/web/decorators/methods/Options.js +12 -0
  153. package/dist/lib/server/web/decorators/methods/Options.js.map +1 -0
  154. package/dist/lib/server/web/decorators/methods/Patch.d.ts +7 -0
  155. package/dist/lib/server/web/decorators/methods/Patch.js +12 -0
  156. package/dist/lib/server/web/decorators/methods/Patch.js.map +1 -0
  157. package/dist/lib/server/web/decorators/methods/Post.d.ts +7 -0
  158. package/dist/lib/server/web/decorators/methods/Post.js +12 -0
  159. package/dist/lib/server/web/decorators/methods/Post.js.map +1 -0
  160. package/dist/lib/server/web/decorators/methods/Put.d.ts +7 -0
  161. package/dist/lib/server/web/decorators/methods/Put.js +12 -0
  162. package/dist/lib/server/web/decorators/methods/Put.js.map +1 -0
  163. package/dist/lib/server/web/decorators/methods/Trace.d.ts +7 -0
  164. package/dist/lib/server/web/decorators/methods/Trace.js +12 -0
  165. package/dist/lib/server/web/decorators/methods/Trace.js.map +1 -0
  166. package/dist/lib/server/web/decorators/methods/index.d.ts +9 -0
  167. package/dist/lib/server/web/decorators/methods/index.js +10 -0
  168. package/dist/lib/server/web/decorators/methods/index.js.map +1 -0
  169. package/dist/lib/server/web/helper/middlewareHelper.d.ts +8 -2
  170. package/dist/lib/server/web/helper/middlewareHelper.js +11 -5
  171. package/dist/lib/server/web/helper/middlewareHelper.js.map +1 -1
  172. package/dist/lib/server/web/middleware/AsenaMiddlewareService.d.ts +8 -10
  173. package/dist/lib/server/web/middleware/AsenaMiddlewareService.js +1 -4
  174. package/dist/lib/server/web/middleware/AsenaMiddlewareService.js.map +1 -1
  175. package/dist/lib/server/web/middleware/AsenaValidationService.d.ts +15 -16
  176. package/dist/lib/server/web/middleware/AsenaValidationService.js +1 -8
  177. package/dist/lib/server/web/middleware/AsenaValidationService.js.map +1 -1
  178. package/dist/lib/server/web/types/HttpMethod.js.map +1 -0
  179. package/dist/lib/server/web/types/HttpStatus.d.ts +79 -0
  180. package/dist/lib/server/web/types/HttpStatus.js +85 -0
  181. package/dist/lib/server/web/types/HttpStatus.js.map +1 -0
  182. package/dist/lib/server/web/types/index.d.ts +2 -2
  183. package/dist/lib/server/web/types/index.js +2 -2
  184. package/dist/lib/server/web/types/index.js.map +1 -1
  185. package/dist/lib/server/web/websocket/AsenaSocket.d.ts +1 -0
  186. package/dist/lib/server/web/websocket/AsenaSocket.js +4 -0
  187. package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
  188. package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +39 -0
  189. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +41 -1
  190. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
  191. package/dist/lib/server/web/websocket/AsenaWebSocketService.js +4 -4
  192. package/dist/lib/server/web/websocket/AsenaWebSocketService.js.map +1 -1
  193. package/dist/lib/server/web/websocket/index.d.ts +1 -0
  194. package/dist/lib/server/web/websocket/index.js +1 -0
  195. package/dist/lib/server/web/websocket/index.js.map +1 -1
  196. package/dist/lib/utils/typedMetadata.d.ts +3 -0
  197. package/dist/lib/utils/typedMetadata.js +16 -0
  198. package/dist/lib/utils/typedMetadata.js.map +1 -0
  199. package/package.json +55 -6
  200. package/dist/lib/adapter/defaultAdapter/DefaultAdapter.d.ts +0 -26
  201. package/dist/lib/adapter/defaultAdapter/DefaultAdapter.js +0 -92
  202. package/dist/lib/adapter/defaultAdapter/DefaultAdapter.js.map +0 -1
  203. package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.d.ts +0 -32
  204. package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.js +0 -97
  205. package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.js.map +0 -1
  206. package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.d.ts +0 -15
  207. package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.js +0 -77
  208. package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.js.map +0 -1
  209. package/dist/lib/adapter/defaultAdapter/index.d.ts +0 -3
  210. package/dist/lib/adapter/defaultAdapter/index.js +0 -4
  211. package/dist/lib/adapter/defaultAdapter/index.js.map +0 -1
  212. package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.d.ts +0 -3
  213. package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.js +0 -2
  214. package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.js.map +0 -1
  215. package/dist/lib/adapter/defaultAdapter/types/Handler.d.ts +0 -4
  216. package/dist/lib/adapter/defaultAdapter/types/Handler.js +0 -2
  217. package/dist/lib/adapter/defaultAdapter/types/Handler.js.map +0 -1
  218. package/dist/lib/adapter/defaultAdapter/types/index.d.ts +0 -2
  219. package/dist/lib/adapter/defaultAdapter/types/index.js +0 -3
  220. package/dist/lib/adapter/defaultAdapter/types/index.js.map +0 -1
  221. package/dist/lib/ioc/types/Component.js +0 -2
  222. package/dist/lib/ioc/types/Component.js.map +0 -1
  223. package/dist/lib/server/decorators/components/Component.js.map +0 -1
  224. package/dist/lib/server/decorators/components/ServerService.d.ts +0 -9
  225. package/dist/lib/server/decorators/components/ServerService.js +0 -13
  226. package/dist/lib/server/decorators/components/ServerService.js.map +0 -1
  227. package/dist/lib/server/web/api/apiHandler.d.ts +0 -55
  228. package/dist/lib/server/web/api/apiHandler.js +0 -107
  229. package/dist/lib/server/web/api/apiHandler.js.map +0 -1
  230. package/dist/lib/server/web/api/index.d.ts +0 -1
  231. package/dist/lib/server/web/api/index.js +0 -2
  232. package/dist/lib/server/web/api/index.js.map +0 -1
  233. package/dist/lib/server/web/http/HttpMethod.js.map +0 -1
  234. package/dist/lib/server/web/http/HttpStatus.d.ts +0 -77
  235. package/dist/lib/server/web/http/HttpStatus.js +0 -84
  236. package/dist/lib/server/web/http/HttpStatus.js.map +0 -1
  237. package/dist/lib/server/web/http/index.d.ts +0 -2
  238. package/dist/lib/server/web/http/index.js +0 -3
  239. package/dist/lib/server/web/http/index.js.map +0 -1
  240. package/dist/lib/server/web/types/ApiHandler.d.ts +0 -22
  241. package/dist/lib/server/web/types/ApiHandler.js +0 -2
  242. package/dist/lib/server/web/types/ApiHandler.js.map +0 -1
  243. package/dist/lib/server/web/types/BaseMiddleware.d.ts +0 -12
  244. package/dist/lib/server/web/types/BaseMiddleware.js +0 -2
  245. package/dist/lib/server/web/types/BaseMiddleware.js.map +0 -1
  246. package/dist/lib/services/index.d.ts +0 -3
  247. package/dist/lib/services/index.js +0 -4
  248. package/dist/lib/services/index.js.map +0 -1
  249. package/dist/lib/services/logger/DefaultLogger.js.map +0 -1
  250. package/dist/lib/services/serverService/AsenaService.d.ts +0 -7
  251. package/dist/lib/services/serverService/AsenaService.js +0 -7
  252. package/dist/lib/services/serverService/AsenaService.js.map +0 -1
  253. package/dist/lib/services/types/index.d.ts +0 -2
  254. package/dist/lib/services/types/index.js +0 -3
  255. package/dist/lib/services/types/index.js.map +0 -1
  256. /package/dist/lib/{services/logger → logger}/DefaultLogger.js +0 -0
  257. /package/dist/lib/{services/types → logger}/Logger.d.ts +0 -0
  258. /package/dist/lib/{services/types → logger}/Logger.js +0 -0
  259. /package/dist/lib/server/web/{http → types}/HttpMethod.d.ts +0 -0
  260. /package/dist/lib/server/web/{http → types}/HttpMethod.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaMiddlewareService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaMiddlewareService.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,OAAgB,sBAAsB;CAW3C;AAED,MAAM,OAAgB,iBAAmD,SAAQ,sBAGhF;CAAG"}
1
+ {"version":3,"file":"AsenaMiddlewareService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaMiddlewareService.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAgB,sBAAsB;CAW3C"}
@@ -1,34 +1,33 @@
1
- import type { MiddlewareHandler } from 'hono';
1
+ import type { Class } from '../../types';
2
2
  /**
3
- * Abstract class representing a validation service.
4
- * @template H - The handler type of each validator controller.
3
+ * Interface representing a validation service.
4
+ * @template S - Schema type.
5
5
  */
6
- export declare abstract class AsenaValidationService<H> {
6
+ export interface AsenaValidationService<S> {
7
7
  /**
8
8
  * Validates JSON data.
9
- * @returns {H} The handler for JSON validation.
9
+ * @returns {Promise<S> | S} The handler for JSON validation.
10
10
  */
11
- abstract json?(): H;
11
+ json?(): Promise<S> | S;
12
12
  /**
13
13
  * Validates form data.
14
- * @returns {H} The handler for form validation.
14
+ * @returns {Promise<S> | S} The handler for form validation.
15
15
  */
16
- abstract form?(): H;
16
+ form?(): Promise<S> | S;
17
17
  /**
18
18
  * Validates query parameters.
19
- * @returns {H} The handler for query validation.
19
+ * @returns {Promise<S> | S} The handler for query validation.
20
20
  */
21
- abstract query?(): H;
21
+ query?(): Promise<S> | S;
22
22
  /**
23
23
  * Validates route parameters.
24
- * @returns {H} The handler for parameter validation.
24
+ * @returns {Promise<S> | S} The handler for parameter validation.
25
25
  */
26
- abstract param?(): H;
26
+ param?(): Promise<S> | S;
27
27
  /**
28
28
  * Validates headers.
29
- * @returns {H} The handler for header validation.
29
+ * @returns {Promise<S> | S} The handler for header validation.
30
30
  */
31
- abstract header?(): H;
32
- }
33
- export declare abstract class ValidationService<H = MiddlewareHandler> extends AsenaValidationService<H> {
31
+ header?(): Promise<S> | S;
34
32
  }
33
+ export type ValidatorClass<S = unknown> = Class<AsenaValidationService<S>>;
@@ -1,9 +1,2 @@
1
- /**
2
- * Abstract class representing a validation service.
3
- * @template H - The handler type of each validator controller.
4
- */
5
- export class AsenaValidationService {
6
- }
7
- export class ValidationService extends AsenaValidationService {
8
- }
1
+ export {};
9
2
  //# sourceMappingURL=AsenaValidationService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaValidationService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaValidationService.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAgB,sBAAsB;CAgC3C;AAED,MAAM,OAAgB,iBAAyC,SAAQ,sBAAyB;CAAG"}
1
+ {"version":3,"file":"AsenaValidationService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaValidationService.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpMethod.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/HttpMethod.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EAVW,UAAU,KAAV,UAAU,QAUrB"}
@@ -0,0 +1,79 @@
1
+ export declare enum InfoStatusCode {
2
+ Continue = 100,
3
+ SwitchingProtocols = 101,
4
+ Processing = 102,
5
+ EarlyHints = 103
6
+ }
7
+ export declare enum SuccessStatusCode {
8
+ Ok = 200,
9
+ Created = 201,
10
+ Accepted = 202,
11
+ NonAuthoritativeInformation = 203,
12
+ NoContent = 204,
13
+ ResetContent = 205,
14
+ PartialContent = 206,
15
+ MultiStatus = 207,
16
+ AlreadyReported = 208,
17
+ ImUsed = 226
18
+ }
19
+ export declare enum RedirectStatusCode {
20
+ MultipleChoices = 300,
21
+ MovedPermanently = 301,
22
+ Found = 302,
23
+ SeeOther = 303,
24
+ NotModified = 304,
25
+ UseProxy = 305,
26
+ TemporaryRedirect = 307,
27
+ PermanentRedirect = 308
28
+ }
29
+ export declare enum ClientErrorStatusCode {
30
+ BadRequest = 400,
31
+ Unauthorized = 401,
32
+ PaymentRequired = 402,
33
+ Forbidden = 403,
34
+ NotFound = 404,
35
+ MethodNotAllowed = 405,
36
+ NotAcceptable = 406,
37
+ ProxyAuthenticationRequired = 407,
38
+ RequestTimeout = 408,
39
+ Conflict = 409,
40
+ Gone = 410,
41
+ LengthRequired = 411,
42
+ PreconditionFailed = 412,
43
+ PayloadTooLarge = 413,
44
+ UriTooLong = 414,
45
+ UnsupportedMediaType = 415,
46
+ RangeNotSatisfiable = 416,
47
+ ExpectationFailed = 417,
48
+ ImATeapot = 418,
49
+ MisdirectedRequest = 421,
50
+ UnprocessableEntity = 422,
51
+ Locked = 423,
52
+ FailedDependency = 424,
53
+ TooEarly = 425,
54
+ UpgradeRequired = 426,
55
+ PreconditionRequired = 428,
56
+ TooManyRequests = 429,
57
+ RequestHeaderFieldsTooLarge = 431,
58
+ UnavailableForLegalReasons = 451
59
+ }
60
+ export declare enum ServerErrorStatusCode {
61
+ InternalServerError = 500,
62
+ NotImplemented = 501,
63
+ BadGateway = 502,
64
+ ServiceUnavailable = 503,
65
+ GatewayTimeout = 504,
66
+ HttpVersionNotSupported = 505,
67
+ VariantAlsoNegotiates = 506,
68
+ InsufficientStorage = 507,
69
+ LoopDetected = 508,
70
+ NotExtended = 510,
71
+ NetworkAuthenticationRequired = 511
72
+ }
73
+ export type HttpStatusCode = InfoStatusCode | SuccessStatusCode | RedirectStatusCode | ClientErrorStatusCode | ServerErrorStatusCode;
74
+ export declare const isInformational: (status: number) => status is InfoStatusCode;
75
+ export declare const isSuccess: (status: number) => status is SuccessStatusCode;
76
+ export declare const isRedirection: (status: number) => status is RedirectStatusCode;
77
+ export declare const isClientError: (status: number) => status is ClientErrorStatusCode;
78
+ export declare const isServerError: (status: number) => status is ServerErrorStatusCode;
79
+ export declare const isError: (status: number) => status is ClientErrorStatusCode | ServerErrorStatusCode;
@@ -0,0 +1,85 @@
1
+ export var InfoStatusCode;
2
+ (function (InfoStatusCode) {
3
+ InfoStatusCode[InfoStatusCode["Continue"] = 100] = "Continue";
4
+ InfoStatusCode[InfoStatusCode["SwitchingProtocols"] = 101] = "SwitchingProtocols";
5
+ InfoStatusCode[InfoStatusCode["Processing"] = 102] = "Processing";
6
+ InfoStatusCode[InfoStatusCode["EarlyHints"] = 103] = "EarlyHints";
7
+ })(InfoStatusCode || (InfoStatusCode = {}));
8
+ export var SuccessStatusCode;
9
+ (function (SuccessStatusCode) {
10
+ SuccessStatusCode[SuccessStatusCode["Ok"] = 200] = "Ok";
11
+ SuccessStatusCode[SuccessStatusCode["Created"] = 201] = "Created";
12
+ SuccessStatusCode[SuccessStatusCode["Accepted"] = 202] = "Accepted";
13
+ SuccessStatusCode[SuccessStatusCode["NonAuthoritativeInformation"] = 203] = "NonAuthoritativeInformation";
14
+ SuccessStatusCode[SuccessStatusCode["NoContent"] = 204] = "NoContent";
15
+ SuccessStatusCode[SuccessStatusCode["ResetContent"] = 205] = "ResetContent";
16
+ SuccessStatusCode[SuccessStatusCode["PartialContent"] = 206] = "PartialContent";
17
+ SuccessStatusCode[SuccessStatusCode["MultiStatus"] = 207] = "MultiStatus";
18
+ SuccessStatusCode[SuccessStatusCode["AlreadyReported"] = 208] = "AlreadyReported";
19
+ SuccessStatusCode[SuccessStatusCode["ImUsed"] = 226] = "ImUsed";
20
+ })(SuccessStatusCode || (SuccessStatusCode = {}));
21
+ export var RedirectStatusCode;
22
+ (function (RedirectStatusCode) {
23
+ RedirectStatusCode[RedirectStatusCode["MultipleChoices"] = 300] = "MultipleChoices";
24
+ RedirectStatusCode[RedirectStatusCode["MovedPermanently"] = 301] = "MovedPermanently";
25
+ RedirectStatusCode[RedirectStatusCode["Found"] = 302] = "Found";
26
+ RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther";
27
+ RedirectStatusCode[RedirectStatusCode["NotModified"] = 304] = "NotModified";
28
+ RedirectStatusCode[RedirectStatusCode["UseProxy"] = 305] = "UseProxy";
29
+ RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect";
30
+ RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect";
31
+ })(RedirectStatusCode || (RedirectStatusCode = {}));
32
+ export var ClientErrorStatusCode;
33
+ (function (ClientErrorStatusCode) {
34
+ ClientErrorStatusCode[ClientErrorStatusCode["BadRequest"] = 400] = "BadRequest";
35
+ ClientErrorStatusCode[ClientErrorStatusCode["Unauthorized"] = 401] = "Unauthorized";
36
+ ClientErrorStatusCode[ClientErrorStatusCode["PaymentRequired"] = 402] = "PaymentRequired";
37
+ ClientErrorStatusCode[ClientErrorStatusCode["Forbidden"] = 403] = "Forbidden";
38
+ ClientErrorStatusCode[ClientErrorStatusCode["NotFound"] = 404] = "NotFound";
39
+ ClientErrorStatusCode[ClientErrorStatusCode["MethodNotAllowed"] = 405] = "MethodNotAllowed";
40
+ ClientErrorStatusCode[ClientErrorStatusCode["NotAcceptable"] = 406] = "NotAcceptable";
41
+ ClientErrorStatusCode[ClientErrorStatusCode["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
42
+ ClientErrorStatusCode[ClientErrorStatusCode["RequestTimeout"] = 408] = "RequestTimeout";
43
+ ClientErrorStatusCode[ClientErrorStatusCode["Conflict"] = 409] = "Conflict";
44
+ ClientErrorStatusCode[ClientErrorStatusCode["Gone"] = 410] = "Gone";
45
+ ClientErrorStatusCode[ClientErrorStatusCode["LengthRequired"] = 411] = "LengthRequired";
46
+ ClientErrorStatusCode[ClientErrorStatusCode["PreconditionFailed"] = 412] = "PreconditionFailed";
47
+ ClientErrorStatusCode[ClientErrorStatusCode["PayloadTooLarge"] = 413] = "PayloadTooLarge";
48
+ ClientErrorStatusCode[ClientErrorStatusCode["UriTooLong"] = 414] = "UriTooLong";
49
+ ClientErrorStatusCode[ClientErrorStatusCode["UnsupportedMediaType"] = 415] = "UnsupportedMediaType";
50
+ ClientErrorStatusCode[ClientErrorStatusCode["RangeNotSatisfiable"] = 416] = "RangeNotSatisfiable";
51
+ ClientErrorStatusCode[ClientErrorStatusCode["ExpectationFailed"] = 417] = "ExpectationFailed";
52
+ ClientErrorStatusCode[ClientErrorStatusCode["ImATeapot"] = 418] = "ImATeapot";
53
+ ClientErrorStatusCode[ClientErrorStatusCode["MisdirectedRequest"] = 421] = "MisdirectedRequest";
54
+ ClientErrorStatusCode[ClientErrorStatusCode["UnprocessableEntity"] = 422] = "UnprocessableEntity";
55
+ ClientErrorStatusCode[ClientErrorStatusCode["Locked"] = 423] = "Locked";
56
+ ClientErrorStatusCode[ClientErrorStatusCode["FailedDependency"] = 424] = "FailedDependency";
57
+ ClientErrorStatusCode[ClientErrorStatusCode["TooEarly"] = 425] = "TooEarly";
58
+ ClientErrorStatusCode[ClientErrorStatusCode["UpgradeRequired"] = 426] = "UpgradeRequired";
59
+ ClientErrorStatusCode[ClientErrorStatusCode["PreconditionRequired"] = 428] = "PreconditionRequired";
60
+ ClientErrorStatusCode[ClientErrorStatusCode["TooManyRequests"] = 429] = "TooManyRequests";
61
+ ClientErrorStatusCode[ClientErrorStatusCode["RequestHeaderFieldsTooLarge"] = 431] = "RequestHeaderFieldsTooLarge";
62
+ ClientErrorStatusCode[ClientErrorStatusCode["UnavailableForLegalReasons"] = 451] = "UnavailableForLegalReasons";
63
+ })(ClientErrorStatusCode || (ClientErrorStatusCode = {}));
64
+ export var ServerErrorStatusCode;
65
+ (function (ServerErrorStatusCode) {
66
+ ServerErrorStatusCode[ServerErrorStatusCode["InternalServerError"] = 500] = "InternalServerError";
67
+ ServerErrorStatusCode[ServerErrorStatusCode["NotImplemented"] = 501] = "NotImplemented";
68
+ ServerErrorStatusCode[ServerErrorStatusCode["BadGateway"] = 502] = "BadGateway";
69
+ ServerErrorStatusCode[ServerErrorStatusCode["ServiceUnavailable"] = 503] = "ServiceUnavailable";
70
+ ServerErrorStatusCode[ServerErrorStatusCode["GatewayTimeout"] = 504] = "GatewayTimeout";
71
+ ServerErrorStatusCode[ServerErrorStatusCode["HttpVersionNotSupported"] = 505] = "HttpVersionNotSupported";
72
+ ServerErrorStatusCode[ServerErrorStatusCode["VariantAlsoNegotiates"] = 506] = "VariantAlsoNegotiates";
73
+ ServerErrorStatusCode[ServerErrorStatusCode["InsufficientStorage"] = 507] = "InsufficientStorage";
74
+ ServerErrorStatusCode[ServerErrorStatusCode["LoopDetected"] = 508] = "LoopDetected";
75
+ ServerErrorStatusCode[ServerErrorStatusCode["NotExtended"] = 510] = "NotExtended";
76
+ ServerErrorStatusCode[ServerErrorStatusCode["NetworkAuthenticationRequired"] = 511] = "NetworkAuthenticationRequired";
77
+ })(ServerErrorStatusCode || (ServerErrorStatusCode = {}));
78
+ // Type-safe status code helpers
79
+ export const isInformational = (status) => status >= 100 && status < 200;
80
+ export const isSuccess = (status) => status >= 200 && status < 300;
81
+ export const isRedirection = (status) => status >= 300 && status < 400;
82
+ export const isClientError = (status) => status >= 400 && status < 500;
83
+ export const isServerError = (status) => status >= 500 && status < 600;
84
+ export const isError = (status) => status >= 400 && status < 600;
85
+ //# sourceMappingURL=HttpStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpStatus.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/HttpStatus.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from './ApiHandler';
2
- export * from './BaseMiddleware';
1
+ export * from './HttpMethod';
2
+ export * from './HttpStatus';
@@ -1,3 +1,3 @@
1
- export * from './ApiHandler';
2
- export * from './BaseMiddleware';
1
+ export * from './HttpMethod';
2
+ export * from './HttpStatus';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -36,6 +36,7 @@ export declare class AsenaSocket<T> implements ServerWebSocket<WebSocketData<T>>
36
36
  get namespace(): string;
37
37
  get id(): string;
38
38
  set id(value: string);
39
+ getBufferedAmount(): number;
39
40
  private createTopic;
40
41
  }
41
42
  export type Socket<T = any> = AsenaSocket<T>;
@@ -29,6 +29,7 @@ export class AsenaSocket {
29
29
  this.ws.close(code, reason);
30
30
  }
31
31
  terminate() {
32
+ this.cleanup();
32
33
  this.ws.terminate();
33
34
  }
34
35
  ping(data) {
@@ -113,6 +114,9 @@ export class AsenaSocket {
113
114
  set id(value) {
114
115
  this._id = value;
115
116
  }
117
+ getBufferedAmount() {
118
+ return this.ws.getBufferedAmount();
119
+ }
116
120
  createTopic(topic) {
117
121
  return `${this.namespace}.${topic}`;
118
122
  }
@@ -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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"}
@@ -1,9 +1,48 @@
1
1
  import type { Server } from 'bun';
2
+ /**
3
+ * AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
4
+ *
5
+ * This class provides a wrapper around Bun's WebSocket Server implementation with additional
6
+ * functionality for managing topics and message publishing.
7
+ */
2
8
  export declare class AsenaWebSocketServer {
9
+ /**
10
+ * The underlying Bun WebSocket server instance
11
+ * @private
12
+ */
3
13
  private server;
14
+ /**
15
+ * The topic identifier for this WebSocket server
16
+ * @private
17
+ * @readonly
18
+ */
4
19
  private readonly topic;
20
+ /**
21
+ * Creates a new instance of AsenaWebSocketServer
22
+ *
23
+ * @param server - The Bun Server instance to use
24
+ * @param topic - The topic identifier for this WebSocket server
25
+ */
5
26
  constructor(server: Server, topic: string);
27
+ /**
28
+ * Publishes data to a specific namespace
29
+ *
30
+ * @param nameSpace - The target namespace to publish to
31
+ * @param data - The data to publish. Supports ArrayBuffer, objects, strings, and numbers
32
+ * @returns void
33
+ */
6
34
  to(nameSpace: string, data?: any): void;
35
+ /**
36
+ * Alias for the 'to' method
37
+ *
38
+ * @param nameSpace - The target namespace to publish to
39
+ * @param data - The data to publish
40
+ */
7
41
  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
+ */
8
47
  get websocketCount(): number;
9
48
  }
@@ -1,12 +1,41 @@
1
+ // TODO: this section needs to rework
2
+ /**
3
+ * AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
4
+ *
5
+ * This class provides a wrapper around Bun's WebSocket Server implementation with additional
6
+ * functionality for managing topics and message publishing.
7
+ */
1
8
  export class AsenaWebSocketServer {
9
+ /**
10
+ * The underlying Bun WebSocket server instance
11
+ * @private
12
+ */
2
13
  server;
14
+ /**
15
+ * The topic identifier for this WebSocket server
16
+ * @private
17
+ * @readonly
18
+ */
3
19
  topic;
20
+ /**
21
+ * Creates a new instance of AsenaWebSocketServer
22
+ *
23
+ * @param server - The Bun Server instance to use
24
+ * @param topic - The topic identifier for this WebSocket server
25
+ */
4
26
  constructor(server, topic) {
5
27
  this.server = server;
6
28
  this.topic = topic;
7
29
  }
30
+ /**
31
+ * Publishes data to a specific namespace
32
+ *
33
+ * @param nameSpace - The target namespace to publish to
34
+ * @param data - The data to publish. Supports ArrayBuffer, objects, strings, and numbers
35
+ * @returns void
36
+ */
8
37
  to(nameSpace, data) {
9
- if (data instanceof ArrayBuffer || ArrayBuffer.isView(data) || data instanceof SharedArrayBuffer) {
38
+ if (data instanceof ArrayBuffer || data instanceof DataView || data instanceof SharedArrayBuffer) {
10
39
  this.server.publish(nameSpace, data);
11
40
  return;
12
41
  }
@@ -17,9 +46,20 @@ export class AsenaWebSocketServer {
17
46
  this.server.publish(nameSpace, String(data));
18
47
  }
19
48
  }
49
+ /**
50
+ * Alias for the 'to' method
51
+ *
52
+ * @param nameSpace - The target namespace to publish to
53
+ * @param data - The data to publish
54
+ */
20
55
  in(nameSpace, data) {
21
56
  this.to(nameSpace, data);
22
57
  }
58
+ /**
59
+ * Gets the current number of WebSocket subscribers for this server's topic
60
+ *
61
+ * @returns The number of active WebSocket connections
62
+ */
23
63
  get websocketCount() {
24
64
  return this.server.subscriberCount(this.topic);
25
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaWebSocketServer.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketServer.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IAEvB,MAAM,CAAS;IAEN,KAAK,CAAS;IAE/B,YAAmB,MAAc,EAAE,KAAa;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,IAAI,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAErC,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;IAEM,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,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":"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,4 +1,3 @@
1
- // TODO: server needs to be a generic , also write default implementation for server object it needs to have sockets
2
1
  /**
3
2
  * A service class for handling WebSocket connections.
4
3
  *
@@ -26,7 +25,8 @@ export class AsenaWebSocketService {
26
25
  * @param {any} [data] - The data to send.
27
26
  */
28
27
  in(data) {
29
- this.to(this.namespace, data);
28
+ // __ is a reserved namespace for broadcasting to all connected clients
29
+ this.to('__', data);
30
30
  }
31
31
  /**
32
32
  * Sends data to a specific namespace.
@@ -52,7 +52,7 @@ export class AsenaWebSocketService {
52
52
  }
53
53
  async onOpenInternal(ws) {
54
54
  this.sockets.set(ws.id, ws);
55
- ws.subscribe('');
55
+ ws.subscribe('__');
56
56
  ws.subscribe(`${ws.data.id}`);
57
57
  if (this.onOpen) {
58
58
  await this.onOpen(ws);
@@ -60,7 +60,7 @@ export class AsenaWebSocketService {
60
60
  }
61
61
  async onCloseInternal(ws, _code, _reason) {
62
62
  ws.cleanup();
63
- ws.unsubscribe(``);
63
+ ws.unsubscribe(`__`);
64
64
  ws.unsubscribe(`.${ws.data.id}`);
65
65
  this.sockets.delete(ws.id);
66
66
  if (this.onClose) {
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaWebSocketService.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketService.ts"],"names":[],"mappings":"AAGA,oHAAoH;AAEpH;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAEhC;;OAEG;IACI,MAAM,GAAyB,IAAI,CAAC;IAE3C;;OAEG;IACK,QAAQ,GAA2B,IAAI,GAAG,EAAqB,CAAC;IAExE;;OAEG;IACK,MAAM,GAA6B,IAAI,GAAG,EAAuB,CAAC;IAE1E;;OAEG;IACK,UAAU,CAAS;IAE3B;;;OAGG;IAEI,EAAE,CAAC,IAAU;QAClB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAE/E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAuDS,KAAK,CAAC,cAAc,CAAC,EAAa;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5B,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEjB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,EAAa,EAAE,KAAa,EAAE,OAAe;QAC3E,EAAE,CAAC,OAAO,EAAE,CAAC;QAEb,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEnB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,OAA+B;QAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAA+B;QAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;CAEF"}
1
+ {"version":3,"file":"AsenaWebSocketService.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketService.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAEhC;;OAEG;IACI,MAAM,GAAyB,IAAI,CAAC;IAE3C;;OAEG;IACK,QAAQ,GAA2B,IAAI,GAAG,EAAqB,CAAC;IAExE;;OAEG;IACK,MAAM,GAA6B,IAAI,GAAG,EAAuB,CAAC;IAE1E;;OAEG;IACK,UAAU,CAAS;IAE3B;;;OAGG;IAEI,EAAE,CAAC,IAAU;QAClB,uEAAuE;QACvE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAE/E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAuDS,KAAK,CAAC,cAAc,CAAC,EAAa;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEnB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,EAAa,EAAE,KAAa,EAAE,OAAe;QAC3E,EAAE,CAAC,OAAO,EAAE,CAAC;QAEb,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,OAA+B;QAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAA+B;QAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;CAEF"}
@@ -1,3 +1,4 @@
1
1
  export * from './AsenaWebSocketService';
2
2
  export * from './types';
3
3
  export * from './AsenaSocket';
4
+ export * from "./AsenaWebSocketServer";
@@ -1,4 +1,5 @@
1
1
  export * from './AsenaWebSocketService';
2
2
  export * from './types';
3
3
  export * from './AsenaSocket';
4
+ export * from "./AsenaWebSocketServer";
4
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"}
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"}
@@ -0,0 +1,3 @@
1
+ export declare const getTypedMetadata: <T>(key: string, target: any) => T | undefined;
2
+ export declare const getOwnTypedMetadata: <T>(key: string, target: any) => T | undefined;
3
+ export declare const defineTypedMetadata: <T>(key: string, value: T, target: any, sym?: string | symbol) => void;
@@ -0,0 +1,16 @@
1
+ import { defineMetadata, getMetadata, getOwnMetadata } from 'reflect-metadata/no-conflict';
2
+ export const getTypedMetadata = (key, target) => {
3
+ return getMetadata(key, target);
4
+ };
5
+ export const getOwnTypedMetadata = (key, target) => {
6
+ return getOwnMetadata(key, target);
7
+ };
8
+ // eslint-disable-next-line max-params
9
+ export const defineTypedMetadata = (key, value, target, sym) => {
10
+ if (sym === undefined) {
11
+ defineMetadata(key, value, target);
12
+ return;
13
+ }
14
+ defineMetadata(key, value, target, sym);
15
+ };
16
+ //# sourceMappingURL=typedMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedMetadata.js","sourceRoot":"","sources":["../../../lib/utils/typedMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,GAAW,EAAE,MAAW,EAAiB,EAAE;IAC7E,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAE,MAAW,EAAiB,EAAE;IAChF,OAAO,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,MAAW,EAAE,GAAqB,EAAQ,EAAE;IACxG,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asenajs/asena",
3
- "version": "0.1.18",
3
+ "version": "0.2.0",
4
4
  "description": "Asena is a spring like framework for building web applications built with hono and bun",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,6 +16,56 @@
16
16
  "build": "bun run clean && tsc",
17
17
  "clean": "rm -rf dist"
18
18
  },
19
+ "exports": {
20
+ ".": {
21
+ "import": "./dist/index.js",
22
+ "types": "./dist/index.d.ts"
23
+ },
24
+ "./adapter": {
25
+ "import": "./dist/lib/adapter/index.js",
26
+ "types": "./dist/lib/adapter/index.d.ts"
27
+ },
28
+ "./logger": {
29
+ "import": "./dist/lib/logger/index.js",
30
+ "types": "./dist/lib/logger/index.d.ts"
31
+ },
32
+ "./web-socket": {
33
+ "import": "./dist/lib/server/web/websocket/index.js",
34
+ "types": "./dist/lib/server/web/websocket/index.d.ts"
35
+ },
36
+ "./web": {
37
+ "import": "./dist/lib/server/web/decorators/index.js",
38
+ "types": "./dist/lib/server/web/decorators/index.d.ts"
39
+ },
40
+ "./web-types": {
41
+ "import": "./dist/lib/server/web/types/index.js",
42
+ "types": "./dist/lib/server/web/types/index.d.ts"
43
+ },
44
+ "./server": {
45
+ "import": "./dist/lib/server/decorators/index.js",
46
+ "types": "./dist/lib/server/decorators/index.d.ts"
47
+ },
48
+ "./server/config": {
49
+ "import": "./dist/lib/server/config/index.js",
50
+ "types": "./dist/lib/server/config/index.d.ts"
51
+ },
52
+ "./ioc": {
53
+ "import": "./dist/lib/ioc/component/decorators/index.js",
54
+ "types": "./dist/lib/ioc/component/decorators/index.d.ts"
55
+ },
56
+ "./http-status": {
57
+ "import": "./dist/lib/server/web/http/HttpStatus.js",
58
+ "types": "./dist/lib/server/web/http/HttpStatus.d.ts"
59
+ },
60
+ "./middleware": {
61
+ "import": "./dist/lib/server/web/middleware/index.js",
62
+ "types": "./dist/lib/server/web/middleware/index.d.ts"
63
+ },
64
+ "./container": {
65
+ "import": "./dist/lib/ioc/Container.js",
66
+ "types": "./dist/lib/ioc/Container.d.ts"
67
+ }
68
+ },
19
69
  "keywords": [
20
70
  "asena",
21
71
  "framework",
@@ -36,6 +86,7 @@
36
86
  "reflect-metadata": "^0.2.2"
37
87
  },
38
88
  "devDependencies": {
89
+ "@changesets/cli": "^2.28.1",
39
90
  "@types/bun": "latest",
40
91
  "@typescript-eslint/eslint-plugin": "^6.21.0",
41
92
  "eslint": "^8.57.1",
@@ -44,15 +95,13 @@
44
95
  "eslint-plugin-alloy": "^1.2.1",
45
96
  "eslint-plugin-import": "^2.31.0",
46
97
  "eslint-plugin-n": "^16.6.2",
47
- "eslint-plugin-prettier": "^5.2.1",
98
+ "eslint-plugin-prettier": "^5.2.5",
48
99
  "eslint-plugin-promise": "^6.6.0",
49
- "hono": "^4.6.10",
50
- "prettier": "^3.3.3",
51
- "typescript": "^5.6.3",
100
+ "prettier": "^3.5.3",
101
+ "typescript": "^5.8.2",
52
102
  "winston": "^3.17.0"
53
103
  },
54
104
  "peerDependencies": {
55
- "hono": "^4.5.9",
56
105
  "winston": "^3.13.0"
57
106
  }
58
107
  }