@shohaghinfo/aerojs 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/AEROJS.md +12 -0
  2. package/AGENTS.md +709 -0
  3. package/LICENSE +21 -0
  4. package/README.md +1186 -0
  5. package/bin/aero.js +24 -0
  6. package/dist/application.d.ts +251 -0
  7. package/dist/application.d.ts.map +1 -0
  8. package/dist/application.js +658 -0
  9. package/dist/application.js.map +1 -0
  10. package/dist/audit/audit-trail.d.ts +122 -0
  11. package/dist/audit/audit-trail.d.ts.map +1 -0
  12. package/dist/audit/audit-trail.js +154 -0
  13. package/dist/audit/audit-trail.js.map +1 -0
  14. package/dist/auth/auth-manager.d.ts +95 -0
  15. package/dist/auth/auth-manager.d.ts.map +1 -0
  16. package/dist/auth/auth-manager.js +130 -0
  17. package/dist/auth/auth-manager.js.map +1 -0
  18. package/dist/auth/bouncer.d.ts +143 -0
  19. package/dist/auth/bouncer.d.ts.map +1 -0
  20. package/dist/auth/bouncer.js +243 -0
  21. package/dist/auth/bouncer.js.map +1 -0
  22. package/dist/auth/guards/api-token-guard.d.ts +68 -0
  23. package/dist/auth/guards/api-token-guard.d.ts.map +1 -0
  24. package/dist/auth/guards/api-token-guard.js +107 -0
  25. package/dist/auth/guards/api-token-guard.js.map +1 -0
  26. package/dist/auth/guards/guard.d.ts +35 -0
  27. package/dist/auth/guards/guard.d.ts.map +1 -0
  28. package/dist/auth/guards/guard.js +7 -0
  29. package/dist/auth/guards/guard.js.map +1 -0
  30. package/dist/auth/guards/jwt-guard.d.ts +64 -0
  31. package/dist/auth/guards/jwt-guard.d.ts.map +1 -0
  32. package/dist/auth/guards/jwt-guard.js +104 -0
  33. package/dist/auth/guards/jwt-guard.js.map +1 -0
  34. package/dist/auth/guards/session-guard.d.ts +57 -0
  35. package/dist/auth/guards/session-guard.d.ts.map +1 -0
  36. package/dist/auth/guards/session-guard.js +101 -0
  37. package/dist/auth/guards/session-guard.js.map +1 -0
  38. package/dist/auth/index.d.ts +2 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +2 -0
  41. package/dist/auth/index.js.map +1 -0
  42. package/dist/auth/policy.d.ts +20 -0
  43. package/dist/auth/policy.d.ts.map +1 -0
  44. package/dist/auth/policy.js +49 -0
  45. package/dist/auth/policy.js.map +1 -0
  46. package/dist/body-parser.d.ts +40 -0
  47. package/dist/body-parser.d.ts.map +1 -0
  48. package/dist/body-parser.js +99 -0
  49. package/dist/body-parser.js.map +1 -0
  50. package/dist/cache/cache-driver.d.ts +43 -0
  51. package/dist/cache/cache-driver.d.ts.map +1 -0
  52. package/dist/cache/cache-driver.js +6 -0
  53. package/dist/cache/cache-driver.js.map +1 -0
  54. package/dist/cache/cache-manager.d.ts +44 -0
  55. package/dist/cache/cache-manager.d.ts.map +1 -0
  56. package/dist/cache/cache-manager.js +160 -0
  57. package/dist/cache/cache-manager.js.map +1 -0
  58. package/dist/cache/drivers/database-cache-driver.d.ts +18 -0
  59. package/dist/cache/drivers/database-cache-driver.d.ts.map +1 -0
  60. package/dist/cache/drivers/database-cache-driver.js +77 -0
  61. package/dist/cache/drivers/database-cache-driver.js.map +1 -0
  62. package/dist/cache/drivers/file-cache-driver.d.ts +21 -0
  63. package/dist/cache/drivers/file-cache-driver.d.ts.map +1 -0
  64. package/dist/cache/drivers/file-cache-driver.js +95 -0
  65. package/dist/cache/drivers/file-cache-driver.js.map +1 -0
  66. package/dist/cache/drivers/memory-cache-driver.d.ts +21 -0
  67. package/dist/cache/drivers/memory-cache-driver.d.ts.map +1 -0
  68. package/dist/cache/drivers/memory-cache-driver.js +82 -0
  69. package/dist/cache/drivers/memory-cache-driver.js.map +1 -0
  70. package/dist/cache/drivers/redis-cache-driver.d.ts +18 -0
  71. package/dist/cache/drivers/redis-cache-driver.d.ts.map +1 -0
  72. package/dist/cache/drivers/redis-cache-driver.js +95 -0
  73. package/dist/cache/drivers/redis-cache-driver.js.map +1 -0
  74. package/dist/cache/index.d.ts +7 -0
  75. package/dist/cache/index.d.ts.map +1 -0
  76. package/dist/cache/index.js +7 -0
  77. package/dist/cache/index.js.map +1 -0
  78. package/dist/cli/commands/init.d.ts +10 -0
  79. package/dist/cli/commands/init.d.ts.map +1 -0
  80. package/dist/cli/commands/init.js +471 -0
  81. package/dist/cli/commands/init.js.map +1 -0
  82. package/dist/cli/commands/make.d.ts +16 -0
  83. package/dist/cli/commands/make.d.ts.map +1 -0
  84. package/dist/cli/commands/make.js +157 -0
  85. package/dist/cli/commands/make.js.map +1 -0
  86. package/dist/cli/commands/new.d.ts +7 -0
  87. package/dist/cli/commands/new.d.ts.map +1 -0
  88. package/dist/cli/commands/new.js +175 -0
  89. package/dist/cli/commands/new.js.map +1 -0
  90. package/dist/cli/commands/vault.d.ts +7 -0
  91. package/dist/cli/commands/vault.d.ts.map +1 -0
  92. package/dist/cli/commands/vault.js +39 -0
  93. package/dist/cli/commands/vault.js.map +1 -0
  94. package/dist/cli/index.d.ts +8 -0
  95. package/dist/cli/index.d.ts.map +1 -0
  96. package/dist/cli/index.js +8 -0
  97. package/dist/cli/index.js.map +1 -0
  98. package/dist/cli/runner.d.ts +10 -0
  99. package/dist/cli/runner.d.ts.map +1 -0
  100. package/dist/cli/runner.js +207 -0
  101. package/dist/cli/runner.js.map +1 -0
  102. package/dist/cli/templates/ecommerce-erp.d.ts +6 -0
  103. package/dist/cli/templates/ecommerce-erp.d.ts.map +1 -0
  104. package/dist/cli/templates/ecommerce-erp.js +1760 -0
  105. package/dist/cli/templates/ecommerce-erp.js.map +1 -0
  106. package/dist/cli/templates/fullstack-templates.d.ts +17 -0
  107. package/dist/cli/templates/fullstack-templates.d.ts.map +1 -0
  108. package/dist/cli/templates/fullstack-templates.js +17 -0
  109. package/dist/cli/templates/fullstack-templates.js.map +1 -0
  110. package/dist/config/config.d.ts +25 -0
  111. package/dist/config/config.d.ts.map +1 -0
  112. package/dist/config/config.js +53 -0
  113. package/dist/config/config.js.map +1 -0
  114. package/dist/config/env-schema.d.ts +62 -0
  115. package/dist/config/env-schema.d.ts.map +1 -0
  116. package/dist/config/env-schema.js +203 -0
  117. package/dist/config/env-schema.js.map +1 -0
  118. package/dist/config/env.d.ts +31 -0
  119. package/dist/config/env.d.ts.map +1 -0
  120. package/dist/config/env.js +153 -0
  121. package/dist/config/env.js.map +1 -0
  122. package/dist/context.d.ts +181 -0
  123. package/dist/context.d.ts.map +1 -0
  124. package/dist/context.js +277 -0
  125. package/dist/context.js.map +1 -0
  126. package/dist/core/application-core.d.ts +79 -0
  127. package/dist/core/application-core.d.ts.map +1 -0
  128. package/dist/core/application-core.js +560 -0
  129. package/dist/core/application-core.js.map +1 -0
  130. package/dist/core/application.d.ts +121 -0
  131. package/dist/core/application.d.ts.map +1 -0
  132. package/dist/core/application.js +179 -0
  133. package/dist/core/application.js.map +1 -0
  134. package/dist/core/body-parser.d.ts +12 -0
  135. package/dist/core/body-parser.d.ts.map +1 -0
  136. package/dist/core/body-parser.js +85 -0
  137. package/dist/core/body-parser.js.map +1 -0
  138. package/dist/core/context.d.ts +94 -0
  139. package/dist/core/context.d.ts.map +1 -0
  140. package/dist/core/context.js +278 -0
  141. package/dist/core/context.js.map +1 -0
  142. package/dist/core/error-dashboard.d.ts +35 -0
  143. package/dist/core/error-dashboard.d.ts.map +1 -0
  144. package/dist/core/error-dashboard.js +481 -0
  145. package/dist/core/error-dashboard.js.map +1 -0
  146. package/dist/core/errors.d.ts +83 -0
  147. package/dist/core/errors.d.ts.map +1 -0
  148. package/dist/core/errors.js +117 -0
  149. package/dist/core/errors.js.map +1 -0
  150. package/dist/core/hooks.d.ts +39 -0
  151. package/dist/core/hooks.d.ts.map +1 -0
  152. package/dist/core/hooks.js +65 -0
  153. package/dist/core/hooks.js.map +1 -0
  154. package/dist/core/middleware.d.ts +15 -0
  155. package/dist/core/middleware.d.ts.map +1 -0
  156. package/dist/core/middleware.js +45 -0
  157. package/dist/core/middleware.js.map +1 -0
  158. package/dist/core/request.d.ts +50 -0
  159. package/dist/core/request.d.ts.map +1 -0
  160. package/dist/core/request.js +94 -0
  161. package/dist/core/request.js.map +1 -0
  162. package/dist/core/response.d.ts +49 -0
  163. package/dist/core/response.d.ts.map +1 -0
  164. package/dist/core/response.js +302 -0
  165. package/dist/core/response.js.map +1 -0
  166. package/dist/core/router.d.ts +58 -0
  167. package/dist/core/router.d.ts.map +1 -0
  168. package/dist/core/router.js +298 -0
  169. package/dist/core/router.js.map +1 -0
  170. package/dist/core/types.d.ts +70 -0
  171. package/dist/core/types.d.ts.map +1 -0
  172. package/dist/core/types.js +6 -0
  173. package/dist/core/types.js.map +1 -0
  174. package/dist/core/utils.d.ts +36 -0
  175. package/dist/core/utils.d.ts.map +1 -0
  176. package/dist/core/utils.js +108 -0
  177. package/dist/core/utils.js.map +1 -0
  178. package/dist/database/connection.d.ts +97 -0
  179. package/dist/database/connection.d.ts.map +1 -0
  180. package/dist/database/connection.js +251 -0
  181. package/dist/database/connection.js.map +1 -0
  182. package/dist/database/drizzle.d.ts +10 -0
  183. package/dist/database/drizzle.d.ts.map +1 -0
  184. package/dist/database/drizzle.js +13 -0
  185. package/dist/database/drizzle.js.map +1 -0
  186. package/dist/database/factory.d.ts +39 -0
  187. package/dist/database/factory.d.ts.map +1 -0
  188. package/dist/database/factory.js +74 -0
  189. package/dist/database/factory.js.map +1 -0
  190. package/dist/database/index.d.ts +16 -0
  191. package/dist/database/index.d.ts.map +1 -0
  192. package/dist/database/index.js +16 -0
  193. package/dist/database/index.js.map +1 -0
  194. package/dist/database/knex.d.ts +33 -0
  195. package/dist/database/knex.d.ts.map +1 -0
  196. package/dist/database/knex.js +123 -0
  197. package/dist/database/knex.js.map +1 -0
  198. package/dist/database/migrator.d.ts +29 -0
  199. package/dist/database/migrator.d.ts.map +1 -0
  200. package/dist/database/migrator.js +83 -0
  201. package/dist/database/migrator.js.map +1 -0
  202. package/dist/database/model-hooks.d.ts +61 -0
  203. package/dist/database/model-hooks.d.ts.map +1 -0
  204. package/dist/database/model-hooks.js +126 -0
  205. package/dist/database/model-hooks.js.map +1 -0
  206. package/dist/database/model.d.ts +279 -0
  207. package/dist/database/model.d.ts.map +1 -0
  208. package/dist/database/model.js +960 -0
  209. package/dist/database/model.js.map +1 -0
  210. package/dist/database/prisma.d.ts +13 -0
  211. package/dist/database/prisma.d.ts.map +1 -0
  212. package/dist/database/prisma.js +28 -0
  213. package/dist/database/prisma.js.map +1 -0
  214. package/dist/database/query-builder.d.ts +178 -0
  215. package/dist/database/query-builder.d.ts.map +1 -0
  216. package/dist/database/query-builder.js +607 -0
  217. package/dist/database/query-builder.js.map +1 -0
  218. package/dist/database/schema.d.ts +38 -0
  219. package/dist/database/schema.d.ts.map +1 -0
  220. package/dist/database/schema.js +134 -0
  221. package/dist/database/schema.js.map +1 -0
  222. package/dist/database/seeder.d.ts +24 -0
  223. package/dist/database/seeder.d.ts.map +1 -0
  224. package/dist/database/seeder.js +27 -0
  225. package/dist/database/seeder.js.map +1 -0
  226. package/dist/di/container.d.ts +52 -0
  227. package/dist/di/container.d.ts.map +1 -0
  228. package/dist/di/container.js +124 -0
  229. package/dist/di/container.js.map +1 -0
  230. package/dist/di/decorators.d.ts +17 -0
  231. package/dist/di/decorators.d.ts.map +1 -0
  232. package/dist/di/decorators.js +63 -0
  233. package/dist/di/decorators.js.map +1 -0
  234. package/dist/di/inject.d.ts +11 -0
  235. package/dist/di/inject.d.ts.map +1 -0
  236. package/dist/di/inject.js +30 -0
  237. package/dist/di/inject.js.map +1 -0
  238. package/dist/di/provider.d.ts +32 -0
  239. package/dist/di/provider.d.ts.map +1 -0
  240. package/dist/di/provider.js +30 -0
  241. package/dist/di/provider.js.map +1 -0
  242. package/dist/diagnostics/diagnostics-plugin.d.ts +9 -0
  243. package/dist/diagnostics/diagnostics-plugin.d.ts.map +1 -0
  244. package/dist/diagnostics/diagnostics-plugin.js +49 -0
  245. package/dist/diagnostics/diagnostics-plugin.js.map +1 -0
  246. package/dist/diagnostics/health-check.d.ts +51 -0
  247. package/dist/diagnostics/health-check.d.ts.map +1 -0
  248. package/dist/diagnostics/health-check.js +122 -0
  249. package/dist/diagnostics/health-check.js.map +1 -0
  250. package/dist/diagnostics/index.d.ts +4 -0
  251. package/dist/diagnostics/index.d.ts.map +1 -0
  252. package/dist/diagnostics/index.js +4 -0
  253. package/dist/diagnostics/index.js.map +1 -0
  254. package/dist/diagnostics/prometheus.d.ts +19 -0
  255. package/dist/diagnostics/prometheus.d.ts.map +1 -0
  256. package/dist/diagnostics/prometheus.js +99 -0
  257. package/dist/diagnostics/prometheus.js.map +1 -0
  258. package/dist/errors.d.ts +139 -0
  259. package/dist/errors.d.ts.map +1 -0
  260. package/dist/errors.js +173 -0
  261. package/dist/errors.js.map +1 -0
  262. package/dist/events/event-bus.d.ts +178 -0
  263. package/dist/events/event-bus.d.ts.map +1 -0
  264. package/dist/events/event-bus.js +182 -0
  265. package/dist/events/event-bus.js.map +1 -0
  266. package/dist/graphql/adapter.d.ts +48 -0
  267. package/dist/graphql/adapter.d.ts.map +1 -0
  268. package/dist/graphql/adapter.js +109 -0
  269. package/dist/graphql/adapter.js.map +1 -0
  270. package/dist/graphql/executor.d.ts +24 -0
  271. package/dist/graphql/executor.d.ts.map +1 -0
  272. package/dist/graphql/executor.js +124 -0
  273. package/dist/graphql/executor.js.map +1 -0
  274. package/dist/graphql/index.d.ts +8 -0
  275. package/dist/graphql/index.d.ts.map +1 -0
  276. package/dist/graphql/index.js +8 -0
  277. package/dist/graphql/index.js.map +1 -0
  278. package/dist/graphql/lexer.d.ts +52 -0
  279. package/dist/graphql/lexer.d.ts.map +1 -0
  280. package/dist/graphql/lexer.js +188 -0
  281. package/dist/graphql/lexer.js.map +1 -0
  282. package/dist/graphql/parser.d.ts +29 -0
  283. package/dist/graphql/parser.d.ts.map +1 -0
  284. package/dist/graphql/parser.js +206 -0
  285. package/dist/graphql/parser.js.map +1 -0
  286. package/dist/graphql/plugin.d.ts +13 -0
  287. package/dist/graphql/plugin.d.ts.map +1 -0
  288. package/dist/graphql/plugin.js +103 -0
  289. package/dist/graphql/plugin.js.map +1 -0
  290. package/dist/graphql/schema.d.ts +15 -0
  291. package/dist/graphql/schema.d.ts.map +1 -0
  292. package/dist/graphql/schema.js +17 -0
  293. package/dist/graphql/schema.js.map +1 -0
  294. package/dist/graphql/types.d.ts +65 -0
  295. package/dist/graphql/types.d.ts.map +1 -0
  296. package/dist/graphql/types.js +74 -0
  297. package/dist/graphql/types.js.map +1 -0
  298. package/dist/hooks.d.ts +67 -0
  299. package/dist/hooks.d.ts.map +1 -0
  300. package/dist/hooks.js +115 -0
  301. package/dist/hooks.js.map +1 -0
  302. package/dist/i18n/i18n.d.ts +42 -0
  303. package/dist/i18n/i18n.d.ts.map +1 -0
  304. package/dist/i18n/i18n.js +158 -0
  305. package/dist/i18n/i18n.js.map +1 -0
  306. package/dist/i18n/index.d.ts +2 -0
  307. package/dist/i18n/index.d.ts.map +1 -0
  308. package/dist/i18n/index.js +2 -0
  309. package/dist/i18n/index.js.map +1 -0
  310. package/dist/index.d.ts +75 -0
  311. package/dist/index.d.ts.map +1 -0
  312. package/dist/index.js +87 -0
  313. package/dist/index.js.map +1 -0
  314. package/dist/inertia/inertia.d.ts +62 -0
  315. package/dist/inertia/inertia.d.ts.map +1 -0
  316. package/dist/inertia/inertia.js +159 -0
  317. package/dist/inertia/inertia.js.map +1 -0
  318. package/dist/logging/index.d.ts +7 -0
  319. package/dist/logging/index.d.ts.map +1 -0
  320. package/dist/logging/index.js +7 -0
  321. package/dist/logging/index.js.map +1 -0
  322. package/dist/logging/logger.d.ts +62 -0
  323. package/dist/logging/logger.d.ts.map +1 -0
  324. package/dist/logging/logger.js +197 -0
  325. package/dist/logging/logger.js.map +1 -0
  326. package/dist/logging/request-context.d.ts +29 -0
  327. package/dist/logging/request-context.d.ts.map +1 -0
  328. package/dist/logging/request-context.js +29 -0
  329. package/dist/logging/request-context.js.map +1 -0
  330. package/dist/mail/drivers/log-mail-driver.d.ts +11 -0
  331. package/dist/mail/drivers/log-mail-driver.d.ts.map +1 -0
  332. package/dist/mail/drivers/log-mail-driver.js +23 -0
  333. package/dist/mail/drivers/log-mail-driver.js.map +1 -0
  334. package/dist/mail/drivers/mail-driver.d.ts +14 -0
  335. package/dist/mail/drivers/mail-driver.d.ts.map +1 -0
  336. package/dist/mail/drivers/mail-driver.js +6 -0
  337. package/dist/mail/drivers/mail-driver.js.map +1 -0
  338. package/dist/mail/drivers/memory-mail-driver.d.ts +14 -0
  339. package/dist/mail/drivers/memory-mail-driver.d.ts.map +1 -0
  340. package/dist/mail/drivers/memory-mail-driver.js +24 -0
  341. package/dist/mail/drivers/memory-mail-driver.js.map +1 -0
  342. package/dist/mail/index.d.ts +10 -0
  343. package/dist/mail/index.d.ts.map +1 -0
  344. package/dist/mail/index.js +10 -0
  345. package/dist/mail/index.js.map +1 -0
  346. package/dist/mail/mailer.d.ts +48 -0
  347. package/dist/mail/mailer.d.ts.map +1 -0
  348. package/dist/mail/mailer.js +111 -0
  349. package/dist/mail/mailer.js.map +1 -0
  350. package/dist/mail/message.d.ts +30 -0
  351. package/dist/mail/message.d.ts.map +1 -0
  352. package/dist/mail/message.js +77 -0
  353. package/dist/mail/message.js.map +1 -0
  354. package/dist/middleware/cors.d.ts +16 -0
  355. package/dist/middleware/cors.d.ts.map +1 -0
  356. package/dist/middleware/cors.js +76 -0
  357. package/dist/middleware/cors.js.map +1 -0
  358. package/dist/middleware.d.ts +26 -0
  359. package/dist/middleware.d.ts.map +1 -0
  360. package/dist/middleware.js +45 -0
  361. package/dist/middleware.js.map +1 -0
  362. package/dist/pdf/index.d.ts +2 -0
  363. package/dist/pdf/index.d.ts.map +1 -0
  364. package/dist/pdf/index.js +2 -0
  365. package/dist/pdf/index.js.map +1 -0
  366. package/dist/pdf/pdf.d.ts +86 -0
  367. package/dist/pdf/pdf.d.ts.map +1 -0
  368. package/dist/pdf/pdf.js +237 -0
  369. package/dist/pdf/pdf.js.map +1 -0
  370. package/dist/plugins/plugin.d.ts +25 -0
  371. package/dist/plugins/plugin.d.ts.map +1 -0
  372. package/dist/plugins/plugin.js +17 -0
  373. package/dist/plugins/plugin.js.map +1 -0
  374. package/dist/queue/drivers/database-queue-driver.d.ts +21 -0
  375. package/dist/queue/drivers/database-queue-driver.d.ts.map +1 -0
  376. package/dist/queue/drivers/database-queue-driver.js +84 -0
  377. package/dist/queue/drivers/database-queue-driver.js.map +1 -0
  378. package/dist/queue/drivers/memory-queue-driver.d.ts +17 -0
  379. package/dist/queue/drivers/memory-queue-driver.d.ts.map +1 -0
  380. package/dist/queue/drivers/memory-queue-driver.js +71 -0
  381. package/dist/queue/drivers/memory-queue-driver.js.map +1 -0
  382. package/dist/queue/drivers/queue-driver.d.ts +44 -0
  383. package/dist/queue/drivers/queue-driver.d.ts.map +1 -0
  384. package/dist/queue/drivers/queue-driver.js +6 -0
  385. package/dist/queue/drivers/queue-driver.js.map +1 -0
  386. package/dist/queue/drivers/redis-queue-driver.d.ts +16 -0
  387. package/dist/queue/drivers/redis-queue-driver.d.ts.map +1 -0
  388. package/dist/queue/drivers/redis-queue-driver.js +92 -0
  389. package/dist/queue/drivers/redis-queue-driver.js.map +1 -0
  390. package/dist/queue/index.d.ts +12 -0
  391. package/dist/queue/index.d.ts.map +1 -0
  392. package/dist/queue/index.js +12 -0
  393. package/dist/queue/index.js.map +1 -0
  394. package/dist/queue/job.d.ts +20 -0
  395. package/dist/queue/job.d.ts.map +1 -0
  396. package/dist/queue/job.js +19 -0
  397. package/dist/queue/job.js.map +1 -0
  398. package/dist/queue/queue-manager.d.ts +41 -0
  399. package/dist/queue/queue-manager.d.ts.map +1 -0
  400. package/dist/queue/queue-manager.js +98 -0
  401. package/dist/queue/queue-manager.js.map +1 -0
  402. package/dist/queue/worker.d.ts +57 -0
  403. package/dist/queue/worker.d.ts.map +1 -0
  404. package/dist/queue/worker.js +156 -0
  405. package/dist/queue/worker.js.map +1 -0
  406. package/dist/redis/index.d.ts +5 -0
  407. package/dist/redis/index.d.ts.map +1 -0
  408. package/dist/redis/index.js +5 -0
  409. package/dist/redis/index.js.map +1 -0
  410. package/dist/redis/redis-client.d.ts +44 -0
  411. package/dist/redis/redis-client.d.ts.map +1 -0
  412. package/dist/redis/redis-client.js +131 -0
  413. package/dist/redis/redis-client.js.map +1 -0
  414. package/dist/redis/redis-connection.d.ts +32 -0
  415. package/dist/redis/redis-connection.d.ts.map +1 -0
  416. package/dist/redis/redis-connection.js +151 -0
  417. package/dist/redis/redis-connection.js.map +1 -0
  418. package/dist/redis/redis-manager.d.ts +28 -0
  419. package/dist/redis/redis-manager.d.ts.map +1 -0
  420. package/dist/redis/redis-manager.js +68 -0
  421. package/dist/redis/redis-manager.js.map +1 -0
  422. package/dist/redis/resp-parser.d.ts +29 -0
  423. package/dist/redis/resp-parser.d.ts.map +1 -0
  424. package/dist/redis/resp-parser.js +113 -0
  425. package/dist/redis/resp-parser.js.map +1 -0
  426. package/dist/request.d.ts +122 -0
  427. package/dist/request.d.ts.map +1 -0
  428. package/dist/request.js +171 -0
  429. package/dist/request.js.map +1 -0
  430. package/dist/response.d.ts +208 -0
  431. package/dist/response.d.ts.map +1 -0
  432. package/dist/response.js +375 -0
  433. package/dist/response.js.map +1 -0
  434. package/dist/router.d.ts +146 -0
  435. package/dist/router.d.ts.map +1 -0
  436. package/dist/router.js +341 -0
  437. package/dist/router.js.map +1 -0
  438. package/dist/routing/controller.d.ts +18 -0
  439. package/dist/routing/controller.d.ts.map +1 -0
  440. package/dist/routing/controller.js +49 -0
  441. package/dist/routing/controller.js.map +1 -0
  442. package/dist/routing/named-middleware.d.ts +27 -0
  443. package/dist/routing/named-middleware.d.ts.map +1 -0
  444. package/dist/routing/named-middleware.js +41 -0
  445. package/dist/routing/named-middleware.js.map +1 -0
  446. package/dist/routing/route-builder.d.ts +54 -0
  447. package/dist/routing/route-builder.d.ts.map +1 -0
  448. package/dist/routing/route-builder.js +95 -0
  449. package/dist/routing/route-builder.js.map +1 -0
  450. package/dist/routing/route-group.d.ts +39 -0
  451. package/dist/routing/route-group.d.ts.map +1 -0
  452. package/dist/routing/route-group.js +79 -0
  453. package/dist/routing/route-group.js.map +1 -0
  454. package/dist/scheduler/scheduler.d.ts +85 -0
  455. package/dist/scheduler/scheduler.d.ts.map +1 -0
  456. package/dist/scheduler/scheduler.js +216 -0
  457. package/dist/scheduler/scheduler.js.map +1 -0
  458. package/dist/security/csrf.d.ts +19 -0
  459. package/dist/security/csrf.d.ts.map +1 -0
  460. package/dist/security/csrf.js +69 -0
  461. package/dist/security/csrf.js.map +1 -0
  462. package/dist/security/hash.d.ts +30 -0
  463. package/dist/security/hash.d.ts.map +1 -0
  464. package/dist/security/hash.js +86 -0
  465. package/dist/security/hash.js.map +1 -0
  466. package/dist/security/headers.d.ts +56 -0
  467. package/dist/security/headers.d.ts.map +1 -0
  468. package/dist/security/headers.js +81 -0
  469. package/dist/security/headers.js.map +1 -0
  470. package/dist/security/index.d.ts +13 -0
  471. package/dist/security/index.d.ts.map +1 -0
  472. package/dist/security/index.js +13 -0
  473. package/dist/security/index.js.map +1 -0
  474. package/dist/security/jwt.d.ts +96 -0
  475. package/dist/security/jwt.d.ts.map +1 -0
  476. package/dist/security/jwt.js +308 -0
  477. package/dist/security/jwt.js.map +1 -0
  478. package/dist/security/rate-limiter.d.ts +80 -0
  479. package/dist/security/rate-limiter.d.ts.map +1 -0
  480. package/dist/security/rate-limiter.js +127 -0
  481. package/dist/security/rate-limiter.js.map +1 -0
  482. package/dist/security/totp.d.ts +43 -0
  483. package/dist/security/totp.d.ts.map +1 -0
  484. package/dist/security/totp.js +122 -0
  485. package/dist/security/totp.js.map +1 -0
  486. package/dist/security/vault.d.ts +28 -0
  487. package/dist/security/vault.d.ts.map +1 -0
  488. package/dist/security/vault.js +73 -0
  489. package/dist/security/vault.js.map +1 -0
  490. package/dist/session/session-driver.d.ts +53 -0
  491. package/dist/session/session-driver.d.ts.map +1 -0
  492. package/dist/session/session-driver.js +132 -0
  493. package/dist/session/session-driver.js.map +1 -0
  494. package/dist/session/session-manager.d.ts +100 -0
  495. package/dist/session/session-manager.d.ts.map +1 -0
  496. package/dist/session/session-manager.js +186 -0
  497. package/dist/session/session-manager.js.map +1 -0
  498. package/dist/sse/index.d.ts +2 -0
  499. package/dist/sse/index.d.ts.map +1 -0
  500. package/dist/sse/index.js +2 -0
  501. package/dist/sse/index.js.map +1 -0
  502. package/dist/sse/sse.d.ts +32 -0
  503. package/dist/sse/sse.d.ts.map +1 -0
  504. package/dist/sse/sse.js +87 -0
  505. package/dist/sse/sse.js.map +1 -0
  506. package/dist/ssr/engine.d.ts +58 -0
  507. package/dist/ssr/engine.d.ts.map +1 -0
  508. package/dist/ssr/engine.js +121 -0
  509. package/dist/ssr/engine.js.map +1 -0
  510. package/dist/ssr/index.d.ts +6 -0
  511. package/dist/ssr/index.d.ts.map +1 -0
  512. package/dist/ssr/index.js +6 -0
  513. package/dist/ssr/index.js.map +1 -0
  514. package/dist/static/static.d.ts +22 -0
  515. package/dist/static/static.d.ts.map +1 -0
  516. package/dist/static/static.js +134 -0
  517. package/dist/static/static.js.map +1 -0
  518. package/dist/storage/chunked-uploader.d.ts +53 -0
  519. package/dist/storage/chunked-uploader.d.ts.map +1 -0
  520. package/dist/storage/chunked-uploader.js +135 -0
  521. package/dist/storage/chunked-uploader.js.map +1 -0
  522. package/dist/storage/drivers/local-driver.d.ts +25 -0
  523. package/dist/storage/drivers/local-driver.d.ts.map +1 -0
  524. package/dist/storage/drivers/local-driver.js +75 -0
  525. package/dist/storage/drivers/local-driver.js.map +1 -0
  526. package/dist/storage/drivers/memory-driver.d.ts +23 -0
  527. package/dist/storage/drivers/memory-driver.d.ts.map +1 -0
  528. package/dist/storage/drivers/memory-driver.js +55 -0
  529. package/dist/storage/drivers/memory-driver.js.map +1 -0
  530. package/dist/storage/drivers/s3-driver.d.ts +34 -0
  531. package/dist/storage/drivers/s3-driver.d.ts.map +1 -0
  532. package/dist/storage/drivers/s3-driver.js +186 -0
  533. package/dist/storage/drivers/s3-driver.js.map +1 -0
  534. package/dist/storage/drivers/storage-driver.d.ts +40 -0
  535. package/dist/storage/drivers/storage-driver.d.ts.map +1 -0
  536. package/dist/storage/drivers/storage-driver.js +6 -0
  537. package/dist/storage/drivers/storage-driver.js.map +1 -0
  538. package/dist/storage/index.d.ts +13 -0
  539. package/dist/storage/index.d.ts.map +1 -0
  540. package/dist/storage/index.js +13 -0
  541. package/dist/storage/index.js.map +1 -0
  542. package/dist/storage/multipart.d.ts +12 -0
  543. package/dist/storage/multipart.d.ts.map +1 -0
  544. package/dist/storage/multipart.js +79 -0
  545. package/dist/storage/multipart.js.map +1 -0
  546. package/dist/storage/storage-manager.d.ts +48 -0
  547. package/dist/storage/storage-manager.d.ts.map +1 -0
  548. package/dist/storage/storage-manager.js +106 -0
  549. package/dist/storage/storage-manager.js.map +1 -0
  550. package/dist/storage/uploaded-file.d.ts +40 -0
  551. package/dist/storage/uploaded-file.d.ts.map +1 -0
  552. package/dist/storage/uploaded-file.js +73 -0
  553. package/dist/storage/uploaded-file.js.map +1 -0
  554. package/dist/swagger/generator.d.ts +44 -0
  555. package/dist/swagger/generator.d.ts.map +1 -0
  556. package/dist/swagger/generator.js +117 -0
  557. package/dist/swagger/generator.js.map +1 -0
  558. package/dist/swagger/index.d.ts +8 -0
  559. package/dist/swagger/index.d.ts.map +1 -0
  560. package/dist/swagger/index.js +8 -0
  561. package/dist/swagger/index.js.map +1 -0
  562. package/dist/swagger/swagger.d.ts +9 -0
  563. package/dist/swagger/swagger.d.ts.map +1 -0
  564. package/dist/swagger/swagger.js +32 -0
  565. package/dist/swagger/swagger.js.map +1 -0
  566. package/dist/swagger/ui.d.ts +11 -0
  567. package/dist/swagger/ui.d.ts.map +1 -0
  568. package/dist/swagger/ui.js +93 -0
  569. package/dist/swagger/ui.js.map +1 -0
  570. package/dist/tcp/hl7.d.ts +19 -0
  571. package/dist/tcp/hl7.d.ts.map +1 -0
  572. package/dist/tcp/hl7.js +42 -0
  573. package/dist/tcp/hl7.js.map +1 -0
  574. package/dist/tcp/index.d.ts +4 -0
  575. package/dist/tcp/index.d.ts.map +1 -0
  576. package/dist/tcp/index.js +4 -0
  577. package/dist/tcp/index.js.map +1 -0
  578. package/dist/tcp/mllp.d.ts +22 -0
  579. package/dist/tcp/mllp.d.ts.map +1 -0
  580. package/dist/tcp/mllp.js +44 -0
  581. package/dist/tcp/mllp.js.map +1 -0
  582. package/dist/tcp/tcp-server.d.ts +20 -0
  583. package/dist/tcp/tcp-server.d.ts.map +1 -0
  584. package/dist/tcp/tcp-server.js +59 -0
  585. package/dist/tcp/tcp-server.js.map +1 -0
  586. package/dist/tenancy/index.d.ts +2 -0
  587. package/dist/tenancy/index.d.ts.map +1 -0
  588. package/dist/tenancy/index.js +2 -0
  589. package/dist/tenancy/index.js.map +1 -0
  590. package/dist/tenancy/tenant.d.ts +22 -0
  591. package/dist/tenancy/tenant.d.ts.map +1 -0
  592. package/dist/tenancy/tenant.js +32 -0
  593. package/dist/tenancy/tenant.js.map +1 -0
  594. package/dist/testing/test-client.d.ts +36 -0
  595. package/dist/testing/test-client.d.ts.map +1 -0
  596. package/dist/testing/test-client.js +128 -0
  597. package/dist/testing/test-client.js.map +1 -0
  598. package/dist/validation/index.d.ts +10 -0
  599. package/dist/validation/index.d.ts.map +1 -0
  600. package/dist/validation/index.js +10 -0
  601. package/dist/validation/index.js.map +1 -0
  602. package/dist/validation/rules-validator.d.ts +65 -0
  603. package/dist/validation/rules-validator.d.ts.map +1 -0
  604. package/dist/validation/rules-validator.js +301 -0
  605. package/dist/validation/rules-validator.js.map +1 -0
  606. package/dist/validation/schema.d.ts +34 -0
  607. package/dist/validation/schema.d.ts.map +1 -0
  608. package/dist/validation/schema.js +174 -0
  609. package/dist/validation/schema.js.map +1 -0
  610. package/dist/validation/vine.d.ts +23 -0
  611. package/dist/validation/vine.d.ts.map +1 -0
  612. package/dist/validation/vine.js +97 -0
  613. package/dist/validation/vine.js.map +1 -0
  614. package/dist/views/view.d.ts +51 -0
  615. package/dist/views/view.d.ts.map +1 -0
  616. package/dist/views/view.js +91 -0
  617. package/dist/views/view.js.map +1 -0
  618. package/dist/views/vite.d.ts +19 -0
  619. package/dist/views/vite.d.ts.map +1 -0
  620. package/dist/views/vite.js +60 -0
  621. package/dist/views/vite.js.map +1 -0
  622. package/dist/webhook/index.d.ts +2 -0
  623. package/dist/webhook/index.d.ts.map +1 -0
  624. package/dist/webhook/index.js +2 -0
  625. package/dist/webhook/index.js.map +1 -0
  626. package/dist/webhook/webhook.d.ts +30 -0
  627. package/dist/webhook/webhook.d.ts.map +1 -0
  628. package/dist/webhook/webhook.js +124 -0
  629. package/dist/webhook/webhook.js.map +1 -0
  630. package/dist/ws/broadcaster.d.ts +43 -0
  631. package/dist/ws/broadcaster.d.ts.map +1 -0
  632. package/dist/ws/broadcaster.js +81 -0
  633. package/dist/ws/broadcaster.js.map +1 -0
  634. package/dist/ws/channel.d.ts +23 -0
  635. package/dist/ws/channel.d.ts.map +1 -0
  636. package/dist/ws/channel.js +27 -0
  637. package/dist/ws/channel.js.map +1 -0
  638. package/dist/ws/index.d.ts +5 -0
  639. package/dist/ws/index.d.ts.map +1 -0
  640. package/dist/ws/index.js +5 -0
  641. package/dist/ws/index.js.map +1 -0
  642. package/dist/ws/websocket-hub.d.ts +52 -0
  643. package/dist/ws/websocket-hub.d.ts.map +1 -0
  644. package/dist/ws/websocket-hub.js +187 -0
  645. package/dist/ws/websocket-hub.js.map +1 -0
  646. package/dist/ws/websocket.d.ts +43 -0
  647. package/dist/ws/websocket.d.ts.map +1 -0
  648. package/dist/ws/websocket.js +214 -0
  649. package/dist/ws/websocket.js.map +1 -0
  650. package/package.json +141 -0
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @file schema.ts
3
+ * @description Schema Builder and Table Blueprint for AeroJS database migrations.
4
+ */
5
+ export interface ColumnDefinition {
6
+ name: string;
7
+ type: string;
8
+ isPrimary?: boolean;
9
+ isAutoIncrement?: boolean;
10
+ isNullable?: boolean;
11
+ isUnique?: boolean;
12
+ defaultValue?: unknown;
13
+ }
14
+ export declare class TableBlueprint {
15
+ tableName: string;
16
+ columns: ColumnDefinition[];
17
+ constructor(tableName: string);
18
+ increments(name?: string): this;
19
+ string(name: string, length?: number): this;
20
+ integer(name: string): this;
21
+ boolean(name: string): this;
22
+ text(name: string): this;
23
+ timestamp(name: string): this;
24
+ timestamps(): this;
25
+ notNull(): this;
26
+ nullable(): this;
27
+ unique(): this;
28
+ defaultTo(val: unknown): this;
29
+ }
30
+ export declare class Schema {
31
+ static readonly tableDefaults: Map<string, Record<string, unknown>>;
32
+ static createTable(tableName: string, callback: (table: TableBlueprint) => void, connection?: string): Promise<void>;
33
+ static create(tableName: string, callback: (table: TableBlueprint) => void, connection?: string): Promise<void>;
34
+ static dropTableIfExists(tableName: string, connection?: string): Promise<void>;
35
+ static dropIfExists(tableName: string, connection?: string): Promise<void>;
36
+ }
37
+ export default Schema;
38
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,cAAc;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAM;gBAE5B,SAAS,EAAE,MAAM;IAItB,UAAU,CAAC,IAAI,SAAO,GAAG,IAAI;IAU7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,IAAI;IASxC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASxB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS7B,UAAU,IAAI,IAAI;IAMlB,OAAO,IAAI,IAAI;IAMf,QAAQ,IAAI,IAAI;IAMhB,MAAM,IAAI,IAAI;IAMd,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAKrC;AAED,qBAAa,MAAM;IACjB,gBAAuB,aAAa,uCAA8C;WAE9D,WAAW,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACzC,UAAU,SAAY,GACrB,OAAO,CAAC,IAAI,CAAC;WA4BI,MAAM,CACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACzC,UAAU,SAAY,GACrB,OAAO,CAAC,IAAI,CAAC;WAII,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAY,GAAG,OAAO,CAAC,IAAI,CAAC;WAK3E,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3F;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * @file schema.ts
3
+ * @description Schema Builder and Table Blueprint for AeroJS database migrations.
4
+ */
5
+ import { Database } from './connection.js';
6
+ export class TableBlueprint {
7
+ tableName;
8
+ columns = [];
9
+ constructor(tableName) {
10
+ this.tableName = tableName;
11
+ }
12
+ increments(name = 'id') {
13
+ this.columns.push({
14
+ name,
15
+ type: 'INTEGER',
16
+ isPrimary: true,
17
+ isAutoIncrement: true,
18
+ });
19
+ return this;
20
+ }
21
+ string(name, length = 255) {
22
+ this.columns.push({
23
+ name,
24
+ type: `VARCHAR(${length})`,
25
+ isNullable: false,
26
+ });
27
+ return this;
28
+ }
29
+ integer(name) {
30
+ this.columns.push({
31
+ name,
32
+ type: 'INTEGER',
33
+ isNullable: false,
34
+ });
35
+ return this;
36
+ }
37
+ boolean(name) {
38
+ this.columns.push({
39
+ name,
40
+ type: 'BOOLEAN',
41
+ isNullable: false,
42
+ defaultValue: false,
43
+ });
44
+ return this;
45
+ }
46
+ text(name) {
47
+ this.columns.push({
48
+ name,
49
+ type: 'TEXT',
50
+ isNullable: true,
51
+ });
52
+ return this;
53
+ }
54
+ timestamp(name) {
55
+ this.columns.push({
56
+ name,
57
+ type: 'TIMESTAMP',
58
+ isNullable: true,
59
+ });
60
+ return this;
61
+ }
62
+ timestamps() {
63
+ this.timestamp('created_at');
64
+ this.timestamp('updated_at');
65
+ return this;
66
+ }
67
+ notNull() {
68
+ const last = this.columns[this.columns.length - 1];
69
+ if (last)
70
+ last.isNullable = false;
71
+ return this;
72
+ }
73
+ nullable() {
74
+ const last = this.columns[this.columns.length - 1];
75
+ if (last)
76
+ last.isNullable = true;
77
+ return this;
78
+ }
79
+ unique() {
80
+ const last = this.columns[this.columns.length - 1];
81
+ if (last)
82
+ last.isUnique = true;
83
+ return this;
84
+ }
85
+ defaultTo(val) {
86
+ const last = this.columns[this.columns.length - 1];
87
+ if (last)
88
+ last.defaultValue = val;
89
+ return this;
90
+ }
91
+ }
92
+ export class Schema {
93
+ static tableDefaults = new Map();
94
+ static async createTable(tableName, callback, connection = 'default') {
95
+ const blueprint = new TableBlueprint(tableName);
96
+ callback(blueprint);
97
+ const defaults = {};
98
+ for (const col of blueprint.columns) {
99
+ if (col.defaultValue !== undefined) {
100
+ defaults[col.name] = col.defaultValue;
101
+ }
102
+ }
103
+ Database.tableDefaults.set(tableName, defaults);
104
+ const columnDefs = blueprint.columns.map((col) => {
105
+ let def = `${col.name} ${col.type}`;
106
+ if (col.isPrimary)
107
+ def += ' PRIMARY KEY';
108
+ if (col.isAutoIncrement)
109
+ def += ' AUTOINCREMENT';
110
+ if (!col.isNullable && !col.isPrimary)
111
+ def += ' NOT NULL';
112
+ if (col.isUnique)
113
+ def += ' UNIQUE';
114
+ if (col.defaultValue !== undefined) {
115
+ def += ` DEFAULT ${typeof col.defaultValue === 'string' ? `'${col.defaultValue}'` : col.defaultValue}`;
116
+ }
117
+ return def;
118
+ });
119
+ const sql = `CREATE TABLE IF NOT EXISTS ${tableName} (${columnDefs.join(', ')})`;
120
+ await Database.getAdapter(connection).execute(sql);
121
+ }
122
+ static async create(tableName, callback, connection = 'default') {
123
+ return this.createTable(tableName, callback, connection);
124
+ }
125
+ static async dropTableIfExists(tableName, connection = 'default') {
126
+ const sql = `DROP TABLE IF EXISTS ${tableName}`;
127
+ await Database.getAdapter(connection).execute(sql);
128
+ }
129
+ static async dropIfExists(tableName, connection = 'default') {
130
+ return this.dropTableIfExists(tableName, connection);
131
+ }
132
+ }
133
+ export default Schema;
134
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @file seeder.ts
3
+ * @description Provides the Database Seeder base class and execution runner.
4
+ */
5
+ /**
6
+ * Base abstract class for all database seeders.
7
+ */
8
+ export declare abstract class Seeder {
9
+ /**
10
+ * Run the database seeds.
11
+ */
12
+ abstract run(): Promise<void>;
13
+ }
14
+ /**
15
+ * The master DatabaseSeeder which invokes registered seeders.
16
+ */
17
+ export declare class DatabaseSeeder extends Seeder {
18
+ /**
19
+ * Execute an array of seeders sequentially.
20
+ */
21
+ call(seeders: Array<new () => Seeder>): Promise<void>;
22
+ run(): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=seeder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.d.ts","sourceRoot":"","sources":["../../src/database/seeder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,8BAAsB,MAAM;IAC1B;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACxC;;OAEG;IACU,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @file seeder.ts
3
+ * @description Provides the Database Seeder base class and execution runner.
4
+ */
5
+ /**
6
+ * Base abstract class for all database seeders.
7
+ */
8
+ export class Seeder {
9
+ }
10
+ /**
11
+ * The master DatabaseSeeder which invokes registered seeders.
12
+ */
13
+ export class DatabaseSeeder extends Seeder {
14
+ /**
15
+ * Execute an array of seeders sequentially.
16
+ */
17
+ async call(seeders) {
18
+ for (const SeederClass of seeders) {
19
+ const seeder = new SeederClass();
20
+ await seeder.run();
21
+ }
22
+ }
23
+ async run() {
24
+ // Should be overridden by user to call specific seeders
25
+ }
26
+ }
27
+ //# sourceMappingURL=seeder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.js","sourceRoot":"","sources":["../../src/database/seeder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,OAAgB,MAAM;CAK3B;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,MAAM;IACxC;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,OAAgC;QAChD,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,wDAAwD;IAC1D,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @file container.ts
3
+ * @description Lightweight Inversion of Control (IoC) dependency injection container for Aero.
4
+ */
5
+ export type FactoryFunction<T = unknown> = (container: Container) => T;
6
+ export interface BindingDefinition<T = unknown> {
7
+ factory: FactoryFunction<T>;
8
+ singleton: boolean;
9
+ resolvedInstance?: T;
10
+ }
11
+ /**
12
+ * IoC Container providing dependency registration, singletons, instances, and auto-wiring.
13
+ */
14
+ export declare class Container {
15
+ private readonly parent?;
16
+ private readonly bindings;
17
+ private readonly instances;
18
+ /**
19
+ * Binds a service factory with transient or singleton lifecycle.
20
+ */
21
+ bind<T = unknown>(name: string, factory: FactoryFunction<T>, singleton?: boolean): void;
22
+ /**
23
+ * Binds a singleton service factory resolved once and cached for future resolutions.
24
+ */
25
+ singleton<T = unknown>(name: string, factory: FactoryFunction<T>): void;
26
+ /**
27
+ * Directly registers an existing object instance as a singleton.
28
+ */
29
+ instance<T = unknown>(name: string, value: T): void;
30
+ constructor(parent?: Container | undefined);
31
+ /**
32
+ * Checks whether a binding or instance exists under the given name.
33
+ */
34
+ has(name: string): boolean;
35
+ /**
36
+ * Resolves a registered service by name.
37
+ */
38
+ resolve<T = unknown>(name: string): T;
39
+ /**
40
+ * Creates a child IoC container inheriting all parent registrations.
41
+ */
42
+ createChildContainer(): Container;
43
+ /**
44
+ * Instantiates a class constructor, auto-wiring its parameters and properties.
45
+ */
46
+ make<T = unknown>(ctor: new (...args: any[]) => T): T;
47
+ /**
48
+ * Clears all registered bindings and instances.
49
+ */
50
+ clear(): void;
51
+ }
52
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;AAEvE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,SAAS;IAgCR,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IA/BpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACI,IAAI,CAAC,CAAC,GAAG,OAAO,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,SAAS,UAAQ,GAChB,IAAI;IAOP;;OAEG;IACI,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAI9E;;OAEG;IACI,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;gBAI7B,MAAM,CAAC,EAAE,SAAS,YAAA;IAE/C;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQjC;;OAEG;IACI,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAuB5C;;OAEG;IACI,oBAAoB,IAAI,SAAS;IAIxC;;OAEG;IACI,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IA0C5D;;OAEG;IACI,KAAK,IAAI,IAAI;CAIrB"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @file container.ts
3
+ * @description Lightweight Inversion of Control (IoC) dependency injection container for Aero.
4
+ */
5
+ import { getParamInjections, getPropertyInjections } from './inject.js';
6
+ /**
7
+ * IoC Container providing dependency registration, singletons, instances, and auto-wiring.
8
+ */
9
+ export class Container {
10
+ parent;
11
+ bindings = new Map();
12
+ instances = new Map();
13
+ /**
14
+ * Binds a service factory with transient or singleton lifecycle.
15
+ */
16
+ bind(name, factory, singleton = false) {
17
+ this.bindings.set(name, {
18
+ factory: factory,
19
+ singleton,
20
+ });
21
+ }
22
+ /**
23
+ * Binds a singleton service factory resolved once and cached for future resolutions.
24
+ */
25
+ singleton(name, factory) {
26
+ this.bind(name, factory, true);
27
+ }
28
+ /**
29
+ * Directly registers an existing object instance as a singleton.
30
+ */
31
+ instance(name, value) {
32
+ this.instances.set(name, value);
33
+ }
34
+ constructor(parent) {
35
+ this.parent = parent;
36
+ }
37
+ /**
38
+ * Checks whether a binding or instance exists under the given name.
39
+ */
40
+ has(name) {
41
+ return (this.instances.has(name) ||
42
+ this.bindings.has(name) ||
43
+ Boolean(this.parent?.has(name)));
44
+ }
45
+ /**
46
+ * Resolves a registered service by name.
47
+ */
48
+ resolve(name) {
49
+ if (this.instances.has(name)) {
50
+ return this.instances.get(name);
51
+ }
52
+ const binding = this.bindings.get(name);
53
+ if (binding) {
54
+ if (binding.singleton) {
55
+ if (binding.resolvedInstance === undefined) {
56
+ binding.resolvedInstance = binding.factory(this);
57
+ }
58
+ return binding.resolvedInstance;
59
+ }
60
+ return binding.factory(this);
61
+ }
62
+ if (this.parent) {
63
+ return this.parent.resolve(name);
64
+ }
65
+ throw new Error(`Cannot resolve service '${name}'. No binding registered.`);
66
+ }
67
+ /**
68
+ * Creates a child IoC container inheriting all parent registrations.
69
+ */
70
+ createChildContainer() {
71
+ return new Container(this);
72
+ }
73
+ /**
74
+ * Instantiates a class constructor, auto-wiring its parameters and properties.
75
+ */
76
+ make(ctor) {
77
+ const paramInjections = getParamInjections(ctor);
78
+ const args = [];
79
+ if (paramInjections) {
80
+ const maxIndex = Math.max(...Object.keys(paramInjections).map(Number));
81
+ for (let i = 0; i <= maxIndex; i++) {
82
+ const serviceName = paramInjections[i];
83
+ if (serviceName && this.has(serviceName)) {
84
+ args.push(this.resolve(serviceName));
85
+ }
86
+ else {
87
+ args.push(undefined);
88
+ }
89
+ }
90
+ }
91
+ else {
92
+ const paramTypes = Reflect.getMetadata?.('design:paramtypes', ctor);
93
+ if (Array.isArray(paramTypes) && paramTypes.length > 0) {
94
+ for (const paramCtor of paramTypes) {
95
+ const name = paramCtor?.name;
96
+ if (name && this.has(name)) {
97
+ args.push(this.resolve(name));
98
+ }
99
+ else if (typeof paramCtor === 'function') {
100
+ args.push(this.make(paramCtor));
101
+ }
102
+ }
103
+ }
104
+ }
105
+ const instance = new ctor(...args);
106
+ const propInjections = getPropertyInjections(ctor.prototype);
107
+ if (propInjections) {
108
+ for (const [propKey, serviceName] of Object.entries(propInjections)) {
109
+ if (this.has(serviceName)) {
110
+ instance[propKey] = this.resolve(serviceName);
111
+ }
112
+ }
113
+ }
114
+ return instance;
115
+ }
116
+ /**
117
+ * Clears all registered bindings and instances.
118
+ */
119
+ clear() {
120
+ this.bindings.clear();
121
+ this.instances.clear();
122
+ }
123
+ }
124
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @file decorators.ts
3
+ * @description Decorator-based Dependency Injection for AeroJS.
4
+ */
5
+ import { Container } from './container.js';
6
+ export declare function Injectable(): ClassDecorator;
7
+ export declare function Inject(token: string): ParameterDecorator;
8
+ export interface ModuleConfig {
9
+ providers?: any[];
10
+ controllers?: any[];
11
+ }
12
+ export declare function Module(config: ModuleConfig): ClassDecorator;
13
+ export declare class ModuleRegistry {
14
+ static resolveController(ControllerClass: any, container: Container): any;
15
+ static registerModule(ModuleClass: any, container: Container): void;
16
+ }
17
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,wBAAgB,UAAU,IAAI,cAAc,CAI3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAMxD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAI3D;AAED,qBAAa,cAAc;WACX,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;WAgBlE,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS;CA0BpE"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @file decorators.ts
3
+ * @description Decorator-based Dependency Injection for AeroJS.
4
+ */
5
+ import { Container } from './container.js';
6
+ const INJECTABLE_METADATA_KEY = Symbol('aero:injectable');
7
+ const INJECT_METADATA_KEY = Symbol('aero:inject');
8
+ export function Injectable() {
9
+ return (target) => {
10
+ Reflect.defineMetadata(INJECTABLE_METADATA_KEY, true, target);
11
+ };
12
+ }
13
+ export function Inject(token) {
14
+ return (target, propertyKey, parameterIndex) => {
15
+ const injections = Reflect.getMetadata(INJECT_METADATA_KEY, target) || [];
16
+ injections.push({ index: parameterIndex, token });
17
+ Reflect.defineMetadata(INJECT_METADATA_KEY, injections, target);
18
+ };
19
+ }
20
+ export function Module(config) {
21
+ return (target) => {
22
+ Reflect.defineMetadata('aero:module', config, target);
23
+ };
24
+ }
25
+ export class ModuleRegistry {
26
+ static resolveController(ControllerClass, container) {
27
+ const injections = Reflect.getMetadata(INJECT_METADATA_KEY, ControllerClass) || [];
28
+ // Sort injections by parameter index to map correctly
29
+ injections.sort((a, b) => a.index - b.index);
30
+ const args = injections.map((inj) => {
31
+ if (!container.has(inj.token)) {
32
+ throw new Error(`Unmet dependency: '${inj.token}' required by '${ControllerClass.name}'`);
33
+ }
34
+ return container.resolve(inj.token);
35
+ });
36
+ return new ControllerClass(...args);
37
+ }
38
+ static registerModule(ModuleClass, container) {
39
+ const config = Reflect.getMetadata('aero:module', ModuleClass);
40
+ if (!config)
41
+ return;
42
+ if (config.providers) {
43
+ for (const ProviderClass of config.providers) {
44
+ // Simple token-based registration using class name or static token property
45
+ const token = ProviderClass.token || ProviderClass.name;
46
+ // Resolve nested dependencies if Provider has its own injections
47
+ container.singleton(token, () => {
48
+ return this.resolveController(ProviderClass, container);
49
+ });
50
+ }
51
+ }
52
+ if (config.controllers) {
53
+ for (const ControllerClass of config.controllers) {
54
+ // In AeroJS, controllers are usually strings or instances mounted to routes.
55
+ // We'll store them in the container so the router can fetch them.
56
+ container.bind(ControllerClass.name, () => {
57
+ return this.resolveController(ControllerClass, container);
58
+ });
59
+ }
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAElD,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,CAAC,MAAW,EAAE,WAAwC,EAAE,cAAsB,EAAE,EAAE;QACvF,MAAM,UAAU,GAAuC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9G,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,cAAc;IAClB,MAAM,CAAC,iBAAiB,CAAC,eAAoB,EAAE,SAAoB;QACxE,MAAM,UAAU,GAAuC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QAEvH,sDAAsD;QACtD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,KAAK,kBAAkB,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,WAAgB,EAAE,SAAoB;QACjE,MAAM,MAAM,GAAiB,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC7C,4EAA4E;gBAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC;gBAExD,iEAAiE;gBACjE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACjD,6EAA6E;gBAC7E,kEAAkE;gBAClE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE;oBACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @file inject.ts
3
+ * @description Zero-dependency dependency injection decorator helpers.
4
+ */
5
+ /**
6
+ * Decorator to mark a property or parameter for injection by service name.
7
+ */
8
+ export declare function inject(serviceName: string): (target: any, propertyKey?: string | symbol, parameterIndex?: number) => void;
9
+ export declare function getParamInjections(target: any): Record<number, string> | undefined;
10
+ export declare function getPropertyInjections(target: any): Record<string | symbol, string> | undefined;
11
+ //# sourceMappingURL=inject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/di/inject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,IACvB,QAAQ,GAAG,EAAE,cAAc,MAAM,GAAG,MAAM,EAAE,iBAAiB,MAAM,KAAG,IAAI,CAa5F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAElF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAE9F"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @file inject.ts
3
+ * @description Zero-dependency dependency injection decorator helpers.
4
+ */
5
+ const INJECT_PARAMS_KEY = Symbol('aero:inject_params');
6
+ const INJECT_PROPS_KEY = Symbol('aero:inject_props');
7
+ /**
8
+ * Decorator to mark a property or parameter for injection by service name.
9
+ */
10
+ export function inject(serviceName) {
11
+ return function (target, propertyKey, parameterIndex) {
12
+ if (typeof parameterIndex === 'number') {
13
+ const existingInjections = target[INJECT_PARAMS_KEY] || {};
14
+ existingInjections[parameterIndex] = serviceName;
15
+ target[INJECT_PARAMS_KEY] = existingInjections;
16
+ }
17
+ else if (propertyKey) {
18
+ const existingProps = target[INJECT_PROPS_KEY] || {};
19
+ existingProps[propertyKey] = serviceName;
20
+ target[INJECT_PROPS_KEY] = existingProps;
21
+ }
22
+ };
23
+ }
24
+ export function getParamInjections(target) {
25
+ return target[INJECT_PARAMS_KEY];
26
+ }
27
+ export function getPropertyInjections(target) {
28
+ return target[INJECT_PROPS_KEY];
29
+ }
30
+ //# sourceMappingURL=inject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/di/inject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,WAAmB;IACxC,OAAO,UAAU,MAAW,EAAE,WAA6B,EAAE,cAAuB;QAClF,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,kBAAkB,GACtB,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAClC,kBAAkB,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;YACjD,MAAM,CAAC,iBAAiB,CAAC,GAAG,kBAAkB,CAAC;QACjD,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,aAAa,GACjB,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACjC,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAW;IAC5C,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @file provider.ts
3
+ * @description ServiceProvider base class for modular bootstrapping and IoC binding registration.
4
+ */
5
+ import type { Aero } from '../core/application.js';
6
+ export interface ServiceProviderConstructor {
7
+ new (app: Aero<any>): ServiceProvider;
8
+ }
9
+ /**
10
+ * Abstract ServiceProvider enabling modular component bootstrapping and lifecycle hooks.
11
+ */
12
+ export declare abstract class ServiceProvider {
13
+ protected readonly app: Aero<any>;
14
+ constructor(app: Aero<any>);
15
+ /**
16
+ * Registers bindings and singletons inside the app.container.
17
+ */
18
+ register(): void | Promise<void>;
19
+ /**
20
+ * Boots the service after all providers have completed their register() phase.
21
+ */
22
+ boot(): void | Promise<void>;
23
+ /**
24
+ * Executed when all providers have completed their boot() phase.
25
+ */
26
+ ready(): void | Promise<void>;
27
+ /**
28
+ * Executed on server shutdown in reverse registration order.
29
+ */
30
+ shutdown(): void | Promise<void>;
31
+ }
32
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/di/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,WAAW,0BAA0B;IACzC,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;CACvC;AAED;;GAEG;AACH,8BAAsB,eAAe;IACvB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;gBAAd,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IAE7C;;OAEG;IACI,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvC;;OAEG;IACI,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnC;;OAEG;IACI,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACI,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACxC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @file provider.ts
3
+ * @description ServiceProvider base class for modular bootstrapping and IoC binding registration.
4
+ */
5
+ /**
6
+ * Abstract ServiceProvider enabling modular component bootstrapping and lifecycle hooks.
7
+ */
8
+ export class ServiceProvider {
9
+ app;
10
+ constructor(app) {
11
+ this.app = app;
12
+ }
13
+ /**
14
+ * Registers bindings and singletons inside the app.container.
15
+ */
16
+ register() { }
17
+ /**
18
+ * Boots the service after all providers have completed their register() phase.
19
+ */
20
+ boot() { }
21
+ /**
22
+ * Executed when all providers have completed their boot() phase.
23
+ */
24
+ ready() { }
25
+ /**
26
+ * Executed on server shutdown in reverse registration order.
27
+ */
28
+ shutdown() { }
29
+ }
30
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/di/provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,MAAM,OAAgB,eAAe;IACJ;IAA/B,YAA+B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAEjD;;OAEG;IACI,QAAQ,KAA0B,CAAC;IAE1C;;OAEG;IACI,IAAI,KAA0B,CAAC;IAEtC;;OAEG;IACI,KAAK,KAA0B,CAAC;IAEvC;;OAEG;IACI,QAAQ,KAA0B,CAAC;CAC3C"}