@asenajs/asena 0.1.18 → 0.1.19

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 (273) hide show
  1. package/README.md +75 -64
  2. package/dist/index.d.ts +1 -10
  3. package/dist/index.js +1 -10
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/adapter/AsenaAdapter.d.ts +46 -53
  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 +58 -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/hono/HonoAdapter.d.ts +28 -0
  13. package/dist/lib/adapter/{defaultAdapter/DefaultAdapter.js → hono/HonoAdapter.js} +57 -35
  14. package/dist/lib/adapter/hono/HonoAdapter.js.map +1 -0
  15. package/dist/lib/adapter/{defaultAdapter/DefaultContextWrapper.d.ts → hono/HonoContextWrapper.d.ts} +4 -4
  16. package/dist/lib/adapter/{defaultAdapter/DefaultContextWrapper.js → hono/HonoContextWrapper.js} +6 -6
  17. package/dist/lib/adapter/hono/HonoContextWrapper.js.map +1 -0
  18. package/dist/lib/adapter/{defaultAdapter/DefaultWebsocketAdapter.d.ts → hono/HonoWebsocketAdapter.d.ts} +9 -5
  19. package/dist/lib/adapter/{defaultAdapter/DefaultWebsocketAdapter.js → hono/HonoWebsocketAdapter.js} +34 -24
  20. package/dist/lib/adapter/hono/HonoWebsocketAdapter.js.map +1 -0
  21. package/dist/lib/adapter/hono/defaults/ConfigService.d.ts +4 -0
  22. package/dist/lib/adapter/hono/defaults/ConfigService.js +3 -0
  23. package/dist/lib/adapter/hono/defaults/ConfigService.js.map +1 -0
  24. package/dist/lib/adapter/hono/defaults/Context.js +2 -0
  25. package/dist/lib/adapter/hono/defaults/Context.js.map +1 -0
  26. package/dist/lib/adapter/hono/defaults/MiddlewareService.d.ts +5 -0
  27. package/dist/lib/adapter/hono/defaults/MiddlewareService.js +4 -0
  28. package/dist/lib/adapter/hono/defaults/MiddlewareService.js.map +1 -0
  29. package/dist/lib/adapter/hono/defaults/ValidationService.d.ts +10 -0
  30. package/dist/lib/adapter/hono/defaults/ValidationService.js +3 -0
  31. package/dist/lib/adapter/hono/defaults/ValidationService.js.map +1 -0
  32. package/dist/lib/adapter/hono/defaults/index.d.ts +4 -0
  33. package/dist/lib/adapter/hono/defaults/index.js +5 -0
  34. package/dist/lib/adapter/hono/defaults/index.js.map +1 -0
  35. package/dist/lib/adapter/hono/index.d.ts +6 -0
  36. package/dist/lib/adapter/hono/index.js +7 -0
  37. package/dist/lib/adapter/hono/index.js.map +1 -0
  38. package/dist/lib/adapter/hono/types/HonoHandler.d.ts +5 -0
  39. package/dist/lib/adapter/hono/types/HonoHandler.js +2 -0
  40. package/dist/lib/adapter/hono/types/HonoHandler.js.map +1 -0
  41. package/dist/lib/adapter/hono/types/index.d.ts +2 -0
  42. package/dist/lib/adapter/hono/types/index.js +3 -0
  43. package/dist/lib/adapter/hono/types/index.js.map +1 -0
  44. package/dist/lib/adapter/hono/utils/createHonoAdapter.d.ts +3 -0
  45. package/dist/lib/adapter/hono/utils/createHonoAdapter.js +6 -0
  46. package/dist/lib/adapter/hono/utils/createHonoAdapter.js.map +1 -0
  47. package/dist/lib/adapter/hono/utils/middlewareParser.d.ts +4 -0
  48. package/dist/lib/adapter/hono/utils/middlewareParser.js +15 -0
  49. package/dist/lib/adapter/hono/utils/middlewareParser.js.map +1 -0
  50. package/dist/lib/adapter/index.d.ts +1 -0
  51. package/dist/lib/adapter/index.js +1 -0
  52. package/dist/lib/adapter/index.js.map +1 -1
  53. package/dist/lib/adapter/types/AsenaHandler.d.ts +2 -0
  54. package/dist/lib/adapter/types/AsenaHandler.js +2 -0
  55. package/dist/lib/adapter/types/AsenaHandler.js.map +1 -0
  56. package/dist/lib/adapter/types/AsenaMiddlewareHandler.d.ts +2 -0
  57. package/dist/lib/adapter/types/AsenaMiddlewareHandler.js +2 -0
  58. package/dist/lib/adapter/types/AsenaMiddlewareHandler.js.map +1 -0
  59. package/dist/lib/adapter/types/ErrorHandler.d.ts +2 -0
  60. package/dist/lib/adapter/types/ErrorHandler.js +2 -0
  61. package/dist/lib/adapter/types/ErrorHandler.js.map +1 -0
  62. package/dist/lib/adapter/types/RouteParams.d.ts +7 -4
  63. package/dist/lib/adapter/types/ServeOptions.d.ts +7 -0
  64. package/dist/lib/adapter/types/ServeOptions.js +2 -0
  65. package/dist/lib/adapter/types/ServeOptions.js.map +1 -0
  66. package/dist/lib/adapter/types/WebSocketRegistry.d.ts +5 -4
  67. package/dist/lib/adapter/types/WebsocketAdapterParams.d.ts +1 -1
  68. package/dist/lib/adapter/types/index.d.ts +3 -0
  69. package/dist/lib/adapter/types/index.js +3 -0
  70. package/dist/lib/adapter/types/index.js.map +1 -1
  71. package/dist/lib/ioc/Container.d.ts +7 -3
  72. package/dist/lib/ioc/Container.js +68 -72
  73. package/dist/lib/ioc/Container.js.map +1 -1
  74. package/dist/lib/ioc/IocEngine.d.ts +2 -2
  75. package/dist/lib/ioc/IocEngine.js +15 -15
  76. package/dist/lib/ioc/IocEngine.js.map +1 -1
  77. package/dist/lib/ioc/component/componentUtils.d.ts +1 -1
  78. package/dist/lib/ioc/component/componentUtils.js +16 -12
  79. package/dist/lib/ioc/component/componentUtils.js.map +1 -1
  80. package/dist/lib/{server/decorators/components → ioc/component/decorators}/Component.d.ts +1 -1
  81. package/dist/lib/{server/decorators/components → ioc/component/decorators}/Component.js +2 -2
  82. package/dist/lib/ioc/component/decorators/Component.js.map +1 -0
  83. package/dist/lib/ioc/component/decorators/Implements.js +2 -2
  84. package/dist/lib/ioc/component/decorators/Implements.js.map +1 -1
  85. package/dist/lib/ioc/component/decorators/Inject.d.ts +1 -1
  86. package/dist/lib/ioc/component/decorators/Inject.js +6 -7
  87. package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
  88. package/dist/lib/ioc/component/decorators/PostConstruct.d.ts +6 -0
  89. package/dist/lib/ioc/component/decorators/PostConstruct.js +17 -0
  90. package/dist/lib/ioc/component/decorators/PostConstruct.js.map +1 -0
  91. package/dist/lib/ioc/component/decorators/Strategy.js +6 -6
  92. package/dist/lib/ioc/component/decorators/Strategy.js.map +1 -1
  93. package/dist/lib/ioc/component/decorators/index.d.ts +1 -0
  94. package/dist/lib/ioc/component/decorators/index.js +1 -0
  95. package/dist/lib/ioc/component/decorators/index.js.map +1 -1
  96. package/dist/lib/ioc/component/index.d.ts +1 -0
  97. package/dist/lib/ioc/component/index.js +2 -0
  98. package/dist/lib/ioc/component/index.js.map +1 -0
  99. package/dist/lib/ioc/constants/ComponentConstants.d.ts +4 -2
  100. package/dist/lib/ioc/constants/ComponentConstants.js +3 -1
  101. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  102. package/dist/lib/ioc/helper/fileHelper.d.ts +1 -1
  103. package/dist/lib/ioc/helper/fileHelper.js +9 -3
  104. package/dist/lib/ioc/helper/fileHelper.js.map +1 -1
  105. package/dist/lib/ioc/helper/iocHelper.d.ts +2 -3
  106. package/dist/lib/ioc/helper/iocHelper.js +4 -2
  107. package/dist/lib/ioc/helper/iocHelper.js.map +1 -1
  108. package/dist/lib/ioc/types/{Component.d.ts → InjectableComponent.d.ts} +4 -4
  109. package/dist/lib/ioc/types/InjectableComponent.js +2 -0
  110. package/dist/lib/ioc/types/InjectableComponent.js.map +1 -0
  111. package/dist/lib/ioc/types/IocConfig.d.ts +1 -0
  112. package/dist/lib/ioc/types/decorators/ComponentParams.d.ts +1 -1
  113. package/dist/lib/ioc/types/decorators/ComponentType.d.ts +2 -2
  114. package/dist/lib/ioc/types/decorators/ComponentType.js +1 -1
  115. package/dist/lib/ioc/types/decorators/ComponentType.js.map +1 -1
  116. package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +4 -3
  117. package/dist/lib/ioc/types/decorators/MiddlewareParams.d.ts +1 -1
  118. package/dist/lib/ioc/types/index.d.ts +1 -1
  119. package/dist/lib/ioc/types/index.js +1 -1
  120. package/dist/lib/ioc/types/index.js.map +1 -1
  121. package/dist/lib/{services/logger → logger}/DefaultLogger.d.ts +1 -1
  122. package/dist/lib/logger/DefaultLogger.js.map +1 -0
  123. package/dist/lib/{services/types → logger}/Logger.js.map +1 -1
  124. package/dist/lib/logger/index.d.ts +2 -0
  125. package/dist/lib/logger/index.js +3 -0
  126. package/dist/lib/logger/index.js.map +1 -0
  127. package/dist/lib/server/AsenaServer.d.ts +15 -14
  128. package/dist/lib/server/AsenaServer.js +125 -113
  129. package/dist/lib/server/AsenaServer.js.map +1 -1
  130. package/dist/lib/server/config/AsenaConfig.d.ts +43 -0
  131. package/dist/lib/server/config/AsenaConfig.js +2 -0
  132. package/dist/lib/server/config/AsenaConfig.js.map +1 -0
  133. package/dist/lib/server/decorators/Override.d.ts +4 -4
  134. package/dist/lib/server/decorators/Override.js +11 -7
  135. package/dist/lib/server/decorators/Override.js.map +1 -1
  136. package/dist/lib/server/decorators/components/Config.d.ts +10 -0
  137. package/dist/lib/server/decorators/components/Config.js +14 -0
  138. package/dist/lib/server/decorators/components/Config.js.map +1 -0
  139. package/dist/lib/server/decorators/components/Controller.js +4 -4
  140. package/dist/lib/server/decorators/components/Controller.js.map +1 -1
  141. package/dist/lib/server/decorators/components/Middleware.d.ts +1 -1
  142. package/dist/lib/server/decorators/components/Middleware.js +19 -9
  143. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  144. package/dist/lib/server/decorators/components/Schedule.d.ts +2 -2
  145. package/dist/lib/server/decorators/components/Schedule.js +7 -7
  146. package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
  147. package/dist/lib/server/decorators/components/Service.d.ts +1 -1
  148. package/dist/lib/server/decorators/components/Service.js +2 -2
  149. package/dist/lib/server/decorators/components/Service.js.map +1 -1
  150. package/dist/lib/server/decorators/components/WebSocket.js +4 -4
  151. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  152. package/dist/lib/server/decorators/components/index.d.ts +1 -2
  153. package/dist/lib/server/decorators/components/index.js +1 -2
  154. package/dist/lib/server/decorators/components/index.js.map +1 -1
  155. package/dist/lib/server/decorators/index.d.ts +2 -1
  156. package/dist/lib/server/decorators/index.js +2 -1
  157. package/dist/lib/server/decorators/index.js.map +1 -1
  158. package/dist/lib/server/index.d.ts +1 -0
  159. package/dist/lib/server/index.js +1 -0
  160. package/dist/lib/server/index.js.map +1 -1
  161. package/dist/lib/server/types/Class.d.ts +0 -3
  162. package/dist/lib/server/web/decorators/http.base.d.ts +4 -0
  163. package/dist/lib/server/web/decorators/http.base.js +35 -0
  164. package/dist/lib/server/web/decorators/http.base.js.map +1 -0
  165. package/dist/lib/server/web/decorators/index.d.ts +4 -0
  166. package/dist/lib/server/web/decorators/index.js +5 -0
  167. package/dist/lib/server/web/decorators/index.js.map +1 -0
  168. package/dist/lib/server/web/decorators/methods/Connect.d.ts +7 -0
  169. package/dist/lib/server/web/decorators/methods/Connect.js +12 -0
  170. package/dist/lib/server/web/decorators/methods/Connect.js.map +1 -0
  171. package/dist/lib/server/web/decorators/methods/Delete.d.ts +7 -0
  172. package/dist/lib/server/web/decorators/methods/Delete.js +12 -0
  173. package/dist/lib/server/web/decorators/methods/Delete.js.map +1 -0
  174. package/dist/lib/server/web/decorators/methods/Get.d.ts +7 -0
  175. package/dist/lib/server/web/decorators/methods/Get.js +12 -0
  176. package/dist/lib/server/web/decorators/methods/Get.js.map +1 -0
  177. package/dist/lib/server/web/decorators/methods/Head.d.ts +7 -0
  178. package/dist/lib/server/web/decorators/methods/Head.js +12 -0
  179. package/dist/lib/server/web/decorators/methods/Head.js.map +1 -0
  180. package/dist/lib/server/web/decorators/methods/Options.d.ts +7 -0
  181. package/dist/lib/server/web/decorators/methods/Options.js +12 -0
  182. package/dist/lib/server/web/decorators/methods/Options.js.map +1 -0
  183. package/dist/lib/server/web/decorators/methods/Patch.d.ts +7 -0
  184. package/dist/lib/server/web/decorators/methods/Patch.js +12 -0
  185. package/dist/lib/server/web/decorators/methods/Patch.js.map +1 -0
  186. package/dist/lib/server/web/decorators/methods/Post.d.ts +7 -0
  187. package/dist/lib/server/web/decorators/methods/Post.js +12 -0
  188. package/dist/lib/server/web/decorators/methods/Post.js.map +1 -0
  189. package/dist/lib/server/web/decorators/methods/Put.d.ts +7 -0
  190. package/dist/lib/server/web/decorators/methods/Put.js +12 -0
  191. package/dist/lib/server/web/decorators/methods/Put.js.map +1 -0
  192. package/dist/lib/server/web/decorators/methods/Trace.d.ts +7 -0
  193. package/dist/lib/server/web/decorators/methods/Trace.js +12 -0
  194. package/dist/lib/server/web/decorators/methods/Trace.js.map +1 -0
  195. package/dist/lib/server/web/decorators/methods/index.d.ts +9 -0
  196. package/dist/lib/server/web/decorators/methods/index.js +10 -0
  197. package/dist/lib/server/web/decorators/methods/index.js.map +1 -0
  198. package/dist/lib/server/web/helper/middlewareHelper.d.ts +7 -1
  199. package/dist/lib/server/web/helper/middlewareHelper.js +11 -5
  200. package/dist/lib/server/web/helper/middlewareHelper.js.map +1 -1
  201. package/dist/lib/server/web/http/HttpStatus.d.ts +69 -67
  202. package/dist/lib/server/web/http/HttpStatus.js +69 -68
  203. package/dist/lib/server/web/http/HttpStatus.js.map +1 -1
  204. package/dist/lib/server/web/middleware/AsenaMiddlewareService.d.ts +8 -10
  205. package/dist/lib/server/web/middleware/AsenaMiddlewareService.js +1 -4
  206. package/dist/lib/server/web/middleware/AsenaMiddlewareService.js.map +1 -1
  207. package/dist/lib/server/web/middleware/AsenaValidationService.d.ts +15 -16
  208. package/dist/lib/server/web/middleware/AsenaValidationService.js +1 -8
  209. package/dist/lib/server/web/middleware/AsenaValidationService.js.map +1 -1
  210. package/dist/lib/server/web/types/ApiParams.d.ts +73 -0
  211. package/dist/lib/server/web/types/ApiParams.js +2 -0
  212. package/dist/lib/server/web/types/ApiParams.js.map +1 -0
  213. package/dist/lib/server/web/types/BaseMiddleware.d.ts +50 -5
  214. package/dist/lib/server/web/types/BaseMiddleware.js +1 -1
  215. package/dist/lib/server/web/types/BaseMiddleware.js.map +1 -1
  216. package/dist/lib/server/web/types/index.d.ts +1 -1
  217. package/dist/lib/server/web/types/index.js +1 -1
  218. package/dist/lib/server/web/types/index.js.map +1 -1
  219. package/dist/lib/server/web/websocket/AsenaSocket.js +1 -0
  220. package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
  221. package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +39 -0
  222. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +40 -0
  223. package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
  224. package/dist/lib/server/web/websocket/AsenaWebSocketService.js +4 -4
  225. package/dist/lib/server/web/websocket/AsenaWebSocketService.js.map +1 -1
  226. package/dist/lib/utils/typedMetadata.d.ts +2 -0
  227. package/dist/lib/utils/typedMetadata.js +13 -0
  228. package/dist/lib/utils/typedMetadata.js.map +1 -0
  229. package/package.json +53 -5
  230. package/dist/lib/adapter/defaultAdapter/DefaultAdapter.d.ts +0 -26
  231. package/dist/lib/adapter/defaultAdapter/DefaultAdapter.js.map +0 -1
  232. package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.js.map +0 -1
  233. package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.js.map +0 -1
  234. package/dist/lib/adapter/defaultAdapter/index.d.ts +0 -3
  235. package/dist/lib/adapter/defaultAdapter/index.js +0 -4
  236. package/dist/lib/adapter/defaultAdapter/index.js.map +0 -1
  237. package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.js +0 -2
  238. package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.js.map +0 -1
  239. package/dist/lib/adapter/defaultAdapter/types/Handler.d.ts +0 -4
  240. package/dist/lib/adapter/defaultAdapter/types/Handler.js +0 -2
  241. package/dist/lib/adapter/defaultAdapter/types/Handler.js.map +0 -1
  242. package/dist/lib/adapter/defaultAdapter/types/index.d.ts +0 -2
  243. package/dist/lib/adapter/defaultAdapter/types/index.js +0 -3
  244. package/dist/lib/adapter/defaultAdapter/types/index.js.map +0 -1
  245. package/dist/lib/ioc/types/Component.js +0 -2
  246. package/dist/lib/ioc/types/Component.js.map +0 -1
  247. package/dist/lib/server/decorators/components/Component.js.map +0 -1
  248. package/dist/lib/server/decorators/components/ServerService.d.ts +0 -9
  249. package/dist/lib/server/decorators/components/ServerService.js +0 -13
  250. package/dist/lib/server/decorators/components/ServerService.js.map +0 -1
  251. package/dist/lib/server/web/api/apiHandler.d.ts +0 -55
  252. package/dist/lib/server/web/api/apiHandler.js +0 -107
  253. package/dist/lib/server/web/api/apiHandler.js.map +0 -1
  254. package/dist/lib/server/web/api/index.d.ts +0 -1
  255. package/dist/lib/server/web/api/index.js +0 -2
  256. package/dist/lib/server/web/api/index.js.map +0 -1
  257. package/dist/lib/server/web/types/ApiHandler.d.ts +0 -22
  258. package/dist/lib/server/web/types/ApiHandler.js +0 -2
  259. package/dist/lib/server/web/types/ApiHandler.js.map +0 -1
  260. package/dist/lib/services/index.d.ts +0 -3
  261. package/dist/lib/services/index.js +0 -4
  262. package/dist/lib/services/index.js.map +0 -1
  263. package/dist/lib/services/logger/DefaultLogger.js.map +0 -1
  264. package/dist/lib/services/serverService/AsenaService.d.ts +0 -7
  265. package/dist/lib/services/serverService/AsenaService.js +0 -7
  266. package/dist/lib/services/serverService/AsenaService.js.map +0 -1
  267. package/dist/lib/services/types/index.d.ts +0 -2
  268. package/dist/lib/services/types/index.js +0 -3
  269. package/dist/lib/services/types/index.js.map +0 -1
  270. /package/dist/lib/adapter/{defaultAdapter/types/Defaultcontext.d.ts → hono/defaults/Context.d.ts} +0 -0
  271. /package/dist/lib/{services/logger → logger}/DefaultLogger.js +0 -0
  272. /package/dist/lib/{services/types → logger}/Logger.d.ts +0 -0
  273. /package/dist/lib/{services/types → logger}/Logger.js +0 -0
@@ -1,9 +1,9 @@
1
1
  import type { Context, HonoRequest } from 'hono';
2
2
  import type { AsenaContext } from '../AsenaContext';
3
- import type { SendOptions } from '../types';
4
- import type { CookieExtra } from '../types';
3
+ import type { CookieExtra, SendOptions } from '../types';
5
4
  import type { CookieOptions } from 'hono/utils/cookie';
6
- export declare class DefaultContextWrapper implements AsenaContext<HonoRequest<any, any>, Response> {
5
+ import type { ContentfulStatusCode } from 'hono/utils/http-status';
6
+ export declare class HonoContextWrapper implements AsenaContext<HonoRequest<any, any>, Response> {
7
7
  private _context;
8
8
  constructor(context: Context);
9
9
  get req(): HonoRequest<any, unknown>;
@@ -17,7 +17,7 @@ export declare class DefaultContextWrapper implements AsenaContext<HonoRequest<a
17
17
  getBody<T>(): Promise<T>;
18
18
  getQuery(query: string): Promise<string>;
19
19
  getQueryAll(query: string): Promise<string[]>;
20
- send(data: string | any, statusOrOptions?: SendOptions | number): (Response & import("hono").TypedResponse<string, import("hono/utils/http-status").StatusCode, "text">) | (Response & import("hono").TypedResponse<any, import("hono/utils/http-status").StatusCode, "json">);
20
+ send(data: string | any, statusOrOptions?: SendOptions | number): (Response & import("hono").TypedResponse<string, ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<any, ContentfulStatusCode, "json">);
21
21
  getCookie(name: string, secret?: string | BufferSource): Promise<string | false>;
22
22
  setCookie(name: string, value: string, options?: CookieExtra<CookieOptions>): Promise<void>;
23
23
  deleteCookie(name: string, options?: CookieExtra<CookieOptions>): Promise<void>;
@@ -1,5 +1,5 @@
1
- import { getCookie, getSignedCookie, setCookie, setSignedCookie, deleteCookie } from 'hono/cookie'; // add delete cookie
2
- export class DefaultContextWrapper {
1
+ import { deleteCookie, getCookie, getSignedCookie, setCookie, setSignedCookie } from 'hono/cookie'; // add delete cookie
2
+ export class HonoContextWrapper {
3
3
  _context;
4
4
  constructor(context) {
5
5
  this._context = context;
@@ -47,7 +47,7 @@ export class DefaultContextWrapper {
47
47
  if (typeof data === 'string') {
48
48
  return this._context.text(data);
49
49
  }
50
- return this._context.json(data, { status });
50
+ return this._context.json(data, status, headers);
51
51
  }
52
52
  async getCookie(name, secret) {
53
53
  return secret ? await getSignedCookie(this._context, secret, name) : getCookie(this._context, name);
@@ -80,12 +80,12 @@ export class DefaultContextWrapper {
80
80
  html(data, statusOrOptions) {
81
81
  const { headers = {}, status = 200 } = typeof statusOrOptions === 'number' ? { status: statusOrOptions } : statusOrOptions || {};
82
82
  if (typeof data === 'string') {
83
- return this._context.html(data, { headers, status });
83
+ return this._context.html(data, status, headers);
84
84
  }
85
85
  Object.entries(headers).forEach(([key, value]) => {
86
86
  this._context.res.headers.append(key, value);
87
87
  });
88
- return this._context.html(data, { status });
88
+ return this._context.html(data, status, headers);
89
89
  }
90
90
  get context() {
91
91
  return this._context;
@@ -94,4 +94,4 @@ export class DefaultContextWrapper {
94
94
  this._context = value;
95
95
  }
96
96
  }
97
- //# sourceMappingURL=DefaultContextWrapper.js.map
97
+ //# sourceMappingURL=HonoContextWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HonoContextWrapper.js","sourceRoot":"","sources":["../../../../lib/adapter/hono/HonoContextWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
1
  import { type AsenaWebSocketService, type WSOptions } from '../../server/web/websocket';
2
2
  import { AsenaWebsocketAdapter } from '../AsenaWebsocketAdapter';
3
- import type { Hono, MiddlewareHandler } from 'hono';
3
+ import type { Hono } from 'hono';
4
4
  import type { Server } from 'bun';
5
5
  import type { WebsocketAdapterParams } from '../types';
6
- export declare class DefaultWebsocketAdapter extends AsenaWebsocketAdapter<Hono, MiddlewareHandler> {
6
+ import type { BaseMiddleware } from '../../server/web/types';
7
+ import type { Context as HonoAdapterContext } from './defaults/Context';
8
+ export declare class HonoWebsocketAdapter extends AsenaWebsocketAdapter<Hono, HonoAdapterContext> {
9
+ name: string;
7
10
  private _server;
8
11
  constructor(params?: WebsocketAdapterParams<Hono>);
9
- registerWebSocket(webSocketService: AsenaWebSocketService<any>, middlewares: MiddlewareHandler[]): void;
10
- prepareWebSocket(options?: WSOptions): void;
11
- buildWebsocket(): void;
12
+ registerWebSocket(webSocketService: AsenaWebSocketService<any>, middlewares: BaseMiddleware<HonoAdapterContext>[]): void;
13
+ buildWebsocket(options?: WSOptions): void;
12
14
  startWebsocket(server: Server): void;
15
+ private prepareWebSocket;
13
16
  private upgradeWebSocket;
14
17
  private createHandler;
18
+ private prepareMiddlewares;
15
19
  }
@@ -1,11 +1,11 @@
1
1
  import { AsenaSocket, } from '../../server/web/websocket';
2
2
  import { AsenaWebsocketAdapter } from '../AsenaWebsocketAdapter';
3
3
  import * as bun from 'bun';
4
- import { getMetadata } from 'reflect-metadata/no-conflict';
5
- import { ComponentConstants } from '../../ioc/constants';
6
4
  import { AsenaWebSocketServer } from '../../server/web/websocket/AsenaWebSocketServer';
7
- import { green, yellow } from '../../services';
8
- export class DefaultWebsocketAdapter extends AsenaWebsocketAdapter {
5
+ import { green, yellow } from '../../logger';
6
+ import { middlewareParser } from './utils/middlewareParser';
7
+ export class HonoWebsocketAdapter extends AsenaWebsocketAdapter {
8
+ name = 'HonoWebsocketAdapter';
9
9
  _server;
10
10
  constructor(params) {
11
11
  super(params);
@@ -17,31 +17,20 @@ export class DefaultWebsocketAdapter extends AsenaWebsocketAdapter {
17
17
  if (this.websockets === undefined) {
18
18
  this.websockets = new Map();
19
19
  }
20
- const namespace = getMetadata(ComponentConstants.PathKey, webSocketService.constructor);
20
+ const namespace = webSocketService.namespace;
21
21
  if (!namespace) {
22
22
  throw new Error('Namespace is not provided');
23
23
  }
24
- webSocketService.namespace = namespace;
25
- this.logger.info(`${green('Successfully')} registered ${yellow('WEBSOCKET')} route for PATH: ${green(`/${webSocketService.namespace}`)} (${webSocketService.constructor.name})`);
24
+ this.logger.info(`${green('Successfully')} registered ${yellow('WEBSOCKET')} route for PATH: ${green(`/${webSocketService.namespace}`)}`);
26
25
  this.websockets.set(namespace, { socket: webSocketService, middlewares });
27
26
  }
28
- prepareWebSocket(options) {
29
- this.websocket = {
30
- open: this.createHandler('onOpenInternal'),
31
- message: this.createHandler('onMessage'),
32
- drain: this.createHandler('onDrain'),
33
- close: this.createHandler('onCloseInternal'),
34
- ping: this.createHandler('onPing'),
35
- pong: this.createHandler('onPong'),
36
- ...options,
37
- };
38
- }
39
- buildWebsocket() {
40
- if (!this.websocket || !this.websockets?.size)
27
+ buildWebsocket(options) {
28
+ if (!this.websockets || !this.websockets?.size)
41
29
  return;
42
30
  for (const [, websocket] of this.websockets) {
43
31
  this.upgradeWebSocket(websocket.socket, websocket.middlewares);
44
32
  }
33
+ this.prepareWebSocket(options);
45
34
  }
46
35
  startWebsocket(server) {
47
36
  this._server = server;
@@ -52,9 +41,24 @@ export class DefaultWebsocketAdapter extends AsenaWebsocketAdapter {
52
41
  websocket.socket.server = new AsenaWebSocketServer(server, namespace);
53
42
  }
54
43
  }
44
+ prepareWebSocket(options) {
45
+ if (this.websockets?.size < 1) {
46
+ return;
47
+ }
48
+ this.websocket = {
49
+ open: this.createHandler('onOpenInternal'),
50
+ message: this.createHandler('onMessage'),
51
+ drain: this.createHandler('onDrain'),
52
+ close: this.createHandler('onCloseInternal'),
53
+ ping: this.createHandler('onPing'),
54
+ pong: this.createHandler('onPong'),
55
+ ...options,
56
+ };
57
+ }
55
58
  upgradeWebSocket(websocket, middlewares) {
56
59
  const path = websocket.namespace;
57
- this.app.get(`/${path}`, ...middlewares, async (c, next) => {
60
+ const preparedMiddlewares = this.prepareMiddlewares(middlewares);
61
+ this.app.get(`/${path}`, ...preparedMiddlewares, async (c, next) => {
58
62
  const websocketData = c.get('_websocketData') || {};
59
63
  const id = bun.randomUUIDv7();
60
64
  const data = { values: websocketData, id, path: path };
@@ -68,10 +72,16 @@ export class DefaultWebsocketAdapter extends AsenaWebsocketAdapter {
68
72
  createHandler(type) {
69
73
  return (ws, ...args) => {
70
74
  const websocket = this.websockets.get(ws.data.path);
71
- if (websocket?.socket[type]) {
72
- (websocket?.socket[type])(new AsenaSocket(ws, websocket.socket), ...args);
75
+ let handler = websocket?.socket[type];
76
+ if (!handler) {
77
+ return;
73
78
  }
79
+ handler = handler.bind(websocket.socket);
80
+ handler(new AsenaSocket(ws, websocket.socket), ...args);
74
81
  };
75
82
  }
83
+ prepareMiddlewares(middlewares) {
84
+ return middlewareParser(middlewares);
85
+ }
76
86
  }
77
- //# sourceMappingURL=DefaultWebsocketAdapter.js.map
87
+ //# sourceMappingURL=HonoWebsocketAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HonoWebsocketAdapter.js","sourceRoot":"","sources":["../../../../lib/adapter/hono/HonoWebsocketAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AsenaConfig } from '../../../server/config/AsenaConfig';
2
+ import type { Context } from './Context';
3
+ export declare abstract class ConfigService implements AsenaConfig<Context> {
4
+ }
@@ -0,0 +1,3 @@
1
+ export class ConfigService {
2
+ }
3
+ //# sourceMappingURL=ConfigService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigService.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/defaults/ConfigService.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,aAAa;CAAmC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/defaults/Context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { HonoRequest } from 'hono';
2
+ import { AsenaMiddlewareService } from '../../../server/web/middleware';
3
+ import type { AsenaContext } from '../../AsenaContext';
4
+ export declare abstract class MiddlewareService<P extends string = any, I = any> extends AsenaMiddlewareService<AsenaContext<HonoRequest<P, I>, Response>> {
5
+ }
@@ -0,0 +1,4 @@
1
+ import { AsenaMiddlewareService } from '../../../server/web/middleware';
2
+ export class MiddlewareService extends AsenaMiddlewareService {
3
+ }
4
+ //# sourceMappingURL=MiddlewareService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiddlewareService.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/defaults/MiddlewareService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,MAAM,OAAgB,iBAAmD,SAAQ,sBAEhF;CAAG"}
@@ -0,0 +1,10 @@
1
+ import type { AsenaValidationService } from '../../../server/web/middleware';
2
+ import type { z } from 'zod';
3
+ import type { Hook } from '@hono/zod-validator';
4
+ export type ValidationSchema = z.ZodType<any, z.ZodTypeDef, any>;
5
+ export interface ValidationSchemaWithHook {
6
+ schema: z.ZodType<any, z.ZodTypeDef, any>;
7
+ hook?: Hook<any, any, any>;
8
+ }
9
+ export declare abstract class ValidationService implements AsenaValidationService<ValidationSchema | ValidationSchemaWithHook> {
10
+ }
@@ -0,0 +1,3 @@
1
+ export class ValidationService {
2
+ }
3
+ //# sourceMappingURL=ValidationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationService.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/defaults/ValidationService.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,iBAAiB;CAC4C"}
@@ -0,0 +1,4 @@
1
+ export * from './Context';
2
+ export * from './MiddlewareService';
3
+ export * from './ValidationService';
4
+ export * from './ConfigService';
@@ -0,0 +1,5 @@
1
+ export * from './Context';
2
+ export * from './MiddlewareService';
3
+ export * from './ValidationService';
4
+ export * from './ConfigService';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/defaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './HonoAdapter';
2
+ export * from './HonoContextWrapper';
3
+ export * from './HonoWebsocketAdapter';
4
+ export * from './types';
5
+ export * from './defaults';
6
+ export * from './utils/createHonoAdapter';
@@ -0,0 +1,7 @@
1
+ export * from './HonoAdapter';
2
+ export * from './HonoContextWrapper';
3
+ export * from './HonoWebsocketAdapter';
4
+ export * from './types';
5
+ export * from './defaults';
6
+ export * from './utils/createHonoAdapter';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/adapter/hono/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ErrorHandler } from '../../types';
2
+ import type { AsenaHandler } from '../../types/AsenaHandler';
3
+ import type { Context } from '../defaults';
4
+ export type HonoHandler = AsenaHandler<Context>;
5
+ export type HonoErrorHandler = ErrorHandler<Context>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HonoHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HonoHandler.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/types/HonoHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './HonoHandler';
2
+ export * from '../defaults/Context';
@@ -0,0 +1,3 @@
1
+ export * from './HonoHandler';
2
+ export * from '../defaults/Context';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ServerLogger } from '../../../logger';
2
+ import { HonoAdapter } from '../index';
3
+ export declare const createHonoAdapter: (logger?: ServerLogger) => [HonoAdapter, ServerLogger];
@@ -0,0 +1,6 @@
1
+ import { HonoAdapter } from '../index';
2
+ import { HonoWebsocketAdapter } from '../index';
3
+ export const createHonoAdapter = (logger) => {
4
+ return [new HonoAdapter(new HonoWebsocketAdapter(), logger), logger];
5
+ };
6
+ //# sourceMappingURL=createHonoAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHonoAdapter.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/utils/createHonoAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAqB,EAA+B,EAAE;IACtF,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,oBAAoB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { MiddlewareHandler } from 'hono';
2
+ import type { BaseMiddleware } from '../../../server/web/types';
3
+ import type { Context as HonoAdapterContext } from '../defaults';
4
+ export declare const middlewareParser: (middlewares: BaseMiddleware<HonoAdapterContext>[]) => MiddlewareHandler[];
@@ -0,0 +1,15 @@
1
+ import { HonoContextWrapper } from '../HonoContextWrapper';
2
+ import { createFactory } from 'hono/factory';
3
+ export const middlewareParser = (middlewares) => {
4
+ const factory = createFactory();
5
+ return middlewares.map((middleware) => {
6
+ if (middleware.override) {
7
+ // @ts-ignore
8
+ return (c, next) => middleware.handle(c, next);
9
+ }
10
+ return factory.createMiddleware(async (context, next) => {
11
+ await middleware.handle(new HonoContextWrapper(context), next);
12
+ });
13
+ });
14
+ };
15
+ //# sourceMappingURL=middlewareParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareParser.js","sourceRoot":"","sources":["../../../../../lib/adapter/hono/utils/middlewareParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAiD,EAAuB,EAAE;IACzG,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,aAAa;YACb,OAAO,CAAC,CAAU,EAAE,IAAc,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAgB,EAAE,IAAU,EAAE,EAAE;YACrE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './AsenaAdapter';
2
+ export * from './AsenaWebsocketAdapter';
2
3
  export * from './AsenaContext';
3
4
  export * from './types';
@@ -1,4 +1,5 @@
1
1
  export * from './AsenaAdapter';
2
+ export * from './AsenaWebsocketAdapter';
2
3
  export * from './AsenaContext';
3
4
  export * from './types';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/adapter/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/adapter/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { AsenaContext } from '../AsenaContext';
2
+ export type AsenaHandler<C extends AsenaContext<any, any> = any> = (context: C) => Promise<void | Response> | (Response | void);
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AsenaHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsenaHandler.js","sourceRoot":"","sources":["../../../../lib/adapter/types/AsenaHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type AsenaMiddlewareHandler<C> = (context: C, next: () => Promise<void>) => Promise<void> | any;
2
+ export type AsenaNextHandler = () => Promise<void>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AsenaMiddlewareHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsenaMiddlewareHandler.js","sourceRoot":"","sources":["../../../../lib/adapter/types/AsenaMiddlewareHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { AsenaContext } from '../AsenaContext';
2
+ export type ErrorHandler<C extends AsenaContext<any, any>> = (error: Error, context: C) => Response | Promise<Response>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../../../lib/adapter/types/ErrorHandler.ts"],"names":[],"mappings":""}
@@ -1,9 +1,12 @@
1
1
  import type { HttpMethod } from '../../server/web/http';
2
- export interface RouteParams<M, H> {
2
+ import type { BaseMiddleware, BaseValidator } from '../../server/web/types';
3
+ import type { AsenaHandler } from './AsenaHandler';
4
+ import type { AsenaContext } from '../AsenaContext';
5
+ export interface RouteParams<C extends AsenaContext<any, any>, VS> {
3
6
  method: HttpMethod;
4
7
  path: string;
5
- middleware: M[];
6
- handler: H;
8
+ middleware: BaseMiddleware<C>[];
9
+ handler: AsenaHandler<C>;
7
10
  staticServe: boolean;
8
- validator: M[];
11
+ validator: BaseValidator<VS>;
9
12
  }
@@ -0,0 +1,7 @@
1
+ import type { ServeOptions, TLSServeOptions, UnixServeOptions, UnixTLSServeOptions } from 'bun';
2
+ import type { WSOptions } from '../../server/web/websocket';
3
+ export type AsenaServerOptions = ServeOptions | TLSServeOptions | UnixServeOptions | UnixTLSServeOptions;
4
+ export interface AsenaServeOptions {
5
+ serveOptions?: AsenaServerOptions;
6
+ wsOptions?: WSOptions;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ServeOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServeOptions.js","sourceRoot":"","sources":["../../../../lib/adapter/types/ServeOptions.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
1
  import type { AsenaWebSocketService } from '../../server/web/websocket';
2
- import type { MiddlewareHandler } from 'hono';
3
- export interface WebsocketServiceRegistry<MH> {
2
+ import type { BaseMiddleware } from '../../server/web/types';
3
+ import type { AsenaContext } from '../AsenaContext';
4
+ export interface WebsocketServiceRegistry<C extends AsenaContext<any, any>> {
4
5
  socket: AsenaWebSocketService<any>;
5
- middlewares: MH[];
6
+ middlewares: BaseMiddleware<C>[];
6
7
  }
7
- export type WebSocketRegistry<MH = MiddlewareHandler> = Map<string, WebsocketServiceRegistry<MH>>;
8
+ export type WebSocketRegistry<C extends AsenaContext<any, any> = any> = Map<string, WebsocketServiceRegistry<C>>;
@@ -1,4 +1,4 @@
1
- import type { ServerLogger } from '../../services';
1
+ import type { ServerLogger } from '../../logger';
2
2
  export interface WebsocketAdapterParams<A> {
3
3
  /**
4
4
  * An optional logger instance for logging purposes.
@@ -1,5 +1,8 @@
1
+ export * from './AsenaMiddlewareHandler';
1
2
  export * from './CookieExtra';
3
+ export * from './ErrorHandler';
2
4
  export * from './RouteParams';
3
5
  export * from './SendOptions';
4
6
  export * from './WebsocketAdapterParams';
5
7
  export * from './WebSocketRegistry';
8
+ export * from './ServeOptions';
@@ -1,6 +1,9 @@
1
+ export * from './AsenaMiddlewareHandler';
1
2
  export * from './CookieExtra';
3
+ export * from './ErrorHandler';
2
4
  export * from './RouteParams';
3
5
  export * from './SendOptions';
4
6
  export * from './WebsocketAdapterParams';
5
7
  export * from './WebSocketRegistry';
8
+ export * from './ServeOptions';
6
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/adapter/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/adapter/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -6,14 +6,18 @@ export declare class Container {
6
6
  [key: string]: ContainerService | ContainerService[];
7
7
  });
8
8
  register(key: string, Class: Class, singleton: boolean): void;
9
- get<T>(key: string): (T | T[]) | null;
10
- getStrategy<T>(key: string): T[] | null;
9
+ resolve<T>(key: string): Promise<(T | T[]) | null>;
10
+ resolveStrategy<T>(key: string): Promise<T[] | null>;
11
11
  /**
12
12
  * @typeOfComponent is the type of the component
13
13
  *
14
14
  * */
15
- getAll<T>(typeOfComponent: ComponentType): (T | T[])[] | null;
15
+ resolveAll<T>(typeOfComponent: ComponentType): Promise<(T | T[])[]>;
16
+ private filterServices;
17
+ private resolveContainerService;
18
+ private resolveMultipleContainerService;
16
19
  private prepareInstance;
20
+ private executePostConstructs;
17
21
  private injectStrategies;
18
22
  private injectDependencies;
19
23
  get services(): {