@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,77 +1,79 @@
1
1
  export declare enum InfoStatusCode {
2
- CONTINUE = 100,
3
- SWITCHING_PROTOCOLS = 101,
4
- PROCESSING = 102,
5
- EARLY_HINTS = 103
2
+ Continue = 100,
3
+ SwitchingProtocols = 101,
4
+ Processing = 102,
5
+ EarlyHints = 103
6
6
  }
7
7
  export declare enum SuccessStatusCode {
8
- OK = 200,
9
- CREATED = 201,
10
- ACCEPTED = 202,
11
- NON_AUTHORITATIVE_INFORMATION = 203,
12
- NO_CONTENT = 204,
13
- RESET_CONTENT = 205,
14
- PARTIAL_CONTENT = 206,
15
- MULTI_STATUS = 207,
16
- ALREADY_REPORTED = 208,
17
- IM_USED = 226
18
- }
19
- export declare enum DeprecatedStatusCode {
20
- USE_PROXY = 305,
21
- SWITCH_PROXY = 306
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
22
18
  }
23
19
  export declare enum RedirectStatusCode {
24
- MULTIPLE_CHOICES = 300,
25
- MOVED_PERMANENTLY = 301,
26
- FOUND = 302,
27
- SEE_OTHER = 303,
28
- NOT_MODIFIED = 304,
29
- USE_PROXY = 305,
30
- SWITCH_PROXY = 306,
31
- TEMPORARY_REDIRECT = 307,
32
- PERMANENT_REDIRECT = 308
20
+ MultipleChoices = 300,
21
+ MovedPermanently = 301,
22
+ Found = 302,
23
+ SeeOther = 303,
24
+ NotModified = 304,
25
+ UseProxy = 305,
26
+ TemporaryRedirect = 307,
27
+ PermanentRedirect = 308
33
28
  }
34
29
  export declare enum ClientErrorStatusCode {
35
- BAD_REQUEST = 400,
36
- UNAUTHORIZED = 401,
37
- PAYMENT_REQUIRED = 402,
38
- FORBIDDEN = 403,
39
- NOT_FOUND = 404,
40
- METHOD_NOT_ALLOWED = 405,
41
- NOT_ACCEPTABLE = 406,
42
- PROXY_AUTHENTICATION_REQUIRED = 407,
43
- REQUEST_TIMEOUT = 408,
44
- CONFLICT = 409,
45
- GONE = 410,
46
- LENGTH_REQUIRED = 411,
47
- PRECONDITION_FAILED = 412,
48
- PAYLOAD_TOO_LARGE = 413,
49
- URI_TOO_LONG = 414,
50
- UNSUPPORTED_MEDIA_TYPE = 415,
51
- RANGE_NOT_SATISFIABLE = 416,
52
- EXPECTATION_FAILED = 417,
53
- IM_A_TEAPOT = 418,
54
- MISDIRECTED_REQUEST = 421,
55
- UNPROCESSABLE_ENTITY = 422,
56
- LOCKED = 423,
57
- FAILED_DEPENDENCY = 424,
58
- TOO_EARLY = 425,
59
- UPGRADE_REQUIRED = 426,
60
- PRECONDITION_REQUIRED = 428,
61
- TOO_MANY_REQUESTS = 429,
62
- REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
63
- UNAVAILABLE_FOR_LEGAL_REASONS = 451
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
64
59
  }
65
60
  export declare enum ServerErrorStatusCode {
66
- INTERNAL_SERVER_ERROR = 500,
67
- NOT_IMPLEMENTED = 501,
68
- BAD_GATEWAY = 502,
69
- SERVICE_UNAVAILABLE = 503,
70
- GATEWAY_TIMEOUT = 504,
71
- HTTP_VERSION_NOT_SUPPORTED = 505,
72
- VARIANT_ALSO_NEGOTIATES = 506,
73
- INSUFFICIENT_STORAGE = 507,
74
- LOOP_DETECTED = 508,
75
- NOT_EXTENDED = 510,
76
- NETWORK_AUTHENTICATION_REQUIRED = 511
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
77
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;
@@ -1,84 +1,85 @@
1
1
  export var InfoStatusCode;
2
2
  (function (InfoStatusCode) {
3
- InfoStatusCode[InfoStatusCode["CONTINUE"] = 100] = "CONTINUE";
4
- InfoStatusCode[InfoStatusCode["SWITCHING_PROTOCOLS"] = 101] = "SWITCHING_PROTOCOLS";
5
- InfoStatusCode[InfoStatusCode["PROCESSING"] = 102] = "PROCESSING";
6
- InfoStatusCode[InfoStatusCode["EARLY_HINTS"] = 103] = "EARLY_HINTS";
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
7
  })(InfoStatusCode || (InfoStatusCode = {}));
8
8
  export var SuccessStatusCode;
9
9
  (function (SuccessStatusCode) {
10
- SuccessStatusCode[SuccessStatusCode["OK"] = 200] = "OK";
11
- SuccessStatusCode[SuccessStatusCode["CREATED"] = 201] = "CREATED";
12
- SuccessStatusCode[SuccessStatusCode["ACCEPTED"] = 202] = "ACCEPTED";
13
- SuccessStatusCode[SuccessStatusCode["NON_AUTHORITATIVE_INFORMATION"] = 203] = "NON_AUTHORITATIVE_INFORMATION";
14
- SuccessStatusCode[SuccessStatusCode["NO_CONTENT"] = 204] = "NO_CONTENT";
15
- SuccessStatusCode[SuccessStatusCode["RESET_CONTENT"] = 205] = "RESET_CONTENT";
16
- SuccessStatusCode[SuccessStatusCode["PARTIAL_CONTENT"] = 206] = "PARTIAL_CONTENT";
17
- SuccessStatusCode[SuccessStatusCode["MULTI_STATUS"] = 207] = "MULTI_STATUS";
18
- SuccessStatusCode[SuccessStatusCode["ALREADY_REPORTED"] = 208] = "ALREADY_REPORTED";
19
- SuccessStatusCode[SuccessStatusCode["IM_USED"] = 226] = "IM_USED";
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
20
  })(SuccessStatusCode || (SuccessStatusCode = {}));
21
- export var DeprecatedStatusCode;
22
- (function (DeprecatedStatusCode) {
23
- DeprecatedStatusCode[DeprecatedStatusCode["USE_PROXY"] = 305] = "USE_PROXY";
24
- DeprecatedStatusCode[DeprecatedStatusCode["SWITCH_PROXY"] = 306] = "SWITCH_PROXY";
25
- })(DeprecatedStatusCode || (DeprecatedStatusCode = {}));
26
21
  export var RedirectStatusCode;
27
22
  (function (RedirectStatusCode) {
28
- RedirectStatusCode[RedirectStatusCode["MULTIPLE_CHOICES"] = 300] = "MULTIPLE_CHOICES";
29
- RedirectStatusCode[RedirectStatusCode["MOVED_PERMANENTLY"] = 301] = "MOVED_PERMANENTLY";
30
- RedirectStatusCode[RedirectStatusCode["FOUND"] = 302] = "FOUND";
31
- RedirectStatusCode[RedirectStatusCode["SEE_OTHER"] = 303] = "SEE_OTHER";
32
- RedirectStatusCode[RedirectStatusCode["NOT_MODIFIED"] = 304] = "NOT_MODIFIED";
33
- RedirectStatusCode[RedirectStatusCode["USE_PROXY"] = 305] = "USE_PROXY";
34
- RedirectStatusCode[RedirectStatusCode["SWITCH_PROXY"] = 306] = "SWITCH_PROXY";
35
- RedirectStatusCode[RedirectStatusCode["TEMPORARY_REDIRECT"] = 307] = "TEMPORARY_REDIRECT";
36
- RedirectStatusCode[RedirectStatusCode["PERMANENT_REDIRECT"] = 308] = "PERMANENT_REDIRECT";
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";
37
31
  })(RedirectStatusCode || (RedirectStatusCode = {}));
38
32
  export var ClientErrorStatusCode;
39
33
  (function (ClientErrorStatusCode) {
40
- ClientErrorStatusCode[ClientErrorStatusCode["BAD_REQUEST"] = 400] = "BAD_REQUEST";
41
- ClientErrorStatusCode[ClientErrorStatusCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
42
- ClientErrorStatusCode[ClientErrorStatusCode["PAYMENT_REQUIRED"] = 402] = "PAYMENT_REQUIRED";
43
- ClientErrorStatusCode[ClientErrorStatusCode["FORBIDDEN"] = 403] = "FORBIDDEN";
44
- ClientErrorStatusCode[ClientErrorStatusCode["NOT_FOUND"] = 404] = "NOT_FOUND";
45
- ClientErrorStatusCode[ClientErrorStatusCode["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
46
- ClientErrorStatusCode[ClientErrorStatusCode["NOT_ACCEPTABLE"] = 406] = "NOT_ACCEPTABLE";
47
- ClientErrorStatusCode[ClientErrorStatusCode["PROXY_AUTHENTICATION_REQUIRED"] = 407] = "PROXY_AUTHENTICATION_REQUIRED";
48
- ClientErrorStatusCode[ClientErrorStatusCode["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
49
- ClientErrorStatusCode[ClientErrorStatusCode["CONFLICT"] = 409] = "CONFLICT";
50
- ClientErrorStatusCode[ClientErrorStatusCode["GONE"] = 410] = "GONE";
51
- ClientErrorStatusCode[ClientErrorStatusCode["LENGTH_REQUIRED"] = 411] = "LENGTH_REQUIRED";
52
- ClientErrorStatusCode[ClientErrorStatusCode["PRECONDITION_FAILED"] = 412] = "PRECONDITION_FAILED";
53
- ClientErrorStatusCode[ClientErrorStatusCode["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
54
- ClientErrorStatusCode[ClientErrorStatusCode["URI_TOO_LONG"] = 414] = "URI_TOO_LONG";
55
- ClientErrorStatusCode[ClientErrorStatusCode["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE";
56
- ClientErrorStatusCode[ClientErrorStatusCode["RANGE_NOT_SATISFIABLE"] = 416] = "RANGE_NOT_SATISFIABLE";
57
- ClientErrorStatusCode[ClientErrorStatusCode["EXPECTATION_FAILED"] = 417] = "EXPECTATION_FAILED";
58
- ClientErrorStatusCode[ClientErrorStatusCode["IM_A_TEAPOT"] = 418] = "IM_A_TEAPOT";
59
- ClientErrorStatusCode[ClientErrorStatusCode["MISDIRECTED_REQUEST"] = 421] = "MISDIRECTED_REQUEST";
60
- ClientErrorStatusCode[ClientErrorStatusCode["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
61
- ClientErrorStatusCode[ClientErrorStatusCode["LOCKED"] = 423] = "LOCKED";
62
- ClientErrorStatusCode[ClientErrorStatusCode["FAILED_DEPENDENCY"] = 424] = "FAILED_DEPENDENCY";
63
- ClientErrorStatusCode[ClientErrorStatusCode["TOO_EARLY"] = 425] = "TOO_EARLY";
64
- ClientErrorStatusCode[ClientErrorStatusCode["UPGRADE_REQUIRED"] = 426] = "UPGRADE_REQUIRED";
65
- ClientErrorStatusCode[ClientErrorStatusCode["PRECONDITION_REQUIRED"] = 428] = "PRECONDITION_REQUIRED";
66
- ClientErrorStatusCode[ClientErrorStatusCode["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
67
- ClientErrorStatusCode[ClientErrorStatusCode["REQUEST_HEADER_FIELDS_TOO_LARGE"] = 431] = "REQUEST_HEADER_FIELDS_TOO_LARGE";
68
- ClientErrorStatusCode[ClientErrorStatusCode["UNAVAILABLE_FOR_LEGAL_REASONS"] = 451] = "UNAVAILABLE_FOR_LEGAL_REASONS";
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";
69
63
  })(ClientErrorStatusCode || (ClientErrorStatusCode = {}));
70
64
  export var ServerErrorStatusCode;
71
65
  (function (ServerErrorStatusCode) {
72
- ServerErrorStatusCode[ServerErrorStatusCode["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
73
- ServerErrorStatusCode[ServerErrorStatusCode["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
74
- ServerErrorStatusCode[ServerErrorStatusCode["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
75
- ServerErrorStatusCode[ServerErrorStatusCode["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
76
- ServerErrorStatusCode[ServerErrorStatusCode["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
77
- ServerErrorStatusCode[ServerErrorStatusCode["HTTP_VERSION_NOT_SUPPORTED"] = 505] = "HTTP_VERSION_NOT_SUPPORTED";
78
- ServerErrorStatusCode[ServerErrorStatusCode["VARIANT_ALSO_NEGOTIATES"] = 506] = "VARIANT_ALSO_NEGOTIATES";
79
- ServerErrorStatusCode[ServerErrorStatusCode["INSUFFICIENT_STORAGE"] = 507] = "INSUFFICIENT_STORAGE";
80
- ServerErrorStatusCode[ServerErrorStatusCode["LOOP_DETECTED"] = 508] = "LOOP_DETECTED";
81
- ServerErrorStatusCode[ServerErrorStatusCode["NOT_EXTENDED"] = 510] = "NOT_EXTENDED";
82
- ServerErrorStatusCode[ServerErrorStatusCode["NETWORK_AUTHENTICATION_REQUIRED"] = 511] = "NETWORK_AUTHENTICATION_REQUIRED";
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";
83
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;
84
85
  //# sourceMappingURL=HttpStatus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpStatus.js","sourceRoot":"","sources":["../../../../../lib/server/web/http/HttpStatus.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6DAAc,CAAA;IACd,mFAAyB,CAAA;IACzB,iEAAgB,CAAA;IAChB,mEAAiB,CAAA;AACnB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,uDAAQ,CAAA;IACR,iEAAa,CAAA;IACb,mEAAc,CAAA;IACd,6GAAmC,CAAA;IACnC,uEAAgB,CAAA;IAChB,6EAAmB,CAAA;IACnB,iFAAqB,CAAA;IACrB,2EAAkB,CAAA;IAClB,mFAAsB,CAAA;IACtB,iEAAa,CAAA;AACf,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,2EAAe,CAAA;IACf,iFAAkB,CAAA;AACpB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,qFAAsB,CAAA;IACtB,uFAAuB,CAAA;IACvB,+DAAW,CAAA;IACX,uEAAe,CAAA;IACf,6EAAkB,CAAA;IAClB,uEAA0C,CAAA;IAC1C,6EAAgD,CAAA;IAChD,yFAAwB,CAAA;IACxB,yFAAwB,CAAA;AAC1B,CAAC,EAVW,kBAAkB,KAAlB,kBAAkB,QAU7B;AAED,MAAM,CAAN,IAAY,qBA8BX;AA9BD,WAAY,qBAAqB;IAC/B,iFAAiB,CAAA;IACjB,mFAAkB,CAAA;IAClB,2FAAsB,CAAA;IACtB,6EAAe,CAAA;IACf,6EAAe,CAAA;IACf,+FAAwB,CAAA;IACxB,uFAAoB,CAAA;IACpB,qHAAmC,CAAA;IACnC,yFAAqB,CAAA;IACrB,2EAAc,CAAA;IACd,mEAAU,CAAA;IACV,yFAAqB,CAAA;IACrB,iGAAyB,CAAA;IACzB,6FAAuB,CAAA;IACvB,mFAAkB,CAAA;IAClB,uGAA4B,CAAA;IAC5B,qGAA2B,CAAA;IAC3B,+FAAwB,CAAA;IACxB,iFAAiB,CAAA;IACjB,iGAAyB,CAAA;IACzB,mGAA0B,CAAA;IAC1B,uEAAY,CAAA;IACZ,6FAAuB,CAAA;IACvB,6EAAe,CAAA;IACf,2FAAsB,CAAA;IACtB,qGAA2B,CAAA;IAC3B,6FAAuB,CAAA;IACvB,yHAAqC,CAAA;IACrC,qHAAmC,CAAA;AACrC,CAAC,EA9BW,qBAAqB,KAArB,qBAAqB,QA8BhC;AAED,MAAM,CAAN,IAAY,qBAYX;AAZD,WAAY,qBAAqB;IAC/B,qGAA2B,CAAA;IAC3B,yFAAqB,CAAA;IACrB,iFAAiB,CAAA;IACjB,iGAAyB,CAAA;IACzB,yFAAqB,CAAA;IACrB,+GAAgC,CAAA;IAChC,yGAA6B,CAAA;IAC7B,mGAA0B,CAAA;IAC1B,qFAAmB,CAAA;IACnB,mFAAkB,CAAA;IAClB,yHAAqC,CAAA;AACvC,CAAC,EAZW,qBAAqB,KAArB,qBAAqB,QAYhC"}
1
+ {"version":3,"file":"HttpStatus.js","sourceRoot":"","sources":["../../../../../lib/server/web/http/HttpStatus.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,18 @@
1
- import type { AsenaContext } from '../../../adapter';
2
- import type { HonoRequest } from 'hono';
1
+ import type { AsenaContext, AsenaNextHandler } from '../../../adapter';
2
+ import type { Class } from '../../types';
3
3
  /**
4
4
  * Abstract class representing a middleware service in the Asena framework.
5
5
  *
6
- * @template R - The request type.
7
- * @template S - The response type.
6
+ * @template C - The context type, extending AsenaContext.
8
7
  */
9
- export declare abstract class AsenaMiddlewareService<R, S> {
8
+ export declare abstract class AsenaMiddlewareService<C extends AsenaContext<any, any> = any> {
10
9
  /**
11
10
  * Handles the middleware logic.
12
11
  *
13
- * @param {AsenaContext<R, S>} context - The context for the middleware.
14
- * @param {Function} next - The next middleware function in the stack.
12
+ * @param {C} context - The context for the middleware.
13
+ * @param {AsenaNextHandler} next - The next middleware function in the stack.
15
14
  * @returns {Promise<void> | any} A promise that resolves when the middleware is complete, or any other value.
16
15
  */
17
- abstract handle(context: AsenaContext<R, S>, next: Function): Promise<void> | any;
18
- }
19
- export declare abstract class MiddlewareService<P extends string = any, I = any> extends AsenaMiddlewareService<HonoRequest<P, I>, Response> {
16
+ abstract handle(context: C, next: AsenaNextHandler): Promise<void> | any;
20
17
  }
18
+ export type MiddlewareClass<C extends AsenaContext<any, any> = AsenaContext<any, any>> = Class<AsenaMiddlewareService<C>>;
@@ -1,11 +1,8 @@
1
1
  /**
2
2
  * Abstract class representing a middleware service in the Asena framework.
3
3
  *
4
- * @template R - The request type.
5
- * @template S - The response type.
4
+ * @template C - The context type, extending AsenaContext.
6
5
  */
7
6
  export class AsenaMiddlewareService {
8
7
  }
9
- export class MiddlewareService extends AsenaMiddlewareService {
10
- }
11
8
  //# sourceMappingURL=AsenaMiddlewareService.js.map
@@ -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,73 @@
1
+ import type { HttpMethod } from '../http';
2
+ import type { AsenaContext } from '../../../adapter';
3
+ import type { MiddlewareClass, ValidatorClass } from "../middleware";
4
+ /**
5
+ * Interface representing a route configuration.
6
+ *
7
+ * @template C - The context type extending AsenaContext.
8
+ * @template SH - The schema type for validation.
9
+ */
10
+ export interface Route<C extends AsenaContext<any, any> = any, SH = unknown> {
11
+ /**
12
+ * A dictionary where the key is a string representing the route name
13
+ * and the value is an object containing the parameters for the API route.
14
+ */
15
+ [key: string]: ApiParams<C, SH>;
16
+ }
17
+ /**
18
+ * Interface representing the parameters for an API route.
19
+ *
20
+ * @template C - The context type extending AsenaContext.
21
+ * @template SH - The schema type for validation.
22
+ */
23
+ export interface ApiParams<C extends AsenaContext<any, any> = any, SH = unknown> {
24
+ /** The path for the route. */
25
+ path: string;
26
+ /** The HTTP method for the route. */
27
+ method: HttpMethod;
28
+ /** A brief description of the route. */
29
+ description: string;
30
+ /** An array of middleware classes to be applied to the route. */
31
+ middlewares: MiddlewareClass<C>[];
32
+ /** A flag indicating whether to serve static files. */
33
+ staticServe: boolean;
34
+ /** The validator class for request validation. */
35
+ validator: ValidatorClass<SH>;
36
+ }
37
+ /**
38
+ * Type definition for a controller handler function.
39
+ *
40
+ * @template C - The context type extending AsenaContext.
41
+ * @param {C} c - The context object for the request and response.
42
+ * @param {...any[]} args - Additional arguments passed to the handler.
43
+ * @returns {void | Promise<void> | Promise<Response> | Response} - The result of the handler, which can be void, a promise resolving to void, a promise resolving to a Response, or a Response.
44
+ */
45
+ export type ControllerHandler<C extends AsenaContext<any, any> = any> = (c: C, ...args: any[]) => void | Promise<void> | Promise<Response> | Response;
46
+ /**
47
+ * Interface for defining parameters for a controller decorator.
48
+ *
49
+ * @template C - The context type extending AsenaContext.
50
+ * @template SH - The schema type for validation.
51
+ */
52
+ export interface ControllerDecoratorParams<C extends AsenaContext<any, any> = any, SH = any> {
53
+ /**
54
+ * The path for the route.
55
+ */
56
+ path: string;
57
+ /**
58
+ * Optional array of middleware classes to be applied.
59
+ */
60
+ middlewares?: MiddlewareClass<C>[];
61
+ /**
62
+ * Optional description of the route.
63
+ */
64
+ description?: string;
65
+ /**
66
+ * Optional flag to serve static files.
67
+ */
68
+ staticServe?: boolean;
69
+ /**
70
+ * Optional validator class for request validation.
71
+ */
72
+ validator?: ValidatorClass<SH>;
73
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ApiParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiParams.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/ApiParams.ts"],"names":[],"mappings":""}
@@ -1,12 +1,57 @@
1
- import type { AsenaMiddlewareService } from '../middleware';
2
1
  import type { Class } from '../../types';
3
- import type { ApiHandler } from './ApiHandler';
4
- export interface BaseMiddleware<R, S> {
5
- middlewareService: AsenaMiddlewareService<R, S>;
2
+ import type { ApiParams } from './ApiParams';
3
+ import type { AsenaContext, AsenaMiddlewareHandler } from '../../../adapter';
4
+ /**
5
+ * Interface representing a base middleware.
6
+ *
7
+ * @Templete context - The current Asena context
8
+ */
9
+ export interface BaseMiddleware<C extends AsenaContext<any, any> = any> {
10
+ handle: AsenaMiddlewareHandler<C>;
6
11
  override: boolean;
7
12
  }
13
+ /**
14
+ * Interface representing a handler for validation.
15
+ *
16
+ * @template S - The type of schema for validation.
17
+ */
18
+ export interface ValidatorHandler<S = unknown> {
19
+ handle: () => Promise<S> | S;
20
+ override: boolean;
21
+ }
22
+ /**
23
+ * Interface representing a base validator.
24
+ *
25
+ * @template S - The type of schema for validation.
26
+ */
27
+ export interface BaseValidator<S = unknown> {
28
+ /**
29
+ * Validator for JSON body.
30
+ */
31
+ json?: ValidatorHandler<S>;
32
+ /**
33
+ * Validator for query parameters.
34
+ */
35
+ query?: ValidatorHandler<S>;
36
+ /**
37
+ * Validator for form data.
38
+ */
39
+ form?: ValidatorHandler<S>;
40
+ /**
41
+ * Validator for URL parameters.
42
+ */
43
+ param?: ValidatorHandler<S>;
44
+ /**
45
+ * Validator for headers.
46
+ */
47
+ header?: ValidatorHandler<S>;
48
+ }
49
+ /**
50
+ * Interface representing the parameters required to prepare middleware.
51
+ */
8
52
  export interface PrepareMiddlewareParams {
9
53
  controller: Class;
10
54
  routePath?: string;
11
- params?: ApiHandler;
55
+ params?: ApiParams;
12
56
  }
57
+ export declare const VALIDATOR_METHODS: string[];
@@ -1,2 +1,2 @@
1
- export {};
1
+ export const VALIDATOR_METHODS = ['json', 'query', 'form', 'param', 'header'];
2
2
  //# sourceMappingURL=BaseMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMiddleware.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/BaseMiddleware.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"BaseMiddleware.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/BaseMiddleware.ts"],"names":[],"mappings":"AAiEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './ApiHandler';
1
+ export * from './ApiParams';
2
2
  export * from './BaseMiddleware';
@@ -1,3 +1,3 @@
1
- export * from './ApiHandler';
1
+ export * from './ApiParams';
2
2
  export * from './BaseMiddleware';
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,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
@@ -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) {