@kabyeon/nexusjs 0.6.5

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 (669) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +860 -0
  3. package/dist/auth/auth.controller.d.ts +175 -0
  4. package/dist/auth/auth.controller.d.ts.map +1 -0
  5. package/dist/auth/auth.d.ts +47 -0
  6. package/dist/auth/auth.d.ts.map +1 -0
  7. package/dist/auth/auth.module.d.ts +34 -0
  8. package/dist/auth/auth.module.d.ts.map +1 -0
  9. package/dist/auth/auth.service.d.ts +192 -0
  10. package/dist/auth/auth.service.d.ts.map +1 -0
  11. package/dist/auth/decorators/current-user.d.ts +58 -0
  12. package/dist/auth/decorators/current-user.d.ts.map +1 -0
  13. package/dist/auth/index.d.ts +43 -0
  14. package/dist/auth/index.d.ts.map +1 -0
  15. package/dist/auth/index.js +730 -0
  16. package/dist/auth/index.js.map +25 -0
  17. package/dist/auth/middleware.d.ts +50 -0
  18. package/dist/auth/middleware.d.ts.map +1 -0
  19. package/dist/auth/types.d.ts +135 -0
  20. package/dist/auth/types.d.ts.map +1 -0
  21. package/dist/cache/cache.module.d.ts +22 -0
  22. package/dist/cache/cache.module.d.ts.map +1 -0
  23. package/dist/cache/cache.service.d.ts +37 -0
  24. package/dist/cache/cache.service.d.ts.map +1 -0
  25. package/dist/cache/index.d.ts +9 -0
  26. package/dist/cache/index.d.ts.map +1 -0
  27. package/dist/cache/index.js +814 -0
  28. package/dist/cache/index.js.map +25 -0
  29. package/dist/cache/stores/drizzle.d.ts +76 -0
  30. package/dist/cache/stores/drizzle.d.ts.map +1 -0
  31. package/dist/cache/stores/index.d.ts +10 -0
  32. package/dist/cache/stores/index.d.ts.map +1 -0
  33. package/dist/cache/stores/memory.d.ts +34 -0
  34. package/dist/cache/stores/memory.d.ts.map +1 -0
  35. package/dist/cache/stores/redis.d.ts +46 -0
  36. package/dist/cache/stores/redis.d.ts.map +1 -0
  37. package/dist/cache/types.d.ts +88 -0
  38. package/dist/cache/types.d.ts.map +1 -0
  39. package/dist/cli/commands/config.d.ts +44 -0
  40. package/dist/cli/commands/config.d.ts.map +1 -0
  41. package/dist/cli/commands/db-generate.d.ts +20 -0
  42. package/dist/cli/commands/db-generate.d.ts.map +1 -0
  43. package/dist/cli/commands/db-migrate.d.ts +33 -0
  44. package/dist/cli/commands/db-migrate.d.ts.map +1 -0
  45. package/dist/cli/commands/db-seed.d.ts +43 -0
  46. package/dist/cli/commands/db-seed.d.ts.map +1 -0
  47. package/dist/cli/commands/index.d.ts +11 -0
  48. package/dist/cli/commands/index.d.ts.map +1 -0
  49. package/dist/cli/commands/info.d.ts +11 -0
  50. package/dist/cli/commands/info.d.ts.map +1 -0
  51. package/dist/cli/commands/init.d.ts +38 -0
  52. package/dist/cli/commands/init.d.ts.map +1 -0
  53. package/dist/cli/commands/make-auth.d.ts +17 -0
  54. package/dist/cli/commands/make-auth.d.ts.map +1 -0
  55. package/dist/cli/commands/make-controller.d.ts +16 -0
  56. package/dist/cli/commands/make-controller.d.ts.map +1 -0
  57. package/dist/cli/commands/make-crud.d.ts +28 -0
  58. package/dist/cli/commands/make-crud.d.ts.map +1 -0
  59. package/dist/cli/commands/make-listener.d.ts +15 -0
  60. package/dist/cli/commands/make-listener.d.ts.map +1 -0
  61. package/dist/cli/commands/make-middleware.d.ts +7 -0
  62. package/dist/cli/commands/make-middleware.d.ts.map +1 -0
  63. package/dist/cli/commands/make-migration.d.ts +21 -0
  64. package/dist/cli/commands/make-migration.d.ts.map +1 -0
  65. package/dist/cli/commands/make-model.d.ts +22 -0
  66. package/dist/cli/commands/make-model.d.ts.map +1 -0
  67. package/dist/cli/commands/make-module.d.ts +11 -0
  68. package/dist/cli/commands/make-module.d.ts.map +1 -0
  69. package/dist/cli/commands/make-queue.d.ts +17 -0
  70. package/dist/cli/commands/make-queue.d.ts.map +1 -0
  71. package/dist/cli/commands/make-schedule.d.ts +17 -0
  72. package/dist/cli/commands/make-schedule.d.ts.map +1 -0
  73. package/dist/cli/commands/make-service.d.ts +7 -0
  74. package/dist/cli/commands/make-service.d.ts.map +1 -0
  75. package/dist/cli/commands/make-session.d.ts +15 -0
  76. package/dist/cli/commands/make-session.d.ts.map +1 -0
  77. package/dist/cli/commands/make-validator.d.ts +7 -0
  78. package/dist/cli/commands/make-validator.d.ts.map +1 -0
  79. package/dist/cli/commands/new.d.ts +14 -0
  80. package/dist/cli/commands/new.d.ts.map +1 -0
  81. package/dist/cli/commands/repl.d.ts +42 -0
  82. package/dist/cli/commands/repl.d.ts.map +1 -0
  83. package/dist/cli/commands/route-list.d.ts +12 -0
  84. package/dist/cli/commands/route-list.d.ts.map +1 -0
  85. package/dist/cli/core/args.d.ts +29 -0
  86. package/dist/cli/core/args.d.ts.map +1 -0
  87. package/dist/cli/core/config.d.ts +137 -0
  88. package/dist/cli/core/config.d.ts.map +1 -0
  89. package/dist/cli/core/fs.d.ts +38 -0
  90. package/dist/cli/core/fs.d.ts.map +1 -0
  91. package/dist/cli/core/index.d.ts +42 -0
  92. package/dist/cli/core/index.d.ts.map +1 -0
  93. package/dist/cli/core/logger.d.ts +46 -0
  94. package/dist/cli/core/logger.d.ts.map +1 -0
  95. package/dist/cli/core/loose-json.d.ts +26 -0
  96. package/dist/cli/core/loose-json.d.ts.map +1 -0
  97. package/dist/cli/core/prompts.d.ts +22 -0
  98. package/dist/cli/core/prompts.d.ts.map +1 -0
  99. package/dist/cli/core/template.d.ts +26 -0
  100. package/dist/cli/core/template.d.ts.map +1 -0
  101. package/dist/cli/index.d.ts +1 -0
  102. package/dist/cli/index.d.ts.map +1 -0
  103. package/dist/cli/index.js +6136 -0
  104. package/dist/cli/index.js.map +91 -0
  105. package/dist/cli/templates/controller/adonis.d.ts +10 -0
  106. package/dist/cli/templates/controller/adonis.d.ts.map +1 -0
  107. package/dist/cli/templates/controller/functional.d.ts +9 -0
  108. package/dist/cli/templates/controller/functional.d.ts.map +1 -0
  109. package/dist/cli/templates/controller/nest.d.ts +17 -0
  110. package/dist/cli/templates/controller/nest.d.ts.map +1 -0
  111. package/dist/cli/templates/crud/controller.d.ts +8 -0
  112. package/dist/cli/templates/crud/controller.d.ts.map +1 -0
  113. package/dist/cli/templates/crud/dto.d.ts +8 -0
  114. package/dist/cli/templates/crud/dto.d.ts.map +1 -0
  115. package/dist/cli/templates/crud/index.d.ts +33 -0
  116. package/dist/cli/templates/crud/index.d.ts.map +1 -0
  117. package/dist/cli/templates/crud/module.d.ts +6 -0
  118. package/dist/cli/templates/crud/module.d.ts.map +1 -0
  119. package/dist/cli/templates/crud/test.d.ts +10 -0
  120. package/dist/cli/templates/crud/test.d.ts.map +1 -0
  121. package/dist/cli/templates/index.d.ts +39 -0
  122. package/dist/cli/templates/index.d.ts.map +1 -0
  123. package/dist/cli/templates/middleware/middleware.d.ts +8 -0
  124. package/dist/cli/templates/middleware/middleware.d.ts.map +1 -0
  125. package/dist/cli/templates/migration/drizzle.d.ts +12 -0
  126. package/dist/cli/templates/migration/drizzle.d.ts.map +1 -0
  127. package/dist/cli/templates/migration/sql.d.ts +10 -0
  128. package/dist/cli/templates/migration/sql.d.ts.map +1 -0
  129. package/dist/cli/templates/model/drizzle-dialect.d.ts +29 -0
  130. package/dist/cli/templates/model/drizzle-dialect.d.ts.map +1 -0
  131. package/dist/cli/templates/model/drizzle.d.ts +14 -0
  132. package/dist/cli/templates/model/drizzle.d.ts.map +1 -0
  133. package/dist/cli/templates/model/kysely.d.ts +12 -0
  134. package/dist/cli/templates/model/kysely.d.ts.map +1 -0
  135. package/dist/cli/templates/model/prisma.d.ts +12 -0
  136. package/dist/cli/templates/model/prisma.d.ts.map +1 -0
  137. package/dist/cli/templates/module/module.d.ts +16 -0
  138. package/dist/cli/templates/module/module.d.ts.map +1 -0
  139. package/dist/cli/templates/project/drizzle.config.d.ts +12 -0
  140. package/dist/cli/templates/project/drizzle.config.d.ts.map +1 -0
  141. package/dist/cli/templates/project/nx.config.d.ts +7 -0
  142. package/dist/cli/templates/project/nx.config.d.ts.map +1 -0
  143. package/dist/cli/templates/repository/repository.d.ts +13 -0
  144. package/dist/cli/templates/repository/repository.d.ts.map +1 -0
  145. package/dist/cli/templates/service/service.d.ts +12 -0
  146. package/dist/cli/templates/service/service.d.ts.map +1 -0
  147. package/dist/cli/templates/validator/validator.d.ts +8 -0
  148. package/dist/cli/templates/validator/validator.d.ts.map +1 -0
  149. package/dist/config/config.module.d.ts +39 -0
  150. package/dist/config/config.module.d.ts.map +1 -0
  151. package/dist/config/config.service.d.ts +47 -0
  152. package/dist/config/config.service.d.ts.map +1 -0
  153. package/dist/config/index.d.ts +39 -0
  154. package/dist/config/index.d.ts.map +1 -0
  155. package/dist/config/index.js +436 -0
  156. package/dist/config/index.js.map +21 -0
  157. package/dist/config/types.d.ts +78 -0
  158. package/dist/config/types.d.ts.map +1 -0
  159. package/dist/core/application.d.ts +77 -0
  160. package/dist/core/application.d.ts.map +1 -0
  161. package/dist/core/constants.d.ts +48 -0
  162. package/dist/core/constants.d.ts.map +1 -0
  163. package/dist/core/decorators/controller.d.ts +21 -0
  164. package/dist/core/decorators/controller.d.ts.map +1 -0
  165. package/dist/core/decorators/http-methods.d.ts +33 -0
  166. package/dist/core/decorators/http-methods.d.ts.map +1 -0
  167. package/dist/core/decorators/index.d.ts +12 -0
  168. package/dist/core/decorators/index.d.ts.map +1 -0
  169. package/dist/core/decorators/injectable.d.ts +42 -0
  170. package/dist/core/decorators/injectable.d.ts.map +1 -0
  171. package/dist/core/decorators/metadata.d.ts +7 -0
  172. package/dist/core/decorators/metadata.d.ts.map +1 -0
  173. package/dist/core/decorators/module.d.ts +23 -0
  174. package/dist/core/decorators/module.d.ts.map +1 -0
  175. package/dist/core/decorators/params.d.ts +33 -0
  176. package/dist/core/decorators/params.d.ts.map +1 -0
  177. package/dist/core/decorators/repository.d.ts +24 -0
  178. package/dist/core/decorators/repository.d.ts.map +1 -0
  179. package/dist/core/decorators/validate.d.ts +21 -0
  180. package/dist/core/decorators/validate.d.ts.map +1 -0
  181. package/dist/core/di/container.d.ts +70 -0
  182. package/dist/core/di/container.d.ts.map +1 -0
  183. package/dist/core/di/index.d.ts +9 -0
  184. package/dist/core/di/index.d.ts.map +1 -0
  185. package/dist/core/di/request-middleware.d.ts +36 -0
  186. package/dist/core/di/request-middleware.d.ts.map +1 -0
  187. package/dist/core/di/request-scope.d.ts +45 -0
  188. package/dist/core/di/request-scope.d.ts.map +1 -0
  189. package/dist/core/di/scanner.d.ts +36 -0
  190. package/dist/core/di/scanner.d.ts.map +1 -0
  191. package/dist/core/di/tokens.d.ts +98 -0
  192. package/dist/core/di/tokens.d.ts.map +1 -0
  193. package/dist/core/http/context.d.ts +30 -0
  194. package/dist/core/http/context.d.ts.map +1 -0
  195. package/dist/core/http/index.d.ts +8 -0
  196. package/dist/core/http/index.d.ts.map +1 -0
  197. package/dist/core/http/middleware.d.ts +31 -0
  198. package/dist/core/http/middleware.d.ts.map +1 -0
  199. package/dist/core/http/router.d.ts +46 -0
  200. package/dist/core/http/router.d.ts.map +1 -0
  201. package/dist/core/http/server.d.ts +58 -0
  202. package/dist/core/http/server.d.ts.map +1 -0
  203. package/dist/core/index.d.ts +20 -0
  204. package/dist/core/index.d.ts.map +1 -0
  205. package/dist/core/orm/drizzle-adapter.d.ts +73 -0
  206. package/dist/core/orm/drizzle-adapter.d.ts.map +1 -0
  207. package/dist/core/orm/index.d.ts +5 -0
  208. package/dist/core/orm/index.d.ts.map +1 -0
  209. package/dist/core/runtime/bun.d.ts +13 -0
  210. package/dist/core/runtime/bun.d.ts.map +1 -0
  211. package/dist/core/runtime/cloudflare.d.ts +18 -0
  212. package/dist/core/runtime/cloudflare.d.ts.map +1 -0
  213. package/dist/core/runtime/index.d.ts +11 -0
  214. package/dist/core/runtime/index.d.ts.map +1 -0
  215. package/dist/core/runtime/node.d.ts +10 -0
  216. package/dist/core/runtime/node.d.ts.map +1 -0
  217. package/dist/core/validation/index.d.ts +5 -0
  218. package/dist/core/validation/index.d.ts.map +1 -0
  219. package/dist/core/validation/validator.d.ts +46 -0
  220. package/dist/core/validation/validator.d.ts.map +1 -0
  221. package/dist/crypto/encryption.d.ts +71 -0
  222. package/dist/crypto/encryption.d.ts.map +1 -0
  223. package/dist/crypto/hash.d.ts +52 -0
  224. package/dist/crypto/hash.d.ts.map +1 -0
  225. package/dist/crypto/index.d.ts +49 -0
  226. package/dist/crypto/index.d.ts.map +1 -0
  227. package/dist/crypto/index.js +533 -0
  228. package/dist/crypto/index.js.map +14 -0
  229. package/dist/crypto/module.d.ts +28 -0
  230. package/dist/crypto/module.d.ts.map +1 -0
  231. package/dist/crypto/types.d.ts +81 -0
  232. package/dist/crypto/types.d.ts.map +1 -0
  233. package/dist/drive/drive.module.d.ts +20 -0
  234. package/dist/drive/drive.module.d.ts.map +1 -0
  235. package/dist/drive/drive.service.d.ts +21 -0
  236. package/dist/drive/drive.service.d.ts.map +1 -0
  237. package/dist/drive/drivers/index.d.ts +9 -0
  238. package/dist/drive/drivers/index.d.ts.map +1 -0
  239. package/dist/drive/drivers/local.d.ts +24 -0
  240. package/dist/drive/drivers/local.d.ts.map +1 -0
  241. package/dist/drive/drivers/memory.d.ts +19 -0
  242. package/dist/drive/drivers/memory.d.ts.map +1 -0
  243. package/dist/drive/drivers/s3.d.ts +44 -0
  244. package/dist/drive/drivers/s3.d.ts.map +1 -0
  245. package/dist/drive/index.d.ts +9 -0
  246. package/dist/drive/index.d.ts.map +1 -0
  247. package/dist/drive/index.js +714 -0
  248. package/dist/drive/index.js.map +25 -0
  249. package/dist/drive/types.d.ts +97 -0
  250. package/dist/drive/types.d.ts.map +1 -0
  251. package/dist/drizzle/decorators/columns.d.ts +16 -0
  252. package/dist/drizzle/decorators/columns.d.ts.map +1 -0
  253. package/dist/drizzle/decorators/index.d.ts +6 -0
  254. package/dist/drizzle/decorators/index.d.ts.map +1 -0
  255. package/dist/drizzle/drivers/base.d.ts +32 -0
  256. package/dist/drizzle/drivers/base.d.ts.map +1 -0
  257. package/dist/drizzle/drivers/bun-sqlite.d.ts +6 -0
  258. package/dist/drizzle/drivers/bun-sqlite.d.ts.map +1 -0
  259. package/dist/drizzle/drivers/d1.d.ts +7 -0
  260. package/dist/drizzle/drivers/d1.d.ts.map +1 -0
  261. package/dist/drizzle/drivers/index.d.ts +14 -0
  262. package/dist/drizzle/drivers/index.d.ts.map +1 -0
  263. package/dist/drizzle/drivers/mysql.d.ts +6 -0
  264. package/dist/drizzle/drivers/mysql.d.ts.map +1 -0
  265. package/dist/drizzle/drivers/postgres.d.ts +12 -0
  266. package/dist/drizzle/drivers/postgres.d.ts.map +1 -0
  267. package/dist/drizzle/drivers/sqlite.d.ts +8 -0
  268. package/dist/drizzle/drivers/sqlite.d.ts.map +1 -0
  269. package/dist/drizzle/drizzle.module.d.ts +29 -0
  270. package/dist/drizzle/drizzle.module.d.ts.map +1 -0
  271. package/dist/drizzle/drizzle.service.d.ts +52 -0
  272. package/dist/drizzle/drizzle.service.d.ts.map +1 -0
  273. package/dist/drizzle/index.d.ts +13 -0
  274. package/dist/drizzle/index.d.ts.map +1 -0
  275. package/dist/drizzle/index.js +979 -0
  276. package/dist/drizzle/index.js.map +32 -0
  277. package/dist/drizzle/model.d.ts +26 -0
  278. package/dist/drizzle/model.d.ts.map +1 -0
  279. package/dist/drizzle/raw-query.d.ts +41 -0
  280. package/dist/drizzle/raw-query.d.ts.map +1 -0
  281. package/dist/drizzle/repository/index.d.ts +6 -0
  282. package/dist/drizzle/repository/index.d.ts.map +1 -0
  283. package/dist/drizzle/repository/repository.d.ts +60 -0
  284. package/dist/drizzle/repository/repository.d.ts.map +1 -0
  285. package/dist/drizzle/types.d.ts +160 -0
  286. package/dist/drizzle/types.d.ts.map +1 -0
  287. package/dist/events/decorators/on-event.d.ts +49 -0
  288. package/dist/events/decorators/on-event.d.ts.map +1 -0
  289. package/dist/events/emitter.d.ts +52 -0
  290. package/dist/events/emitter.d.ts.map +1 -0
  291. package/dist/events/event.service.d.ts +27 -0
  292. package/dist/events/event.service.d.ts.map +1 -0
  293. package/dist/events/events.module.d.ts +35 -0
  294. package/dist/events/events.module.d.ts.map +1 -0
  295. package/dist/events/index.d.ts +43 -0
  296. package/dist/events/index.d.ts.map +1 -0
  297. package/dist/events/index.js +646 -0
  298. package/dist/events/index.js.map +23 -0
  299. package/dist/events/types.d.ts +120 -0
  300. package/dist/events/types.d.ts.map +1 -0
  301. package/dist/grpc/decorators.d.ts +34 -0
  302. package/dist/grpc/decorators.d.ts.map +1 -0
  303. package/dist/grpc/index.d.ts +70 -0
  304. package/dist/grpc/index.d.ts.map +1 -0
  305. package/dist/grpc/index.js +528 -0
  306. package/dist/grpc/index.js.map +22 -0
  307. package/dist/grpc/module.d.ts +32 -0
  308. package/dist/grpc/module.d.ts.map +1 -0
  309. package/dist/grpc/service.d.ts +60 -0
  310. package/dist/grpc/service.d.ts.map +1 -0
  311. package/dist/grpc/types.d.ts +79 -0
  312. package/dist/grpc/types.d.ts.map +1 -0
  313. package/dist/health/health.controller.d.ts +61 -0
  314. package/dist/health/health.controller.d.ts.map +1 -0
  315. package/dist/health/health.module.d.ts +29 -0
  316. package/dist/health/health.module.d.ts.map +1 -0
  317. package/dist/health/health.service.d.ts +34 -0
  318. package/dist/health/health.service.d.ts.map +1 -0
  319. package/dist/health/index.d.ts +38 -0
  320. package/dist/health/index.d.ts.map +1 -0
  321. package/dist/health/index.js +599 -0
  322. package/dist/health/index.js.map +25 -0
  323. package/dist/health/indicators/drizzle.d.ts +18 -0
  324. package/dist/health/indicators/drizzle.d.ts.map +1 -0
  325. package/dist/health/indicators/index.d.ts +59 -0
  326. package/dist/health/indicators/index.d.ts.map +1 -0
  327. package/dist/health/types.d.ts +105 -0
  328. package/dist/health/types.d.ts.map +1 -0
  329. package/dist/i18n/decorators.d.ts +14 -0
  330. package/dist/i18n/decorators.d.ts.map +1 -0
  331. package/dist/i18n/index.d.ts +48 -0
  332. package/dist/i18n/index.d.ts.map +1 -0
  333. package/dist/i18n/index.js +589 -0
  334. package/dist/i18n/index.js.map +17 -0
  335. package/dist/i18n/middleware.d.ts +26 -0
  336. package/dist/i18n/middleware.d.ts.map +1 -0
  337. package/dist/i18n/module.d.ts +39 -0
  338. package/dist/i18n/module.d.ts.map +1 -0
  339. package/dist/i18n/service.d.ts +130 -0
  340. package/dist/i18n/service.d.ts.map +1 -0
  341. package/dist/i18n/types.d.ts +65 -0
  342. package/dist/i18n/types.d.ts.map +1 -0
  343. package/dist/index.d.ts +2 -0
  344. package/dist/index.js +2056 -0
  345. package/dist/index.js.map +53 -0
  346. package/dist/limiter/backends/drizzle.d.ts +40 -0
  347. package/dist/limiter/backends/drizzle.d.ts.map +1 -0
  348. package/dist/limiter/backends/index.d.ts +6 -0
  349. package/dist/limiter/backends/index.d.ts.map +1 -0
  350. package/dist/limiter/backends/memory.d.ts +28 -0
  351. package/dist/limiter/backends/memory.d.ts.map +1 -0
  352. package/dist/limiter/index.d.ts +9 -0
  353. package/dist/limiter/index.d.ts.map +1 -0
  354. package/dist/limiter/index.js +640 -0
  355. package/dist/limiter/index.js.map +25 -0
  356. package/dist/limiter/limiter.middleware.d.ts +11 -0
  357. package/dist/limiter/limiter.middleware.d.ts.map +1 -0
  358. package/dist/limiter/limiter.module.d.ts +23 -0
  359. package/dist/limiter/limiter.module.d.ts.map +1 -0
  360. package/dist/limiter/limiter.service.d.ts +18 -0
  361. package/dist/limiter/limiter.service.d.ts.map +1 -0
  362. package/dist/limiter/types.d.ts +99 -0
  363. package/dist/limiter/types.d.ts.map +1 -0
  364. package/dist/logger/index.d.ts +36 -0
  365. package/dist/logger/index.d.ts.map +1 -0
  366. package/dist/logger/index.js +538 -0
  367. package/dist/logger/index.js.map +22 -0
  368. package/dist/logger/logger.module.d.ts +35 -0
  369. package/dist/logger/logger.module.d.ts.map +1 -0
  370. package/dist/logger/logger.service.d.ts +55 -0
  371. package/dist/logger/logger.service.d.ts.map +1 -0
  372. package/dist/logger/transports/index.d.ts +35 -0
  373. package/dist/logger/transports/index.d.ts.map +1 -0
  374. package/dist/logger/types.d.ts +58 -0
  375. package/dist/logger/types.d.ts.map +1 -0
  376. package/dist/mail/index.d.ts +9 -0
  377. package/dist/mail/index.d.ts.map +1 -0
  378. package/dist/mail/index.js +479 -0
  379. package/dist/mail/index.js.map +25 -0
  380. package/dist/mail/mail.module.d.ts +21 -0
  381. package/dist/mail/mail.module.d.ts.map +1 -0
  382. package/dist/mail/mail.service.d.ts +18 -0
  383. package/dist/mail/mail.service.d.ts.map +1 -0
  384. package/dist/mail/transports/file.d.ts +19 -0
  385. package/dist/mail/transports/file.d.ts.map +1 -0
  386. package/dist/mail/transports/index.d.ts +9 -0
  387. package/dist/mail/transports/index.d.ts.map +1 -0
  388. package/dist/mail/transports/null.d.ts +11 -0
  389. package/dist/mail/transports/null.d.ts.map +1 -0
  390. package/dist/mail/transports/smtp.d.ts +40 -0
  391. package/dist/mail/transports/smtp.d.ts.map +1 -0
  392. package/dist/mail/types.d.ts +73 -0
  393. package/dist/mail/types.d.ts.map +1 -0
  394. package/dist/metrics/controller.d.ts +27 -0
  395. package/dist/metrics/controller.d.ts.map +1 -0
  396. package/dist/metrics/counter.d.ts +36 -0
  397. package/dist/metrics/counter.d.ts.map +1 -0
  398. package/dist/metrics/decorators/counted.d.ts +26 -0
  399. package/dist/metrics/decorators/counted.d.ts.map +1 -0
  400. package/dist/metrics/decorators/index.d.ts +3 -0
  401. package/dist/metrics/decorators/index.d.ts.map +1 -0
  402. package/dist/metrics/decorators/timed.d.ts +25 -0
  403. package/dist/metrics/decorators/timed.d.ts.map +1 -0
  404. package/dist/metrics/gauge.d.ts +38 -0
  405. package/dist/metrics/gauge.d.ts.map +1 -0
  406. package/dist/metrics/histogram.d.ts +52 -0
  407. package/dist/metrics/histogram.d.ts.map +1 -0
  408. package/dist/metrics/index.d.ts +35 -0
  409. package/dist/metrics/index.d.ts.map +1 -0
  410. package/dist/metrics/index.js +1033 -0
  411. package/dist/metrics/index.js.map +21 -0
  412. package/dist/metrics/module.d.ts +33 -0
  413. package/dist/metrics/module.d.ts.map +1 -0
  414. package/dist/metrics/registry.d.ts +52 -0
  415. package/dist/metrics/registry.d.ts.map +1 -0
  416. package/dist/metrics/service.d.ts +42 -0
  417. package/dist/metrics/service.d.ts.map +1 -0
  418. package/dist/metrics/summary.d.ts +50 -0
  419. package/dist/metrics/summary.d.ts.map +1 -0
  420. package/dist/metrics/types.d.ts +115 -0
  421. package/dist/metrics/types.d.ts.map +1 -0
  422. package/dist/openapi/decorators/body.d.ts +9 -0
  423. package/dist/openapi/decorators/body.d.ts.map +1 -0
  424. package/dist/openapi/decorators/index.d.ts +11 -0
  425. package/dist/openapi/decorators/index.d.ts.map +1 -0
  426. package/dist/openapi/decorators/operation.d.ts +9 -0
  427. package/dist/openapi/decorators/operation.d.ts.map +1 -0
  428. package/dist/openapi/decorators/param.d.ts +17 -0
  429. package/dist/openapi/decorators/param.d.ts.map +1 -0
  430. package/dist/openapi/decorators/property.d.ts +24 -0
  431. package/dist/openapi/decorators/property.d.ts.map +1 -0
  432. package/dist/openapi/decorators/response.d.ts +10 -0
  433. package/dist/openapi/decorators/response.d.ts.map +1 -0
  434. package/dist/openapi/decorators/security.d.ts +9 -0
  435. package/dist/openapi/decorators/security.d.ts.map +1 -0
  436. package/dist/openapi/decorators/tags.d.ts +2 -0
  437. package/dist/openapi/decorators/tags.d.ts.map +1 -0
  438. package/dist/openapi/index.d.ts +10 -0
  439. package/dist/openapi/index.d.ts.map +1 -0
  440. package/dist/openapi/index.js +974 -0
  441. package/dist/openapi/index.js.map +31 -0
  442. package/dist/openapi/openapi.module.d.ts +46 -0
  443. package/dist/openapi/openapi.module.d.ts.map +1 -0
  444. package/dist/openapi/openapi.service.d.ts +55 -0
  445. package/dist/openapi/openapi.service.d.ts.map +1 -0
  446. package/dist/openapi/scalar.d.ts +16 -0
  447. package/dist/openapi/scalar.d.ts.map +1 -0
  448. package/dist/openapi/types.d.ts +266 -0
  449. package/dist/openapi/types.d.ts.map +1 -0
  450. package/dist/openapi/zod-to-json-schema.d.ts +34 -0
  451. package/dist/openapi/zod-to-json-schema.d.ts.map +1 -0
  452. package/dist/package.json +59 -0
  453. package/dist/queue/backends/bullmq.d.ts +41 -0
  454. package/dist/queue/backends/bullmq.d.ts.map +1 -0
  455. package/dist/queue/backends/cloudflare.d.ts +84 -0
  456. package/dist/queue/backends/cloudflare.d.ts.map +1 -0
  457. package/dist/queue/backends/index.d.ts +7 -0
  458. package/dist/queue/backends/index.d.ts.map +1 -0
  459. package/dist/queue/backends/memory.d.ts +24 -0
  460. package/dist/queue/backends/memory.d.ts.map +1 -0
  461. package/dist/queue/decorators/on-queue-ready.d.ts +43 -0
  462. package/dist/queue/decorators/on-queue-ready.d.ts.map +1 -0
  463. package/dist/queue/index.d.ts +57 -0
  464. package/dist/queue/index.d.ts.map +1 -0
  465. package/dist/queue/index.js +961 -0
  466. package/dist/queue/index.js.map +25 -0
  467. package/dist/queue/queue.module.d.ts +46 -0
  468. package/dist/queue/queue.module.d.ts.map +1 -0
  469. package/dist/queue/queue.service.d.ts +61 -0
  470. package/dist/queue/queue.service.d.ts.map +1 -0
  471. package/dist/queue/types.d.ts +204 -0
  472. package/dist/queue/types.d.ts.map +1 -0
  473. package/dist/redis/adapters/bun.d.ts +27 -0
  474. package/dist/redis/adapters/bun.d.ts.map +1 -0
  475. package/dist/redis/adapters/cloudflare.d.ts +51 -0
  476. package/dist/redis/adapters/cloudflare.d.ts.map +1 -0
  477. package/dist/redis/adapters/index.d.ts +29 -0
  478. package/dist/redis/adapters/index.d.ts.map +1 -0
  479. package/dist/redis/adapters/memory.d.ts +28 -0
  480. package/dist/redis/adapters/memory.d.ts.map +1 -0
  481. package/dist/redis/adapters/node.d.ts +36 -0
  482. package/dist/redis/adapters/node.d.ts.map +1 -0
  483. package/dist/redis/index.d.ts +33 -0
  484. package/dist/redis/index.d.ts.map +1 -0
  485. package/dist/redis/index.js +667 -0
  486. package/dist/redis/index.js.map +25 -0
  487. package/dist/redis/module.d.ts +32 -0
  488. package/dist/redis/module.d.ts.map +1 -0
  489. package/dist/redis/types.d.ts +146 -0
  490. package/dist/redis/types.d.ts.map +1 -0
  491. package/dist/schedule/backends/cloudflare.d.ts +55 -0
  492. package/dist/schedule/backends/cloudflare.d.ts.map +1 -0
  493. package/dist/schedule/backends/index.d.ts +3 -0
  494. package/dist/schedule/backends/index.d.ts.map +1 -0
  495. package/dist/schedule/backends/memory.d.ts +39 -0
  496. package/dist/schedule/backends/memory.d.ts.map +1 -0
  497. package/dist/schedule/cron-parser.d.ts +48 -0
  498. package/dist/schedule/cron-parser.d.ts.map +1 -0
  499. package/dist/schedule/decorators/cron.d.ts +71 -0
  500. package/dist/schedule/decorators/cron.d.ts.map +1 -0
  501. package/dist/schedule/index.d.ts +51 -0
  502. package/dist/schedule/index.d.ts.map +1 -0
  503. package/dist/schedule/index.js +1108 -0
  504. package/dist/schedule/index.js.map +25 -0
  505. package/dist/schedule/schedule.module.d.ts +44 -0
  506. package/dist/schedule/schedule.module.d.ts.map +1 -0
  507. package/dist/schedule/schedule.service.d.ts +51 -0
  508. package/dist/schedule/schedule.service.d.ts.map +1 -0
  509. package/dist/schedule/types.d.ts +150 -0
  510. package/dist/schedule/types.d.ts.map +1 -0
  511. package/dist/session/backends/cookie.d.ts +56 -0
  512. package/dist/session/backends/cookie.d.ts.map +1 -0
  513. package/dist/session/backends/drizzle.d.ts +65 -0
  514. package/dist/session/backends/drizzle.d.ts.map +1 -0
  515. package/dist/session/backends/index.d.ts +6 -0
  516. package/dist/session/backends/index.d.ts.map +1 -0
  517. package/dist/session/backends/memory.d.ts +32 -0
  518. package/dist/session/backends/memory.d.ts.map +1 -0
  519. package/dist/session/backends/redis.d.ts +53 -0
  520. package/dist/session/backends/redis.d.ts.map +1 -0
  521. package/dist/session/decorators/current-session.d.ts +56 -0
  522. package/dist/session/decorators/current-session.d.ts.map +1 -0
  523. package/dist/session/index.d.ts +42 -0
  524. package/dist/session/index.d.ts.map +1 -0
  525. package/dist/session/index.js +1498 -0
  526. package/dist/session/index.js.map +28 -0
  527. package/dist/session/session-middleware.d.ts +29 -0
  528. package/dist/session/session-middleware.d.ts.map +1 -0
  529. package/dist/session/session.module.d.ts +35 -0
  530. package/dist/session/session.module.d.ts.map +1 -0
  531. package/dist/session/session.service.d.ts +49 -0
  532. package/dist/session/session.service.d.ts.map +1 -0
  533. package/dist/session/types.d.ts +201 -0
  534. package/dist/session/types.d.ts.map +1 -0
  535. package/dist/shield/guards/csrf.d.ts +33 -0
  536. package/dist/shield/guards/csrf.d.ts.map +1 -0
  537. package/dist/shield/guards/headers.d.ts +22 -0
  538. package/dist/shield/guards/headers.d.ts.map +1 -0
  539. package/dist/shield/guards/index.d.ts +6 -0
  540. package/dist/shield/guards/index.d.ts.map +1 -0
  541. package/dist/shield/index.d.ts +8 -0
  542. package/dist/shield/index.d.ts.map +1 -0
  543. package/dist/shield/index.js +728 -0
  544. package/dist/shield/index.js.map +25 -0
  545. package/dist/shield/shield.module.d.ts +25 -0
  546. package/dist/shield/shield.module.d.ts.map +1 -0
  547. package/dist/shield/shield.service.d.ts +21 -0
  548. package/dist/shield/shield.service.d.ts.map +1 -0
  549. package/dist/shield/types.d.ts +95 -0
  550. package/dist/shield/types.d.ts.map +1 -0
  551. package/dist/sse/index.d.ts +7 -0
  552. package/dist/sse/index.d.ts.map +1 -0
  553. package/dist/sse/index.js +214 -0
  554. package/dist/sse/index.js.map +13 -0
  555. package/dist/sse/sse-stream.d.ts +46 -0
  556. package/dist/sse/sse-stream.d.ts.map +1 -0
  557. package/dist/sse/sse.d.ts +24 -0
  558. package/dist/sse/sse.d.ts.map +1 -0
  559. package/dist/sse/types.d.ts +84 -0
  560. package/dist/sse/types.d.ts.map +1 -0
  561. package/dist/static/index.d.ts +41 -0
  562. package/dist/static/index.d.ts.map +1 -0
  563. package/dist/static/index.js +313 -0
  564. package/dist/static/index.js.map +13 -0
  565. package/dist/static/static.module.d.ts +41 -0
  566. package/dist/static/static.module.d.ts.map +1 -0
  567. package/dist/static/static.service.d.ts +38 -0
  568. package/dist/static/static.service.d.ts.map +1 -0
  569. package/dist/tracing/decorators/index.d.ts +2 -0
  570. package/dist/tracing/decorators/index.d.ts.map +1 -0
  571. package/dist/tracing/decorators/trace.d.ts +37 -0
  572. package/dist/tracing/decorators/trace.d.ts.map +1 -0
  573. package/dist/tracing/hono-instrumentation.d.ts +21 -0
  574. package/dist/tracing/hono-instrumentation.d.ts.map +1 -0
  575. package/dist/tracing/index.d.ts +29 -0
  576. package/dist/tracing/index.d.ts.map +1 -0
  577. package/dist/tracing/index.js +782 -0
  578. package/dist/tracing/index.js.map +24 -0
  579. package/dist/tracing/module.d.ts +45 -0
  580. package/dist/tracing/module.d.ts.map +1 -0
  581. package/dist/tracing/propagation.d.ts +53 -0
  582. package/dist/tracing/propagation.d.ts.map +1 -0
  583. package/dist/tracing/service.d.ts +95 -0
  584. package/dist/tracing/service.d.ts.map +1 -0
  585. package/dist/tracing/types.d.ts +90 -0
  586. package/dist/tracing/types.d.ts.map +1 -0
  587. package/dist/upload/decorators/index.d.ts +6 -0
  588. package/dist/upload/decorators/index.d.ts.map +1 -0
  589. package/dist/upload/decorators/upload.d.ts +16 -0
  590. package/dist/upload/decorators/upload.d.ts.map +1 -0
  591. package/dist/upload/decorators/uploaded-file.d.ts +10 -0
  592. package/dist/upload/decorators/uploaded-file.d.ts.map +1 -0
  593. package/dist/upload/index.d.ts +9 -0
  594. package/dist/upload/index.d.ts.map +1 -0
  595. package/dist/upload/index.js +553 -0
  596. package/dist/upload/index.js.map +25 -0
  597. package/dist/upload/types.d.ts +103 -0
  598. package/dist/upload/types.d.ts.map +1 -0
  599. package/dist/upload/upload.middleware.d.ts +15 -0
  600. package/dist/upload/upload.middleware.d.ts.map +1 -0
  601. package/dist/upload/upload.module.d.ts +33 -0
  602. package/dist/upload/upload.module.d.ts.map +1 -0
  603. package/dist/upload/upload.service.d.ts +29 -0
  604. package/dist/upload/upload.service.d.ts.map +1 -0
  605. package/dist/view/edge.d.ts +23 -0
  606. package/dist/view/edge.d.ts.map +1 -0
  607. package/dist/view/eta.d.ts +30 -0
  608. package/dist/view/eta.d.ts.map +1 -0
  609. package/dist/view/index.d.ts +34 -0
  610. package/dist/view/index.d.ts.map +1 -0
  611. package/dist/view/index.js +240 -0
  612. package/dist/view/index.js.map +14 -0
  613. package/dist/view/inertia/default-ssr.d.ts +15 -0
  614. package/dist/view/inertia/default-ssr.d.ts.map +1 -0
  615. package/dist/view/inertia/form-helper.d.ts +102 -0
  616. package/dist/view/inertia/form-helper.d.ts.map +1 -0
  617. package/dist/view/inertia/form-middleware.d.ts +53 -0
  618. package/dist/view/inertia/form-middleware.d.ts.map +1 -0
  619. package/dist/view/inertia/helpers.d.ts +149 -0
  620. package/dist/view/inertia/helpers.d.ts.map +1 -0
  621. package/dist/view/inertia/index.d.ts +18 -0
  622. package/dist/view/inertia/index.d.ts.map +1 -0
  623. package/dist/view/inertia/inertia-adapter.d.ts +93 -0
  624. package/dist/view/inertia/inertia-adapter.d.ts.map +1 -0
  625. package/dist/view/inertia/inertia-response.d.ts +51 -0
  626. package/dist/view/inertia/inertia-response.d.ts.map +1 -0
  627. package/dist/view/inertia/ssr/index.d.ts +13 -0
  628. package/dist/view/inertia/ssr/index.d.ts.map +1 -0
  629. package/dist/view/inertia/ssr/react-adapter.d.ts +33 -0
  630. package/dist/view/inertia/ssr/react-adapter.d.ts.map +1 -0
  631. package/dist/view/inertia/ssr/registry.d.ts +42 -0
  632. package/dist/view/inertia/ssr/registry.d.ts.map +1 -0
  633. package/dist/view/inertia/ssr/solid-adapter.d.ts +31 -0
  634. package/dist/view/inertia/ssr/solid-adapter.d.ts.map +1 -0
  635. package/dist/view/inertia/ssr/svelte-adapter.d.ts +31 -0
  636. package/dist/view/inertia/ssr/svelte-adapter.d.ts.map +1 -0
  637. package/dist/view/inertia/ssr/vue-adapter.d.ts +26 -0
  638. package/dist/view/inertia/ssr/vue-adapter.d.ts.map +1 -0
  639. package/dist/view/inertia/types.d.ts +131 -0
  640. package/dist/view/inertia/types.d.ts.map +1 -0
  641. package/dist/view/rendu.d.ts +11 -0
  642. package/dist/view/rendu.d.ts.map +1 -0
  643. package/dist/view/types.d.ts +52 -0
  644. package/dist/view/types.d.ts.map +1 -0
  645. package/dist/view/view-engine.d.ts +28 -0
  646. package/dist/view/view-engine.d.ts.map +1 -0
  647. package/dist/ws/client.d.ts +42 -0
  648. package/dist/ws/client.d.ts.map +1 -0
  649. package/dist/ws/decorators.d.ts +44 -0
  650. package/dist/ws/decorators.d.ts.map +1 -0
  651. package/dist/ws/index.d.ts +57 -0
  652. package/dist/ws/index.d.ts.map +1 -0
  653. package/dist/ws/index.js +796 -0
  654. package/dist/ws/index.js.map +26 -0
  655. package/dist/ws/module.d.ts +48 -0
  656. package/dist/ws/module.d.ts.map +1 -0
  657. package/dist/ws/runtime/bun.d.ts +41 -0
  658. package/dist/ws/runtime/bun.d.ts.map +1 -0
  659. package/dist/ws/runtime/index.d.ts +14 -0
  660. package/dist/ws/runtime/index.d.ts.map +1 -0
  661. package/dist/ws/runtime/node.d.ts +46 -0
  662. package/dist/ws/runtime/node.d.ts.map +1 -0
  663. package/dist/ws/runtime/types.d.ts +18 -0
  664. package/dist/ws/runtime/types.d.ts.map +1 -0
  665. package/dist/ws/service.d.ts +65 -0
  666. package/dist/ws/service.d.ts.map +1 -0
  667. package/dist/ws/types.d.ts +77 -0
  668. package/dist/ws/types.d.ts.map +1 -0
  669. package/package.json +262 -0
@@ -0,0 +1,1108 @@
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ function __accessProp(key) {
7
+ return this[key];
8
+ }
9
+ var __toCommonJS = (from) => {
10
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
11
+ if (entry)
12
+ return entry;
13
+ entry = __defProp({}, "__esModule", { value: true });
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (var key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(entry, key))
17
+ __defProp(entry, key, {
18
+ get: __accessProp.bind(from, key),
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ __moduleCache.set(from, entry);
23
+ return entry;
24
+ };
25
+ var __moduleCache;
26
+ var __returnValue = (v) => v;
27
+ function __exportSetter(name, newValue) {
28
+ this[name] = __returnValue.bind(null, newValue);
29
+ }
30
+ var __export = (target, all) => {
31
+ for (var name in all)
32
+ __defProp(target, name, {
33
+ get: all[name],
34
+ enumerable: true,
35
+ configurable: true,
36
+ set: __exportSetter.bind(all, name)
37
+ });
38
+ };
39
+ var __legacyDecorateClassTS = function(decorators, target, key, desc) {
40
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
41
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
42
+ r = Reflect.decorate(decorators, target, key, desc);
43
+ else
44
+ for (var i = decorators.length - 1;i >= 0; i--)
45
+ if (d = decorators[i])
46
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
47
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
48
+ };
49
+ var __legacyDecorateParamTS = (index, decorator) => (target, key) => decorator(target, key, index);
50
+ var __legacyMetadataTS = (k, v) => {
51
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
52
+ return Reflect.metadata(k, v);
53
+ };
54
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
55
+ var __require = import.meta.require;
56
+
57
+ // src/core/constants.ts
58
+ var METADATA_KEY, PARAM_TYPES, HTTP_METHODS;
59
+ var init_constants = __esm(() => {
60
+ METADATA_KEY = {
61
+ CONTROLLER: "nexus:controller",
62
+ INJECTABLE: "nexus:injectable",
63
+ REPOSITORY: "nexus:repository",
64
+ MODULE: "nexus:module",
65
+ ROUTES: "nexus:routes",
66
+ PARAMS: "nexus:params",
67
+ VALIDATE: "nexus:validate",
68
+ PARAMTYPES: "design:paramtypes",
69
+ TYPE: "design:type",
70
+ RETURNTYPE: "design:returntype",
71
+ INJECT: "nexus:inject"
72
+ };
73
+ PARAM_TYPES = {
74
+ REQUEST: 0,
75
+ RESPONSE: 1,
76
+ NEXT: 2,
77
+ BODY: 3,
78
+ QUERY: 4,
79
+ PARAM: 5,
80
+ HEADERS: 6,
81
+ CTX: 7,
82
+ USER: 8
83
+ };
84
+ HTTP_METHODS = [
85
+ "GET",
86
+ "POST",
87
+ "PUT",
88
+ "DELETE",
89
+ "PATCH",
90
+ "OPTIONS",
91
+ "HEAD"
92
+ ];
93
+ });
94
+
95
+ // src/core/decorators/controller.ts
96
+ import"reflect-metadata";
97
+ function Controller(prefix = "/") {
98
+ return (target) => {
99
+ const normalized = normalizePrefix(prefix);
100
+ const meta = { prefix: normalized };
101
+ Reflect.defineMetadata(METADATA_KEY.CONTROLLER, meta, target);
102
+ };
103
+ }
104
+ function getControllerMetadata(target) {
105
+ return Reflect.getMetadata(METADATA_KEY.CONTROLLER, target) ?? { prefix: "/" };
106
+ }
107
+ function isController(target) {
108
+ return Reflect.hasMetadata(METADATA_KEY.CONTROLLER, target);
109
+ }
110
+ function normalizePrefix(prefix) {
111
+ if (!prefix)
112
+ return "";
113
+ if (prefix !== "/" && prefix.endsWith("/")) {
114
+ return prefix.slice(0, -1);
115
+ }
116
+ return prefix;
117
+ }
118
+ var init_controller = __esm(() => {
119
+ init_constants();
120
+ });
121
+
122
+ // src/core/decorators/http-methods.ts
123
+ import"reflect-metadata";
124
+ function defineRoute(method, path) {
125
+ return (target, propertyKey, descriptor) => {
126
+ const routes = Reflect.getMetadata(METADATA_KEY.ROUTES, target.constructor) ?? [];
127
+ routes.push({
128
+ method,
129
+ path: normalizePath(path),
130
+ propertyKey,
131
+ handler: descriptor.value
132
+ });
133
+ Reflect.defineMetadata(METADATA_KEY.ROUTES, routes, target.constructor);
134
+ };
135
+ }
136
+ function normalizePath(path) {
137
+ if (!path || path === "/")
138
+ return "/";
139
+ return path.startsWith("/") ? path : `/${path}`;
140
+ }
141
+ function getRoutes(target) {
142
+ return Reflect.getMetadata(METADATA_KEY.ROUTES, target) ?? [];
143
+ }
144
+ var Get = (path = "/") => defineRoute("GET", path), Post = (path = "/") => defineRoute("POST", path), Put = (path = "/") => defineRoute("PUT", path), Delete = (path = "/") => defineRoute("DELETE", path), Patch = (path = "/") => defineRoute("PATCH", path), Options = (path = "/") => defineRoute("OPTIONS", path), Head = (path = "/") => defineRoute("HEAD", path);
145
+ var init_http_methods = __esm(() => {
146
+ init_constants();
147
+ });
148
+
149
+ // src/core/decorators/params.ts
150
+ import"reflect-metadata";
151
+ function createParamDecorator(type, data) {
152
+ return (target, propertyKey, parameterIndex) => {
153
+ if (propertyKey !== undefined) {
154
+ const params = Reflect.getMetadata(METADATA_KEY.PARAMS, target, propertyKey) ?? [];
155
+ params.push({
156
+ index: parameterIndex,
157
+ type,
158
+ name: typeof data === "string" ? data : undefined,
159
+ data: typeof data === "object" ? data : undefined
160
+ });
161
+ Reflect.defineMetadata(METADATA_KEY.PARAMS, params, target, propertyKey);
162
+ } else {
163
+ const params = Reflect.getMetadata(METADATA_KEY.PARAMS, target) ?? [];
164
+ params.push({
165
+ index: parameterIndex,
166
+ type,
167
+ name: typeof data === "string" ? data : undefined,
168
+ data: typeof data === "object" ? data : undefined
169
+ });
170
+ Reflect.defineMetadata(METADATA_KEY.PARAMS, params, target);
171
+ }
172
+ };
173
+ }
174
+ function getParamMetadata(target, propertyKey) {
175
+ return Reflect.getMetadata(METADATA_KEY.PARAMS, target, propertyKey) ?? [];
176
+ }
177
+ var Req = () => createParamDecorator(PARAM_TYPES.REQUEST), Res = () => createParamDecorator(PARAM_TYPES.RESPONSE), Next = () => createParamDecorator(PARAM_TYPES.NEXT), Body = (key) => createParamDecorator(PARAM_TYPES.BODY, key), Query = (key) => createParamDecorator(PARAM_TYPES.QUERY, key), Param = (key) => createParamDecorator(PARAM_TYPES.PARAM, key), Headers = (key) => createParamDecorator(PARAM_TYPES.HEADERS, key), Ctx = () => createParamDecorator(PARAM_TYPES.CTX), User = () => createParamDecorator(PARAM_TYPES.USER);
178
+ var init_params = __esm(() => {
179
+ init_constants();
180
+ });
181
+
182
+ // src/core/decorators/validate.ts
183
+ import"reflect-metadata";
184
+ function Validate(options) {
185
+ return (target, propertyKey, descriptor) => {
186
+ Reflect.defineMetadata(METADATA_KEY.VALIDATE, options, target.constructor, propertyKey);
187
+ };
188
+ }
189
+ function getValidationMetadata(target, propertyKey) {
190
+ return Reflect.getMetadata(METADATA_KEY.VALIDATE, target, propertyKey);
191
+ }
192
+ var init_validate = __esm(() => {
193
+ init_constants();
194
+ });
195
+ // src/schedule/cron-parser.ts
196
+ var FIELD_RANGES = [
197
+ [0, 59],
198
+ [0, 23],
199
+ [1, 31],
200
+ [1, 12],
201
+ [0, 7]
202
+ ];
203
+ var FIELD_NAMES = {
204
+ JAN: 1,
205
+ FEB: 2,
206
+ MAR: 3,
207
+ APR: 4,
208
+ MAY: 5,
209
+ JUN: 6,
210
+ JUL: 7,
211
+ AUG: 8,
212
+ SEP: 9,
213
+ OCT: 10,
214
+ NOV: 11,
215
+ DEC: 12,
216
+ SUN: 0,
217
+ MON: 1,
218
+ TUE: 2,
219
+ WED: 3,
220
+ THU: 4,
221
+ FRI: 5,
222
+ SAT: 6
223
+ };
224
+ var ALIASES = {
225
+ "@yearly": "0 0 1 1 *",
226
+ "@annually": "0 0 1 1 *",
227
+ "@monthly": "0 0 1 * *",
228
+ "@weekly": "0 0 * * 0",
229
+ "@daily": "0 0 * * *",
230
+ "@midnight": "0 0 * * *",
231
+ "@hourly": "0 * * * *"
232
+ };
233
+
234
+ class CronField {
235
+ values;
236
+ constructor(field, range) {
237
+ this.values = parseField(field, range);
238
+ }
239
+ contains(n) {
240
+ return this.values.has(n);
241
+ }
242
+ }
243
+
244
+ class CronExpression {
245
+ fields;
246
+ hasSeconds;
247
+ constructor(raw) {
248
+ const expanded = expandAlias(raw);
249
+ const every = expandEvery(expanded);
250
+ if (every) {
251
+ this.hasSeconds = true;
252
+ this.fields = everyToFields(every);
253
+ return;
254
+ }
255
+ const parts = expanded.trim().split(/\s+/);
256
+ if (parts.length === 5) {
257
+ this.hasSeconds = false;
258
+ this.fields = parts.map((p, i) => new CronField(p, FIELD_RANGES[i]));
259
+ } else if (parts.length === 6) {
260
+ this.hasSeconds = true;
261
+ const sec = [0, 59];
262
+ this.fields = [
263
+ new CronField(parts[0], sec),
264
+ ...parts.slice(1).map((p, i) => new CronField(p, FIELD_RANGES[i]))
265
+ ];
266
+ } else {
267
+ throw new Error(`Invalid cron expression: "${raw}" (expected 5 or 6 fields, got ${parts.length})`);
268
+ }
269
+ }
270
+ next(from, maxYears = 5) {
271
+ const cap = new Date(from.getTime() + maxYears * 365 * 24 * 60 * 60 * 1000);
272
+ let cur = new Date(from.getTime() + 1000);
273
+ cur.setMilliseconds(0);
274
+ let safety = 0;
275
+ while (cur <= cap) {
276
+ if (this.matches(cur)) {
277
+ return cur;
278
+ }
279
+ if (!this.fields[this.hasSeconds ? 4 : 3].contains(cur.getMonth() + 1)) {
280
+ cur = new Date(cur.getFullYear(), cur.getMonth() + 1, 1, 0, 0, 0, 0);
281
+ continue;
282
+ }
283
+ const domIdx = this.hasSeconds ? 3 : 2;
284
+ const domField = this.fields[domIdx];
285
+ if (!domField.contains(cur.getDate())) {
286
+ const sortedDays = [...domField.values].sort((a, b) => a - b);
287
+ const nextDay = sortedDays.find((d) => d >= cur.getDate());
288
+ if (nextDay !== undefined) {
289
+ cur = new Date(cur.getFullYear(), cur.getMonth(), nextDay, 0, 0, 0, 0);
290
+ } else {
291
+ cur = new Date(cur.getFullYear(), cur.getMonth() + 1, sortedDays[0], 0, 0, 0, 0);
292
+ }
293
+ continue;
294
+ }
295
+ if (!this.fields[this.hasSeconds ? 2 : 1].contains(cur.getHours())) {
296
+ cur = new Date(cur.getFullYear(), cur.getMonth(), cur.getDate(), cur.getHours() + 1, 0, 0, 0);
297
+ continue;
298
+ }
299
+ if (!this.fields[this.hasSeconds ? 1 : 0].contains(cur.getMinutes())) {
300
+ cur = new Date(cur.getFullYear(), cur.getMonth(), cur.getDate(), cur.getHours(), cur.getMinutes() + 1, 0, 0);
301
+ continue;
302
+ }
303
+ if (this.hasSeconds && !this.fields[0].contains(cur.getSeconds())) {
304
+ cur = new Date(cur.getTime() + 1000);
305
+ continue;
306
+ }
307
+ cur = new Date(cur.getTime() + 1000);
308
+ if (++safety > 1e6)
309
+ return null;
310
+ }
311
+ return null;
312
+ }
313
+ matches(d) {
314
+ const fields = this.hasSeconds ? [
315
+ d.getSeconds(),
316
+ d.getMinutes(),
317
+ d.getHours(),
318
+ d.getDate(),
319
+ d.getMonth() + 1,
320
+ d.getDay()
321
+ ] : [
322
+ d.getMinutes(),
323
+ d.getHours(),
324
+ d.getDate(),
325
+ d.getMonth() + 1,
326
+ d.getDay()
327
+ ];
328
+ const domField = this.fields[this.hasSeconds ? 3 : 2];
329
+ const dowField = this.fields[this.hasSeconds ? 4 : 3];
330
+ const isWildDom = domField.values.size === FIELD_RANGES[2][1];
331
+ const isWildDow = dowField.values.size === FIELD_RANGES[4][1] + 1;
332
+ const dayMatch = isWildDom || isWildDow ? domField.contains(d.getDate()) || dowField.contains(d.getDay()) : domField.contains(d.getDate()) || dowField.contains(d.getDay());
333
+ for (let i = 0;i < this.fields.length; i++) {
334
+ if (i === (this.hasSeconds ? 3 : 2))
335
+ continue;
336
+ if (!this.fields[i].contains(fields[i]))
337
+ return false;
338
+ }
339
+ return dayMatch;
340
+ }
341
+ }
342
+ function expandAlias(raw) {
343
+ const trimmed = raw.trim();
344
+ const alias = ALIASES[trimmed.toLowerCase()];
345
+ return alias ?? trimmed;
346
+ }
347
+ function expandEvery(raw) {
348
+ const m = /^@every\s+(\d+)\s*(s|m|h|d)?$/i.exec(raw.trim());
349
+ if (!m)
350
+ return null;
351
+ const n = Number(m[1]);
352
+ const unit = (m[2] ?? "s").toLowerCase();
353
+ switch (unit) {
354
+ case "s":
355
+ return n * 1000;
356
+ case "m":
357
+ return n * 60 * 1000;
358
+ case "h":
359
+ return n * 60 * 60 * 1000;
360
+ case "d":
361
+ return n * 24 * 60 * 60 * 1000;
362
+ }
363
+ return null;
364
+ }
365
+ function everyToFields(intervalMs) {
366
+ const seconds = Math.floor(intervalMs / 1000);
367
+ if (seconds < 60) {
368
+ if (60 % seconds === 0) {
369
+ return [
370
+ new CronField(`*/${seconds}`, [0, 59]),
371
+ new CronField("*", [0, 59]),
372
+ new CronField("*", [0, 23]),
373
+ new CronField("*", [1, 31]),
374
+ new CronField("*", [1, 12]),
375
+ new CronField("*", [0, 7])
376
+ ];
377
+ }
378
+ }
379
+ return [
380
+ new CronField("0", [0, 59]),
381
+ new CronField("*", [0, 59]),
382
+ new CronField("*", [0, 23]),
383
+ new CronField("*", [1, 31]),
384
+ new CronField("*", [1, 12]),
385
+ new CronField("*", [0, 7])
386
+ ];
387
+ }
388
+ function parseField(field, range) {
389
+ const out = new Set;
390
+ const [lo, hi] = range;
391
+ const parts = field.split(",");
392
+ for (const partRaw of parts) {
393
+ const part = partRaw.trim();
394
+ const stepMatch = /^(.+?)\/(\d+)$/.exec(part);
395
+ let base = part;
396
+ let step = 1;
397
+ if (stepMatch) {
398
+ base = stepMatch[1];
399
+ step = Number(stepMatch[2]);
400
+ }
401
+ let start;
402
+ let end;
403
+ if (base === "*") {
404
+ start = lo;
405
+ end = hi;
406
+ } else if (base.includes("-")) {
407
+ const [a, b] = base.split("-").map((s) => resolveValue(s, lo, hi));
408
+ start = a;
409
+ end = b;
410
+ } else {
411
+ const v = resolveValue(base, lo, hi);
412
+ start = v;
413
+ end = stepMatch ? hi : v;
414
+ }
415
+ if (start > end) {
416
+ throw new Error(`Invalid range in cron field: "${part}"`);
417
+ }
418
+ for (let i = start;i <= end; i += step) {
419
+ out.add(i);
420
+ }
421
+ }
422
+ return out;
423
+ }
424
+ function resolveValue(token, lo, hi) {
425
+ const t = token.trim();
426
+ if (t === "*")
427
+ return lo;
428
+ const named = FIELD_NAMES[t.toUpperCase()];
429
+ if (named !== undefined)
430
+ return named;
431
+ const n = Number(t);
432
+ if (Number.isNaN(n)) {
433
+ throw new Error(`Invalid cron field value: "${token}"`);
434
+ }
435
+ if (n < lo || n > hi) {
436
+ throw new Error(`Cron value ${n} out of range [${lo}, ${hi}]`);
437
+ }
438
+ return n;
439
+ }
440
+ function parseCron(expression) {
441
+ return new CronExpression(expression);
442
+ }
443
+ function nextCron(expression, from = new Date) {
444
+ return parseCron(expression).next(from);
445
+ }
446
+
447
+ // src/schedule/backends/memory.ts
448
+ class MemorySchedulesBackend {
449
+ #tasks = new Map;
450
+ #byName = new Map;
451
+ #listeners = new Set;
452
+ #tickHandle = null;
453
+ #tickMs;
454
+ #maxDriftMs;
455
+ #defaultTimezone = undefined;
456
+ #nextId = 1;
457
+ constructor(options = {}) {
458
+ this.#tickMs = options.tickMs ?? 1000;
459
+ this.#maxDriftMs = options.maxDriftMs ?? 60000;
460
+ this.#defaultTimezone = options.defaultTimezone;
461
+ }
462
+ addCron(name, expression, handler, options = {}) {
463
+ const id = this.#allocateId();
464
+ const next = nextCron(expression, options.runOnInit ? new Date(Date.now() - 1000) : new Date);
465
+ const task = {
466
+ id,
467
+ name,
468
+ kind: "cron",
469
+ expression,
470
+ nextRunAt: next?.getTime() ?? Date.now() + 60000,
471
+ invocations: 0,
472
+ status: "running",
473
+ handler
474
+ };
475
+ this.#tasks.set(id, task);
476
+ this.#byName.set(name, id);
477
+ this.#emit({
478
+ kind: "task:registered",
479
+ id,
480
+ name,
481
+ taskKind: "cron",
482
+ expression
483
+ });
484
+ return id;
485
+ }
486
+ addInterval(name, ms, handler) {
487
+ const id = this.#allocateId();
488
+ const task = {
489
+ id,
490
+ name,
491
+ kind: "interval",
492
+ expression: `${ms}ms`,
493
+ nextRunAt: Date.now() + ms,
494
+ invocations: 0,
495
+ status: "running",
496
+ handler
497
+ };
498
+ task.timer = setInterval(() => this.#runTask(id), ms);
499
+ this.#tasks.set(id, task);
500
+ this.#byName.set(name, id);
501
+ this.#emit({
502
+ kind: "task:registered",
503
+ id,
504
+ name,
505
+ taskKind: "interval",
506
+ expression: `${ms}ms`
507
+ });
508
+ return id;
509
+ }
510
+ addTimeout(name, ms, handler) {
511
+ const id = this.#allocateId();
512
+ const task = {
513
+ id,
514
+ name,
515
+ kind: "timeout",
516
+ expression: `${ms}ms`,
517
+ nextRunAt: Date.now() + ms,
518
+ invocations: 0,
519
+ status: "running",
520
+ handler
521
+ };
522
+ task.timer = setTimeout(() => this.#runOnceAndRemove(id), ms);
523
+ this.#tasks.set(id, task);
524
+ this.#byName.set(name, id);
525
+ this.#emit({
526
+ kind: "task:registered",
527
+ id,
528
+ name,
529
+ taskKind: "timeout",
530
+ expression: `${ms}ms`
531
+ });
532
+ return id;
533
+ }
534
+ delete(idOrName) {
535
+ const id = this.#resolveId(idOrName);
536
+ if (!id)
537
+ return false;
538
+ const task = this.#tasks.get(id);
539
+ if (!task)
540
+ return false;
541
+ this.#clearTimer(task);
542
+ this.#tasks.delete(id);
543
+ this.#byName.delete(task.name);
544
+ this.#emit({ kind: "task:deleted", id });
545
+ return true;
546
+ }
547
+ list() {
548
+ return [...this.#tasks.values()].map((t) => this.#toPublic(t));
549
+ }
550
+ get(idOrName) {
551
+ const id = this.#resolveId(idOrName);
552
+ if (!id)
553
+ return;
554
+ const task = this.#tasks.get(id);
555
+ return task ? this.#toPublic(task) : undefined;
556
+ }
557
+ pause(idOrName) {
558
+ const id = this.#resolveId(idOrName);
559
+ if (!id)
560
+ return false;
561
+ const task = this.#tasks.get(id);
562
+ if (!task)
563
+ return false;
564
+ this.#clearTimer(task);
565
+ task.status = "paused";
566
+ this.#emit({ kind: "task:paused", id });
567
+ return true;
568
+ }
569
+ resume(idOrName) {
570
+ const id = this.#resolveId(idOrName);
571
+ if (!id)
572
+ return false;
573
+ const task = this.#tasks.get(id);
574
+ if (!task)
575
+ return false;
576
+ if (task.kind === "interval" && !task.timer) {
577
+ task.timer = setInterval(() => this.#runTask(id), Number(task.expression.replace("ms", "")));
578
+ }
579
+ task.status = "running";
580
+ this.#emit({ kind: "task:resumed", id });
581
+ return true;
582
+ }
583
+ async stop() {
584
+ for (const task of this.#tasks.values()) {
585
+ this.#clearTimer(task);
586
+ }
587
+ this.#tasks.clear();
588
+ this.#byName.clear();
589
+ if (this.#tickHandle)
590
+ clearInterval(this.#tickHandle);
591
+ this.#tickHandle = null;
592
+ }
593
+ on(listener) {
594
+ this.#listeners.add(listener);
595
+ return () => this.#listeners.delete(listener);
596
+ }
597
+ start() {
598
+ if (this.#tickHandle)
599
+ return;
600
+ this.#tickHandle = setInterval(() => this.#tick(), this.#tickMs);
601
+ const handle = this.#tickHandle;
602
+ if (typeof handle.unref === "function")
603
+ handle.unref();
604
+ }
605
+ #allocateId() {
606
+ return `sched-${this.#nextId++}`;
607
+ }
608
+ #resolveId(idOrName) {
609
+ if (this.#tasks.has(idOrName))
610
+ return idOrName;
611
+ return this.#byName.get(idOrName) ?? null;
612
+ }
613
+ #toPublic(t) {
614
+ const public_ = {
615
+ id: t.id,
616
+ name: t.name,
617
+ kind: t.kind,
618
+ expression: t.expression,
619
+ status: t.status,
620
+ invocations: t.invocations
621
+ };
622
+ if (t.lastRunAt !== undefined) {
623
+ public_.lastRunAt = new Date(t.lastRunAt).toISOString();
624
+ }
625
+ public_.nextRunAt = new Date(t.nextRunAt).toISOString();
626
+ if (t.lastError !== undefined)
627
+ public_.lastError = t.lastError;
628
+ return public_;
629
+ }
630
+ #clearTimer(task) {
631
+ if (task.timer) {
632
+ clearInterval(task.timer);
633
+ clearTimeout(task.timer);
634
+ task.timer = undefined;
635
+ }
636
+ }
637
+ #tick() {
638
+ const now = Date.now();
639
+ for (const [id, task] of this.#tasks) {
640
+ if (task.status !== "running")
641
+ continue;
642
+ if (task.kind !== "cron")
643
+ continue;
644
+ if (task.nextRunAt > now)
645
+ continue;
646
+ this.#runTask(id);
647
+ }
648
+ }
649
+ async#runTask(id) {
650
+ const task = this.#tasks.get(id);
651
+ if (!task)
652
+ return;
653
+ const startedAt = new Date;
654
+ this.#emit({
655
+ kind: "task:invoked",
656
+ id,
657
+ name: task.name,
658
+ startedAt: startedAt.toISOString()
659
+ });
660
+ const start = Date.now();
661
+ try {
662
+ const result = await task.handler();
663
+ task.invocations++;
664
+ task.lastRunAt = start;
665
+ task.lastError = undefined;
666
+ this.#emit({
667
+ kind: "task:completed",
668
+ id,
669
+ name: task.name,
670
+ durationMs: Date.now() - start,
671
+ returnvalue: result
672
+ });
673
+ } catch (err) {
674
+ task.invocations++;
675
+ task.lastRunAt = start;
676
+ const error = err instanceof Error ? err : new Error(String(err));
677
+ task.lastError = error.message;
678
+ this.#emit({ kind: "task:failed", id, name: task.name, error });
679
+ } finally {
680
+ if (task.kind === "cron" && task.status === "running") {
681
+ const next = nextCron(task.expression, new Date);
682
+ if (next) {
683
+ const drift = next.getTime() - Date.now();
684
+ task.nextRunAt = drift > this.#maxDriftMs ? Date.now() + 60000 : next.getTime();
685
+ } else {
686
+ task.nextRunAt = Date.now() + 60000;
687
+ }
688
+ }
689
+ }
690
+ }
691
+ #runOnceAndRemove(id) {
692
+ this.#runTask(id);
693
+ const task = this.#tasks.get(id);
694
+ if (task) {
695
+ this.#tasks.delete(id);
696
+ this.#byName.delete(task.name);
697
+ this.#emit({ kind: "task:deleted", id });
698
+ }
699
+ }
700
+ #emit(event) {
701
+ for (const l of this.#listeners) {
702
+ Promise.resolve(l(event));
703
+ }
704
+ }
705
+ }
706
+ // src/schedule/backends/cloudflare.ts
707
+ class CloudflareSchedulesBackend {
708
+ #tasks = new Map;
709
+ #byName = new Map;
710
+ #listeners = new Set;
711
+ #nextId = 1;
712
+ #validate;
713
+ constructor(options = {}) {
714
+ this.#validate = options.validateAgainstTrigger ?? true;
715
+ }
716
+ addCron(name, expression, handler, options = {}) {
717
+ const id = `sched-${this.#nextId++}`;
718
+ this.#tasks.set(id, { id, name, expression, handler, options });
719
+ this.#byName.set(name, id);
720
+ this.#emit({
721
+ kind: "task:registered",
722
+ id,
723
+ name,
724
+ taskKind: "cron",
725
+ expression
726
+ });
727
+ return id;
728
+ }
729
+ addInterval() {
730
+ throw new Error("[schedule/cloudflare] setInterval is not supported on Workers. " + "Use @Cron with a short interval or use the memory backend for in-process scheduling.");
731
+ }
732
+ addTimeout() {
733
+ throw new Error("[schedule/cloudflare] setTimeout is not supported on Workers. " + 'Use @Cron with a delay (e.g. "@every 30s") or run the work from a request handler.');
734
+ }
735
+ delete(idOrName) {
736
+ const id = this.#resolveId(idOrName);
737
+ if (!id)
738
+ return false;
739
+ const task = this.#tasks.get(id);
740
+ if (!task)
741
+ return false;
742
+ this.#tasks.delete(id);
743
+ this.#byName.delete(task.name);
744
+ this.#emit({ kind: "task:deleted", id });
745
+ return true;
746
+ }
747
+ list() {
748
+ return [...this.#tasks.values()].map((t) => ({
749
+ id: t.id,
750
+ name: t.name,
751
+ kind: "cron",
752
+ expression: t.expression,
753
+ status: "running",
754
+ invocations: 0
755
+ }));
756
+ }
757
+ get(idOrName) {
758
+ const id = this.#resolveId(idOrName);
759
+ if (!id)
760
+ return;
761
+ const t = this.#tasks.get(id);
762
+ return t ? {
763
+ id: t.id,
764
+ name: t.name,
765
+ kind: "cron",
766
+ expression: t.expression,
767
+ status: "running",
768
+ invocations: 0
769
+ } : undefined;
770
+ }
771
+ pause() {
772
+ return false;
773
+ }
774
+ resume() {
775
+ return false;
776
+ }
777
+ async stop() {
778
+ this.#tasks.clear();
779
+ this.#byName.clear();
780
+ }
781
+ on(listener) {
782
+ this.#listeners.add(listener);
783
+ return () => this.#listeners.delete(listener);
784
+ }
785
+ scheduledHandler() {
786
+ return async (event) => {
787
+ for (const task of this.#tasks.values()) {
788
+ if (this.#validate && task.expression !== event.cron)
789
+ continue;
790
+ await this.#dispatch(task, event);
791
+ }
792
+ };
793
+ }
794
+ async#dispatch(task, event) {
795
+ const startedAt = new Date;
796
+ this.#emit({
797
+ kind: "task:invoked",
798
+ id: task.id,
799
+ name: task.name,
800
+ startedAt: startedAt.toISOString()
801
+ });
802
+ try {
803
+ const result = await task.handler();
804
+ this.#emit({
805
+ kind: "task:completed",
806
+ id: task.id,
807
+ name: task.name,
808
+ durationMs: Date.now() - startedAt.getTime(),
809
+ returnvalue: result
810
+ });
811
+ } catch (err) {
812
+ const error = err instanceof Error ? err : new Error(String(err));
813
+ this.#emit({ kind: "task:failed", id: task.id, name: task.name, error });
814
+ }
815
+ }
816
+ #resolveId(idOrName) {
817
+ if (this.#tasks.has(idOrName))
818
+ return idOrName;
819
+ return this.#byName.get(idOrName) ?? null;
820
+ }
821
+ #emit(event) {
822
+ for (const l of this.#listeners) {
823
+ Promise.resolve(l(event));
824
+ }
825
+ }
826
+ }
827
+ // src/core/decorators/module.ts
828
+ init_constants();
829
+ import"reflect-metadata";
830
+ function Module(options = {}) {
831
+ return (target) => {
832
+ Reflect.defineMetadata(METADATA_KEY.MODULE, options, target);
833
+ };
834
+ }
835
+ function getModuleOptions(target) {
836
+ return Reflect.getMetadata(METADATA_KEY.MODULE, target) ?? {};
837
+ }
838
+
839
+ // src/core/decorators/index.ts
840
+ init_controller();
841
+
842
+ // src/core/decorators/injectable.ts
843
+ init_constants();
844
+ import"reflect-metadata";
845
+ function Injectable(options = {}) {
846
+ return (target) => {
847
+ Reflect.defineMetadata(METADATA_KEY.INJECTABLE, true, target);
848
+ if (options.scope) {
849
+ Reflect.defineMetadata("nexus:di:scope", options.scope, target);
850
+ }
851
+ };
852
+ }
853
+ function isInjectable(target) {
854
+ return Reflect.hasMetadata(METADATA_KEY.INJECTABLE, target);
855
+ }
856
+ function getScope(target) {
857
+ return Reflect.getMetadata("nexus:di:scope", target);
858
+ }
859
+ function Inject(token) {
860
+ return (target, propertyKey, parameterIndex) => {
861
+ const existing = Reflect.getMetadata(METADATA_KEY.INJECT, target) ?? new Map;
862
+ existing.set(parameterIndex, token);
863
+ Reflect.defineMetadata(METADATA_KEY.INJECT, existing, target);
864
+ };
865
+ }
866
+
867
+ // src/core/decorators/index.ts
868
+ init_http_methods();
869
+ init_params();
870
+ init_validate();
871
+
872
+ // src/core/decorators/repository.ts
873
+ init_constants();
874
+ import"reflect-metadata";
875
+ function Repository(entityToken) {
876
+ return (target) => {
877
+ Reflect.defineMetadata(METADATA_KEY.REPOSITORY, { entity: entityToken }, target);
878
+ Reflect.defineMetadata(METADATA_KEY.INJECTABLE, true, target);
879
+ };
880
+ }
881
+ function getRepositoryMetadata(target) {
882
+ return Reflect.getMetadata(METADATA_KEY.REPOSITORY, target);
883
+ }
884
+ function isRepository(target) {
885
+ return Reflect.hasMetadata(METADATA_KEY.REPOSITORY, target);
886
+ }
887
+ // src/core/decorators/metadata.ts
888
+ init_constants();
889
+ // src/schedule/schedule.service.ts
890
+ class ScheduleService {
891
+ config;
892
+ static TOKEN = Symbol.for("nexus:ScheduleService");
893
+ registry;
894
+ #listeners = new Set;
895
+ #started = false;
896
+ #memoryBackend = null;
897
+ constructor(config = {}) {
898
+ this.config = config;
899
+ this.registry = this.#createBackend(config);
900
+ }
901
+ addCron(expression, handler, options = {}) {
902
+ const name = options.name ?? `cron-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
903
+ return this.registry.addCron(name, expression, handler, options);
904
+ }
905
+ addInterval(milliseconds, handler, name) {
906
+ return this.registry.addInterval(name ?? `interval-${Date.now()}`, milliseconds, handler);
907
+ }
908
+ addTimeout(milliseconds, handler, name) {
909
+ return this.registry.addTimeout(name ?? `timeout-${Date.now()}`, milliseconds, handler);
910
+ }
911
+ list() {
912
+ return this.registry.list();
913
+ }
914
+ get(idOrName) {
915
+ return this.registry.get(idOrName);
916
+ }
917
+ pause(idOrName) {
918
+ return this.registry.pause(idOrName);
919
+ }
920
+ resume(idOrName) {
921
+ return this.registry.resume(idOrName);
922
+ }
923
+ delete(idOrName) {
924
+ return this.registry.delete(idOrName);
925
+ }
926
+ on(listener) {
927
+ this.#listeners.add(listener);
928
+ return () => this.#listeners.delete(listener);
929
+ }
930
+ start() {
931
+ if (this.#started)
932
+ return;
933
+ this.#started = true;
934
+ if (this.#memoryBackend) {
935
+ this.#memoryBackend.start();
936
+ }
937
+ this.registry.on((event) => this.#broadcast(event));
938
+ }
939
+ async stop() {
940
+ if (!this.#started)
941
+ return;
942
+ this.#started = false;
943
+ await this.registry.stop();
944
+ }
945
+ getMemoryBackend() {
946
+ return this.#memoryBackend;
947
+ }
948
+ getCloudflareBackend() {
949
+ return this.registry instanceof CloudflareSchedulesBackend ? this.registry : null;
950
+ }
951
+ #createBackend(config) {
952
+ switch (config.backend ?? "memory") {
953
+ case "memory": {
954
+ const backend = new MemorySchedulesBackend({
955
+ tickMs: config.memory?.tickMs ?? 1000,
956
+ maxDriftMs: config.memory?.maxDriftMs,
957
+ defaultTimezone: config.defaultTimezone
958
+ });
959
+ this.#memoryBackend = backend;
960
+ return backend;
961
+ }
962
+ case "cloudflare":
963
+ return new CloudflareSchedulesBackend;
964
+ }
965
+ }
966
+ #broadcast(event) {
967
+ for (const l of this.#listeners) {
968
+ Promise.resolve(l(event));
969
+ }
970
+ }
971
+ }
972
+ ScheduleService = __legacyDecorateClassTS([
973
+ Injectable(),
974
+ __legacyDecorateParamTS(0, Inject("SCHEDULE_CONFIG")),
975
+ __legacyMetadataTS("design:paramtypes", [
976
+ typeof ScheduleConfig === "undefined" ? Object : ScheduleConfig
977
+ ])
978
+ ], ScheduleService);
979
+ // src/schedule/schedule.module.ts
980
+ import"reflect-metadata";
981
+ class ScheduleModule {
982
+ static forRoot(config = {}) {
983
+ class ConfiguredScheduleModule {
984
+ }
985
+ ConfiguredScheduleModule = __legacyDecorateClassTS([
986
+ Module({
987
+ providers: [
988
+ ScheduleService,
989
+ { provide: ScheduleService.TOKEN, useExisting: ScheduleService },
990
+ { provide: "SCHEDULE_CONFIG", useValue: config }
991
+ ],
992
+ exports: [ScheduleService, ScheduleService.TOKEN]
993
+ })
994
+ ], ConfiguredScheduleModule);
995
+ Object.defineProperty(ConfiguredScheduleModule, "name", {
996
+ value: "ConfiguredScheduleModule"
997
+ });
998
+ return ConfiguredScheduleModule;
999
+ }
1000
+ }
1001
+ ScheduleModule = __legacyDecorateClassTS([
1002
+ Module({
1003
+ providers: [
1004
+ ScheduleService,
1005
+ { provide: ScheduleService.TOKEN, useExisting: ScheduleService }
1006
+ ],
1007
+ exports: [ScheduleService, ScheduleService.TOKEN]
1008
+ })
1009
+ ], ScheduleModule);
1010
+ // src/schedule/decorators/cron.ts
1011
+ import"reflect-metadata";
1012
+ var CRON_META = "nexus:schedule:cron";
1013
+ var INTERVAL_META = "nexus:schedule:interval";
1014
+ var TIMEOUT_META = "nexus:schedule:timeout";
1015
+ function Cron(expression, options = {}) {
1016
+ return (target, propertyKey, descriptor) => {
1017
+ if (!descriptor || typeof descriptor.value !== "function") {
1018
+ throw new Error("@Cron can only decorate methods.");
1019
+ }
1020
+ const ctor = target.constructor;
1021
+ const hooks = Reflect.getMetadata(CRON_META, ctor) ?? [];
1022
+ hooks.push({ method: String(propertyKey), expression, options });
1023
+ Reflect.defineMetadata(CRON_META, hooks, ctor);
1024
+ };
1025
+ }
1026
+ function Interval(milliseconds, name) {
1027
+ return (target, propertyKey, descriptor) => {
1028
+ if (!descriptor || typeof descriptor.value !== "function") {
1029
+ throw new Error("@Interval can only decorate methods.");
1030
+ }
1031
+ const ctor = target.constructor;
1032
+ const hooks = Reflect.getMetadata(INTERVAL_META, ctor) ?? [];
1033
+ hooks.push({ method: String(propertyKey), milliseconds, name });
1034
+ Reflect.defineMetadata(INTERVAL_META, hooks, ctor);
1035
+ };
1036
+ }
1037
+ function Timeout(milliseconds, name) {
1038
+ return (target, propertyKey, descriptor) => {
1039
+ if (!descriptor || typeof descriptor.value !== "function") {
1040
+ throw new Error("@Timeout can only decorate methods.");
1041
+ }
1042
+ const ctor = target.constructor;
1043
+ const hooks = Reflect.getMetadata(TIMEOUT_META, ctor) ?? [];
1044
+ hooks.push({ method: String(propertyKey), milliseconds, name });
1045
+ Reflect.defineMetadata(TIMEOUT_META, hooks, ctor);
1046
+ };
1047
+ }
1048
+ function getCronHooks(target) {
1049
+ const ctor = target.constructor ?? target;
1050
+ return Reflect.getMetadata(CRON_META, ctor) ?? [];
1051
+ }
1052
+ function getIntervalHooks(target) {
1053
+ const ctor = target.constructor ?? target;
1054
+ return Reflect.getMetadata(INTERVAL_META, ctor) ?? [];
1055
+ }
1056
+ function getTimeoutHooks(target) {
1057
+ const ctor = target.constructor ?? target;
1058
+ return Reflect.getMetadata(TIMEOUT_META, ctor) ?? [];
1059
+ }
1060
+ async function scanForSchedulers(instance, service) {
1061
+ const ids = [];
1062
+ for (const h of getCronHooks(instance)) {
1063
+ const fn = instance[h.method];
1064
+ if (typeof fn !== "function")
1065
+ continue;
1066
+ const id = service.addCron(h.expression, fn.bind(instance), {
1067
+ ...h.options,
1068
+ name: h.options.name ?? `${instance.constructor.name}.${h.method}`
1069
+ });
1070
+ ids.push(id);
1071
+ }
1072
+ for (const h of getIntervalHooks(instance)) {
1073
+ const fn = instance[h.method];
1074
+ if (typeof fn !== "function")
1075
+ continue;
1076
+ const id = service.addInterval(h.milliseconds, fn.bind(instance), h.name ?? `${instance.constructor.name}.${h.method}`);
1077
+ ids.push(id);
1078
+ }
1079
+ for (const h of getTimeoutHooks(instance)) {
1080
+ const fn = instance[h.method];
1081
+ if (typeof fn !== "function")
1082
+ continue;
1083
+ const id = service.addTimeout(h.milliseconds, fn.bind(instance), h.name ?? `${instance.constructor.name}.${h.method}`);
1084
+ ids.push(id);
1085
+ }
1086
+ return ids;
1087
+ }
1088
+ export {
1089
+ scanForSchedulers,
1090
+ parseCron,
1091
+ nextCron,
1092
+ getTimeoutHooks,
1093
+ getIntervalHooks,
1094
+ getCronHooks,
1095
+ Timeout,
1096
+ ScheduleService,
1097
+ ScheduleModule,
1098
+ MemorySchedulesBackend,
1099
+ Interval,
1100
+ CronField,
1101
+ CronExpression as CronExpressionClass,
1102
+ CronExpression as CronExpr,
1103
+ Cron,
1104
+ CloudflareSchedulesBackend
1105
+ };
1106
+
1107
+ //# debugId=D85693F9ABB7EB2064756E2164756E21
1108
+ //# sourceMappingURL=index.js.map