@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.
- package/AEROJS.md +12 -0
- package/AGENTS.md +709 -0
- package/LICENSE +21 -0
- package/README.md +1186 -0
- package/bin/aero.js +24 -0
- package/dist/application.d.ts +251 -0
- package/dist/application.d.ts.map +1 -0
- package/dist/application.js +658 -0
- package/dist/application.js.map +1 -0
- package/dist/audit/audit-trail.d.ts +122 -0
- package/dist/audit/audit-trail.d.ts.map +1 -0
- package/dist/audit/audit-trail.js +154 -0
- package/dist/audit/audit-trail.js.map +1 -0
- package/dist/auth/auth-manager.d.ts +95 -0
- package/dist/auth/auth-manager.d.ts.map +1 -0
- package/dist/auth/auth-manager.js +130 -0
- package/dist/auth/auth-manager.js.map +1 -0
- package/dist/auth/bouncer.d.ts +143 -0
- package/dist/auth/bouncer.d.ts.map +1 -0
- package/dist/auth/bouncer.js +243 -0
- package/dist/auth/bouncer.js.map +1 -0
- package/dist/auth/guards/api-token-guard.d.ts +68 -0
- package/dist/auth/guards/api-token-guard.d.ts.map +1 -0
- package/dist/auth/guards/api-token-guard.js +107 -0
- package/dist/auth/guards/api-token-guard.js.map +1 -0
- package/dist/auth/guards/guard.d.ts +35 -0
- package/dist/auth/guards/guard.d.ts.map +1 -0
- package/dist/auth/guards/guard.js +7 -0
- package/dist/auth/guards/guard.js.map +1 -0
- package/dist/auth/guards/jwt-guard.d.ts +64 -0
- package/dist/auth/guards/jwt-guard.d.ts.map +1 -0
- package/dist/auth/guards/jwt-guard.js +104 -0
- package/dist/auth/guards/jwt-guard.js.map +1 -0
- package/dist/auth/guards/session-guard.d.ts +57 -0
- package/dist/auth/guards/session-guard.d.ts.map +1 -0
- package/dist/auth/guards/session-guard.js +101 -0
- package/dist/auth/guards/session-guard.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/policy.d.ts +20 -0
- package/dist/auth/policy.d.ts.map +1 -0
- package/dist/auth/policy.js +49 -0
- package/dist/auth/policy.js.map +1 -0
- package/dist/body-parser.d.ts +40 -0
- package/dist/body-parser.d.ts.map +1 -0
- package/dist/body-parser.js +99 -0
- package/dist/body-parser.js.map +1 -0
- package/dist/cache/cache-driver.d.ts +43 -0
- package/dist/cache/cache-driver.d.ts.map +1 -0
- package/dist/cache/cache-driver.js +6 -0
- package/dist/cache/cache-driver.js.map +1 -0
- package/dist/cache/cache-manager.d.ts +44 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +160 -0
- package/dist/cache/cache-manager.js.map +1 -0
- package/dist/cache/drivers/database-cache-driver.d.ts +18 -0
- package/dist/cache/drivers/database-cache-driver.d.ts.map +1 -0
- package/dist/cache/drivers/database-cache-driver.js +77 -0
- package/dist/cache/drivers/database-cache-driver.js.map +1 -0
- package/dist/cache/drivers/file-cache-driver.d.ts +21 -0
- package/dist/cache/drivers/file-cache-driver.d.ts.map +1 -0
- package/dist/cache/drivers/file-cache-driver.js +95 -0
- package/dist/cache/drivers/file-cache-driver.js.map +1 -0
- package/dist/cache/drivers/memory-cache-driver.d.ts +21 -0
- package/dist/cache/drivers/memory-cache-driver.d.ts.map +1 -0
- package/dist/cache/drivers/memory-cache-driver.js +82 -0
- package/dist/cache/drivers/memory-cache-driver.js.map +1 -0
- package/dist/cache/drivers/redis-cache-driver.d.ts +18 -0
- package/dist/cache/drivers/redis-cache-driver.d.ts.map +1 -0
- package/dist/cache/drivers/redis-cache-driver.js +95 -0
- package/dist/cache/drivers/redis-cache-driver.js.map +1 -0
- package/dist/cache/index.d.ts +7 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +7 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +10 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +471 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/make.d.ts +16 -0
- package/dist/cli/commands/make.d.ts.map +1 -0
- package/dist/cli/commands/make.js +157 -0
- package/dist/cli/commands/make.js.map +1 -0
- package/dist/cli/commands/new.d.ts +7 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/new.js +175 -0
- package/dist/cli/commands/new.js.map +1 -0
- package/dist/cli/commands/vault.d.ts +7 -0
- package/dist/cli/commands/vault.d.ts.map +1 -0
- package/dist/cli/commands/vault.js +39 -0
- package/dist/cli/commands/vault.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/runner.d.ts +10 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +207 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli/templates/ecommerce-erp.d.ts +6 -0
- package/dist/cli/templates/ecommerce-erp.d.ts.map +1 -0
- package/dist/cli/templates/ecommerce-erp.js +1760 -0
- package/dist/cli/templates/ecommerce-erp.js.map +1 -0
- package/dist/cli/templates/fullstack-templates.d.ts +17 -0
- package/dist/cli/templates/fullstack-templates.d.ts.map +1 -0
- package/dist/cli/templates/fullstack-templates.js +17 -0
- package/dist/cli/templates/fullstack-templates.js.map +1 -0
- package/dist/config/config.d.ts +25 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +53 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/env-schema.d.ts +62 -0
- package/dist/config/env-schema.d.ts.map +1 -0
- package/dist/config/env-schema.js +203 -0
- package/dist/config/env-schema.js.map +1 -0
- package/dist/config/env.d.ts +31 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +153 -0
- package/dist/config/env.js.map +1 -0
- package/dist/context.d.ts +181 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +277 -0
- package/dist/context.js.map +1 -0
- package/dist/core/application-core.d.ts +79 -0
- package/dist/core/application-core.d.ts.map +1 -0
- package/dist/core/application-core.js +560 -0
- package/dist/core/application-core.js.map +1 -0
- package/dist/core/application.d.ts +121 -0
- package/dist/core/application.d.ts.map +1 -0
- package/dist/core/application.js +179 -0
- package/dist/core/application.js.map +1 -0
- package/dist/core/body-parser.d.ts +12 -0
- package/dist/core/body-parser.d.ts.map +1 -0
- package/dist/core/body-parser.js +85 -0
- package/dist/core/body-parser.js.map +1 -0
- package/dist/core/context.d.ts +94 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +278 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/error-dashboard.d.ts +35 -0
- package/dist/core/error-dashboard.d.ts.map +1 -0
- package/dist/core/error-dashboard.js +481 -0
- package/dist/core/error-dashboard.js.map +1 -0
- package/dist/core/errors.d.ts +83 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +117 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/hooks.d.ts +39 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +65 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/middleware.d.ts +15 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/middleware.js +45 -0
- package/dist/core/middleware.js.map +1 -0
- package/dist/core/request.d.ts +50 -0
- package/dist/core/request.d.ts.map +1 -0
- package/dist/core/request.js +94 -0
- package/dist/core/request.js.map +1 -0
- package/dist/core/response.d.ts +49 -0
- package/dist/core/response.d.ts.map +1 -0
- package/dist/core/response.js +302 -0
- package/dist/core/response.js.map +1 -0
- package/dist/core/router.d.ts +58 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +298 -0
- package/dist/core/router.js.map +1 -0
- package/dist/core/types.d.ts +70 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils.d.ts +36 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +108 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/database/connection.d.ts +97 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +251 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/drizzle.d.ts +10 -0
- package/dist/database/drizzle.d.ts.map +1 -0
- package/dist/database/drizzle.js +13 -0
- package/dist/database/drizzle.js.map +1 -0
- package/dist/database/factory.d.ts +39 -0
- package/dist/database/factory.d.ts.map +1 -0
- package/dist/database/factory.js +74 -0
- package/dist/database/factory.js.map +1 -0
- package/dist/database/index.d.ts +16 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +16 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/knex.d.ts +33 -0
- package/dist/database/knex.d.ts.map +1 -0
- package/dist/database/knex.js +123 -0
- package/dist/database/knex.js.map +1 -0
- package/dist/database/migrator.d.ts +29 -0
- package/dist/database/migrator.d.ts.map +1 -0
- package/dist/database/migrator.js +83 -0
- package/dist/database/migrator.js.map +1 -0
- package/dist/database/model-hooks.d.ts +61 -0
- package/dist/database/model-hooks.d.ts.map +1 -0
- package/dist/database/model-hooks.js +126 -0
- package/dist/database/model-hooks.js.map +1 -0
- package/dist/database/model.d.ts +279 -0
- package/dist/database/model.d.ts.map +1 -0
- package/dist/database/model.js +960 -0
- package/dist/database/model.js.map +1 -0
- package/dist/database/prisma.d.ts +13 -0
- package/dist/database/prisma.d.ts.map +1 -0
- package/dist/database/prisma.js +28 -0
- package/dist/database/prisma.js.map +1 -0
- package/dist/database/query-builder.d.ts +178 -0
- package/dist/database/query-builder.d.ts.map +1 -0
- package/dist/database/query-builder.js +607 -0
- package/dist/database/query-builder.js.map +1 -0
- package/dist/database/schema.d.ts +38 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +134 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/database/seeder.d.ts +24 -0
- package/dist/database/seeder.d.ts.map +1 -0
- package/dist/database/seeder.js +27 -0
- package/dist/database/seeder.js.map +1 -0
- package/dist/di/container.d.ts +52 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.js +124 -0
- package/dist/di/container.js.map +1 -0
- package/dist/di/decorators.d.ts +17 -0
- package/dist/di/decorators.d.ts.map +1 -0
- package/dist/di/decorators.js +63 -0
- package/dist/di/decorators.js.map +1 -0
- package/dist/di/inject.d.ts +11 -0
- package/dist/di/inject.d.ts.map +1 -0
- package/dist/di/inject.js +30 -0
- package/dist/di/inject.js.map +1 -0
- package/dist/di/provider.d.ts +32 -0
- package/dist/di/provider.d.ts.map +1 -0
- package/dist/di/provider.js +30 -0
- package/dist/di/provider.js.map +1 -0
- package/dist/diagnostics/diagnostics-plugin.d.ts +9 -0
- package/dist/diagnostics/diagnostics-plugin.d.ts.map +1 -0
- package/dist/diagnostics/diagnostics-plugin.js +49 -0
- package/dist/diagnostics/diagnostics-plugin.js.map +1 -0
- package/dist/diagnostics/health-check.d.ts +51 -0
- package/dist/diagnostics/health-check.d.ts.map +1 -0
- package/dist/diagnostics/health-check.js +122 -0
- package/dist/diagnostics/health-check.js.map +1 -0
- package/dist/diagnostics/index.d.ts +4 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +4 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/diagnostics/prometheus.d.ts +19 -0
- package/dist/diagnostics/prometheus.d.ts.map +1 -0
- package/dist/diagnostics/prometheus.js +99 -0
- package/dist/diagnostics/prometheus.js.map +1 -0
- package/dist/errors.d.ts +139 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +173 -0
- package/dist/errors.js.map +1 -0
- package/dist/events/event-bus.d.ts +178 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.js +182 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/graphql/adapter.d.ts +48 -0
- package/dist/graphql/adapter.d.ts.map +1 -0
- package/dist/graphql/adapter.js +109 -0
- package/dist/graphql/adapter.js.map +1 -0
- package/dist/graphql/executor.d.ts +24 -0
- package/dist/graphql/executor.d.ts.map +1 -0
- package/dist/graphql/executor.js +124 -0
- package/dist/graphql/executor.js.map +1 -0
- package/dist/graphql/index.d.ts +8 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +8 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/lexer.d.ts +52 -0
- package/dist/graphql/lexer.d.ts.map +1 -0
- package/dist/graphql/lexer.js +188 -0
- package/dist/graphql/lexer.js.map +1 -0
- package/dist/graphql/parser.d.ts +29 -0
- package/dist/graphql/parser.d.ts.map +1 -0
- package/dist/graphql/parser.js +206 -0
- package/dist/graphql/parser.js.map +1 -0
- package/dist/graphql/plugin.d.ts +13 -0
- package/dist/graphql/plugin.d.ts.map +1 -0
- package/dist/graphql/plugin.js +103 -0
- package/dist/graphql/plugin.js.map +1 -0
- package/dist/graphql/schema.d.ts +15 -0
- package/dist/graphql/schema.d.ts.map +1 -0
- package/dist/graphql/schema.js +17 -0
- package/dist/graphql/schema.js.map +1 -0
- package/dist/graphql/types.d.ts +65 -0
- package/dist/graphql/types.d.ts.map +1 -0
- package/dist/graphql/types.js +74 -0
- package/dist/graphql/types.js.map +1 -0
- package/dist/hooks.d.ts +67 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +115 -0
- package/dist/hooks.js.map +1 -0
- package/dist/i18n/i18n.d.ts +42 -0
- package/dist/i18n/i18n.d.ts.map +1 -0
- package/dist/i18n/i18n.js +158 -0
- package/dist/i18n/i18n.js.map +1 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +87 -0
- package/dist/index.js.map +1 -0
- package/dist/inertia/inertia.d.ts +62 -0
- package/dist/inertia/inertia.d.ts.map +1 -0
- package/dist/inertia/inertia.js +159 -0
- package/dist/inertia/inertia.js.map +1 -0
- package/dist/logging/index.d.ts +7 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +7 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logger.d.ts +62 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +197 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/logging/request-context.d.ts +29 -0
- package/dist/logging/request-context.d.ts.map +1 -0
- package/dist/logging/request-context.js +29 -0
- package/dist/logging/request-context.js.map +1 -0
- package/dist/mail/drivers/log-mail-driver.d.ts +11 -0
- package/dist/mail/drivers/log-mail-driver.d.ts.map +1 -0
- package/dist/mail/drivers/log-mail-driver.js +23 -0
- package/dist/mail/drivers/log-mail-driver.js.map +1 -0
- package/dist/mail/drivers/mail-driver.d.ts +14 -0
- package/dist/mail/drivers/mail-driver.d.ts.map +1 -0
- package/dist/mail/drivers/mail-driver.js +6 -0
- package/dist/mail/drivers/mail-driver.js.map +1 -0
- package/dist/mail/drivers/memory-mail-driver.d.ts +14 -0
- package/dist/mail/drivers/memory-mail-driver.d.ts.map +1 -0
- package/dist/mail/drivers/memory-mail-driver.js +24 -0
- package/dist/mail/drivers/memory-mail-driver.js.map +1 -0
- package/dist/mail/index.d.ts +10 -0
- package/dist/mail/index.d.ts.map +1 -0
- package/dist/mail/index.js +10 -0
- package/dist/mail/index.js.map +1 -0
- package/dist/mail/mailer.d.ts +48 -0
- package/dist/mail/mailer.d.ts.map +1 -0
- package/dist/mail/mailer.js +111 -0
- package/dist/mail/mailer.js.map +1 -0
- package/dist/mail/message.d.ts +30 -0
- package/dist/mail/message.d.ts.map +1 -0
- package/dist/mail/message.js +77 -0
- package/dist/mail/message.js.map +1 -0
- package/dist/middleware/cors.d.ts +16 -0
- package/dist/middleware/cors.d.ts.map +1 -0
- package/dist/middleware/cors.js +76 -0
- package/dist/middleware/cors.js.map +1 -0
- package/dist/middleware.d.ts +26 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +45 -0
- package/dist/middleware.js.map +1 -0
- package/dist/pdf/index.d.ts +2 -0
- package/dist/pdf/index.d.ts.map +1 -0
- package/dist/pdf/index.js +2 -0
- package/dist/pdf/index.js.map +1 -0
- package/dist/pdf/pdf.d.ts +86 -0
- package/dist/pdf/pdf.d.ts.map +1 -0
- package/dist/pdf/pdf.js +237 -0
- package/dist/pdf/pdf.js.map +1 -0
- package/dist/plugins/plugin.d.ts +25 -0
- package/dist/plugins/plugin.d.ts.map +1 -0
- package/dist/plugins/plugin.js +17 -0
- package/dist/plugins/plugin.js.map +1 -0
- package/dist/queue/drivers/database-queue-driver.d.ts +21 -0
- package/dist/queue/drivers/database-queue-driver.d.ts.map +1 -0
- package/dist/queue/drivers/database-queue-driver.js +84 -0
- package/dist/queue/drivers/database-queue-driver.js.map +1 -0
- package/dist/queue/drivers/memory-queue-driver.d.ts +17 -0
- package/dist/queue/drivers/memory-queue-driver.d.ts.map +1 -0
- package/dist/queue/drivers/memory-queue-driver.js +71 -0
- package/dist/queue/drivers/memory-queue-driver.js.map +1 -0
- package/dist/queue/drivers/queue-driver.d.ts +44 -0
- package/dist/queue/drivers/queue-driver.d.ts.map +1 -0
- package/dist/queue/drivers/queue-driver.js +6 -0
- package/dist/queue/drivers/queue-driver.js.map +1 -0
- package/dist/queue/drivers/redis-queue-driver.d.ts +16 -0
- package/dist/queue/drivers/redis-queue-driver.d.ts.map +1 -0
- package/dist/queue/drivers/redis-queue-driver.js +92 -0
- package/dist/queue/drivers/redis-queue-driver.js.map +1 -0
- package/dist/queue/index.d.ts +12 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +12 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/job.d.ts +20 -0
- package/dist/queue/job.d.ts.map +1 -0
- package/dist/queue/job.js +19 -0
- package/dist/queue/job.js.map +1 -0
- package/dist/queue/queue-manager.d.ts +41 -0
- package/dist/queue/queue-manager.d.ts.map +1 -0
- package/dist/queue/queue-manager.js +98 -0
- package/dist/queue/queue-manager.js.map +1 -0
- package/dist/queue/worker.d.ts +57 -0
- package/dist/queue/worker.d.ts.map +1 -0
- package/dist/queue/worker.js +156 -0
- package/dist/queue/worker.js.map +1 -0
- package/dist/redis/index.d.ts +5 -0
- package/dist/redis/index.d.ts.map +1 -0
- package/dist/redis/index.js +5 -0
- package/dist/redis/index.js.map +1 -0
- package/dist/redis/redis-client.d.ts +44 -0
- package/dist/redis/redis-client.d.ts.map +1 -0
- package/dist/redis/redis-client.js +131 -0
- package/dist/redis/redis-client.js.map +1 -0
- package/dist/redis/redis-connection.d.ts +32 -0
- package/dist/redis/redis-connection.d.ts.map +1 -0
- package/dist/redis/redis-connection.js +151 -0
- package/dist/redis/redis-connection.js.map +1 -0
- package/dist/redis/redis-manager.d.ts +28 -0
- package/dist/redis/redis-manager.d.ts.map +1 -0
- package/dist/redis/redis-manager.js +68 -0
- package/dist/redis/redis-manager.js.map +1 -0
- package/dist/redis/resp-parser.d.ts +29 -0
- package/dist/redis/resp-parser.d.ts.map +1 -0
- package/dist/redis/resp-parser.js +113 -0
- package/dist/redis/resp-parser.js.map +1 -0
- package/dist/request.d.ts +122 -0
- package/dist/request.d.ts.map +1 -0
- package/dist/request.js +171 -0
- package/dist/request.js.map +1 -0
- package/dist/response.d.ts +208 -0
- package/dist/response.d.ts.map +1 -0
- package/dist/response.js +375 -0
- package/dist/response.js.map +1 -0
- package/dist/router.d.ts +146 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +341 -0
- package/dist/router.js.map +1 -0
- package/dist/routing/controller.d.ts +18 -0
- package/dist/routing/controller.d.ts.map +1 -0
- package/dist/routing/controller.js +49 -0
- package/dist/routing/controller.js.map +1 -0
- package/dist/routing/named-middleware.d.ts +27 -0
- package/dist/routing/named-middleware.d.ts.map +1 -0
- package/dist/routing/named-middleware.js +41 -0
- package/dist/routing/named-middleware.js.map +1 -0
- package/dist/routing/route-builder.d.ts +54 -0
- package/dist/routing/route-builder.d.ts.map +1 -0
- package/dist/routing/route-builder.js +95 -0
- package/dist/routing/route-builder.js.map +1 -0
- package/dist/routing/route-group.d.ts +39 -0
- package/dist/routing/route-group.d.ts.map +1 -0
- package/dist/routing/route-group.js +79 -0
- package/dist/routing/route-group.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts +85 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/scheduler.js +216 -0
- package/dist/scheduler/scheduler.js.map +1 -0
- package/dist/security/csrf.d.ts +19 -0
- package/dist/security/csrf.d.ts.map +1 -0
- package/dist/security/csrf.js +69 -0
- package/dist/security/csrf.js.map +1 -0
- package/dist/security/hash.d.ts +30 -0
- package/dist/security/hash.d.ts.map +1 -0
- package/dist/security/hash.js +86 -0
- package/dist/security/hash.js.map +1 -0
- package/dist/security/headers.d.ts +56 -0
- package/dist/security/headers.d.ts.map +1 -0
- package/dist/security/headers.js +81 -0
- package/dist/security/headers.js.map +1 -0
- package/dist/security/index.d.ts +13 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +13 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/jwt.d.ts +96 -0
- package/dist/security/jwt.d.ts.map +1 -0
- package/dist/security/jwt.js +308 -0
- package/dist/security/jwt.js.map +1 -0
- package/dist/security/rate-limiter.d.ts +80 -0
- package/dist/security/rate-limiter.d.ts.map +1 -0
- package/dist/security/rate-limiter.js +127 -0
- package/dist/security/rate-limiter.js.map +1 -0
- package/dist/security/totp.d.ts +43 -0
- package/dist/security/totp.d.ts.map +1 -0
- package/dist/security/totp.js +122 -0
- package/dist/security/totp.js.map +1 -0
- package/dist/security/vault.d.ts +28 -0
- package/dist/security/vault.d.ts.map +1 -0
- package/dist/security/vault.js +73 -0
- package/dist/security/vault.js.map +1 -0
- package/dist/session/session-driver.d.ts +53 -0
- package/dist/session/session-driver.d.ts.map +1 -0
- package/dist/session/session-driver.js +132 -0
- package/dist/session/session-driver.js.map +1 -0
- package/dist/session/session-manager.d.ts +100 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +186 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/sse/index.d.ts +2 -0
- package/dist/sse/index.d.ts.map +1 -0
- package/dist/sse/index.js +2 -0
- package/dist/sse/index.js.map +1 -0
- package/dist/sse/sse.d.ts +32 -0
- package/dist/sse/sse.d.ts.map +1 -0
- package/dist/sse/sse.js +87 -0
- package/dist/sse/sse.js.map +1 -0
- package/dist/ssr/engine.d.ts +58 -0
- package/dist/ssr/engine.d.ts.map +1 -0
- package/dist/ssr/engine.js +121 -0
- package/dist/ssr/engine.js.map +1 -0
- package/dist/ssr/index.d.ts +6 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/index.js +6 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/static/static.d.ts +22 -0
- package/dist/static/static.d.ts.map +1 -0
- package/dist/static/static.js +134 -0
- package/dist/static/static.js.map +1 -0
- package/dist/storage/chunked-uploader.d.ts +53 -0
- package/dist/storage/chunked-uploader.d.ts.map +1 -0
- package/dist/storage/chunked-uploader.js +135 -0
- package/dist/storage/chunked-uploader.js.map +1 -0
- package/dist/storage/drivers/local-driver.d.ts +25 -0
- package/dist/storage/drivers/local-driver.d.ts.map +1 -0
- package/dist/storage/drivers/local-driver.js +75 -0
- package/dist/storage/drivers/local-driver.js.map +1 -0
- package/dist/storage/drivers/memory-driver.d.ts +23 -0
- package/dist/storage/drivers/memory-driver.d.ts.map +1 -0
- package/dist/storage/drivers/memory-driver.js +55 -0
- package/dist/storage/drivers/memory-driver.js.map +1 -0
- package/dist/storage/drivers/s3-driver.d.ts +34 -0
- package/dist/storage/drivers/s3-driver.d.ts.map +1 -0
- package/dist/storage/drivers/s3-driver.js +186 -0
- package/dist/storage/drivers/s3-driver.js.map +1 -0
- package/dist/storage/drivers/storage-driver.d.ts +40 -0
- package/dist/storage/drivers/storage-driver.d.ts.map +1 -0
- package/dist/storage/drivers/storage-driver.js +6 -0
- package/dist/storage/drivers/storage-driver.js.map +1 -0
- package/dist/storage/index.d.ts +13 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +13 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/multipart.d.ts +12 -0
- package/dist/storage/multipart.d.ts.map +1 -0
- package/dist/storage/multipart.js +79 -0
- package/dist/storage/multipart.js.map +1 -0
- package/dist/storage/storage-manager.d.ts +48 -0
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.js +106 -0
- package/dist/storage/storage-manager.js.map +1 -0
- package/dist/storage/uploaded-file.d.ts +40 -0
- package/dist/storage/uploaded-file.d.ts.map +1 -0
- package/dist/storage/uploaded-file.js +73 -0
- package/dist/storage/uploaded-file.js.map +1 -0
- package/dist/swagger/generator.d.ts +44 -0
- package/dist/swagger/generator.d.ts.map +1 -0
- package/dist/swagger/generator.js +117 -0
- package/dist/swagger/generator.js.map +1 -0
- package/dist/swagger/index.d.ts +8 -0
- package/dist/swagger/index.d.ts.map +1 -0
- package/dist/swagger/index.js +8 -0
- package/dist/swagger/index.js.map +1 -0
- package/dist/swagger/swagger.d.ts +9 -0
- package/dist/swagger/swagger.d.ts.map +1 -0
- package/dist/swagger/swagger.js +32 -0
- package/dist/swagger/swagger.js.map +1 -0
- package/dist/swagger/ui.d.ts +11 -0
- package/dist/swagger/ui.d.ts.map +1 -0
- package/dist/swagger/ui.js +93 -0
- package/dist/swagger/ui.js.map +1 -0
- package/dist/tcp/hl7.d.ts +19 -0
- package/dist/tcp/hl7.d.ts.map +1 -0
- package/dist/tcp/hl7.js +42 -0
- package/dist/tcp/hl7.js.map +1 -0
- package/dist/tcp/index.d.ts +4 -0
- package/dist/tcp/index.d.ts.map +1 -0
- package/dist/tcp/index.js +4 -0
- package/dist/tcp/index.js.map +1 -0
- package/dist/tcp/mllp.d.ts +22 -0
- package/dist/tcp/mllp.d.ts.map +1 -0
- package/dist/tcp/mllp.js +44 -0
- package/dist/tcp/mllp.js.map +1 -0
- package/dist/tcp/tcp-server.d.ts +20 -0
- package/dist/tcp/tcp-server.d.ts.map +1 -0
- package/dist/tcp/tcp-server.js +59 -0
- package/dist/tcp/tcp-server.js.map +1 -0
- package/dist/tenancy/index.d.ts +2 -0
- package/dist/tenancy/index.d.ts.map +1 -0
- package/dist/tenancy/index.js +2 -0
- package/dist/tenancy/index.js.map +1 -0
- package/dist/tenancy/tenant.d.ts +22 -0
- package/dist/tenancy/tenant.d.ts.map +1 -0
- package/dist/tenancy/tenant.js +32 -0
- package/dist/tenancy/tenant.js.map +1 -0
- package/dist/testing/test-client.d.ts +36 -0
- package/dist/testing/test-client.d.ts.map +1 -0
- package/dist/testing/test-client.js +128 -0
- package/dist/testing/test-client.js.map +1 -0
- package/dist/validation/index.d.ts +10 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +10 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/rules-validator.d.ts +65 -0
- package/dist/validation/rules-validator.d.ts.map +1 -0
- package/dist/validation/rules-validator.js +301 -0
- package/dist/validation/rules-validator.js.map +1 -0
- package/dist/validation/schema.d.ts +34 -0
- package/dist/validation/schema.d.ts.map +1 -0
- package/dist/validation/schema.js +174 -0
- package/dist/validation/schema.js.map +1 -0
- package/dist/validation/vine.d.ts +23 -0
- package/dist/validation/vine.d.ts.map +1 -0
- package/dist/validation/vine.js +97 -0
- package/dist/validation/vine.js.map +1 -0
- package/dist/views/view.d.ts +51 -0
- package/dist/views/view.d.ts.map +1 -0
- package/dist/views/view.js +91 -0
- package/dist/views/view.js.map +1 -0
- package/dist/views/vite.d.ts +19 -0
- package/dist/views/vite.d.ts.map +1 -0
- package/dist/views/vite.js +60 -0
- package/dist/views/vite.js.map +1 -0
- package/dist/webhook/index.d.ts +2 -0
- package/dist/webhook/index.d.ts.map +1 -0
- package/dist/webhook/index.js +2 -0
- package/dist/webhook/index.js.map +1 -0
- package/dist/webhook/webhook.d.ts +30 -0
- package/dist/webhook/webhook.d.ts.map +1 -0
- package/dist/webhook/webhook.js +124 -0
- package/dist/webhook/webhook.js.map +1 -0
- package/dist/ws/broadcaster.d.ts +43 -0
- package/dist/ws/broadcaster.d.ts.map +1 -0
- package/dist/ws/broadcaster.js +81 -0
- package/dist/ws/broadcaster.js.map +1 -0
- package/dist/ws/channel.d.ts +23 -0
- package/dist/ws/channel.d.ts.map +1 -0
- package/dist/ws/channel.js +27 -0
- package/dist/ws/channel.js.map +1 -0
- package/dist/ws/index.d.ts +5 -0
- package/dist/ws/index.d.ts.map +1 -0
- package/dist/ws/index.js +5 -0
- package/dist/ws/index.js.map +1 -0
- package/dist/ws/websocket-hub.d.ts +52 -0
- package/dist/ws/websocket-hub.d.ts.map +1 -0
- package/dist/ws/websocket-hub.js +187 -0
- package/dist/ws/websocket-hub.js.map +1 -0
- package/dist/ws/websocket.d.ts +43 -0
- package/dist/ws/websocket.d.ts.map +1 -0
- package/dist/ws/websocket.js +214 -0
- package/dist/ws/websocket.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|