stratal 0.0.1
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/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/application.d.ts +118 -0
- package/dist/application.d.ts.map +1 -0
- package/dist/application.js +247 -0
- package/dist/application.js.map +1 -0
- package/dist/cache/cache.module.d.ts +14 -0
- package/dist/cache/cache.module.d.ts.map +1 -0
- package/dist/cache/cache.module.js +32 -0
- package/dist/cache/cache.module.js.map +1 -0
- package/dist/cache/cache.tokens.d.ts +5 -0
- package/dist/cache/cache.tokens.d.ts.map +1 -0
- package/dist/cache/cache.tokens.js +4 -0
- package/dist/cache/cache.tokens.js.map +1 -0
- package/dist/cache/errors/cache-delete.error.d.ts +11 -0
- package/dist/cache/errors/cache-delete.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-delete.error.js +14 -0
- package/dist/cache/errors/cache-delete.error.js.map +1 -0
- package/dist/cache/errors/cache-get.error.d.ts +11 -0
- package/dist/cache/errors/cache-get.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-get.error.js +14 -0
- package/dist/cache/errors/cache-get.error.js.map +1 -0
- package/dist/cache/errors/cache-list.error.d.ts +10 -0
- package/dist/cache/errors/cache-list.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-list.error.js +13 -0
- package/dist/cache/errors/cache-list.error.js.map +1 -0
- package/dist/cache/errors/cache-put.error.d.ts +11 -0
- package/dist/cache/errors/cache-put.error.d.ts.map +1 -0
- package/dist/cache/errors/cache-put.error.js +14 -0
- package/dist/cache/errors/cache-put.error.js.map +1 -0
- package/dist/cache/errors/index.d.ts +5 -0
- package/dist/cache/errors/index.d.ts.map +1 -0
- package/dist/cache/errors/index.js +5 -0
- package/dist/cache/errors/index.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/services/cache.service.d.ts +152 -0
- package/dist/cache/services/cache.service.d.ts.map +1 -0
- package/dist/cache/services/cache.service.js +223 -0
- package/dist/cache/services/cache.service.js.map +1 -0
- package/dist/cache/services/index.d.ts +2 -0
- package/dist/cache/services/index.d.ts.map +1 -0
- package/dist/cache/services/index.js +2 -0
- package/dist/cache/services/index.js.map +1 -0
- package/dist/config/config.module.d.ts +79 -0
- package/dist/config/config.module.d.ts.map +1 -0
- package/dist/config/config.module.js +120 -0
- package/dist/config/config.module.js.map +1 -0
- package/dist/config/config.tokens.d.ts +4 -0
- package/dist/config/config.tokens.d.ts.map +1 -0
- package/dist/config/config.tokens.js +4 -0
- package/dist/config/config.tokens.js.map +1 -0
- package/dist/config/config.types.d.ts +68 -0
- package/dist/config/config.types.d.ts.map +1 -0
- package/dist/config/config.types.js +9 -0
- package/dist/config/config.types.js.map +1 -0
- package/dist/config/errors/config-not-initialized.error.d.ts +12 -0
- package/dist/config/errors/config-not-initialized.error.d.ts.map +1 -0
- package/dist/config/errors/config-not-initialized.error.js +15 -0
- package/dist/config/errors/config-not-initialized.error.js.map +1 -0
- package/dist/config/errors/index.d.ts +2 -0
- package/dist/config/errors/index.d.ts.map +1 -0
- package/dist/config/errors/index.js +2 -0
- package/dist/config/errors/index.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/register-as.d.ts +62 -0
- package/dist/config/register-as.d.ts.map +1 -0
- package/dist/config/register-as.js +48 -0
- package/dist/config/register-as.js.map +1 -0
- package/dist/config/services/config.service.d.ts +58 -0
- package/dist/config/services/config.service.d.ts.map +1 -0
- package/dist/config/services/config.service.js +123 -0
- package/dist/config/services/config.service.js.map +1 -0
- package/dist/cron/cron-job.d.ts +55 -0
- package/dist/cron/cron-job.d.ts.map +1 -0
- package/dist/cron/cron-job.js +2 -0
- package/dist/cron/cron-job.js.map +1 -0
- package/dist/cron/cron-manager.d.ts +60 -0
- package/dist/cron/cron-manager.d.ts.map +1 -0
- package/dist/cron/cron-manager.js +120 -0
- package/dist/cron/cron-manager.js.map +1 -0
- package/dist/cron/errors/cron-execution.error.d.ts +10 -0
- package/dist/cron/errors/cron-execution.error.d.ts.map +1 -0
- package/dist/cron/errors/cron-execution.error.js +17 -0
- package/dist/cron/errors/cron-execution.error.js.map +1 -0
- package/dist/cron/index.d.ts +4 -0
- package/dist/cron/index.d.ts.map +1 -0
- package/dist/cron/index.js +3 -0
- package/dist/cron/index.js.map +1 -0
- package/dist/di/conditional-binding-builder.d.ts +93 -0
- package/dist/di/conditional-binding-builder.d.ts.map +1 -0
- package/dist/di/conditional-binding-builder.js +115 -0
- package/dist/di/conditional-binding-builder.js.map +1 -0
- package/dist/di/container.d.ts +399 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.js +466 -0
- package/dist/di/container.js.map +1 -0
- package/dist/di/decorators/inject-param.decorator.d.ts +67 -0
- package/dist/di/decorators/inject-param.decorator.d.ts.map +1 -0
- package/dist/di/decorators/inject-param.decorator.js +53 -0
- package/dist/di/decorators/inject-param.decorator.js.map +1 -0
- package/dist/di/decorators.d.ts +57 -0
- package/dist/di/decorators.d.ts.map +1 -0
- package/dist/di/decorators.js +74 -0
- package/dist/di/decorators.js.map +1 -0
- package/dist/di/errors/conditional-binding-fallback.error.d.ts +16 -0
- package/dist/di/errors/conditional-binding-fallback.error.d.ts.map +1 -0
- package/dist/di/errors/conditional-binding-fallback.error.js +19 -0
- package/dist/di/errors/conditional-binding-fallback.error.js.map +1 -0
- package/dist/di/errors/index.d.ts +3 -0
- package/dist/di/errors/index.d.ts.map +1 -0
- package/dist/di/errors/index.js +3 -0
- package/dist/di/errors/index.js.map +1 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts +12 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts.map +1 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.js +15 -0
- package/dist/di/errors/request-scope-operation-not-allowed.error.js.map +1 -0
- package/dist/di/index.d.ts +13 -0
- package/dist/di/index.d.ts.map +1 -0
- package/dist/di/index.js +11 -0
- package/dist/di/index.js.map +1 -0
- package/dist/di/request-context-store.d.ts +122 -0
- package/dist/di/request-context-store.d.ts.map +1 -0
- package/dist/di/request-context-store.js +135 -0
- package/dist/di/request-context-store.js.map +1 -0
- package/dist/di/tokens.d.ts +25 -0
- package/dist/di/tokens.d.ts.map +1 -0
- package/dist/di/tokens.js +27 -0
- package/dist/di/tokens.js.map +1 -0
- package/dist/di/types.d.ts +56 -0
- package/dist/di/types.d.ts.map +1 -0
- package/dist/di/types.js +34 -0
- package/dist/di/types.js.map +1 -0
- package/dist/email/consumers/email.consumer.d.ts +43 -0
- package/dist/email/consumers/email.consumer.d.ts.map +1 -0
- package/dist/email/consumers/email.consumer.js +133 -0
- package/dist/email/consumers/email.consumer.js.map +1 -0
- package/dist/email/consumers/index.d.ts +2 -0
- package/dist/email/consumers/index.d.ts.map +1 -0
- package/dist/email/consumers/index.js +2 -0
- package/dist/email/consumers/index.js.map +1 -0
- package/dist/email/contracts/email-attachment.d.ts +61 -0
- package/dist/email/contracts/email-attachment.d.ts.map +1 -0
- package/dist/email/contracts/email-attachment.js +58 -0
- package/dist/email/contracts/email-attachment.js.map +1 -0
- package/dist/email/contracts/email-message.contract.d.ts +58 -0
- package/dist/email/contracts/email-message.contract.d.ts.map +1 -0
- package/dist/email/contracts/email-message.contract.js +62 -0
- package/dist/email/contracts/email-message.contract.js.map +1 -0
- package/dist/email/contracts/index.d.ts +4 -0
- package/dist/email/contracts/index.d.ts.map +1 -0
- package/dist/email/contracts/index.js +4 -0
- package/dist/email/contracts/index.js.map +1 -0
- package/dist/email/contracts/send-email.input.d.ts +72 -0
- package/dist/email/contracts/send-email.input.d.ts.map +1 -0
- package/dist/email/contracts/send-email.input.js +28 -0
- package/dist/email/contracts/send-email.input.js.map +1 -0
- package/dist/email/email.module.d.ts +122 -0
- package/dist/email/email.module.d.ts.map +1 -0
- package/dist/email/email.module.js +129 -0
- package/dist/email/email.module.js.map +1 -0
- package/dist/email/email.tokens.d.ts +33 -0
- package/dist/email/email.tokens.d.ts.map +1 -0
- package/dist/email/email.tokens.js +33 -0
- package/dist/email/email.tokens.js.map +1 -0
- package/dist/email/errors/email-provider-not-supported.error.d.ts +13 -0
- package/dist/email/errors/email-provider-not-supported.error.d.ts.map +1 -0
- package/dist/email/errors/email-provider-not-supported.error.js +15 -0
- package/dist/email/errors/email-provider-not-supported.error.js.map +1 -0
- package/dist/email/errors/email-resend-api-failed.error.d.ts +13 -0
- package/dist/email/errors/email-resend-api-failed.error.d.ts.map +1 -0
- package/dist/email/errors/email-resend-api-failed.error.js +15 -0
- package/dist/email/errors/email-resend-api-failed.error.js.map +1 -0
- package/dist/email/errors/email-smtp-connection-failed.error.d.ts +13 -0
- package/dist/email/errors/email-smtp-connection-failed.error.d.ts.map +1 -0
- package/dist/email/errors/email-smtp-connection-failed.error.js +15 -0
- package/dist/email/errors/email-smtp-connection-failed.error.js.map +1 -0
- package/dist/email/errors/index.d.ts +7 -0
- package/dist/email/errors/index.d.ts.map +1 -0
- package/dist/email/errors/index.js +7 -0
- package/dist/email/errors/index.js.map +1 -0
- package/dist/email/errors/resend-api-key-missing.error.d.ts +13 -0
- package/dist/email/errors/resend-api-key-missing.error.d.ts.map +1 -0
- package/dist/email/errors/resend-api-key-missing.error.js +15 -0
- package/dist/email/errors/resend-api-key-missing.error.js.map +1 -0
- package/dist/email/errors/smtp-configuration-missing.error.d.ts +13 -0
- package/dist/email/errors/smtp-configuration-missing.error.d.ts.map +1 -0
- package/dist/email/errors/smtp-configuration-missing.error.js +15 -0
- package/dist/email/errors/smtp-configuration-missing.error.js.map +1 -0
- package/dist/email/errors/smtp-host-missing.error.d.ts +13 -0
- package/dist/email/errors/smtp-host-missing.error.d.ts.map +1 -0
- package/dist/email/errors/smtp-host-missing.error.js +15 -0
- package/dist/email/errors/smtp-host-missing.error.js.map +1 -0
- package/dist/email/index.d.ts +6 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +8 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/providers/base-email.provider.d.ts +22 -0
- package/dist/email/providers/base-email.provider.d.ts.map +1 -0
- package/dist/email/providers/base-email.provider.js +43 -0
- package/dist/email/providers/base-email.provider.js.map +1 -0
- package/dist/email/providers/email-provider.interface.d.ts +66 -0
- package/dist/email/providers/email-provider.interface.d.ts.map +1 -0
- package/dist/email/providers/email-provider.interface.js +2 -0
- package/dist/email/providers/email-provider.interface.js.map +1 -0
- package/dist/email/providers/index.d.ts +5 -0
- package/dist/email/providers/index.d.ts.map +1 -0
- package/dist/email/providers/index.js +5 -0
- package/dist/email/providers/index.js.map +1 -0
- package/dist/email/providers/resend.provider.d.ts +26 -0
- package/dist/email/providers/resend.provider.d.ts.map +1 -0
- package/dist/email/providers/resend.provider.js +84 -0
- package/dist/email/providers/resend.provider.js.map +1 -0
- package/dist/email/providers/smtp.provider.d.ts +25 -0
- package/dist/email/providers/smtp.provider.d.ts.map +1 -0
- package/dist/email/providers/smtp.provider.js +86 -0
- package/dist/email/providers/smtp.provider.js.map +1 -0
- package/dist/email/services/email-provider-factory.d.ts +24 -0
- package/dist/email/services/email-provider-factory.d.ts.map +1 -0
- package/dist/email/services/email-provider-factory.js +59 -0
- package/dist/email/services/email-provider-factory.js.map +1 -0
- package/dist/email/services/email.service.d.ts +51 -0
- package/dist/email/services/email.service.d.ts.map +1 -0
- package/dist/email/services/email.service.js +75 -0
- package/dist/email/services/email.service.js.map +1 -0
- package/dist/email/services/index.d.ts +3 -0
- package/dist/email/services/index.d.ts.map +1 -0
- package/dist/email/services/index.js +3 -0
- package/dist/email/services/index.js.map +1 -0
- package/dist/env.d.ts +21 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +2 -0
- package/dist/env.js.map +1 -0
- package/dist/errors/application-error.d.ts +80 -0
- package/dist/errors/application-error.d.ts.map +1 -0
- package/dist/errors/application-error.js +118 -0
- package/dist/errors/application-error.js.map +1 -0
- package/dist/errors/error-codes.d.ts +198 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +180 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/get-http-status.d.ts +12 -0
- package/dist/errors/get-http-status.d.ts.map +1 -0
- package/dist/errors/get-http-status.js +62 -0
- package/dist/errors/get-http-status.js.map +1 -0
- package/dist/errors/index.d.ts +5 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +5 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/is-application-error.d.ts +9 -0
- package/dist/errors/is-application-error.d.ts.map +1 -0
- package/dist/errors/is-application-error.js +11 -0
- package/dist/errors/is-application-error.js.map +1 -0
- package/dist/guards/guard-execution.service.d.ts +37 -0
- package/dist/guards/guard-execution.service.d.ts.map +1 -0
- package/dist/guards/guard-execution.service.js +74 -0
- package/dist/guards/guard-execution.service.js.map +1 -0
- package/dist/guards/index.d.ts +12 -0
- package/dist/guards/index.d.ts.map +1 -0
- package/dist/guards/index.js +12 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/guards/types.d.ts +60 -0
- package/dist/guards/types.d.ts.map +1 -0
- package/dist/guards/types.js +5 -0
- package/dist/guards/types.js.map +1 -0
- package/dist/guards/use-guards.decorator.d.ts +73 -0
- package/dist/guards/use-guards.decorator.d.ts.map +1 -0
- package/dist/guards/use-guards.decorator.js +89 -0
- package/dist/guards/use-guards.decorator.js.map +1 -0
- package/dist/i18n/errors/index.d.ts +6 -0
- package/dist/i18n/errors/index.d.ts.map +1 -0
- package/dist/i18n/errors/index.js +6 -0
- package/dist/i18n/errors/index.js.map +1 -0
- package/dist/i18n/errors/locale-not-supported.error.d.ts +12 -0
- package/dist/i18n/errors/locale-not-supported.error.d.ts.map +1 -0
- package/dist/i18n/errors/locale-not-supported.error.js +15 -0
- package/dist/i18n/errors/locale-not-supported.error.js.map +1 -0
- package/dist/i18n/errors/translation-missing.error.d.ts +12 -0
- package/dist/i18n/errors/translation-missing.error.d.ts.map +1 -0
- package/dist/i18n/errors/translation-missing.error.js +15 -0
- package/dist/i18n/errors/translation-missing.error.js.map +1 -0
- package/dist/i18n/i18n.module.d.ts +60 -0
- package/dist/i18n/i18n.module.d.ts.map +1 -0
- package/dist/i18n/i18n.module.js +103 -0
- package/dist/i18n/i18n.module.js.map +1 -0
- package/dist/i18n/i18n.options.d.ts +60 -0
- package/dist/i18n/i18n.options.d.ts.map +1 -0
- package/dist/i18n/i18n.options.js +18 -0
- package/dist/i18n/i18n.options.js.map +1 -0
- package/dist/i18n/i18n.tokens.d.ts +13 -0
- package/dist/i18n/i18n.tokens.d.ts.map +1 -0
- package/dist/i18n/i18n.tokens.js +13 -0
- package/dist/i18n/i18n.tokens.js.map +1 -0
- package/dist/i18n/i18n.types.d.ts +78 -0
- package/dist/i18n/i18n.types.d.ts.map +1 -0
- package/dist/i18n/i18n.types.js +8 -0
- package/dist/i18n/i18n.types.js.map +1 -0
- package/dist/i18n/index.d.ts +12 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +12 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/en/common.d.ts +23 -0
- package/dist/i18n/messages/en/common.d.ts.map +1 -0
- package/dist/i18n/messages/en/common.js +23 -0
- package/dist/i18n/messages/en/common.js.map +1 -0
- package/dist/i18n/messages/en/emails.d.ts +12 -0
- package/dist/i18n/messages/en/emails.d.ts.map +1 -0
- package/dist/i18n/messages/en/emails.js +12 -0
- package/dist/i18n/messages/en/emails.js.map +1 -0
- package/dist/i18n/messages/en/errors.d.ts +115 -0
- package/dist/i18n/messages/en/errors.d.ts.map +1 -0
- package/dist/i18n/messages/en/errors.js +132 -0
- package/dist/i18n/messages/en/errors.js.map +1 -0
- package/dist/i18n/messages/en/index.d.ts +13 -0
- package/dist/i18n/messages/en/index.d.ts.map +1 -0
- package/dist/i18n/messages/en/index.js +13 -0
- package/dist/i18n/messages/en/index.js.map +1 -0
- package/dist/i18n/messages/en/validation.d.ts +38 -0
- package/dist/i18n/messages/en/validation.d.ts.map +1 -0
- package/dist/i18n/messages/en/validation.js +38 -0
- package/dist/i18n/messages/en/validation.js.map +1 -0
- package/dist/i18n/messages/en/zod.d.ts +125 -0
- package/dist/i18n/messages/en/zod.d.ts.map +1 -0
- package/dist/i18n/messages/en/zod.js +132 -0
- package/dist/i18n/messages/en/zod.js.map +1 -0
- package/dist/i18n/messages/index.d.ts +27 -0
- package/dist/i18n/messages/index.d.ts.map +1 -0
- package/dist/i18n/messages/index.js +25 -0
- package/dist/i18n/messages/index.js.map +1 -0
- package/dist/i18n/middleware/i18n-context.middleware.d.ts +15 -0
- package/dist/i18n/middleware/i18n-context.middleware.d.ts.map +1 -0
- package/dist/i18n/middleware/i18n-context.middleware.js +42 -0
- package/dist/i18n/middleware/i18n-context.middleware.js.map +1 -0
- package/dist/i18n/middleware/index.d.ts +6 -0
- package/dist/i18n/middleware/index.d.ts.map +1 -0
- package/dist/i18n/middleware/index.js +6 -0
- package/dist/i18n/middleware/index.js.map +1 -0
- package/dist/i18n/middleware/locale-extraction.middleware.d.ts +19 -0
- package/dist/i18n/middleware/locale-extraction.middleware.d.ts.map +1 -0
- package/dist/i18n/middleware/locale-extraction.middleware.js +49 -0
- package/dist/i18n/middleware/locale-extraction.middleware.js.map +1 -0
- package/dist/i18n/services/i18n.service.d.ts +62 -0
- package/dist/i18n/services/i18n.service.d.ts.map +1 -0
- package/dist/i18n/services/i18n.service.js +118 -0
- package/dist/i18n/services/i18n.service.js.map +1 -0
- package/dist/i18n/services/message-loader.service.d.ts +47 -0
- package/dist/i18n/services/message-loader.service.d.ts.map +1 -0
- package/dist/i18n/services/message-loader.service.js +121 -0
- package/dist/i18n/services/message-loader.service.js.map +1 -0
- package/dist/i18n/setup.d.ts +27 -0
- package/dist/i18n/setup.d.ts.map +1 -0
- package/dist/i18n/setup.js +40 -0
- package/dist/i18n/setup.js.map +1 -0
- package/dist/i18n/validation/index.d.ts +9 -0
- package/dist/i18n/validation/index.d.ts.map +1 -0
- package/dist/i18n/validation/index.js +10 -0
- package/dist/i18n/validation/index.js.map +1 -0
- package/dist/i18n/validation/validation.context.d.ts +34 -0
- package/dist/i18n/validation/validation.context.d.ts.map +1 -0
- package/dist/i18n/validation/validation.context.js +42 -0
- package/dist/i18n/validation/validation.context.js.map +1 -0
- package/dist/i18n/validation/validation.error-map.d.ts +8 -0
- package/dist/i18n/validation/validation.error-map.d.ts.map +1 -0
- package/dist/i18n/validation/validation.error-map.js +158 -0
- package/dist/i18n/validation/validation.error-map.js.map +1 -0
- package/dist/i18n/validation/validation.types.d.ts +44 -0
- package/dist/i18n/validation/validation.types.d.ts.map +1 -0
- package/dist/i18n/validation/validation.types.js +2 -0
- package/dist/i18n/validation/validation.types.js.map +1 -0
- package/dist/i18n/validation/with-i18n.d.ts +29 -0
- package/dist/i18n/validation/with-i18n.d.ts.map +1 -0
- package/dist/i18n/validation/with-i18n.js +40 -0
- package/dist/i18n/validation/with-i18n.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/error-handler/error-response.d.ts +32 -0
- package/dist/infrastructure/error-handler/error-response.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/error-response.js +14 -0
- package/dist/infrastructure/error-handler/error-response.js.map +1 -0
- package/dist/infrastructure/error-handler/global-error-handler.d.ts +81 -0
- package/dist/infrastructure/error-handler/global-error-handler.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/global-error-handler.js +178 -0
- package/dist/infrastructure/error-handler/global-error-handler.js.map +1 -0
- package/dist/infrastructure/error-handler/index.d.ts +6 -0
- package/dist/infrastructure/error-handler/index.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/index.js +5 -0
- package/dist/infrastructure/error-handler/index.js.map +1 -0
- package/dist/infrastructure/error-handler/internal-error.d.ts +16 -0
- package/dist/infrastructure/error-handler/internal-error.d.ts.map +1 -0
- package/dist/infrastructure/error-handler/internal-error.js +19 -0
- package/dist/infrastructure/error-handler/internal-error.js.map +1 -0
- package/dist/infrastructure/errors/index.d.ts +2 -0
- package/dist/infrastructure/errors/index.d.ts.map +1 -0
- package/dist/infrastructure/errors/index.js +2 -0
- package/dist/infrastructure/errors/index.js.map +1 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts +12 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts.map +1 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.js +15 -0
- package/dist/infrastructure/errors/request-container-not-initialized.error.js.map +1 -0
- package/dist/infrastructure/index.d.ts +3 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +3 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/logger/contracts/index.d.ts +4 -0
- package/dist/logger/contracts/index.d.ts.map +1 -0
- package/dist/logger/contracts/index.js +4 -0
- package/dist/logger/contracts/index.js.map +1 -0
- package/dist/logger/contracts/log-context.d.ts +16 -0
- package/dist/logger/contracts/log-context.d.ts.map +1 -0
- package/dist/logger/contracts/log-context.js +2 -0
- package/dist/logger/contracts/log-context.js.map +1 -0
- package/dist/logger/contracts/log-entry.d.ts +17 -0
- package/dist/logger/contracts/log-entry.d.ts.map +1 -0
- package/dist/logger/contracts/log-entry.js +2 -0
- package/dist/logger/contracts/log-entry.js.map +1 -0
- package/dist/logger/contracts/log-level.d.ts +16 -0
- package/dist/logger/contracts/log-level.d.ts.map +1 -0
- package/dist/logger/contracts/log-level.js +22 -0
- package/dist/logger/contracts/log-level.js.map +1 -0
- package/dist/logger/formatters/formatter.interface.d.ts +14 -0
- package/dist/logger/formatters/formatter.interface.d.ts.map +1 -0
- package/dist/logger/formatters/formatter.interface.js +2 -0
- package/dist/logger/formatters/formatter.interface.js.map +1 -0
- package/dist/logger/formatters/index.d.ts +4 -0
- package/dist/logger/formatters/index.d.ts.map +1 -0
- package/dist/logger/formatters/index.js +4 -0
- package/dist/logger/formatters/index.js.map +1 -0
- package/dist/logger/formatters/json-formatter.d.ts +22 -0
- package/dist/logger/formatters/json-formatter.d.ts.map +1 -0
- package/dist/logger/formatters/json-formatter.js +28 -0
- package/dist/logger/formatters/json-formatter.js.map +1 -0
- package/dist/logger/formatters/pretty-formatter.d.ts +19 -0
- package/dist/logger/formatters/pretty-formatter.d.ts.map +1 -0
- package/dist/logger/formatters/pretty-formatter.js +42 -0
- package/dist/logger/formatters/pretty-formatter.js.map +1 -0
- package/dist/logger/index.d.ts +7 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +10 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger.tokens.d.ts +29 -0
- package/dist/logger/logger.tokens.d.ts.map +1 -0
- package/dist/logger/logger.tokens.js +29 -0
- package/dist/logger/logger.tokens.js.map +1 -0
- package/dist/logger/services/index.d.ts +2 -0
- package/dist/logger/services/index.d.ts.map +1 -0
- package/dist/logger/services/index.js +2 -0
- package/dist/logger/services/index.js.map +1 -0
- package/dist/logger/services/logger.service.d.ts +86 -0
- package/dist/logger/services/logger.service.d.ts.map +1 -0
- package/dist/logger/services/logger.service.js +161 -0
- package/dist/logger/services/logger.service.js.map +1 -0
- package/dist/logger/transports/base-transport.d.ts +24 -0
- package/dist/logger/transports/base-transport.d.ts.map +1 -0
- package/dist/logger/transports/base-transport.js +23 -0
- package/dist/logger/transports/base-transport.js.map +1 -0
- package/dist/logger/transports/console-transport.d.ts +19 -0
- package/dist/logger/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/transports/console-transport.js +53 -0
- package/dist/logger/transports/console-transport.js.map +1 -0
- package/dist/logger/transports/index.d.ts +4 -0
- package/dist/logger/transports/index.d.ts.map +1 -0
- package/dist/logger/transports/index.js +4 -0
- package/dist/logger/transports/index.js.map +1 -0
- package/dist/logger/transports/transport.interface.d.ts +21 -0
- package/dist/logger/transports/transport.interface.d.ts.map +1 -0
- package/dist/logger/transports/transport.interface.js +2 -0
- package/dist/logger/transports/transport.interface.js.map +1 -0
- package/dist/middleware/index.d.ts +24 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +23 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/middleware-configuration.service.d.ts +64 -0
- package/dist/middleware/middleware-configuration.service.d.ts.map +1 -0
- package/dist/middleware/middleware-configuration.service.js +210 -0
- package/dist/middleware/middleware-configuration.service.js.map +1 -0
- package/dist/middleware/middleware-consumer.d.ts +57 -0
- package/dist/middleware/middleware-consumer.d.ts.map +1 -0
- package/dist/middleware/middleware-consumer.js +130 -0
- package/dist/middleware/middleware-consumer.js.map +1 -0
- package/dist/middleware/types.d.ts +94 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +2 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/module/errors/index.d.ts +5 -0
- package/dist/module/errors/index.d.ts.map +1 -0
- package/dist/module/errors/index.js +5 -0
- package/dist/module/errors/index.js.map +1 -0
- package/dist/module/errors/invalid-module-provider.error.d.ts +11 -0
- package/dist/module/errors/invalid-module-provider.error.d.ts.map +1 -0
- package/dist/module/errors/invalid-module-provider.error.js +14 -0
- package/dist/module/errors/invalid-module-provider.error.js.map +1 -0
- package/dist/module/errors/module-already-registered.error.d.ts +11 -0
- package/dist/module/errors/module-already-registered.error.d.ts.map +1 -0
- package/dist/module/errors/module-already-registered.error.js +14 -0
- package/dist/module/errors/module-already-registered.error.js.map +1 -0
- package/dist/module/errors/module-circular-dependency.error.d.ts +11 -0
- package/dist/module/errors/module-circular-dependency.error.d.ts.map +1 -0
- package/dist/module/errors/module-circular-dependency.error.js +15 -0
- package/dist/module/errors/module-circular-dependency.error.js.map +1 -0
- package/dist/module/errors/module-dependency-not-found.error.d.ts +11 -0
- package/dist/module/errors/module-dependency-not-found.error.d.ts.map +1 -0
- package/dist/module/errors/module-dependency-not-found.error.js +14 -0
- package/dist/module/errors/module-dependency-not-found.error.js.map +1 -0
- package/dist/module/index.d.ts +4 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +7 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/module-registry.d.ts +101 -0
- package/dist/module/module-registry.d.ts.map +1 -0
- package/dist/module/module-registry.js +278 -0
- package/dist/module/module-registry.js.map +1 -0
- package/dist/module/module.decorator.d.ts +34 -0
- package/dist/module/module.decorator.d.ts.map +1 -0
- package/dist/module/module.decorator.js +107 -0
- package/dist/module/module.decorator.js.map +1 -0
- package/dist/module/types.d.ts +240 -0
- package/dist/module/types.d.ts.map +1 -0
- package/dist/module/types.js +8 -0
- package/dist/module/types.js.map +1 -0
- package/dist/openapi/index.d.ts +5 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +7 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/openapi/openapi.module.d.ts +52 -0
- package/dist/openapi/openapi.module.d.ts.map +1 -0
- package/dist/openapi/openapi.module.js +110 -0
- package/dist/openapi/openapi.module.js.map +1 -0
- package/dist/openapi/openapi.tokens.d.ts +12 -0
- package/dist/openapi/openapi.tokens.d.ts.map +1 -0
- package/dist/openapi/openapi.tokens.js +12 -0
- package/dist/openapi/openapi.tokens.js.map +1 -0
- package/dist/openapi/services/index.d.ts +3 -0
- package/dist/openapi/services/index.d.ts.map +1 -0
- package/dist/openapi/services/index.js +3 -0
- package/dist/openapi/services/index.js.map +1 -0
- package/dist/openapi/services/openapi-config.service.d.ts +43 -0
- package/dist/openapi/services/openapi-config.service.d.ts.map +1 -0
- package/dist/openapi/services/openapi-config.service.js +98 -0
- package/dist/openapi/services/openapi-config.service.js.map +1 -0
- package/dist/openapi/services/openapi.service.d.ts +52 -0
- package/dist/openapi/services/openapi.service.d.ts.map +1 -0
- package/dist/openapi/services/openapi.service.js +228 -0
- package/dist/openapi/services/openapi.service.js.map +1 -0
- package/dist/openapi/types.d.ts +61 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/openapi/types.js +2 -0
- package/dist/openapi/types.js.map +1 -0
- package/dist/polyfills/dom.polyfill.d.ts +2 -0
- package/dist/polyfills/dom.polyfill.d.ts.map +1 -0
- package/dist/polyfills/dom.polyfill.js +30 -0
- package/dist/polyfills/dom.polyfill.js.map +1 -0
- package/dist/polyfills/index.d.ts +8 -0
- package/dist/polyfills/index.d.ts.map +1 -0
- package/dist/polyfills/index.js +8 -0
- package/dist/polyfills/index.js.map +1 -0
- package/dist/queue/consumer-registry.d.ts +77 -0
- package/dist/queue/consumer-registry.d.ts.map +1 -0
- package/dist/queue/consumer-registry.js +110 -0
- package/dist/queue/consumer-registry.js.map +1 -0
- package/dist/queue/decorators/index.d.ts +2 -0
- package/dist/queue/decorators/index.d.ts.map +1 -0
- package/dist/queue/decorators/index.js +2 -0
- package/dist/queue/decorators/index.js.map +1 -0
- package/dist/queue/decorators/inject-queue.decorator.d.ts +31 -0
- package/dist/queue/decorators/inject-queue.decorator.d.ts.map +1 -0
- package/dist/queue/decorators/inject-queue.decorator.js +33 -0
- package/dist/queue/decorators/inject-queue.decorator.js.map +1 -0
- package/dist/queue/errors/index.d.ts +3 -0
- package/dist/queue/errors/index.d.ts.map +1 -0
- package/dist/queue/errors/index.js +3 -0
- package/dist/queue/errors/index.js.map +1 -0
- package/dist/queue/errors/queue-binding-not-found.error.d.ts +12 -0
- package/dist/queue/errors/queue-binding-not-found.error.d.ts.map +1 -0
- package/dist/queue/errors/queue-binding-not-found.error.js +15 -0
- package/dist/queue/errors/queue-binding-not-found.error.js.map +1 -0
- package/dist/queue/errors/queue-provider-not-supported.error.d.ts +13 -0
- package/dist/queue/errors/queue-provider-not-supported.error.d.ts.map +1 -0
- package/dist/queue/errors/queue-provider-not-supported.error.js +16 -0
- package/dist/queue/errors/queue-provider-not-supported.error.js.map +1 -0
- package/dist/queue/index.d.ts +14 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +21 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/providers/cloudflare-queue.provider.d.ts +42 -0
- package/dist/queue/providers/cloudflare-queue.provider.d.ts.map +1 -0
- package/dist/queue/providers/cloudflare-queue.provider.js +73 -0
- package/dist/queue/providers/cloudflare-queue.provider.js.map +1 -0
- package/dist/queue/providers/index.d.ts +4 -0
- package/dist/queue/providers/index.d.ts.map +1 -0
- package/dist/queue/providers/index.js +4 -0
- package/dist/queue/providers/index.js.map +1 -0
- package/dist/queue/providers/queue-provider.interface.d.ts +34 -0
- package/dist/queue/providers/queue-provider.interface.d.ts.map +1 -0
- package/dist/queue/providers/queue-provider.interface.js +2 -0
- package/dist/queue/providers/queue-provider.interface.js.map +1 -0
- package/dist/queue/providers/sync-queue.provider.d.ts +48 -0
- package/dist/queue/providers/sync-queue.provider.d.ts.map +1 -0
- package/dist/queue/providers/sync-queue.provider.js +89 -0
- package/dist/queue/providers/sync-queue.provider.js.map +1 -0
- package/dist/queue/queue-consumer.d.ts +64 -0
- package/dist/queue/queue-consumer.d.ts.map +1 -0
- package/dist/queue/queue-consumer.js +2 -0
- package/dist/queue/queue-consumer.js.map +1 -0
- package/dist/queue/queue-manager.d.ts +36 -0
- package/dist/queue/queue-manager.d.ts.map +1 -0
- package/dist/queue/queue-manager.js +80 -0
- package/dist/queue/queue-manager.js.map +1 -0
- package/dist/queue/queue-name.d.ts +50 -0
- package/dist/queue/queue-name.d.ts.map +1 -0
- package/dist/queue/queue-name.js +21 -0
- package/dist/queue/queue-name.js.map +1 -0
- package/dist/queue/queue-registry.d.ts +46 -0
- package/dist/queue/queue-registry.d.ts.map +1 -0
- package/dist/queue/queue-registry.js +78 -0
- package/dist/queue/queue-registry.js.map +1 -0
- package/dist/queue/queue-sender.d.ts +38 -0
- package/dist/queue/queue-sender.d.ts.map +1 -0
- package/dist/queue/queue-sender.interface.d.ts +46 -0
- package/dist/queue/queue-sender.interface.d.ts.map +1 -0
- package/dist/queue/queue-sender.interface.js +2 -0
- package/dist/queue/queue-sender.interface.js.map +1 -0
- package/dist/queue/queue-sender.js +54 -0
- package/dist/queue/queue-sender.js.map +1 -0
- package/dist/queue/queue.module.d.ts +80 -0
- package/dist/queue/queue.module.d.ts.map +1 -0
- package/dist/queue/queue.module.js +113 -0
- package/dist/queue/queue.module.js.map +1 -0
- package/dist/queue/queue.tokens.d.ts +7 -0
- package/dist/queue/queue.tokens.d.ts.map +1 -0
- package/dist/queue/queue.tokens.js +6 -0
- package/dist/queue/queue.tokens.js.map +1 -0
- package/dist/queue/services/index.d.ts +2 -0
- package/dist/queue/services/index.d.ts.map +1 -0
- package/dist/queue/services/index.js +2 -0
- package/dist/queue/services/index.js.map +1 -0
- package/dist/queue/services/queue-provider-factory.d.ts +41 -0
- package/dist/queue/services/queue-provider-factory.d.ts.map +1 -0
- package/dist/queue/services/queue-provider-factory.js +78 -0
- package/dist/queue/services/queue-provider-factory.js.map +1 -0
- package/dist/router/constants.d.ts +72 -0
- package/dist/router/constants.d.ts.map +1 -0
- package/dist/router/constants.js +54 -0
- package/dist/router/constants.js.map +1 -0
- package/dist/router/controller.d.ts +56 -0
- package/dist/router/controller.d.ts.map +1 -0
- package/dist/router/controller.js +2 -0
- package/dist/router/controller.js.map +1 -0
- package/dist/router/decorators/controller.decorator.d.ts +55 -0
- package/dist/router/decorators/controller.decorator.d.ts.map +1 -0
- package/dist/router/decorators/controller.decorator.js +76 -0
- package/dist/router/decorators/controller.decorator.js.map +1 -0
- package/dist/router/decorators/index.d.ts +3 -0
- package/dist/router/decorators/index.d.ts.map +1 -0
- package/dist/router/decorators/index.js +7 -0
- package/dist/router/decorators/index.js.map +1 -0
- package/dist/router/decorators/route.decorator.d.ts +87 -0
- package/dist/router/decorators/route.decorator.d.ts.map +1 -0
- package/dist/router/decorators/route.decorator.js +99 -0
- package/dist/router/decorators/route.decorator.js.map +1 -0
- package/dist/router/errors/controller-method-not-found.error.d.ts +11 -0
- package/dist/router/errors/controller-method-not-found.error.d.ts.map +1 -0
- package/dist/router/errors/controller-method-not-found.error.js +14 -0
- package/dist/router/errors/controller-method-not-found.error.js.map +1 -0
- package/dist/router/errors/controller-registration.error.d.ts +15 -0
- package/dist/router/errors/controller-registration.error.d.ts.map +1 -0
- package/dist/router/errors/controller-registration.error.js +21 -0
- package/dist/router/errors/controller-registration.error.js.map +1 -0
- package/dist/router/errors/index.d.ts +9 -0
- package/dist/router/errors/index.d.ts.map +1 -0
- package/dist/router/errors/index.js +11 -0
- package/dist/router/errors/index.js.map +1 -0
- package/dist/router/errors/openapi-route-registration.error.d.ts +17 -0
- package/dist/router/errors/openapi-route-registration.error.d.ts.map +1 -0
- package/dist/router/errors/openapi-route-registration.error.js +20 -0
- package/dist/router/errors/openapi-route-registration.error.js.map +1 -0
- package/dist/router/errors/openapi-validation.error.d.ts +19 -0
- package/dist/router/errors/openapi-validation.error.d.ts.map +1 -0
- package/dist/router/errors/openapi-validation.error.js +22 -0
- package/dist/router/errors/openapi-validation.error.js.map +1 -0
- package/dist/router/errors/route-not-found.error.d.ts +11 -0
- package/dist/router/errors/route-not-found.error.d.ts.map +1 -0
- package/dist/router/errors/route-not-found.error.js +14 -0
- package/dist/router/errors/route-not-found.error.js.map +1 -0
- package/dist/router/errors/router-already-configured.error.d.ts +5 -0
- package/dist/router/errors/router-already-configured.error.d.ts.map +1 -0
- package/dist/router/errors/router-already-configured.error.js +8 -0
- package/dist/router/errors/router-already-configured.error.js.map +1 -0
- package/dist/router/errors/router-not-configured.error.d.ts +5 -0
- package/dist/router/errors/router-not-configured.error.d.ts.map +1 -0
- package/dist/router/errors/router-not-configured.error.js +8 -0
- package/dist/router/errors/router-not-configured.error.js.map +1 -0
- package/dist/router/errors/schema-validation.error.d.ts +11 -0
- package/dist/router/errors/schema-validation.error.d.ts.map +1 -0
- package/dist/router/errors/schema-validation.error.js +18 -0
- package/dist/router/errors/schema-validation.error.js.map +1 -0
- package/dist/router/index.d.ts +13 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +18 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/middleware/index.d.ts +2 -0
- package/dist/router/middleware/index.d.ts.map +1 -0
- package/dist/router/middleware/index.js +4 -0
- package/dist/router/middleware/index.js.map +1 -0
- package/dist/router/middleware/logger.middleware.d.ts +19 -0
- package/dist/router/middleware/logger.middleware.d.ts.map +1 -0
- package/dist/router/middleware/logger.middleware.js +32 -0
- package/dist/router/middleware/logger.middleware.js.map +1 -0
- package/dist/router/middleware.interface.d.ts +38 -0
- package/dist/router/middleware.interface.d.ts.map +1 -0
- package/dist/router/middleware.interface.js +2 -0
- package/dist/router/middleware.interface.js.map +1 -0
- package/dist/router/router-context.d.ts +117 -0
- package/dist/router/router-context.d.ts.map +1 -0
- package/dist/router/router-context.js +145 -0
- package/dist/router/router-context.js.map +1 -0
- package/dist/router/router.service.d.ts +62 -0
- package/dist/router/router.service.d.ts.map +1 -0
- package/dist/router/router.service.js +166 -0
- package/dist/router/router.service.js.map +1 -0
- package/dist/router/router.tokens.d.ts +39 -0
- package/dist/router/router.tokens.d.ts.map +1 -0
- package/dist/router/router.tokens.js +39 -0
- package/dist/router/router.tokens.js.map +1 -0
- package/dist/router/schemas/common.schemas.d.ts +148 -0
- package/dist/router/schemas/common.schemas.d.ts.map +1 -0
- package/dist/router/schemas/common.schemas.js +88 -0
- package/dist/router/schemas/common.schemas.js.map +1 -0
- package/dist/router/schemas/index.d.ts +2 -0
- package/dist/router/schemas/index.d.ts.map +1 -0
- package/dist/router/schemas/index.js +2 -0
- package/dist/router/schemas/index.js.map +1 -0
- package/dist/router/services/index.d.ts +7 -0
- package/dist/router/services/index.d.ts.map +1 -0
- package/dist/router/services/index.js +7 -0
- package/dist/router/services/index.js.map +1 -0
- package/dist/router/services/request-scope.service.d.ts +44 -0
- package/dist/router/services/request-scope.service.d.ts.map +1 -0
- package/dist/router/services/request-scope.service.js +78 -0
- package/dist/router/services/request-scope.service.js.map +1 -0
- package/dist/router/services/route-registration.service.d.ts +94 -0
- package/dist/router/services/route-registration.service.d.ts.map +1 -0
- package/dist/router/services/route-registration.service.js +451 -0
- package/dist/router/services/route-registration.service.js.map +1 -0
- package/dist/router/types.d.ts +130 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +2 -0
- package/dist/router/types.js.map +1 -0
- package/dist/storage/contracts/delete-file.input.d.ts +7 -0
- package/dist/storage/contracts/delete-file.input.d.ts.map +1 -0
- package/dist/storage/contracts/delete-file.input.js +6 -0
- package/dist/storage/contracts/delete-file.input.js.map +1 -0
- package/dist/storage/contracts/download-result.d.ts +28 -0
- package/dist/storage/contracts/download-result.d.ts.map +1 -0
- package/dist/storage/contracts/download-result.js +2 -0
- package/dist/storage/contracts/download-result.js.map +1 -0
- package/dist/storage/contracts/file-exists.input.d.ts +7 -0
- package/dist/storage/contracts/file-exists.input.d.ts.map +1 -0
- package/dist/storage/contracts/file-exists.input.js +6 -0
- package/dist/storage/contracts/file-exists.input.js.map +1 -0
- package/dist/storage/contracts/get-presigned-url.input.d.ts +26 -0
- package/dist/storage/contracts/get-presigned-url.input.d.ts.map +1 -0
- package/dist/storage/contracts/get-presigned-url.input.js +14 -0
- package/dist/storage/contracts/get-presigned-url.input.js.map +1 -0
- package/dist/storage/contracts/index.d.ts +6 -0
- package/dist/storage/contracts/index.d.ts.map +1 -0
- package/dist/storage/contracts/index.js +6 -0
- package/dist/storage/contracts/index.js.map +1 -0
- package/dist/storage/contracts/upload-file.input.d.ts +34 -0
- package/dist/storage/contracts/upload-file.input.d.ts.map +1 -0
- package/dist/storage/contracts/upload-file.input.js +10 -0
- package/dist/storage/contracts/upload-file.input.js.map +1 -0
- package/dist/storage/errors/disk-not-configured.error.d.ts +5 -0
- package/dist/storage/errors/disk-not-configured.error.d.ts.map +1 -0
- package/dist/storage/errors/disk-not-configured.error.js +7 -0
- package/dist/storage/errors/disk-not-configured.error.js.map +1 -0
- package/dist/storage/errors/file-not-found.error.d.ts +5 -0
- package/dist/storage/errors/file-not-found.error.d.ts.map +1 -0
- package/dist/storage/errors/file-not-found.error.js +8 -0
- package/dist/storage/errors/file-not-found.error.js.map +1 -0
- package/dist/storage/errors/file-too-large.error.d.ts +5 -0
- package/dist/storage/errors/file-too-large.error.d.ts.map +1 -0
- package/dist/storage/errors/file-too-large.error.js +11 -0
- package/dist/storage/errors/file-too-large.error.js.map +1 -0
- package/dist/storage/errors/index.d.ts +9 -0
- package/dist/storage/errors/index.d.ts.map +1 -0
- package/dist/storage/errors/index.js +9 -0
- package/dist/storage/errors/index.js.map +1 -0
- package/dist/storage/errors/invalid-disk.error.d.ts +5 -0
- package/dist/storage/errors/invalid-disk.error.d.ts.map +1 -0
- package/dist/storage/errors/invalid-disk.error.js +8 -0
- package/dist/storage/errors/invalid-disk.error.js.map +1 -0
- package/dist/storage/errors/invalid-file-type.error.d.ts +5 -0
- package/dist/storage/errors/invalid-file-type.error.d.ts.map +1 -0
- package/dist/storage/errors/invalid-file-type.error.js +10 -0
- package/dist/storage/errors/invalid-file-type.error.js.map +1 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts +5 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts.map +1 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.js +12 -0
- package/dist/storage/errors/presigned-url-invalid-expiry.error.js.map +1 -0
- package/dist/storage/errors/storage-provider-not-supported.error.d.ts +5 -0
- package/dist/storage/errors/storage-provider-not-supported.error.d.ts.map +1 -0
- package/dist/storage/errors/storage-provider-not-supported.error.js +8 -0
- package/dist/storage/errors/storage-provider-not-supported.error.js.map +1 -0
- package/dist/storage/errors/storage-response-body-missing.error.d.ts +5 -0
- package/dist/storage/errors/storage-response-body-missing.error.d.ts.map +1 -0
- package/dist/storage/errors/storage-response-body-missing.error.js +8 -0
- package/dist/storage/errors/storage-response-body-missing.error.js.map +1 -0
- package/dist/storage/index.d.ts +15 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +18 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/providers/s3-multipart-provider.interface.d.ts +194 -0
- package/dist/storage/providers/s3-multipart-provider.interface.d.ts.map +1 -0
- package/dist/storage/providers/s3-multipart-provider.interface.js +2 -0
- package/dist/storage/providers/s3-multipart-provider.interface.js.map +1 -0
- package/dist/storage/providers/s3-storage.provider.d.ts +77 -0
- package/dist/storage/providers/s3-storage.provider.d.ts.map +1 -0
- package/dist/storage/providers/s3-storage.provider.js +310 -0
- package/dist/storage/providers/s3-storage.provider.js.map +1 -0
- package/dist/storage/providers/storage-provider.interface.d.ts +58 -0
- package/dist/storage/providers/storage-provider.interface.d.ts.map +1 -0
- package/dist/storage/providers/storage-provider.interface.js +2 -0
- package/dist/storage/providers/storage-provider.interface.js.map +1 -0
- package/dist/storage/services/storage-manager.service.d.ts +48 -0
- package/dist/storage/services/storage-manager.service.d.ts.map +1 -0
- package/dist/storage/services/storage-manager.service.js +111 -0
- package/dist/storage/services/storage-manager.service.js.map +1 -0
- package/dist/storage/services/storage.service.d.ts +140 -0
- package/dist/storage/services/storage.service.d.ts.map +1 -0
- package/dist/storage/services/storage.service.js +232 -0
- package/dist/storage/services/storage.service.js.map +1 -0
- package/dist/storage/storage.module.d.ts +52 -0
- package/dist/storage/storage.module.d.ts.map +1 -0
- package/dist/storage/storage.module.js +81 -0
- package/dist/storage/storage.module.js.map +1 -0
- package/dist/storage/storage.tokens.d.ts +10 -0
- package/dist/storage/storage.tokens.d.ts.map +1 -0
- package/dist/storage/storage.tokens.js +10 -0
- package/dist/storage/storage.tokens.js.map +1 -0
- package/dist/storage/types.d.ts +31 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/worker/index.d.ts +2 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +2 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/module-worker.d.ts +48 -0
- package/dist/worker/module-worker.d.ts.map +1 -0
- package/dist/worker/module-worker.js +88 -0
- package/dist/worker/module-worker.js.map +1 -0
- package/dist/worker/stratal-worker.d.ts +48 -0
- package/dist/worker/stratal-worker.d.ts.map +1 -0
- package/dist/worker/stratal-worker.js +88 -0
- package/dist/worker/stratal-worker.js.map +1 -0
- package/package.json +148 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a Hono middleware that logs HTTP requests using our Logger service
|
|
3
|
+
*
|
|
4
|
+
* Logs request method, path, status code, and duration in milliseconds.
|
|
5
|
+
* Format: [HTTP] METHOD /path -> STATUS (duration ms)
|
|
6
|
+
*
|
|
7
|
+
* @param logger - Logger service instance
|
|
8
|
+
* @returns Hono middleware handler
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const logger = container.resolve<LoggerService>(LOGGER_TOKENS.LoggerService)
|
|
13
|
+
* app.use('*', createLoggerMiddleware(logger))
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export function createLoggerMiddleware(logger) {
|
|
17
|
+
return async (c, next) => {
|
|
18
|
+
const start = Date.now();
|
|
19
|
+
const method = c.req.method;
|
|
20
|
+
const path = c.req.path;
|
|
21
|
+
await next();
|
|
22
|
+
const duration = Date.now() - start;
|
|
23
|
+
const status = c.res.status;
|
|
24
|
+
logger.info(`[HTTP] ${method} ${path} -> ${status}`, {
|
|
25
|
+
method,
|
|
26
|
+
path,
|
|
27
|
+
status,
|
|
28
|
+
duration,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=logger.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.middleware.js","sourceRoot":"","sources":["../../../src/router/middleware/logger.middleware.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QAEvB,MAAM,IAAI,EAAE,CAAA;QAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;QACnC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;QAE3B,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,IAAI,IAAI,OAAO,MAAM,EAAE,EAAE;YACnD,MAAM;YACN,IAAI;YACJ,MAAM;YACN,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { RouterContext } from './router-context';
|
|
2
|
+
/**
|
|
3
|
+
* Middleware interface for request processing
|
|
4
|
+
*
|
|
5
|
+
* Middlewares use the `@Transient()` decorator and are registered via
|
|
6
|
+
* the `configure(consumer)` method in modules implementing `MiddlewareConfigurable`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* @Transient()
|
|
11
|
+
* export class LoggingMiddleware implements Middleware {
|
|
12
|
+
* async handle(ctx: RouterContext, next: () => Promise<void>): Promise<void> {
|
|
13
|
+
* const start = Date.now()
|
|
14
|
+
* await next()
|
|
15
|
+
* console.log(`Request took ${Date.now() - start}ms`)
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* // Register in module:
|
|
20
|
+
* @Module({ providers: [...] })
|
|
21
|
+
* export class AppModule implements MiddlewareConfigurable {
|
|
22
|
+
* configure(consumer: MiddlewareConsumer): void {
|
|
23
|
+
* consumer.apply(LoggingMiddleware).forRoutes('*')
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export interface Middleware {
|
|
29
|
+
/**
|
|
30
|
+
* Handle middleware logic
|
|
31
|
+
* Call next() to continue the middleware chain
|
|
32
|
+
*
|
|
33
|
+
* @param ctx - Router context with request/response helpers
|
|
34
|
+
* @param next - Function to call the next middleware or route handler
|
|
35
|
+
*/
|
|
36
|
+
handle(ctx: RouterContext, next: () => Promise<void>): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=middleware.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.interface.d.ts","sourceRoot":"","sources":["../../src/router/middleware.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.interface.js","sourceRoot":"","sources":["../../src/router/middleware.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { Context } from 'hono';
|
|
2
|
+
import { type ContentfulStatusCode, type RedirectStatusCode } from 'hono/utils/http-status';
|
|
3
|
+
import type { Container } from '../di/container';
|
|
4
|
+
import type { RouterEnv } from './types';
|
|
5
|
+
type ContextQueryResult<R extends Record<string, unknown> | undefined, K extends string | undefined> = K extends string ? string : R;
|
|
6
|
+
/**
|
|
7
|
+
* Router context wrapper with helper methods
|
|
8
|
+
*
|
|
9
|
+
* Provides convenient access to Hono's context and common request/response operations.
|
|
10
|
+
* The native Hono context is available via the `c` property for advanced use cases.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* async index(ctx: RouterContext): Promise<Response> {
|
|
15
|
+
* // Use helper methods
|
|
16
|
+
* const users = await this.service.findAll()
|
|
17
|
+
* return ctx.json(users)
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* async show(ctx: RouterContext): Promise<Response> {
|
|
21
|
+
* // Access route params
|
|
22
|
+
* const id = ctx.param('id')
|
|
23
|
+
* const user = await this.service.findById(id)
|
|
24
|
+
* return ctx.json(user)
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* async create(ctx: RouterContext): Promise<Response> {
|
|
28
|
+
* // Parse request body
|
|
29
|
+
* const body = await ctx.body<CreateUserInput>()
|
|
30
|
+
* const user = await this.service.create(body)
|
|
31
|
+
* return ctx.json(user, 201)
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare class RouterContext<T extends RouterEnv = RouterEnv> {
|
|
36
|
+
readonly c: Context<T>;
|
|
37
|
+
/**
|
|
38
|
+
* Native Hono context
|
|
39
|
+
* Access for advanced use cases not covered by helper methods
|
|
40
|
+
*/
|
|
41
|
+
constructor(c: Context<T>);
|
|
42
|
+
/**
|
|
43
|
+
* Get request-scoped DI container
|
|
44
|
+
* Contains request-specific services and context (AuthContext)
|
|
45
|
+
*
|
|
46
|
+
* @throws Error if container not initialized
|
|
47
|
+
*/
|
|
48
|
+
getContainer(): Container;
|
|
49
|
+
/**
|
|
50
|
+
* Set locale for the current request
|
|
51
|
+
* Locale is determined by X-Locale header or defaults to config
|
|
52
|
+
*
|
|
53
|
+
* @param locale - Locale code (e.g., 'en', 'fr')
|
|
54
|
+
*/
|
|
55
|
+
setLocale(locale: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* Get locale for the current request
|
|
58
|
+
*
|
|
59
|
+
* @returns Current locale code
|
|
60
|
+
*/
|
|
61
|
+
getLocale(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Return JSON response
|
|
64
|
+
*
|
|
65
|
+
* @param data - Data to serialize as JSON
|
|
66
|
+
* @param status - HTTP status code (default: 200)
|
|
67
|
+
*/
|
|
68
|
+
json(data: object, status?: ContentfulStatusCode): Response;
|
|
69
|
+
/**
|
|
70
|
+
* Get route parameter value
|
|
71
|
+
*
|
|
72
|
+
* @param key - Parameter name (e.g., 'id' for /users/:id)
|
|
73
|
+
*/
|
|
74
|
+
param(key: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* Get query parameter value
|
|
77
|
+
*
|
|
78
|
+
* @param key - Query parameter name
|
|
79
|
+
*/
|
|
80
|
+
query<R extends Record<string, unknown> | undefined = undefined, K extends string | undefined = undefined>(key?: K): ContextQueryResult<R, K>;
|
|
81
|
+
/**
|
|
82
|
+
* Get request header value
|
|
83
|
+
*
|
|
84
|
+
* @param name - Header name (case-insensitive)
|
|
85
|
+
*/
|
|
86
|
+
header(name: string): string | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Get validated request body from OpenAPI route
|
|
89
|
+
* Returns pre-validated data that has passed schema validation
|
|
90
|
+
*
|
|
91
|
+
* @returns Validated JSON body
|
|
92
|
+
*/
|
|
93
|
+
body<T>(): Promise<T>;
|
|
94
|
+
/**
|
|
95
|
+
* Return text response
|
|
96
|
+
*
|
|
97
|
+
* @param text - Text content
|
|
98
|
+
* @param status - HTTP status code (default: 200)
|
|
99
|
+
*/
|
|
100
|
+
text(text: string, status?: ContentfulStatusCode): Response;
|
|
101
|
+
/**
|
|
102
|
+
* Return HTML response
|
|
103
|
+
*
|
|
104
|
+
* @param html - HTML content
|
|
105
|
+
* @param status - HTTP status code (default: 200)
|
|
106
|
+
*/
|
|
107
|
+
html(html: string, status?: ContentfulStatusCode): Response;
|
|
108
|
+
/**
|
|
109
|
+
* Redirect to another URL
|
|
110
|
+
*
|
|
111
|
+
* @param url - Target URL
|
|
112
|
+
* @param status - HTTP status code (default: 302)
|
|
113
|
+
*/
|
|
114
|
+
redirect(url: string, status?: RedirectStatusCode): Response;
|
|
115
|
+
}
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=router-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-context.d.ts","sourceRoot":"","sources":["../../src/router/router-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;AAEpI;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;aAMtC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAL/B;;;OAGG;gBAEe,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAG/B;;;;;OAKG;IACH,YAAY,IAAI,SAAS;IAQzB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAKnB;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAI3D;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI1B;;;;OAIG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAK7I;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxC;;;;;OAKG;IACH,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IAMrB;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAI3D;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAI3D;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,QAAQ;CAG7D"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { RequestContainerNotInitializedError } from '../infrastructure/errors';
|
|
2
|
+
import { ROUTER_CONTEXT_KEYS } from './constants';
|
|
3
|
+
/**
|
|
4
|
+
* Router context wrapper with helper methods
|
|
5
|
+
*
|
|
6
|
+
* Provides convenient access to Hono's context and common request/response operations.
|
|
7
|
+
* The native Hono context is available via the `c` property for advanced use cases.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* async index(ctx: RouterContext): Promise<Response> {
|
|
12
|
+
* // Use helper methods
|
|
13
|
+
* const users = await this.service.findAll()
|
|
14
|
+
* return ctx.json(users)
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* async show(ctx: RouterContext): Promise<Response> {
|
|
18
|
+
* // Access route params
|
|
19
|
+
* const id = ctx.param('id')
|
|
20
|
+
* const user = await this.service.findById(id)
|
|
21
|
+
* return ctx.json(user)
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* async create(ctx: RouterContext): Promise<Response> {
|
|
25
|
+
* // Parse request body
|
|
26
|
+
* const body = await ctx.body<CreateUserInput>()
|
|
27
|
+
* const user = await this.service.create(body)
|
|
28
|
+
* return ctx.json(user, 201)
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export class RouterContext {
|
|
33
|
+
c;
|
|
34
|
+
/**
|
|
35
|
+
* Native Hono context
|
|
36
|
+
* Access for advanced use cases not covered by helper methods
|
|
37
|
+
*/
|
|
38
|
+
constructor(c) {
|
|
39
|
+
this.c = c;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get request-scoped DI container
|
|
43
|
+
* Contains request-specific services and context (AuthContext)
|
|
44
|
+
*
|
|
45
|
+
* @throws Error if container not initialized
|
|
46
|
+
*/
|
|
47
|
+
getContainer() {
|
|
48
|
+
const container = this.c.get(ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER);
|
|
49
|
+
if (!container) {
|
|
50
|
+
throw new RequestContainerNotInitializedError();
|
|
51
|
+
}
|
|
52
|
+
return container;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Set locale for the current request
|
|
56
|
+
* Locale is determined by X-Locale header or defaults to config
|
|
57
|
+
*
|
|
58
|
+
* @param locale - Locale code (e.g., 'en', 'fr')
|
|
59
|
+
*/
|
|
60
|
+
setLocale(locale) {
|
|
61
|
+
this.c.set(ROUTER_CONTEXT_KEYS.LOCALE, locale);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get locale for the current request
|
|
65
|
+
*
|
|
66
|
+
* @returns Current locale code
|
|
67
|
+
*/
|
|
68
|
+
getLocale() {
|
|
69
|
+
const locale = this.c.get(ROUTER_CONTEXT_KEYS.LOCALE);
|
|
70
|
+
return locale || 'en';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Return JSON response
|
|
74
|
+
*
|
|
75
|
+
* @param data - Data to serialize as JSON
|
|
76
|
+
* @param status - HTTP status code (default: 200)
|
|
77
|
+
*/
|
|
78
|
+
json(data, status) {
|
|
79
|
+
return this.c.json(data, status);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get route parameter value
|
|
83
|
+
*
|
|
84
|
+
* @param key - Parameter name (e.g., 'id' for /users/:id)
|
|
85
|
+
*/
|
|
86
|
+
param(key) {
|
|
87
|
+
return this.c.req.valid('param')[key];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get query parameter value
|
|
91
|
+
*
|
|
92
|
+
* @param key - Query parameter name
|
|
93
|
+
*/
|
|
94
|
+
query(key) {
|
|
95
|
+
const validated = this.c.req.valid('query');
|
|
96
|
+
return key ? validated[key] : validated;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get request header value
|
|
100
|
+
*
|
|
101
|
+
* @param name - Header name (case-insensitive)
|
|
102
|
+
*/
|
|
103
|
+
header(name) {
|
|
104
|
+
return this.c.req.header(name);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get validated request body from OpenAPI route
|
|
108
|
+
* Returns pre-validated data that has passed schema validation
|
|
109
|
+
*
|
|
110
|
+
* @returns Validated JSON body
|
|
111
|
+
*/
|
|
112
|
+
body() {
|
|
113
|
+
// Type assertion needed because req.valid() is type-safe per route
|
|
114
|
+
// but this is a generic helper method that works across all routes
|
|
115
|
+
return this.c.req.valid('json');
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Return text response
|
|
119
|
+
*
|
|
120
|
+
* @param text - Text content
|
|
121
|
+
* @param status - HTTP status code (default: 200)
|
|
122
|
+
*/
|
|
123
|
+
text(text, status) {
|
|
124
|
+
return this.c.text(text, status);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Return HTML response
|
|
128
|
+
*
|
|
129
|
+
* @param html - HTML content
|
|
130
|
+
* @param status - HTTP status code (default: 200)
|
|
131
|
+
*/
|
|
132
|
+
html(html, status) {
|
|
133
|
+
return this.c.html(html, status);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Redirect to another URL
|
|
137
|
+
*
|
|
138
|
+
* @param url - Target URL
|
|
139
|
+
* @param status - HTTP status code (default: 302)
|
|
140
|
+
*/
|
|
141
|
+
redirect(url, status) {
|
|
142
|
+
return this.c.redirect(url, status);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=router-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-context.js","sourceRoot":"","sources":["../../src/router/router-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAKjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,aAAa;IAMN;IALlB;;;OAGG;IACH,YACkB,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAC3B,CAAC;IAEL;;;;;OAKG;IACH,YAAY;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,mCAAmC,EAAE,CAAA;QACjD,CAAC;QACD,OAAO,SAAsB,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACrD,OAAQ,MAAiB,IAAI,IAAI,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY,EAAE,MAA6B;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAW;QACf,OAAQ,IAAI,CAAC,CAAC,CAAC,GAAqE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1G,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAsG,GAAO;QAChH,MAAM,SAAS,GAAI,IAAI,CAAC,CAAC,CAAC,GAAsE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC/G,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAA6B,CAAC,CAAC,CAAC,SAAqC,CAAA;IACjG,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACF,mEAAmE;QACnE,mEAAmE;QACnE,OAAQ,IAAI,CAAC,CAAC,CAAC,GAAwD,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACvF,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY,EAAE,MAA6B;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAY,EAAE,MAA6B;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,GAAW,EAAE,MAA2B;QAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type StratalEnv } from '../env';
|
|
2
|
+
import { type Container } from '../di';
|
|
3
|
+
import { type LoggerService } from '../logger';
|
|
4
|
+
import { type MiddlewareConfigEntry } from '../middleware';
|
|
5
|
+
import type { Constructor } from '../types';
|
|
6
|
+
import type { IController } from './controller';
|
|
7
|
+
/**
|
|
8
|
+
* RouterService manages HTTP routing and request handling with OpenAPI support
|
|
9
|
+
*
|
|
10
|
+
* Responsibilities:
|
|
11
|
+
* - Creates and configures OpenAPIHono application
|
|
12
|
+
* - Delegates to specialized services:
|
|
13
|
+
* - RequestScopeService: Request-scoped container setup
|
|
14
|
+
* - OpenAPIService: OpenAPI spec and documentation endpoints
|
|
15
|
+
* - RouteRegistrationService: Controller and route registration
|
|
16
|
+
* - Registers global middleware (CORS, logging, error handling)
|
|
17
|
+
* - Handles fetch requests via Hono
|
|
18
|
+
*
|
|
19
|
+
* Note: Route access control (domain-based enforcement) is handled by
|
|
20
|
+
* RouteAccessMiddleware in the tenancy module, applied via TenancyModule.configure().
|
|
21
|
+
*
|
|
22
|
+
* The service is registered as a singleton in the DI container
|
|
23
|
+
* and accessed by the Backend worker's fetch() method.
|
|
24
|
+
*/
|
|
25
|
+
export declare class RouterService {
|
|
26
|
+
private logger;
|
|
27
|
+
private container;
|
|
28
|
+
private app;
|
|
29
|
+
private configured;
|
|
30
|
+
constructor(logger: LoggerService, container: Container);
|
|
31
|
+
/**
|
|
32
|
+
* Setup all middleware in correct order
|
|
33
|
+
* Note: OpenAPI setup is deferred to configure() because it needs controllers
|
|
34
|
+
*/
|
|
35
|
+
private setupMiddleware;
|
|
36
|
+
/**
|
|
37
|
+
* Setup global middleware that runs for all requests
|
|
38
|
+
*/
|
|
39
|
+
private setupGlobalMiddleware;
|
|
40
|
+
/**
|
|
41
|
+
* Configure router with middlewares and controllers atomically
|
|
42
|
+
* This MUST be called immediately after RouterService construction
|
|
43
|
+
* and can only be called once.
|
|
44
|
+
*
|
|
45
|
+
* @param middlewareConfigs - Array of middleware configuration entries from modules
|
|
46
|
+
* @param controllers - Array of controller classes from modules
|
|
47
|
+
*/
|
|
48
|
+
configure(middlewareConfigs: MiddlewareConfigEntry[], controllers: Constructor<IController>[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Handle incoming fetch request via Hono
|
|
51
|
+
*
|
|
52
|
+
* This method is called by the Backend worker's fetch() method.
|
|
53
|
+
* The request-scoped container is created in RequestScopeService.
|
|
54
|
+
*
|
|
55
|
+
* @param request - Incoming Request object
|
|
56
|
+
* @param env - Cloudflare environment bindings
|
|
57
|
+
* @param ctx - Cloudflare execution context
|
|
58
|
+
* @returns Response object
|
|
59
|
+
*/
|
|
60
|
+
fetch(request: Request, env: StratalEnv, ctx: ExecutionContext): Response | Promise<Response>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=router.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.service.d.ts","sourceRoot":"","sources":["../../src/router/router.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIvD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAS/C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,aAAa;IAMtB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS;IAPnB,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,UAAU,CAAQ;gBAIhB,MAAM,EAAE,aAAa,EAErB,SAAS,EAAE,SAAS;IA8B9B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI;IAgCpG;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CAM9F"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { OpenAPIHono } from '../i18n/validation';
|
|
14
|
+
import { cors } from 'hono/cors';
|
|
15
|
+
import { inject } from 'tsyringe';
|
|
16
|
+
import { CONTAINER_TOKEN } from '../di';
|
|
17
|
+
import { Transient } from '../di/decorators';
|
|
18
|
+
import { DI_TOKENS } from '../di/tokens';
|
|
19
|
+
import { getHttpStatus } from '../infrastructure/error-handler';
|
|
20
|
+
import { LOGGER_TOKENS } from '../logger';
|
|
21
|
+
import { MiddlewareConfigurationService, } from '../middleware';
|
|
22
|
+
import { OPENAPI_TOKENS } from '../openapi';
|
|
23
|
+
import { ROUTER_CONTEXT_KEYS } from './constants';
|
|
24
|
+
import { RouteNotFoundError, RouterAlreadyConfiguredError, RouterNotConfiguredError } from './errors';
|
|
25
|
+
import { SchemaValidationError } from './errors/schema-validation.error';
|
|
26
|
+
import { createLoggerMiddleware } from './middleware';
|
|
27
|
+
import { ROUTER_TOKENS } from './router.tokens';
|
|
28
|
+
import { RequestScopeService } from './services/request-scope.service';
|
|
29
|
+
import { RouteRegistrationService } from './services/route-registration.service';
|
|
30
|
+
/**
|
|
31
|
+
* RouterService manages HTTP routing and request handling with OpenAPI support
|
|
32
|
+
*
|
|
33
|
+
* Responsibilities:
|
|
34
|
+
* - Creates and configures OpenAPIHono application
|
|
35
|
+
* - Delegates to specialized services:
|
|
36
|
+
* - RequestScopeService: Request-scoped container setup
|
|
37
|
+
* - OpenAPIService: OpenAPI spec and documentation endpoints
|
|
38
|
+
* - RouteRegistrationService: Controller and route registration
|
|
39
|
+
* - Registers global middleware (CORS, logging, error handling)
|
|
40
|
+
* - Handles fetch requests via Hono
|
|
41
|
+
*
|
|
42
|
+
* Note: Route access control (domain-based enforcement) is handled by
|
|
43
|
+
* RouteAccessMiddleware in the tenancy module, applied via TenancyModule.configure().
|
|
44
|
+
*
|
|
45
|
+
* The service is registered as a singleton in the DI container
|
|
46
|
+
* and accessed by the Backend worker's fetch() method.
|
|
47
|
+
*/
|
|
48
|
+
let RouterService = class RouterService {
|
|
49
|
+
logger;
|
|
50
|
+
container;
|
|
51
|
+
app;
|
|
52
|
+
configured = false;
|
|
53
|
+
constructor(logger, container) {
|
|
54
|
+
this.logger = logger;
|
|
55
|
+
this.container = container;
|
|
56
|
+
this.app = new OpenAPIHono({
|
|
57
|
+
defaultHook: (result, c) => {
|
|
58
|
+
if (!result.success) {
|
|
59
|
+
// Get request container (created by RequestScopeService)
|
|
60
|
+
const requestContainer = c.get(ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER);
|
|
61
|
+
// Resolve GlobalErrorHandler from request container for i18n support
|
|
62
|
+
const errorHandler = requestContainer.resolve(DI_TOKENS.ErrorHandler);
|
|
63
|
+
// Convert ZodError to SchemaValidationError
|
|
64
|
+
const validationError = new SchemaValidationError(result.error);
|
|
65
|
+
// Process through global error handler for consistent formatting
|
|
66
|
+
const errorResponse = errorHandler.handle(validationError);
|
|
67
|
+
// Get HTTP status code from error code
|
|
68
|
+
const status = getHttpStatus(errorResponse.code);
|
|
69
|
+
return c.json(errorResponse, status);
|
|
70
|
+
}
|
|
71
|
+
// Validation succeeded, continue to handler
|
|
72
|
+
return;
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
this.setupMiddleware();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Setup all middleware in correct order
|
|
79
|
+
* Note: OpenAPI setup is deferred to configure() because it needs controllers
|
|
80
|
+
*/
|
|
81
|
+
setupMiddleware() {
|
|
82
|
+
// 1. Request-scoped container setup (MUST be FIRST)
|
|
83
|
+
const requestScopeService = new RequestScopeService(this.container);
|
|
84
|
+
requestScopeService.setupMiddleware(this.app);
|
|
85
|
+
// 2. Global middleware (CORS, logging, error handling)
|
|
86
|
+
this.setupGlobalMiddleware();
|
|
87
|
+
// 3. OpenAPI documentation endpoints - deferred to configure()
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Setup global middleware that runs for all requests
|
|
91
|
+
*/
|
|
92
|
+
setupGlobalMiddleware() {
|
|
93
|
+
// CORS middleware
|
|
94
|
+
this.app.use('*', cors());
|
|
95
|
+
// Request logger middleware (uses our Logger service)
|
|
96
|
+
this.app.use('*', createLoggerMiddleware(this.logger));
|
|
97
|
+
// Global error handler
|
|
98
|
+
this.app.onError((err, c) => {
|
|
99
|
+
// Resolve GlobalErrorHandler from request container (has I18nService for translation)
|
|
100
|
+
const requestContainer = c.get(ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER);
|
|
101
|
+
const errorHandler = requestContainer.resolve(DI_TOKENS.ErrorHandler);
|
|
102
|
+
// Handle all errors via GlobalErrorHandler
|
|
103
|
+
const errorResponse = errorHandler.handle(err);
|
|
104
|
+
const status = getHttpStatus(errorResponse.code);
|
|
105
|
+
return c.json(errorResponse, status);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Configure router with middlewares and controllers atomically
|
|
110
|
+
* This MUST be called immediately after RouterService construction
|
|
111
|
+
* and can only be called once.
|
|
112
|
+
*
|
|
113
|
+
* @param middlewareConfigs - Array of middleware configuration entries from modules
|
|
114
|
+
* @param controllers - Array of controller classes from modules
|
|
115
|
+
*/
|
|
116
|
+
configure(middlewareConfigs, controllers) {
|
|
117
|
+
if (this.configured) {
|
|
118
|
+
throw new RouterAlreadyConfiguredError();
|
|
119
|
+
}
|
|
120
|
+
this.logger.info('Configuring router', {
|
|
121
|
+
middlewareConfigCount: middlewareConfigs.length,
|
|
122
|
+
controllerCount: controllers.length,
|
|
123
|
+
});
|
|
124
|
+
// 3. Apply middleware configurations FIRST (includes LocaleExtractionMiddleware, RouteAccessMiddleware)
|
|
125
|
+
// Middleware must run before OpenAPI endpoints so locale and route context are available
|
|
126
|
+
const middlewareConfigService = new MiddlewareConfigurationService(this.logger);
|
|
127
|
+
middlewareConfigService.applyMiddlewares(this.app, middlewareConfigs, controllers, this.container);
|
|
128
|
+
// 4. OpenAPI documentation endpoints (needs middleware to run first for i18n and route filtering)
|
|
129
|
+
const openAPIService = this.container.resolve(OPENAPI_TOKENS.OpenAPIService);
|
|
130
|
+
openAPIService.setupEndpoints(this.app, controllers);
|
|
131
|
+
// 5. Register controllers and routes
|
|
132
|
+
const routeRegistrationService = new RouteRegistrationService(this.logger);
|
|
133
|
+
routeRegistrationService.configure(this.app, controllers);
|
|
134
|
+
// 6. Register 404 handler last
|
|
135
|
+
this.app.notFound((c) => {
|
|
136
|
+
throw new RouteNotFoundError(c.req.path, c.req.method);
|
|
137
|
+
});
|
|
138
|
+
this.configured = true;
|
|
139
|
+
this.logger.info('Router configuration complete');
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Handle incoming fetch request via Hono
|
|
143
|
+
*
|
|
144
|
+
* This method is called by the Backend worker's fetch() method.
|
|
145
|
+
* The request-scoped container is created in RequestScopeService.
|
|
146
|
+
*
|
|
147
|
+
* @param request - Incoming Request object
|
|
148
|
+
* @param env - Cloudflare environment bindings
|
|
149
|
+
* @param ctx - Cloudflare execution context
|
|
150
|
+
* @returns Response object
|
|
151
|
+
*/
|
|
152
|
+
fetch(request, env, ctx) {
|
|
153
|
+
if (!this.configured) {
|
|
154
|
+
throw new RouterNotConfiguredError();
|
|
155
|
+
}
|
|
156
|
+
return this.app.fetch(request, env, ctx);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
RouterService = __decorate([
|
|
160
|
+
Transient(ROUTER_TOKENS.RouterService),
|
|
161
|
+
__param(0, inject(LOGGER_TOKENS.LoggerService)),
|
|
162
|
+
__param(1, inject(CONTAINER_TOKEN)),
|
|
163
|
+
__metadata("design:paramtypes", [Function, Function])
|
|
164
|
+
], RouterService);
|
|
165
|
+
export { RouterService };
|
|
166
|
+
//# sourceMappingURL=router.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.service.js","sourceRoot":"","sources":["../../src/router/router.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency injection tokens for the router system
|
|
3
|
+
*
|
|
4
|
+
* Controllers and middlewares are exposed via module methods (getControllers() and getMiddlewares())
|
|
5
|
+
* rather than DI tokens. The Application collects them by iterating through modules.
|
|
6
|
+
*
|
|
7
|
+
* ## Service Instantiation Pattern
|
|
8
|
+
*
|
|
9
|
+
* Router services (RouteRegistrationService, OpenAPIService) are manually instantiated in RouterService
|
|
10
|
+
* rather than resolved from the DI container. This is intentional and provides several benefits:
|
|
11
|
+
*
|
|
12
|
+
* 1. **Lifecycle Control**: Services are created once during router initialization and reused across
|
|
13
|
+
* all requests, ensuring singleton behavior without relying on DI container scope management.
|
|
14
|
+
*
|
|
15
|
+
* 2. **Performance**: Avoiding container resolution on each request reduces overhead. These services
|
|
16
|
+
* don't need request-scoped data and can safely be singletons.
|
|
17
|
+
*
|
|
18
|
+
* 3. **Dependency Injection Still Works**: Constructor injection still works perfectly - the container
|
|
19
|
+
* resolves dependencies (like Logger) when we call `new RouteRegistrationService()`. We're only
|
|
20
|
+
* bypassing the container for the top-level service itself.
|
|
21
|
+
*
|
|
22
|
+
* 4. **Clarity**: Makes it explicit that these are singleton services that manage router configuration,
|
|
23
|
+
* not request-scoped services that handle individual requests.
|
|
24
|
+
*
|
|
25
|
+
* This pattern is safe and recommended for stateless utility services that don't need request context.
|
|
26
|
+
* Request-scoped services (like controllers) are still resolved from the container on each request.
|
|
27
|
+
*/
|
|
28
|
+
export declare const ROUTER_TOKENS: {
|
|
29
|
+
/**
|
|
30
|
+
* Token for RouterService singleton
|
|
31
|
+
*/
|
|
32
|
+
readonly RouterService: symbol;
|
|
33
|
+
/**
|
|
34
|
+
* Token for RouterContext (request-scoped)
|
|
35
|
+
* Contains Hono context wrapper with helper methods
|
|
36
|
+
*/
|
|
37
|
+
readonly RouterContext: symbol;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=router.tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.tokens.d.ts","sourceRoot":"","sources":["../../src/router/router.tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;;IAGH;;;OAGG;;CAEK,CAAA"}
|