stratal 0.0.13 → 0.0.14
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/dist/base-email.provider-bzdAYp8Z.mjs +42 -0
- package/dist/base-email.provider-bzdAYp8Z.mjs.map +1 -0
- package/dist/cache/index.d.mts +219 -0
- package/dist/cache/index.d.mts.map +1 -0
- package/dist/cache/index.mjs +247 -0
- package/dist/cache/index.mjs.map +1 -0
- package/dist/chunk-D1SwGrFN.mjs +27 -0
- package/dist/config/index.d.mts +273 -0
- package/dist/config/index.d.mts.map +1 -0
- package/dist/config/index.mjs +235 -0
- package/dist/config/index.mjs.map +1 -0
- package/dist/cron/index.d.mts +128 -0
- package/dist/cron/index.d.mts.map +1 -0
- package/dist/cron/index.mjs +4 -0
- package/dist/cron-manager-CpS_hrDD.mjs +107 -0
- package/dist/cron-manager-CpS_hrDD.mjs.map +1 -0
- package/dist/di/index.d.mts +2 -0
- package/dist/di/index.mjs +3 -0
- package/dist/email/index.d.mts +532 -0
- package/dist/email/index.d.mts.map +1 -0
- package/dist/email/index.mjs +476 -0
- package/dist/email/index.mjs.map +1 -0
- package/dist/en-C9U5-ETs.mjs +317 -0
- package/dist/en-C9U5-ETs.mjs.map +1 -0
- package/dist/errors/index.d.mts +2 -0
- package/dist/errors/index.mjs +3 -0
- package/dist/errors-BRJgVd5-.mjs +704 -0
- package/dist/errors-BRJgVd5-.mjs.map +1 -0
- package/dist/events/index.d.mts +210 -0
- package/dist/events/index.d.mts.map +1 -0
- package/dist/events/index.mjs +3 -0
- package/dist/events-CQyvSyrQ.mjs +190 -0
- package/dist/events-CQyvSyrQ.mjs.map +1 -0
- package/dist/gateway-context-D7TFPLi5.mjs +226 -0
- package/dist/gateway-context-D7TFPLi5.mjs.map +1 -0
- package/dist/guards/index.d.mts +172 -0
- package/dist/guards/index.d.mts.map +1 -0
- package/dist/guards/index.mjs +2 -0
- package/dist/guards-B5o618bL.mjs +151 -0
- package/dist/guards-B5o618bL.mjs.map +1 -0
- package/dist/i18n/index.d.mts +3 -0
- package/dist/i18n/index.mjs +11 -0
- package/dist/i18n/messages/en/index.d.mts +2 -0
- package/dist/i18n/messages/en/index.mjs +2 -0
- package/dist/i18n/validation/index.d.mts +4 -0
- package/dist/i18n/validation/index.mjs +3 -0
- package/dist/i18n.module-C9wQr_2k.mjs +1792 -0
- package/dist/i18n.module-C9wQr_2k.mjs.map +1 -0
- package/dist/index-3TtGtYlJ.d.mts +263 -0
- package/dist/index-3TtGtYlJ.d.mts.map +1 -0
- package/dist/index-BWEwA_XK.d.mts +317 -0
- package/dist/index-BWEwA_XK.d.mts.map +1 -0
- package/dist/index-C9bIk5tt.d.mts +2613 -0
- package/dist/index-C9bIk5tt.d.mts.map +1 -0
- package/dist/index-Dl4RvzNp.d.mts +185 -0
- package/dist/index-Dl4RvzNp.d.mts.map +1 -0
- package/dist/index-zKURVFOC.d.mts +632 -0
- package/dist/index-zKURVFOC.d.mts.map +1 -0
- package/dist/index.d.mts +144 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +14 -0
- package/dist/logger/index.d.mts +2 -0
- package/dist/logger/index.mjs +2 -0
- package/dist/logger-Bg-CuidS.mjs +417 -0
- package/dist/logger-Bg-CuidS.mjs.map +1 -0
- package/dist/middleware/index.d.mts +2 -0
- package/dist/middleware/index.mjs +5 -0
- package/dist/middleware-B3tx1u1K.mjs +362 -0
- package/dist/middleware-B3tx1u1K.mjs.map +1 -0
- package/dist/module/index.d.mts +130 -0
- package/dist/module/index.d.mts.map +1 -0
- package/dist/module/index.mjs +7 -0
- package/dist/module-Dvzm4dhS.mjs +331 -0
- package/dist/module-Dvzm4dhS.mjs.map +1 -0
- package/dist/openapi/index.d.mts +202 -0
- package/dist/openapi/index.d.mts.map +1 -0
- package/dist/openapi/index.mjs +11 -0
- package/dist/queue/index.d.mts +2 -0
- package/dist/queue/index.mjs +80 -0
- package/dist/queue/index.mjs.map +1 -0
- package/dist/queue.module-ZqaZ2iY0.mjs +403 -0
- package/dist/queue.module-ZqaZ2iY0.mjs.map +1 -0
- package/dist/resend.provider-BFGt6fS4.mjs +69 -0
- package/dist/resend.provider-BFGt6fS4.mjs.map +1 -0
- package/dist/router/index.d.mts +2 -0
- package/dist/router/index.mjs +11 -0
- package/dist/router-context-DlTxpJUG.mjs +264 -0
- package/dist/router-context-DlTxpJUG.mjs.map +1 -0
- package/dist/smtp.provider-BYY-AdmU.mjs +77 -0
- package/dist/smtp.provider-BYY-AdmU.mjs.map +1 -0
- package/dist/storage/index.d.mts +743 -0
- package/dist/storage/index.d.mts.map +1 -0
- package/dist/storage/index.mjs +9 -0
- package/dist/storage-dgi7MG6z.mjs +787 -0
- package/dist/storage-dgi7MG6z.mjs.map +1 -0
- package/dist/stratal-D4MS_7pI.mjs +270 -0
- package/dist/stratal-D4MS_7pI.mjs.map +1 -0
- package/dist/{types.d.ts → types-JUIHSW_a.d.mts} +5 -2
- package/dist/types-JUIHSW_a.d.mts.map +1 -0
- package/dist/validation-DA5nptIp.mjs +194 -0
- package/dist/validation-DA5nptIp.mjs.map +1 -0
- package/dist/websocket/index.d.mts +168 -0
- package/dist/websocket/index.d.mts.map +1 -0
- package/dist/websocket/index.mjs +5 -0
- package/dist/workers/index.d.mts +90 -0
- package/dist/workers/index.d.mts.map +1 -0
- package/dist/workers/index.mjs +116 -0
- package/dist/workers/index.mjs.map +1 -0
- package/package.json +84 -28
- package/dist/application.d.ts +0 -101
- package/dist/application.d.ts.map +0 -1
- package/dist/application.js +0 -230
- package/dist/application.js.map +0 -1
- package/dist/cache/cache.module.d.ts +0 -14
- package/dist/cache/cache.module.d.ts.map +0 -1
- package/dist/cache/cache.module.js +0 -32
- package/dist/cache/cache.module.js.map +0 -1
- package/dist/cache/cache.tokens.d.ts +0 -5
- package/dist/cache/cache.tokens.d.ts.map +0 -1
- package/dist/cache/cache.tokens.js +0 -4
- package/dist/cache/cache.tokens.js.map +0 -1
- package/dist/cache/errors/cache-delete.error.d.ts +0 -11
- package/dist/cache/errors/cache-delete.error.d.ts.map +0 -1
- package/dist/cache/errors/cache-delete.error.js +0 -14
- package/dist/cache/errors/cache-delete.error.js.map +0 -1
- package/dist/cache/errors/cache-get.error.d.ts +0 -11
- package/dist/cache/errors/cache-get.error.d.ts.map +0 -1
- package/dist/cache/errors/cache-get.error.js +0 -14
- package/dist/cache/errors/cache-get.error.js.map +0 -1
- package/dist/cache/errors/cache-list.error.d.ts +0 -10
- package/dist/cache/errors/cache-list.error.d.ts.map +0 -1
- package/dist/cache/errors/cache-list.error.js +0 -13
- package/dist/cache/errors/cache-list.error.js.map +0 -1
- package/dist/cache/errors/cache-put.error.d.ts +0 -11
- package/dist/cache/errors/cache-put.error.d.ts.map +0 -1
- package/dist/cache/errors/cache-put.error.js +0 -14
- package/dist/cache/errors/cache-put.error.js.map +0 -1
- package/dist/cache/errors/index.d.ts +0 -5
- package/dist/cache/errors/index.d.ts.map +0 -1
- package/dist/cache/errors/index.js +0 -5
- package/dist/cache/errors/index.js.map +0 -1
- package/dist/cache/index.d.ts +0 -5
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -5
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/services/cache.service.d.ts +0 -152
- package/dist/cache/services/cache.service.d.ts.map +0 -1
- package/dist/cache/services/cache.service.js +0 -223
- package/dist/cache/services/cache.service.js.map +0 -1
- package/dist/cache/services/index.d.ts +0 -2
- package/dist/cache/services/index.d.ts.map +0 -1
- package/dist/cache/services/index.js +0 -2
- package/dist/cache/services/index.js.map +0 -1
- package/dist/config/config.module.d.ts +0 -79
- package/dist/config/config.module.d.ts.map +0 -1
- package/dist/config/config.module.js +0 -121
- package/dist/config/config.module.js.map +0 -1
- package/dist/config/config.tokens.d.ts +0 -4
- package/dist/config/config.tokens.d.ts.map +0 -1
- package/dist/config/config.tokens.js +0 -4
- package/dist/config/config.tokens.js.map +0 -1
- package/dist/config/config.types.d.ts +0 -68
- package/dist/config/config.types.d.ts.map +0 -1
- package/dist/config/config.types.js +0 -9
- package/dist/config/config.types.js.map +0 -1
- package/dist/config/errors/config-module-not-initialized.error.d.ts +0 -10
- package/dist/config/errors/config-module-not-initialized.error.d.ts.map +0 -1
- package/dist/config/errors/config-module-not-initialized.error.js +0 -12
- package/dist/config/errors/config-module-not-initialized.error.js.map +0 -1
- package/dist/config/errors/config-not-initialized.error.d.ts +0 -12
- package/dist/config/errors/config-not-initialized.error.d.ts.map +0 -1
- package/dist/config/errors/config-not-initialized.error.js +0 -15
- package/dist/config/errors/config-not-initialized.error.js.map +0 -1
- package/dist/config/errors/index.d.ts +0 -3
- package/dist/config/errors/index.d.ts.map +0 -1
- package/dist/config/errors/index.js +0 -3
- package/dist/config/errors/index.js.map +0 -1
- package/dist/config/index.d.ts +0 -7
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -9
- package/dist/config/index.js.map +0 -1
- package/dist/config/register-as.d.ts +0 -62
- package/dist/config/register-as.d.ts.map +0 -1
- package/dist/config/register-as.js +0 -48
- package/dist/config/register-as.js.map +0 -1
- package/dist/config/services/config.service.d.ts +0 -59
- package/dist/config/services/config.service.d.ts.map +0 -1
- package/dist/config/services/config.service.js +0 -140
- package/dist/config/services/config.service.js.map +0 -1
- package/dist/cron/cron-job.d.ts +0 -54
- package/dist/cron/cron-job.d.ts.map +0 -1
- package/dist/cron/cron-job.js +0 -2
- package/dist/cron/cron-job.js.map +0 -1
- package/dist/cron/cron-manager.d.ts +0 -60
- package/dist/cron/cron-manager.d.ts.map +0 -1
- package/dist/cron/cron-manager.js +0 -120
- package/dist/cron/cron-manager.js.map +0 -1
- package/dist/cron/errors/cron-execution.error.d.ts +0 -10
- package/dist/cron/errors/cron-execution.error.d.ts.map +0 -1
- package/dist/cron/errors/cron-execution.error.js +0 -17
- package/dist/cron/errors/cron-execution.error.js.map +0 -1
- package/dist/cron/index.d.ts +0 -4
- package/dist/cron/index.d.ts.map +0 -1
- package/dist/cron/index.js +0 -3
- package/dist/cron/index.js.map +0 -1
- package/dist/di/conditional-binding-builder.d.ts +0 -93
- package/dist/di/conditional-binding-builder.d.ts.map +0 -1
- package/dist/di/conditional-binding-builder.js +0 -115
- package/dist/di/conditional-binding-builder.js.map +0 -1
- package/dist/di/container.d.ts +0 -131
- package/dist/di/container.d.ts.map +0 -1
- package/dist/di/container.js +0 -177
- package/dist/di/container.js.map +0 -1
- package/dist/di/decorators/inject-param.decorator.d.ts +0 -67
- package/dist/di/decorators/inject-param.decorator.d.ts.map +0 -1
- package/dist/di/decorators/inject-param.decorator.js +0 -53
- package/dist/di/decorators/inject-param.decorator.js.map +0 -1
- package/dist/di/decorators.d.ts +0 -57
- package/dist/di/decorators.d.ts.map +0 -1
- package/dist/di/decorators.js +0 -74
- package/dist/di/decorators.js.map +0 -1
- package/dist/di/errors/conditional-binding-fallback.error.d.ts +0 -16
- package/dist/di/errors/conditional-binding-fallback.error.d.ts.map +0 -1
- package/dist/di/errors/conditional-binding-fallback.error.js +0 -19
- package/dist/di/errors/conditional-binding-fallback.error.js.map +0 -1
- package/dist/di/errors/index.d.ts +0 -3
- package/dist/di/errors/index.d.ts.map +0 -1
- package/dist/di/errors/index.js +0 -3
- package/dist/di/errors/index.js.map +0 -1
- package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts +0 -11
- package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts.map +0 -1
- package/dist/di/errors/request-scope-operation-not-allowed.error.js +0 -14
- package/dist/di/errors/request-scope-operation-not-allowed.error.js.map +0 -1
- package/dist/di/index.d.ts +0 -12
- package/dist/di/index.d.ts.map +0 -1
- package/dist/di/index.js +0 -10
- package/dist/di/index.js.map +0 -1
- package/dist/di/tokens.d.ts +0 -26
- package/dist/di/tokens.d.ts.map +0 -1
- package/dist/di/tokens.js +0 -29
- package/dist/di/tokens.js.map +0 -1
- package/dist/di/types.d.ts +0 -56
- package/dist/di/types.d.ts.map +0 -1
- package/dist/di/types.js +0 -34
- package/dist/di/types.js.map +0 -1
- package/dist/email/consumers/email.consumer.d.ts +0 -43
- package/dist/email/consumers/email.consumer.d.ts.map +0 -1
- package/dist/email/consumers/email.consumer.js +0 -129
- package/dist/email/consumers/email.consumer.js.map +0 -1
- package/dist/email/consumers/index.d.ts +0 -2
- package/dist/email/consumers/index.d.ts.map +0 -1
- package/dist/email/consumers/index.js +0 -2
- package/dist/email/consumers/index.js.map +0 -1
- package/dist/email/contracts/email-attachment.d.ts +0 -61
- package/dist/email/contracts/email-attachment.d.ts.map +0 -1
- package/dist/email/contracts/email-attachment.js +0 -58
- package/dist/email/contracts/email-attachment.js.map +0 -1
- package/dist/email/contracts/email-message.contract.d.ts +0 -58
- package/dist/email/contracts/email-message.contract.d.ts.map +0 -1
- package/dist/email/contracts/email-message.contract.js +0 -62
- package/dist/email/contracts/email-message.contract.js.map +0 -1
- package/dist/email/contracts/index.d.ts +0 -4
- package/dist/email/contracts/index.d.ts.map +0 -1
- package/dist/email/contracts/index.js +0 -4
- package/dist/email/contracts/index.js.map +0 -1
- package/dist/email/contracts/send-email.input.d.ts +0 -72
- package/dist/email/contracts/send-email.input.d.ts.map +0 -1
- package/dist/email/contracts/send-email.input.js +0 -28
- package/dist/email/contracts/send-email.input.js.map +0 -1
- package/dist/email/email.module.d.ts +0 -122
- package/dist/email/email.module.d.ts.map +0 -1
- package/dist/email/email.module.js +0 -129
- package/dist/email/email.module.js.map +0 -1
- package/dist/email/email.tokens.d.ts +0 -33
- package/dist/email/email.tokens.d.ts.map +0 -1
- package/dist/email/email.tokens.js +0 -33
- package/dist/email/email.tokens.js.map +0 -1
- package/dist/email/errors/email-provider-not-supported.error.d.ts +0 -13
- package/dist/email/errors/email-provider-not-supported.error.d.ts.map +0 -1
- package/dist/email/errors/email-provider-not-supported.error.js +0 -15
- package/dist/email/errors/email-provider-not-supported.error.js.map +0 -1
- package/dist/email/errors/email-resend-api-failed.error.d.ts +0 -13
- package/dist/email/errors/email-resend-api-failed.error.d.ts.map +0 -1
- package/dist/email/errors/email-resend-api-failed.error.js +0 -15
- package/dist/email/errors/email-resend-api-failed.error.js.map +0 -1
- package/dist/email/errors/email-smtp-connection-failed.error.d.ts +0 -13
- package/dist/email/errors/email-smtp-connection-failed.error.d.ts.map +0 -1
- package/dist/email/errors/email-smtp-connection-failed.error.js +0 -15
- package/dist/email/errors/email-smtp-connection-failed.error.js.map +0 -1
- package/dist/email/errors/index.d.ts +0 -7
- package/dist/email/errors/index.d.ts.map +0 -1
- package/dist/email/errors/index.js +0 -7
- package/dist/email/errors/index.js.map +0 -1
- package/dist/email/errors/resend-api-key-missing.error.d.ts +0 -13
- package/dist/email/errors/resend-api-key-missing.error.d.ts.map +0 -1
- package/dist/email/errors/resend-api-key-missing.error.js +0 -15
- package/dist/email/errors/resend-api-key-missing.error.js.map +0 -1
- package/dist/email/errors/smtp-configuration-missing.error.d.ts +0 -13
- package/dist/email/errors/smtp-configuration-missing.error.d.ts.map +0 -1
- package/dist/email/errors/smtp-configuration-missing.error.js +0 -15
- package/dist/email/errors/smtp-configuration-missing.error.js.map +0 -1
- package/dist/email/errors/smtp-host-missing.error.d.ts +0 -13
- package/dist/email/errors/smtp-host-missing.error.d.ts.map +0 -1
- package/dist/email/errors/smtp-host-missing.error.js +0 -15
- package/dist/email/errors/smtp-host-missing.error.js.map +0 -1
- package/dist/email/index.d.ts +0 -6
- package/dist/email/index.d.ts.map +0 -1
- package/dist/email/index.js +0 -8
- package/dist/email/index.js.map +0 -1
- package/dist/email/providers/base-email.provider.d.ts +0 -22
- package/dist/email/providers/base-email.provider.d.ts.map +0 -1
- package/dist/email/providers/base-email.provider.js +0 -43
- package/dist/email/providers/base-email.provider.js.map +0 -1
- package/dist/email/providers/email-provider.interface.d.ts +0 -66
- package/dist/email/providers/email-provider.interface.d.ts.map +0 -1
- package/dist/email/providers/email-provider.interface.js +0 -2
- package/dist/email/providers/email-provider.interface.js.map +0 -1
- package/dist/email/providers/index.d.ts +0 -5
- package/dist/email/providers/index.d.ts.map +0 -1
- package/dist/email/providers/index.js +0 -5
- package/dist/email/providers/index.js.map +0 -1
- package/dist/email/providers/resend.provider.d.ts +0 -26
- package/dist/email/providers/resend.provider.d.ts.map +0 -1
- package/dist/email/providers/resend.provider.js +0 -84
- package/dist/email/providers/resend.provider.js.map +0 -1
- package/dist/email/providers/smtp.provider.d.ts +0 -25
- package/dist/email/providers/smtp.provider.d.ts.map +0 -1
- package/dist/email/providers/smtp.provider.js +0 -86
- package/dist/email/providers/smtp.provider.js.map +0 -1
- package/dist/email/services/email-provider-factory.d.ts +0 -24
- package/dist/email/services/email-provider-factory.d.ts.map +0 -1
- package/dist/email/services/email-provider-factory.js +0 -59
- package/dist/email/services/email-provider-factory.js.map +0 -1
- package/dist/email/services/email.service.d.ts +0 -51
- package/dist/email/services/email.service.d.ts.map +0 -1
- package/dist/email/services/email.service.js +0 -75
- package/dist/email/services/email.service.js.map +0 -1
- package/dist/email/services/index.d.ts +0 -3
- package/dist/email/services/index.d.ts.map +0 -1
- package/dist/email/services/index.js +0 -3
- package/dist/email/services/index.js.map +0 -1
- package/dist/env.d.ts +0 -21
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js +0 -2
- package/dist/env.js.map +0 -1
- package/dist/errors/application-error.d.ts +0 -87
- package/dist/errors/application-error.d.ts.map +0 -1
- package/dist/errors/application-error.js +0 -130
- package/dist/errors/application-error.js.map +0 -1
- package/dist/errors/error-codes.d.ts +0 -202
- package/dist/errors/error-codes.d.ts.map +0 -1
- package/dist/errors/error-codes.js +0 -184
- package/dist/errors/error-codes.js.map +0 -1
- package/dist/errors/error-response.d.ts +0 -32
- package/dist/errors/error-response.d.ts.map +0 -1
- package/dist/errors/error-response.js +0 -14
- package/dist/errors/error-response.js.map +0 -1
- package/dist/errors/get-http-status.d.ts +0 -12
- package/dist/errors/get-http-status.d.ts.map +0 -1
- package/dist/errors/get-http-status.js +0 -62
- package/dist/errors/get-http-status.js.map +0 -1
- package/dist/errors/global-error-handler.d.ts +0 -81
- package/dist/errors/global-error-handler.d.ts.map +0 -1
- package/dist/errors/global-error-handler.js +0 -176
- package/dist/errors/global-error-handler.js.map +0 -1
- package/dist/errors/index.d.ts +0 -10
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -10
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/internal-error.d.ts +0 -16
- package/dist/errors/internal-error.d.ts.map +0 -1
- package/dist/errors/internal-error.js +0 -19
- package/dist/errors/internal-error.js.map +0 -1
- package/dist/errors/is-application-error.d.ts +0 -9
- package/dist/errors/is-application-error.d.ts.map +0 -1
- package/dist/errors/is-application-error.js +0 -11
- package/dist/errors/is-application-error.js.map +0 -1
- package/dist/errors/request-container-not-initialized.error.d.ts +0 -12
- package/dist/errors/request-container-not-initialized.error.d.ts.map +0 -1
- package/dist/errors/request-container-not-initialized.error.js +0 -15
- package/dist/errors/request-container-not-initialized.error.js.map +0 -1
- package/dist/errors/stratal-not-initialized.error.d.ts +0 -11
- package/dist/errors/stratal-not-initialized.error.d.ts.map +0 -1
- package/dist/errors/stratal-not-initialized.error.js +0 -14
- package/dist/errors/stratal-not-initialized.error.js.map +0 -1
- package/dist/events/constants.d.ts +0 -11
- package/dist/events/constants.d.ts.map +0 -1
- package/dist/events/constants.js +0 -11
- package/dist/events/constants.js.map +0 -1
- package/dist/events/decorators/index.d.ts +0 -3
- package/dist/events/decorators/index.d.ts.map +0 -1
- package/dist/events/decorators/index.js +0 -3
- package/dist/events/decorators/index.js.map +0 -1
- package/dist/events/decorators/listener.decorator.d.ts +0 -24
- package/dist/events/decorators/listener.decorator.d.ts.map +0 -1
- package/dist/events/decorators/listener.decorator.js +0 -33
- package/dist/events/decorators/listener.decorator.js.map +0 -1
- package/dist/events/decorators/on.decorator.d.ts +0 -28
- package/dist/events/decorators/on.decorator.d.ts.map +0 -1
- package/dist/events/decorators/on.decorator.js +0 -41
- package/dist/events/decorators/on.decorator.js.map +0 -1
- package/dist/events/event-registry.d.ts +0 -26
- package/dist/events/event-registry.d.ts.map +0 -1
- package/dist/events/event-registry.js +0 -156
- package/dist/events/event-registry.js.map +0 -1
- package/dist/events/index.d.ts +0 -5
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/index.js +0 -4
- package/dist/events/index.js.map +0 -1
- package/dist/events/types.d.ts +0 -116
- package/dist/events/types.d.ts.map +0 -1
- package/dist/events/types.js +0 -23
- package/dist/events/types.js.map +0 -1
- package/dist/execution-context.d.ts +0 -4
- package/dist/execution-context.d.ts.map +0 -1
- package/dist/execution-context.js +0 -2
- package/dist/execution-context.js.map +0 -1
- package/dist/guards/guard-execution.service.d.ts +0 -37
- package/dist/guards/guard-execution.service.d.ts.map +0 -1
- package/dist/guards/guard-execution.service.js +0 -74
- package/dist/guards/guard-execution.service.js.map +0 -1
- package/dist/guards/index.d.ts +0 -12
- package/dist/guards/index.d.ts.map +0 -1
- package/dist/guards/index.js +0 -12
- package/dist/guards/index.js.map +0 -1
- package/dist/guards/types.d.ts +0 -60
- package/dist/guards/types.d.ts.map +0 -1
- package/dist/guards/types.js +0 -5
- package/dist/guards/types.js.map +0 -1
- package/dist/guards/use-guards.decorator.d.ts +0 -73
- package/dist/guards/use-guards.decorator.d.ts.map +0 -1
- package/dist/guards/use-guards.decorator.js +0 -89
- package/dist/guards/use-guards.decorator.js.map +0 -1
- package/dist/i18n/errors/index.d.ts +0 -6
- package/dist/i18n/errors/index.d.ts.map +0 -1
- package/dist/i18n/errors/index.js +0 -6
- package/dist/i18n/errors/index.js.map +0 -1
- package/dist/i18n/errors/locale-not-supported.error.d.ts +0 -12
- package/dist/i18n/errors/locale-not-supported.error.d.ts.map +0 -1
- package/dist/i18n/errors/locale-not-supported.error.js +0 -15
- package/dist/i18n/errors/locale-not-supported.error.js.map +0 -1
- package/dist/i18n/errors/translation-missing.error.d.ts +0 -12
- package/dist/i18n/errors/translation-missing.error.d.ts.map +0 -1
- package/dist/i18n/errors/translation-missing.error.js +0 -14
- package/dist/i18n/errors/translation-missing.error.js.map +0 -1
- package/dist/i18n/i18n.module.d.ts +0 -60
- package/dist/i18n/i18n.module.d.ts.map +0 -1
- package/dist/i18n/i18n.module.js +0 -103
- package/dist/i18n/i18n.module.js.map +0 -1
- package/dist/i18n/i18n.options.d.ts +0 -60
- package/dist/i18n/i18n.options.d.ts.map +0 -1
- package/dist/i18n/i18n.options.js +0 -18
- package/dist/i18n/i18n.options.js.map +0 -1
- package/dist/i18n/i18n.tokens.d.ts +0 -13
- package/dist/i18n/i18n.tokens.d.ts.map +0 -1
- package/dist/i18n/i18n.tokens.js +0 -13
- package/dist/i18n/i18n.tokens.js.map +0 -1
- package/dist/i18n/i18n.types.d.ts +0 -78
- package/dist/i18n/i18n.types.d.ts.map +0 -1
- package/dist/i18n/i18n.types.js +0 -8
- package/dist/i18n/i18n.types.js.map +0 -1
- package/dist/i18n/index.d.ts +0 -12
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/index.js +0 -12
- package/dist/i18n/index.js.map +0 -1
- package/dist/i18n/messages/en/common.d.ts +0 -19
- package/dist/i18n/messages/en/common.d.ts.map +0 -1
- package/dist/i18n/messages/en/common.js +0 -19
- package/dist/i18n/messages/en/common.js.map +0 -1
- package/dist/i18n/messages/en/emails.d.ts +0 -12
- package/dist/i18n/messages/en/emails.d.ts.map +0 -1
- package/dist/i18n/messages/en/emails.js +0 -12
- package/dist/i18n/messages/en/emails.js.map +0 -1
- package/dist/i18n/messages/en/errors.d.ts +0 -113
- package/dist/i18n/messages/en/errors.d.ts.map +0 -1
- package/dist/i18n/messages/en/errors.js +0 -130
- package/dist/i18n/messages/en/errors.js.map +0 -1
- package/dist/i18n/messages/en/index.d.ts +0 -13
- package/dist/i18n/messages/en/index.d.ts.map +0 -1
- package/dist/i18n/messages/en/index.js +0 -13
- package/dist/i18n/messages/en/index.js.map +0 -1
- package/dist/i18n/messages/en/validation.d.ts +0 -38
- package/dist/i18n/messages/en/validation.d.ts.map +0 -1
- package/dist/i18n/messages/en/validation.js +0 -38
- package/dist/i18n/messages/en/validation.js.map +0 -1
- package/dist/i18n/messages/en/zod.d.ts +0 -125
- package/dist/i18n/messages/en/zod.d.ts.map +0 -1
- package/dist/i18n/messages/en/zod.js +0 -132
- package/dist/i18n/messages/en/zod.js.map +0 -1
- package/dist/i18n/messages/index.d.ts +0 -27
- package/dist/i18n/messages/index.d.ts.map +0 -1
- package/dist/i18n/messages/index.js +0 -25
- package/dist/i18n/messages/index.js.map +0 -1
- package/dist/i18n/middleware/i18n-context.middleware.d.ts +0 -15
- package/dist/i18n/middleware/i18n-context.middleware.d.ts.map +0 -1
- package/dist/i18n/middleware/i18n-context.middleware.js +0 -42
- package/dist/i18n/middleware/i18n-context.middleware.js.map +0 -1
- package/dist/i18n/middleware/index.d.ts +0 -6
- package/dist/i18n/middleware/index.d.ts.map +0 -1
- package/dist/i18n/middleware/index.js +0 -6
- package/dist/i18n/middleware/index.js.map +0 -1
- package/dist/i18n/middleware/locale-extraction.middleware.d.ts +0 -19
- package/dist/i18n/middleware/locale-extraction.middleware.d.ts.map +0 -1
- package/dist/i18n/middleware/locale-extraction.middleware.js +0 -49
- package/dist/i18n/middleware/locale-extraction.middleware.js.map +0 -1
- package/dist/i18n/services/i18n.service.d.ts +0 -50
- package/dist/i18n/services/i18n.service.d.ts.map +0 -1
- package/dist/i18n/services/i18n.service.js +0 -82
- package/dist/i18n/services/i18n.service.js.map +0 -1
- package/dist/i18n/services/message-loader.service.d.ts +0 -65
- package/dist/i18n/services/message-loader.service.d.ts.map +0 -1
- package/dist/i18n/services/message-loader.service.js +0 -175
- package/dist/i18n/services/message-loader.service.js.map +0 -1
- package/dist/i18n/setup.d.ts +0 -27
- package/dist/i18n/setup.d.ts.map +0 -1
- package/dist/i18n/setup.js +0 -40
- package/dist/i18n/setup.js.map +0 -1
- package/dist/i18n/validation/index.d.ts +0 -9
- package/dist/i18n/validation/index.d.ts.map +0 -1
- package/dist/i18n/validation/index.js +0 -10
- package/dist/i18n/validation/index.js.map +0 -1
- package/dist/i18n/validation/validation.context.d.ts +0 -34
- package/dist/i18n/validation/validation.context.d.ts.map +0 -1
- package/dist/i18n/validation/validation.context.js +0 -42
- package/dist/i18n/validation/validation.context.js.map +0 -1
- package/dist/i18n/validation/validation.error-map.d.ts +0 -8
- package/dist/i18n/validation/validation.error-map.d.ts.map +0 -1
- package/dist/i18n/validation/validation.error-map.js +0 -158
- package/dist/i18n/validation/validation.error-map.js.map +0 -1
- package/dist/i18n/validation/validation.types.d.ts +0 -44
- package/dist/i18n/validation/validation.types.d.ts.map +0 -1
- package/dist/i18n/validation/validation.types.js +0 -2
- package/dist/i18n/validation/validation.types.js.map +0 -1
- package/dist/i18n/validation/with-i18n.d.ts +0 -29
- package/dist/i18n/validation/with-i18n.d.ts.map +0 -1
- package/dist/i18n/validation/with-i18n.js +0 -40
- package/dist/i18n/validation/with-i18n.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/logger/contracts/index.d.ts +0 -4
- package/dist/logger/contracts/index.d.ts.map +0 -1
- package/dist/logger/contracts/index.js +0 -4
- package/dist/logger/contracts/index.js.map +0 -1
- package/dist/logger/contracts/log-context.d.ts +0 -14
- package/dist/logger/contracts/log-context.d.ts.map +0 -1
- package/dist/logger/contracts/log-context.js +0 -2
- package/dist/logger/contracts/log-context.js.map +0 -1
- package/dist/logger/contracts/log-entry.d.ts +0 -17
- package/dist/logger/contracts/log-entry.d.ts.map +0 -1
- package/dist/logger/contracts/log-entry.js +0 -2
- package/dist/logger/contracts/log-entry.js.map +0 -1
- package/dist/logger/contracts/log-level.d.ts +0 -16
- package/dist/logger/contracts/log-level.d.ts.map +0 -1
- package/dist/logger/contracts/log-level.js +0 -22
- package/dist/logger/contracts/log-level.js.map +0 -1
- package/dist/logger/formatters/formatter.interface.d.ts +0 -14
- package/dist/logger/formatters/formatter.interface.d.ts.map +0 -1
- package/dist/logger/formatters/formatter.interface.js +0 -2
- package/dist/logger/formatters/formatter.interface.js.map +0 -1
- package/dist/logger/formatters/index.d.ts +0 -4
- package/dist/logger/formatters/index.d.ts.map +0 -1
- package/dist/logger/formatters/index.js +0 -4
- package/dist/logger/formatters/index.js.map +0 -1
- package/dist/logger/formatters/json-formatter.d.ts +0 -21
- package/dist/logger/formatters/json-formatter.d.ts.map +0 -1
- package/dist/logger/formatters/json-formatter.js +0 -27
- package/dist/logger/formatters/json-formatter.js.map +0 -1
- package/dist/logger/formatters/pretty-formatter.d.ts +0 -18
- package/dist/logger/formatters/pretty-formatter.d.ts.map +0 -1
- package/dist/logger/formatters/pretty-formatter.js +0 -41
- package/dist/logger/formatters/pretty-formatter.js.map +0 -1
- package/dist/logger/index.d.ts +0 -7
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/index.js +0 -10
- package/dist/logger/index.js.map +0 -1
- package/dist/logger/logger.tokens.d.ts +0 -29
- package/dist/logger/logger.tokens.d.ts.map +0 -1
- package/dist/logger/logger.tokens.js +0 -29
- package/dist/logger/logger.tokens.js.map +0 -1
- package/dist/logger/services/index.d.ts +0 -2
- package/dist/logger/services/index.d.ts.map +0 -1
- package/dist/logger/services/index.js +0 -2
- package/dist/logger/services/index.js.map +0 -1
- package/dist/logger/services/logger.service.d.ts +0 -73
- package/dist/logger/services/logger.service.d.ts.map +0 -1
- package/dist/logger/services/logger.service.js +0 -156
- package/dist/logger/services/logger.service.js.map +0 -1
- package/dist/logger/transports/base-transport.d.ts +0 -24
- package/dist/logger/transports/base-transport.d.ts.map +0 -1
- package/dist/logger/transports/base-transport.js +0 -23
- package/dist/logger/transports/base-transport.js.map +0 -1
- package/dist/logger/transports/console-transport.d.ts +0 -19
- package/dist/logger/transports/console-transport.d.ts.map +0 -1
- package/dist/logger/transports/console-transport.js +0 -53
- package/dist/logger/transports/console-transport.js.map +0 -1
- package/dist/logger/transports/index.d.ts +0 -4
- package/dist/logger/transports/index.d.ts.map +0 -1
- package/dist/logger/transports/index.js +0 -4
- package/dist/logger/transports/index.js.map +0 -1
- package/dist/logger/transports/transport.interface.d.ts +0 -21
- package/dist/logger/transports/transport.interface.d.ts.map +0 -1
- package/dist/logger/transports/transport.interface.js +0 -2
- package/dist/logger/transports/transport.interface.js.map +0 -1
- package/dist/middleware/index.d.ts +0 -24
- package/dist/middleware/index.d.ts.map +0 -1
- package/dist/middleware/index.js +0 -23
- package/dist/middleware/index.js.map +0 -1
- package/dist/middleware/middleware-configuration.service.d.ts +0 -70
- package/dist/middleware/middleware-configuration.service.d.ts.map +0 -1
- package/dist/middleware/middleware-configuration.service.js +0 -239
- package/dist/middleware/middleware-configuration.service.js.map +0 -1
- package/dist/middleware/middleware-consumer.d.ts +0 -57
- package/dist/middleware/middleware-consumer.d.ts.map +0 -1
- package/dist/middleware/middleware-consumer.js +0 -130
- package/dist/middleware/middleware-consumer.js.map +0 -1
- package/dist/middleware/types.d.ts +0 -96
- package/dist/middleware/types.d.ts.map +0 -1
- package/dist/middleware/types.js +0 -2
- package/dist/middleware/types.js.map +0 -1
- package/dist/module/errors/index.d.ts +0 -5
- package/dist/module/errors/index.d.ts.map +0 -1
- package/dist/module/errors/index.js +0 -5
- package/dist/module/errors/index.js.map +0 -1
- package/dist/module/errors/invalid-module-provider.error.d.ts +0 -11
- package/dist/module/errors/invalid-module-provider.error.d.ts.map +0 -1
- package/dist/module/errors/invalid-module-provider.error.js +0 -13
- package/dist/module/errors/invalid-module-provider.error.js.map +0 -1
- package/dist/module/errors/module-already-registered.error.d.ts +0 -11
- package/dist/module/errors/module-already-registered.error.d.ts.map +0 -1
- package/dist/module/errors/module-already-registered.error.js +0 -13
- package/dist/module/errors/module-already-registered.error.js.map +0 -1
- package/dist/module/errors/module-circular-dependency.error.d.ts +0 -11
- package/dist/module/errors/module-circular-dependency.error.d.ts.map +0 -1
- package/dist/module/errors/module-circular-dependency.error.js +0 -14
- package/dist/module/errors/module-circular-dependency.error.js.map +0 -1
- package/dist/module/errors/module-dependency-not-found.error.d.ts +0 -11
- package/dist/module/errors/module-dependency-not-found.error.d.ts.map +0 -1
- package/dist/module/errors/module-dependency-not-found.error.js +0 -13
- package/dist/module/errors/module-dependency-not-found.error.js.map +0 -1
- package/dist/module/index.d.ts +0 -4
- package/dist/module/index.d.ts.map +0 -1
- package/dist/module/index.js +0 -7
- package/dist/module/index.js.map +0 -1
- package/dist/module/module-registry.d.ts +0 -110
- package/dist/module/module-registry.d.ts.map +0 -1
- package/dist/module/module-registry.js +0 -299
- package/dist/module/module-registry.js.map +0 -1
- package/dist/module/module.decorator.d.ts +0 -34
- package/dist/module/module.decorator.d.ts.map +0 -1
- package/dist/module/module.decorator.js +0 -107
- package/dist/module/module.decorator.js.map +0 -1
- package/dist/module/types.d.ts +0 -240
- package/dist/module/types.d.ts.map +0 -1
- package/dist/module/types.js +0 -8
- package/dist/module/types.js.map +0 -1
- package/dist/openapi/index.d.ts +0 -5
- package/dist/openapi/index.d.ts.map +0 -1
- package/dist/openapi/index.js +0 -7
- package/dist/openapi/index.js.map +0 -1
- package/dist/openapi/openapi.module.d.ts +0 -52
- package/dist/openapi/openapi.module.d.ts.map +0 -1
- package/dist/openapi/openapi.module.js +0 -109
- package/dist/openapi/openapi.module.js.map +0 -1
- package/dist/openapi/openapi.tokens.d.ts +0 -12
- package/dist/openapi/openapi.tokens.d.ts.map +0 -1
- package/dist/openapi/openapi.tokens.js +0 -12
- package/dist/openapi/openapi.tokens.js.map +0 -1
- package/dist/openapi/services/index.d.ts +0 -3
- package/dist/openapi/services/index.d.ts.map +0 -1
- package/dist/openapi/services/index.js +0 -3
- package/dist/openapi/services/index.js.map +0 -1
- package/dist/openapi/services/openapi-config.service.d.ts +0 -43
- package/dist/openapi/services/openapi-config.service.d.ts.map +0 -1
- package/dist/openapi/services/openapi-config.service.js +0 -98
- package/dist/openapi/services/openapi-config.service.js.map +0 -1
- package/dist/openapi/services/openapi.service.d.ts +0 -52
- package/dist/openapi/services/openapi.service.d.ts.map +0 -1
- package/dist/openapi/services/openapi.service.js +0 -231
- package/dist/openapi/services/openapi.service.js.map +0 -1
- package/dist/openapi/types.d.ts +0 -84
- package/dist/openapi/types.d.ts.map +0 -1
- package/dist/openapi/types.js +0 -2
- package/dist/openapi/types.js.map +0 -1
- package/dist/queue/consumer-registry.d.ts +0 -77
- package/dist/queue/consumer-registry.d.ts.map +0 -1
- package/dist/queue/consumer-registry.js +0 -110
- package/dist/queue/consumer-registry.js.map +0 -1
- package/dist/queue/decorators/index.d.ts +0 -2
- package/dist/queue/decorators/index.d.ts.map +0 -1
- package/dist/queue/decorators/index.js +0 -2
- package/dist/queue/decorators/index.js.map +0 -1
- package/dist/queue/decorators/inject-queue.decorator.d.ts +0 -31
- package/dist/queue/decorators/inject-queue.decorator.d.ts.map +0 -1
- package/dist/queue/decorators/inject-queue.decorator.js +0 -33
- package/dist/queue/decorators/inject-queue.decorator.js.map +0 -1
- package/dist/queue/errors/index.d.ts +0 -3
- package/dist/queue/errors/index.d.ts.map +0 -1
- package/dist/queue/errors/index.js +0 -3
- package/dist/queue/errors/index.js.map +0 -1
- package/dist/queue/errors/queue-binding-not-found.error.d.ts +0 -12
- package/dist/queue/errors/queue-binding-not-found.error.d.ts.map +0 -1
- package/dist/queue/errors/queue-binding-not-found.error.js +0 -14
- package/dist/queue/errors/queue-binding-not-found.error.js.map +0 -1
- package/dist/queue/errors/queue-provider-not-supported.error.d.ts +0 -13
- package/dist/queue/errors/queue-provider-not-supported.error.d.ts.map +0 -1
- package/dist/queue/errors/queue-provider-not-supported.error.js +0 -15
- package/dist/queue/errors/queue-provider-not-supported.error.js.map +0 -1
- package/dist/queue/index.d.ts +0 -14
- package/dist/queue/index.d.ts.map +0 -1
- package/dist/queue/index.js +0 -21
- package/dist/queue/index.js.map +0 -1
- package/dist/queue/providers/cloudflare-queue.provider.d.ts +0 -42
- package/dist/queue/providers/cloudflare-queue.provider.d.ts.map +0 -1
- package/dist/queue/providers/cloudflare-queue.provider.js +0 -73
- package/dist/queue/providers/cloudflare-queue.provider.js.map +0 -1
- package/dist/queue/providers/index.d.ts +0 -4
- package/dist/queue/providers/index.d.ts.map +0 -1
- package/dist/queue/providers/index.js +0 -4
- package/dist/queue/providers/index.js.map +0 -1
- package/dist/queue/providers/queue-provider.interface.d.ts +0 -34
- package/dist/queue/providers/queue-provider.interface.d.ts.map +0 -1
- package/dist/queue/providers/queue-provider.interface.js +0 -2
- package/dist/queue/providers/queue-provider.interface.js.map +0 -1
- package/dist/queue/providers/sync-queue.provider.d.ts +0 -48
- package/dist/queue/providers/sync-queue.provider.d.ts.map +0 -1
- package/dist/queue/providers/sync-queue.provider.js +0 -89
- package/dist/queue/providers/sync-queue.provider.js.map +0 -1
- package/dist/queue/queue-consumer.d.ts +0 -62
- package/dist/queue/queue-consumer.d.ts.map +0 -1
- package/dist/queue/queue-consumer.js +0 -2
- package/dist/queue/queue-consumer.js.map +0 -1
- package/dist/queue/queue-manager.d.ts +0 -36
- package/dist/queue/queue-manager.d.ts.map +0 -1
- package/dist/queue/queue-manager.js +0 -80
- package/dist/queue/queue-manager.js.map +0 -1
- package/dist/queue/queue-name.d.ts +0 -50
- package/dist/queue/queue-name.d.ts.map +0 -1
- package/dist/queue/queue-name.js +0 -21
- package/dist/queue/queue-name.js.map +0 -1
- package/dist/queue/queue-registry.d.ts +0 -46
- package/dist/queue/queue-registry.d.ts.map +0 -1
- package/dist/queue/queue-registry.js +0 -78
- package/dist/queue/queue-registry.js.map +0 -1
- package/dist/queue/queue-sender.d.ts +0 -38
- package/dist/queue/queue-sender.d.ts.map +0 -1
- package/dist/queue/queue-sender.interface.d.ts +0 -46
- package/dist/queue/queue-sender.interface.d.ts.map +0 -1
- package/dist/queue/queue-sender.interface.js +0 -2
- package/dist/queue/queue-sender.interface.js.map +0 -1
- package/dist/queue/queue-sender.js +0 -54
- package/dist/queue/queue-sender.js.map +0 -1
- package/dist/queue/queue.module.d.ts +0 -80
- package/dist/queue/queue.module.d.ts.map +0 -1
- package/dist/queue/queue.module.js +0 -113
- package/dist/queue/queue.module.js.map +0 -1
- package/dist/queue/queue.tokens.d.ts +0 -7
- package/dist/queue/queue.tokens.d.ts.map +0 -1
- package/dist/queue/queue.tokens.js +0 -6
- package/dist/queue/queue.tokens.js.map +0 -1
- package/dist/queue/services/index.d.ts +0 -2
- package/dist/queue/services/index.d.ts.map +0 -1
- package/dist/queue/services/index.js +0 -2
- package/dist/queue/services/index.js.map +0 -1
- package/dist/queue/services/queue-provider-factory.d.ts +0 -41
- package/dist/queue/services/queue-provider-factory.d.ts.map +0 -1
- package/dist/queue/services/queue-provider-factory.js +0 -78
- package/dist/queue/services/queue-provider-factory.js.map +0 -1
- package/dist/router/constants.d.ts +0 -87
- package/dist/router/constants.d.ts.map +0 -1
- package/dist/router/constants.js +0 -69
- package/dist/router/constants.js.map +0 -1
- package/dist/router/controller.d.ts +0 -56
- package/dist/router/controller.d.ts.map +0 -1
- package/dist/router/controller.js +0 -2
- package/dist/router/controller.js.map +0 -1
- package/dist/router/decorators/controller.decorator.d.ts +0 -46
- package/dist/router/decorators/controller.decorator.d.ts.map +0 -1
- package/dist/router/decorators/controller.decorator.js +0 -70
- package/dist/router/decorators/controller.decorator.js.map +0 -1
- package/dist/router/decorators/http-method.decorator.d.ts +0 -83
- package/dist/router/decorators/http-method.decorator.d.ts.map +0 -1
- package/dist/router/decorators/http-method.decorator.js +0 -113
- package/dist/router/decorators/http-method.decorator.js.map +0 -1
- package/dist/router/decorators/index.d.ts +0 -4
- package/dist/router/decorators/index.d.ts.map +0 -1
- package/dist/router/decorators/index.js +0 -6
- package/dist/router/decorators/index.js.map +0 -1
- package/dist/router/decorators/route.decorator.d.ts +0 -90
- package/dist/router/decorators/route.decorator.d.ts.map +0 -1
- package/dist/router/decorators/route.decorator.js +0 -102
- package/dist/router/decorators/route.decorator.js.map +0 -1
- package/dist/router/errors/controller-method-not-found.error.d.ts +0 -11
- package/dist/router/errors/controller-method-not-found.error.d.ts.map +0 -1
- package/dist/router/errors/controller-method-not-found.error.js +0 -13
- package/dist/router/errors/controller-method-not-found.error.js.map +0 -1
- package/dist/router/errors/controller-registration.error.d.ts +0 -15
- package/dist/router/errors/controller-registration.error.d.ts.map +0 -1
- package/dist/router/errors/controller-registration.error.js +0 -20
- package/dist/router/errors/controller-registration.error.js.map +0 -1
- package/dist/router/errors/hono-app-already-configured.error.d.ts +0 -10
- package/dist/router/errors/hono-app-already-configured.error.d.ts.map +0 -1
- package/dist/router/errors/hono-app-already-configured.error.js +0 -12
- package/dist/router/errors/hono-app-already-configured.error.js.map +0 -1
- package/dist/router/errors/index.d.ts +0 -8
- package/dist/router/errors/index.d.ts.map +0 -1
- package/dist/router/errors/index.js +0 -8
- package/dist/router/errors/index.js.map +0 -1
- package/dist/router/errors/openapi-route-registration.error.d.ts +0 -17
- package/dist/router/errors/openapi-route-registration.error.d.ts.map +0 -1
- package/dist/router/errors/openapi-route-registration.error.js +0 -19
- package/dist/router/errors/openapi-route-registration.error.js.map +0 -1
- package/dist/router/errors/openapi-validation.error.d.ts +0 -19
- package/dist/router/errors/openapi-validation.error.d.ts.map +0 -1
- package/dist/router/errors/openapi-validation.error.js +0 -21
- package/dist/router/errors/openapi-validation.error.js.map +0 -1
- package/dist/router/errors/route-not-found.error.d.ts +0 -11
- package/dist/router/errors/route-not-found.error.d.ts.map +0 -1
- package/dist/router/errors/route-not-found.error.js +0 -13
- package/dist/router/errors/route-not-found.error.js.map +0 -1
- package/dist/router/errors/schema-validation.error.d.ts +0 -11
- package/dist/router/errors/schema-validation.error.d.ts.map +0 -1
- package/dist/router/errors/schema-validation.error.js +0 -17
- package/dist/router/errors/schema-validation.error.js.map +0 -1
- package/dist/router/hono-app.d.ts +0 -38
- package/dist/router/hono-app.d.ts.map +0 -1
- package/dist/router/hono-app.js +0 -126
- package/dist/router/hono-app.js.map +0 -1
- package/dist/router/index.d.ts +0 -16
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/index.js +0 -21
- package/dist/router/index.js.map +0 -1
- package/dist/router/middleware/index.d.ts +0 -2
- package/dist/router/middleware/index.d.ts.map +0 -1
- package/dist/router/middleware/index.js +0 -4
- package/dist/router/middleware/index.js.map +0 -1
- package/dist/router/middleware/logger.middleware.d.ts +0 -19
- package/dist/router/middleware/logger.middleware.d.ts.map +0 -1
- package/dist/router/middleware/logger.middleware.js +0 -32
- package/dist/router/middleware/logger.middleware.js.map +0 -1
- package/dist/router/middleware.interface.d.ts +0 -38
- package/dist/router/middleware.interface.d.ts.map +0 -1
- package/dist/router/middleware.interface.js +0 -2
- package/dist/router/middleware.interface.js.map +0 -1
- package/dist/router/router-context.d.ts +0 -143
- package/dist/router/router-context.d.ts.map +0 -1
- package/dist/router/router-context.js +0 -179
- package/dist/router/router-context.js.map +0 -1
- package/dist/router/router.tokens.d.ts +0 -11
- package/dist/router/router.tokens.d.ts.map +0 -1
- package/dist/router/router.tokens.js +0 -11
- package/dist/router/router.tokens.js.map +0 -1
- package/dist/router/schemas/common.schemas.d.ts +0 -148
- package/dist/router/schemas/common.schemas.d.ts.map +0 -1
- package/dist/router/schemas/common.schemas.js +0 -88
- package/dist/router/schemas/common.schemas.js.map +0 -1
- package/dist/router/schemas/index.d.ts +0 -2
- package/dist/router/schemas/index.d.ts.map +0 -1
- package/dist/router/schemas/index.js +0 -2
- package/dist/router/schemas/index.js.map +0 -1
- package/dist/router/services/index.d.ts +0 -6
- package/dist/router/services/index.d.ts.map +0 -1
- package/dist/router/services/index.js +0 -6
- package/dist/router/services/index.js.map +0 -1
- package/dist/router/services/route-registration.service.d.ts +0 -129
- package/dist/router/services/route-registration.service.d.ts.map +0 -1
- package/dist/router/services/route-registration.service.js +0 -700
- package/dist/router/services/route-registration.service.js.map +0 -1
- package/dist/router/types.d.ts +0 -187
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -2
- package/dist/router/types.js.map +0 -1
- package/dist/storage/contracts/delete-file.input.d.ts +0 -7
- package/dist/storage/contracts/delete-file.input.d.ts.map +0 -1
- package/dist/storage/contracts/delete-file.input.js +0 -6
- package/dist/storage/contracts/delete-file.input.js.map +0 -1
- package/dist/storage/contracts/download-result.d.ts +0 -28
- package/dist/storage/contracts/download-result.d.ts.map +0 -1
- package/dist/storage/contracts/download-result.js +0 -2
- package/dist/storage/contracts/download-result.js.map +0 -1
- package/dist/storage/contracts/file-exists.input.d.ts +0 -7
- package/dist/storage/contracts/file-exists.input.d.ts.map +0 -1
- package/dist/storage/contracts/file-exists.input.js +0 -6
- package/dist/storage/contracts/file-exists.input.js.map +0 -1
- package/dist/storage/contracts/get-presigned-url.input.d.ts +0 -26
- package/dist/storage/contracts/get-presigned-url.input.d.ts.map +0 -1
- package/dist/storage/contracts/get-presigned-url.input.js +0 -14
- package/dist/storage/contracts/get-presigned-url.input.js.map +0 -1
- package/dist/storage/contracts/index.d.ts +0 -6
- package/dist/storage/contracts/index.d.ts.map +0 -1
- package/dist/storage/contracts/index.js +0 -6
- package/dist/storage/contracts/index.js.map +0 -1
- package/dist/storage/contracts/upload-file.input.d.ts +0 -34
- package/dist/storage/contracts/upload-file.input.d.ts.map +0 -1
- package/dist/storage/contracts/upload-file.input.js +0 -10
- package/dist/storage/contracts/upload-file.input.js.map +0 -1
- package/dist/storage/dom.polyfill.d.ts +0 -2
- package/dist/storage/dom.polyfill.d.ts.map +0 -1
- package/dist/storage/dom.polyfill.js +0 -30
- package/dist/storage/dom.polyfill.js.map +0 -1
- package/dist/storage/errors/disk-not-configured.error.d.ts +0 -5
- package/dist/storage/errors/disk-not-configured.error.d.ts.map +0 -1
- package/dist/storage/errors/disk-not-configured.error.js +0 -7
- package/dist/storage/errors/disk-not-configured.error.js.map +0 -1
- package/dist/storage/errors/file-not-found.error.d.ts +0 -5
- package/dist/storage/errors/file-not-found.error.d.ts.map +0 -1
- package/dist/storage/errors/file-not-found.error.js +0 -8
- package/dist/storage/errors/file-not-found.error.js.map +0 -1
- package/dist/storage/errors/file-too-large.error.d.ts +0 -5
- package/dist/storage/errors/file-too-large.error.d.ts.map +0 -1
- package/dist/storage/errors/file-too-large.error.js +0 -11
- package/dist/storage/errors/file-too-large.error.js.map +0 -1
- package/dist/storage/errors/index.d.ts +0 -9
- package/dist/storage/errors/index.d.ts.map +0 -1
- package/dist/storage/errors/index.js +0 -9
- package/dist/storage/errors/index.js.map +0 -1
- package/dist/storage/errors/invalid-disk.error.d.ts +0 -5
- package/dist/storage/errors/invalid-disk.error.d.ts.map +0 -1
- package/dist/storage/errors/invalid-disk.error.js +0 -8
- package/dist/storage/errors/invalid-disk.error.js.map +0 -1
- package/dist/storage/errors/invalid-file-type.error.d.ts +0 -5
- package/dist/storage/errors/invalid-file-type.error.d.ts.map +0 -1
- package/dist/storage/errors/invalid-file-type.error.js +0 -10
- package/dist/storage/errors/invalid-file-type.error.js.map +0 -1
- package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts +0 -5
- package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts.map +0 -1
- package/dist/storage/errors/presigned-url-invalid-expiry.error.js +0 -12
- package/dist/storage/errors/presigned-url-invalid-expiry.error.js.map +0 -1
- package/dist/storage/errors/storage-provider-not-supported.error.d.ts +0 -5
- package/dist/storage/errors/storage-provider-not-supported.error.d.ts.map +0 -1
- package/dist/storage/errors/storage-provider-not-supported.error.js +0 -8
- package/dist/storage/errors/storage-provider-not-supported.error.js.map +0 -1
- package/dist/storage/errors/storage-response-body-missing.error.d.ts +0 -5
- package/dist/storage/errors/storage-response-body-missing.error.d.ts.map +0 -1
- package/dist/storage/errors/storage-response-body-missing.error.js +0 -8
- package/dist/storage/errors/storage-response-body-missing.error.js.map +0 -1
- package/dist/storage/index.d.ts +0 -15
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -18
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/providers/s3-multipart-provider.interface.d.ts +0 -194
- package/dist/storage/providers/s3-multipart-provider.interface.d.ts.map +0 -1
- package/dist/storage/providers/s3-multipart-provider.interface.js +0 -2
- package/dist/storage/providers/s3-multipart-provider.interface.js.map +0 -1
- package/dist/storage/providers/s3-storage.provider.d.ts +0 -77
- package/dist/storage/providers/s3-storage.provider.d.ts.map +0 -1
- package/dist/storage/providers/s3-storage.provider.js +0 -310
- package/dist/storage/providers/s3-storage.provider.js.map +0 -1
- package/dist/storage/providers/storage-provider.interface.d.ts +0 -58
- package/dist/storage/providers/storage-provider.interface.d.ts.map +0 -1
- package/dist/storage/providers/storage-provider.interface.js +0 -2
- package/dist/storage/providers/storage-provider.interface.js.map +0 -1
- package/dist/storage/services/storage-manager.service.d.ts +0 -48
- package/dist/storage/services/storage-manager.service.d.ts.map +0 -1
- package/dist/storage/services/storage-manager.service.js +0 -111
- package/dist/storage/services/storage-manager.service.js.map +0 -1
- package/dist/storage/services/storage.service.d.ts +0 -137
- package/dist/storage/services/storage.service.d.ts.map +0 -1
- package/dist/storage/services/storage.service.js +0 -229
- package/dist/storage/services/storage.service.js.map +0 -1
- package/dist/storage/storage.module.d.ts +0 -52
- package/dist/storage/storage.module.d.ts.map +0 -1
- package/dist/storage/storage.module.js +0 -81
- package/dist/storage/storage.module.js.map +0 -1
- package/dist/storage/storage.tokens.d.ts +0 -10
- package/dist/storage/storage.tokens.d.ts.map +0 -1
- package/dist/storage/storage.tokens.js +0 -10
- package/dist/storage/storage.tokens.js.map +0 -1
- package/dist/storage/types.d.ts +0 -31
- package/dist/storage/types.d.ts.map +0 -1
- package/dist/storage/types.js +0 -2
- package/dist/storage/types.js.map +0 -1
- package/dist/stratal.d.ts +0 -39
- package/dist/stratal.d.ts.map +0 -1
- package/dist/stratal.js +0 -77
- package/dist/stratal.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/websocket/decorators/gateway.decorator.d.ts +0 -39
- package/dist/websocket/decorators/gateway.decorator.d.ts.map +0 -1
- package/dist/websocket/decorators/gateway.decorator.js +0 -55
- package/dist/websocket/decorators/gateway.decorator.js.map +0 -1
- package/dist/websocket/decorators/index.d.ts +0 -3
- package/dist/websocket/decorators/index.d.ts.map +0 -1
- package/dist/websocket/decorators/index.js +0 -3
- package/dist/websocket/decorators/index.js.map +0 -1
- package/dist/websocket/decorators/ws-event.decorator.d.ts +0 -59
- package/dist/websocket/decorators/ws-event.decorator.d.ts.map +0 -1
- package/dist/websocket/decorators/ws-event.decorator.js +0 -94
- package/dist/websocket/decorators/ws-event.decorator.js.map +0 -1
- package/dist/websocket/errors/websocket-body-not-available.error.d.ts +0 -5
- package/dist/websocket/errors/websocket-body-not-available.error.d.ts.map +0 -1
- package/dist/websocket/errors/websocket-body-not-available.error.js +0 -7
- package/dist/websocket/errors/websocket-body-not-available.error.js.map +0 -1
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.d.ts +0 -5
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.d.ts.map +0 -1
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.js +0 -7
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.js.map +0 -1
- package/dist/websocket/gateway-context.d.ts +0 -51
- package/dist/websocket/gateway-context.d.ts.map +0 -1
- package/dist/websocket/gateway-context.js +0 -66
- package/dist/websocket/gateway-context.js.map +0 -1
- package/dist/websocket/index.d.ts +0 -7
- package/dist/websocket/index.d.ts.map +0 -1
- package/dist/websocket/index.js +0 -5
- package/dist/websocket/index.js.map +0 -1
- package/dist/websocket/types.d.ts +0 -7
- package/dist/websocket/types.d.ts.map +0 -1
- package/dist/websocket/types.js +0 -2
- package/dist/websocket/types.js.map +0 -1
- package/dist/workers/index.d.ts +0 -5
- package/dist/workers/index.d.ts.map +0 -1
- package/dist/workers/index.js +0 -5
- package/dist/workers/index.js.map +0 -1
- package/dist/workers/run-in-scope.d.ts +0 -9
- package/dist/workers/run-in-scope.d.ts.map +0 -1
- package/dist/workers/run-in-scope.js +0 -13
- package/dist/workers/run-in-scope.js.map +0 -1
- package/dist/workers/stratal-durable-object.d.ts +0 -28
- package/dist/workers/stratal-durable-object.d.ts.map +0 -1
- package/dist/workers/stratal-durable-object.js +0 -34
- package/dist/workers/stratal-durable-object.js.map +0 -1
- package/dist/workers/stratal-worker-entrypoint.d.ts +0 -27
- package/dist/workers/stratal-worker-entrypoint.d.ts.map +0 -1
- package/dist/workers/stratal-worker-entrypoint.js +0 -28
- package/dist/workers/stratal-worker-entrypoint.js.map +0 -1
- package/dist/workers/stratal-workflow.d.ts +0 -27
- package/dist/workers/stratal-workflow.d.ts.map +0 -1
- package/dist/workers/stratal-workflow.js +0 -28
- package/dist/workers/stratal-workflow.js.map +0 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { dt as OnInitialize, it as DynamicModule, lt as ModuleContext, ot as FactoryProvider } from "../index-C9bIk5tt.mjs";
|
|
2
|
+
import { o as z } from "../index-Dl4RvzNp.mjs";
|
|
3
|
+
import { InjectionToken } from "tsyringe";
|
|
4
|
+
|
|
5
|
+
//#region src/config/config.tokens.d.ts
|
|
6
|
+
declare const CONFIG_TOKENS: {
|
|
7
|
+
readonly ConfigService: symbol;
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/config/register-as.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* Configuration namespace registration result
|
|
13
|
+
*/
|
|
14
|
+
interface ConfigNamespace<TKey extends string, TEnv, TConfig extends object> {
|
|
15
|
+
/** Auto-derived injection token (e.g., 'database' -> Symbol('stratal:config:database')) */
|
|
16
|
+
readonly KEY: InjectionToken<TConfig>;
|
|
17
|
+
/** The namespace key */
|
|
18
|
+
readonly namespace: TKey;
|
|
19
|
+
/** The factory function that receives env and returns config */
|
|
20
|
+
readonly factory: (env: TEnv) => TConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Returns a provider configuration for use in module registration
|
|
23
|
+
* Automatically injects DI_TOKENS.CloudflareEnv
|
|
24
|
+
*/
|
|
25
|
+
asProvider(): FactoryProvider<TConfig>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a namespaced configuration factory
|
|
29
|
+
* Similar to NestJS registerAs
|
|
30
|
+
*
|
|
31
|
+
* @param namespace - Configuration namespace (e.g., 'database', 'email')
|
|
32
|
+
* @param factory - Factory function receiving env and returning config object
|
|
33
|
+
* @returns ConfigNamespace with token, factory, and asProvider() method
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // apps/backend/src/config/database.config.ts
|
|
38
|
+
* export const databaseConfig = registerAs('database', (env: Env) => ({
|
|
39
|
+
* url: env.DATABASE_URL,
|
|
40
|
+
* maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),
|
|
41
|
+
* }))
|
|
42
|
+
*
|
|
43
|
+
* // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')
|
|
44
|
+
*
|
|
45
|
+
* // Usage in module:
|
|
46
|
+
* // Option 1: Manual provider
|
|
47
|
+
* {
|
|
48
|
+
* provide: databaseConfig.KEY,
|
|
49
|
+
* useFactory: databaseConfig.factory,
|
|
50
|
+
* inject: [DI_TOKENS.CloudflareEnv]
|
|
51
|
+
* }
|
|
52
|
+
*
|
|
53
|
+
* // Option 2: asProvider() helper
|
|
54
|
+
* databaseConfig.asProvider()
|
|
55
|
+
* // Returns: { provide: databaseConfig.KEY, useFactory: ..., inject: [DI_TOKENS.CloudflareEnv] }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
declare function registerAs<TKey extends string, TEnv, TConfig extends object>(namespace: TKey, factory: (env: TEnv) => TConfig): ConfigNamespace<TKey, TEnv, TConfig>;
|
|
59
|
+
/**
|
|
60
|
+
* Helper to derive config type from registerAs result
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const databaseConfig = registerAs('database', (env) => ({ url: env.DATABASE_URL }))
|
|
65
|
+
* type DatabaseConfig = InferConfigType<typeof databaseConfig>
|
|
66
|
+
* // { url: string }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
type InferConfigType<T> = T extends ConfigNamespace<string, unknown, infer C> ? C : never;
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/config/config.module.d.ts
|
|
72
|
+
/**
|
|
73
|
+
* Any config namespace - uses structural typing for flexibility
|
|
74
|
+
*/
|
|
75
|
+
type AnyConfigNamespace = ConfigNamespace<string, any, object>;
|
|
76
|
+
/**
|
|
77
|
+
* Options for ConfigModule.forRoot
|
|
78
|
+
*/
|
|
79
|
+
interface ConfigModuleOptions {
|
|
80
|
+
/**
|
|
81
|
+
* Array of config namespaces created via registerAs()
|
|
82
|
+
*/
|
|
83
|
+
load: AnyConfigNamespace[];
|
|
84
|
+
/**
|
|
85
|
+
* Optional Zod schema for validating the merged config
|
|
86
|
+
* Validates the entire config object after all namespaces are merged
|
|
87
|
+
*/
|
|
88
|
+
validateSchema?: z.ZodType<object>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* ConfigModule
|
|
92
|
+
*
|
|
93
|
+
* Provides configuration management with namespace support.
|
|
94
|
+
* Uses registerAs() to create typed config namespaces that can be injected.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* // Define config namespaces
|
|
99
|
+
* const databaseConfig = registerAs('database', (env) => ({
|
|
100
|
+
* url: env.DATABASE_URL,
|
|
101
|
+
* maxConnections: 10
|
|
102
|
+
* }))
|
|
103
|
+
*
|
|
104
|
+
* const emailConfig = registerAs('email', (env) => ({
|
|
105
|
+
* provider: env.EMAIL_PROVIDER,
|
|
106
|
+
* from: { name: 'App', email: 'noreply@example.com' }
|
|
107
|
+
* }))
|
|
108
|
+
*
|
|
109
|
+
* // Register in module
|
|
110
|
+
* @Module({
|
|
111
|
+
* imports: [
|
|
112
|
+
* ConfigModule.forRoot({
|
|
113
|
+
* load: [databaseConfig, emailConfig],
|
|
114
|
+
* validateSchema: AppConfigSchema
|
|
115
|
+
* })
|
|
116
|
+
* ]
|
|
117
|
+
* })
|
|
118
|
+
* export class AppModule {}
|
|
119
|
+
*
|
|
120
|
+
* // Inject config
|
|
121
|
+
* constructor(
|
|
122
|
+
* @inject(CONFIG_TOKENS.ConfigService) private config: IConfigService,
|
|
123
|
+
* @inject(databaseConfig.KEY) private dbConfig: DatabaseConfig
|
|
124
|
+
* ) {
|
|
125
|
+
* // Use dot notation
|
|
126
|
+
* const url = this.config.get('database.url')
|
|
127
|
+
*
|
|
128
|
+
* // Or inject namespace directly
|
|
129
|
+
* const url = this.dbConfig.url
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
declare class ConfigModule implements OnInitialize {
|
|
134
|
+
/**
|
|
135
|
+
* Configure ConfigModule with namespace loaders
|
|
136
|
+
*
|
|
137
|
+
* @param options - Configuration options
|
|
138
|
+
* @returns Dynamic module with config infrastructure
|
|
139
|
+
*/
|
|
140
|
+
static forRoot(options: ConfigModuleOptions): DynamicModule;
|
|
141
|
+
/**
|
|
142
|
+
* Initialize config service with merged namespaces
|
|
143
|
+
* Called after all providers are registered
|
|
144
|
+
*/
|
|
145
|
+
onInitialize(context: ModuleContext): void;
|
|
146
|
+
}
|
|
147
|
+
//#endregion
|
|
148
|
+
//#region src/config/config.types.d.ts
|
|
149
|
+
declare class ConfigValidationError extends Error {
|
|
150
|
+
readonly errors: z.ZodError;
|
|
151
|
+
constructor(message: string, errors: z.ZodError);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Configuration that can be augmented by applications
|
|
155
|
+
* Apps should augment this interface with their AppConfig type using module augmentation
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* // In your app (e.g., apps/backend/src/config/types.ts)
|
|
160
|
+
* declare module 'stratal' {
|
|
161
|
+
* interface ModuleConfig {
|
|
162
|
+
* database: { url: string; maxConnections: number }
|
|
163
|
+
* email: { provider: string; from: { name: string; email: string } }
|
|
164
|
+
* }
|
|
165
|
+
* }
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
interface ModuleConfig {}
|
|
169
|
+
/**
|
|
170
|
+
* Generate all valid dot-notation paths from a config object type
|
|
171
|
+
* @example ConfigPath<{ database: { url: string } }> = 'database' | 'database.url'
|
|
172
|
+
*/
|
|
173
|
+
type ConfigPath<T> = { [K in keyof T & string]: T[K] extends Record<string, unknown> ? K | `${K}.${ConfigPath<T[K]>}` : K }[keyof T & string];
|
|
174
|
+
/**
|
|
175
|
+
* Get the value type at a dot-notation path
|
|
176
|
+
* @example ConfigPathValue<{ database: { url: string } }, 'database.url'> = string
|
|
177
|
+
*/
|
|
178
|
+
type ConfigPathValue<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? T[K] extends Record<string, unknown> ? ConfigPathValue<T[K], Rest> : never : never : P extends keyof T ? T[P] : never;
|
|
179
|
+
/**
|
|
180
|
+
* ConfigService interface with dot notation support
|
|
181
|
+
*/
|
|
182
|
+
interface IConfigService<T extends object = ModuleConfig> {
|
|
183
|
+
/**
|
|
184
|
+
* Initialize the config service with validated configuration
|
|
185
|
+
* Should be called once during application startup
|
|
186
|
+
*/
|
|
187
|
+
initialize(config: T): void;
|
|
188
|
+
/**
|
|
189
|
+
* Get config value using dot notation
|
|
190
|
+
* @example config.get('database.url')
|
|
191
|
+
*/
|
|
192
|
+
get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P>;
|
|
193
|
+
/**
|
|
194
|
+
* Set config value at runtime (for runtime overrides)
|
|
195
|
+
* @example config.set('email.from.name', 'Custom Name')
|
|
196
|
+
*/
|
|
197
|
+
set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void;
|
|
198
|
+
/**
|
|
199
|
+
* Reset config to original value
|
|
200
|
+
* @param path - Optional path to reset (resets entire config if omitted)
|
|
201
|
+
*/
|
|
202
|
+
reset(path?: ConfigPath<T>): void;
|
|
203
|
+
/**
|
|
204
|
+
* Get entire config object
|
|
205
|
+
*/
|
|
206
|
+
all(): Readonly<T>;
|
|
207
|
+
/**
|
|
208
|
+
* Check if a config path exists
|
|
209
|
+
*/
|
|
210
|
+
has(path: ConfigPath<T>): boolean;
|
|
211
|
+
}
|
|
212
|
+
//#endregion
|
|
213
|
+
//#region src/config/services/config.service.d.ts
|
|
214
|
+
/**
|
|
215
|
+
* ConfigService with dot notation support for get/set operations
|
|
216
|
+
*
|
|
217
|
+
* Supports runtime overrides via set() - useful for request-specific config overrides.
|
|
218
|
+
* Use reset() to restore original values.
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* // Get with dot notation
|
|
223
|
+
* const url = config.get('database.url')
|
|
224
|
+
* const fromName = config.get('email.from.name')
|
|
225
|
+
*
|
|
226
|
+
* // Set at runtime (e.g., in middleware for runtime override)
|
|
227
|
+
* config.set('email.from.name', 'Custom Name')
|
|
228
|
+
*
|
|
229
|
+
* // Reset to original
|
|
230
|
+
* config.reset('email.from.name') // reset specific path
|
|
231
|
+
* config.reset() // reset entire config
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
declare class ConfigService<T extends object = ModuleConfig> implements IConfigService<T> {
|
|
235
|
+
private originalConfig;
|
|
236
|
+
private currentConfig;
|
|
237
|
+
/**
|
|
238
|
+
* Initialize the config service with validated configuration
|
|
239
|
+
* Called by ConfigModule during initialization
|
|
240
|
+
*/
|
|
241
|
+
initialize(config: T): void;
|
|
242
|
+
/**
|
|
243
|
+
* Get config value using dot notation
|
|
244
|
+
* @example config.get('database.url')
|
|
245
|
+
*/
|
|
246
|
+
get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P>;
|
|
247
|
+
/**
|
|
248
|
+
* Set config value at runtime (for runtime overrides)
|
|
249
|
+
* @example config.set('email.from.name', 'Custom Name')
|
|
250
|
+
*/
|
|
251
|
+
set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void;
|
|
252
|
+
/**
|
|
253
|
+
* Reset config to original value
|
|
254
|
+
* @param path - Optional path to reset (resets entire config if omitted)
|
|
255
|
+
*/
|
|
256
|
+
reset(path?: ConfigPath<T>): void;
|
|
257
|
+
/**
|
|
258
|
+
* Get entire config object
|
|
259
|
+
*/
|
|
260
|
+
all(): Readonly<T>;
|
|
261
|
+
/**
|
|
262
|
+
* Check if a config path exists
|
|
263
|
+
*/
|
|
264
|
+
has(path: ConfigPath<T>): boolean;
|
|
265
|
+
private getByPath;
|
|
266
|
+
private setByPath;
|
|
267
|
+
private isDangerousKey;
|
|
268
|
+
private ensureInitialized;
|
|
269
|
+
private deepClone;
|
|
270
|
+
}
|
|
271
|
+
//#endregion
|
|
272
|
+
export { CONFIG_TOKENS, ConfigModule, type ConfigModuleOptions, type ConfigNamespace, type ConfigPath, type ConfigPathValue, ConfigService, ConfigValidationError, type IConfigService, type InferConfigType, type ModuleConfig, registerAs };
|
|
273
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/config/config.tokens.ts","../../src/config/register-as.ts","../../src/config/config.module.ts","../../src/config/config.types.ts","../../src/config/services/config.service.ts"],"mappings":";;;;;cAAa,aAAA;EAAA,SAEH,aAAA;AAAA;;;;;;UCKO,eAAA;EDLP;EAAA,SCOC,GAAA,EAAK,cAAA,CAAe,OAAA;EDPrB;EAAA,SCSC,SAAA,EAAW,IAAA;;WAEX,OAAA,GAAU,GAAA,EAAK,IAAA,KAAS,OAAA;;AANnC;;;EAWE,UAAA,IAAc,eAAA,CAAgB,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAkChC;;;;;;;iBAAgB,UAAA,mDAAA,CACd,SAAA,EAAW,IAAA,EACX,OAAA,GAAU,GAAA,EAAK,IAAA,KAAS,OAAA,GACvB,eAAA,CAAgB,IAAA,EAAM,IAAA,EAAM,OAAA;;;;;;;;;;;KA2BnB,eAAA,MAAqB,CAAA,SAAU,eAAA,6BAA4C,CAAA;;;;;ADlFvF;KEeY,kBAAA,GAAqB,eAAA;;;;UAKhB,mBAAA;;;ADbjB;ECiBE,IAAA,EAAM,kBAAA;EDjBwB;;;;ECuB9B,cAAA,GAAiB,CAAA,CAAE,OAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;ADsBrB;;;;;;;;;;;;;;;;;;;;;;cCqCa,YAAA,YAAwB,YAAA;EDlCZ;;;;AA2BzB;;EA3ByB,OCyChB,OAAA,CAAQ,OAAA,EAAS,mBAAA,GAAsB,aAAA;EDdU;;;;ECkCxD,YAAA,CAAa,OAAA,EAAS,aAAA;AAAA;;;cClHX,qBAAA,SAA8B,KAAA;EAAA,SAGvB,MAAA,EAAQ,CAAA,CAAE,QAAA;cAD1B,OAAA,UACgB,MAAA,EAAQ,CAAA,CAAE,QAAA;AAAA;AHL9B;;;;;;;;ACOA;;;;;;;ADPA,UG2BiB,YAAA;;;;;KAML,UAAA,oBACE,CAAA,YAAa,CAAA,CAAE,CAAA,UAAW,MAAA,oBACpC,CAAA,MAAO,CAAA,IAAK,UAAA,CAAW,CAAA,CAAE,CAAA,OACzB,CAAA,SACI,CAAA;;;;;KAMI,eAAA,wBAAuC,CAAA,sCAC/C,CAAA,eAAgB,CAAA,GAChB,CAAA,CAAE,CAAA,UAAW,MAAA,oBACb,eAAA,CAAgB,CAAA,CAAE,CAAA,GAAI,IAAA,oBAGtB,CAAA,eAAgB,CAAA,GAChB,CAAA,CAAE,CAAA;;;;UAMW,cAAA,oBAAkC,YAAA;EFtCnC;;;;EE2Cd,UAAA,CAAW,MAAA,EAAQ,CAAA;EFTK;;;;EEexB,GAAA,WAAc,UAAA,CAAW,CAAA,GAAI,IAAA,EAAM,CAAA,GAAI,eAAA,CAAgB,CAAA,EAAG,CAAA;EFZzC;;;;EEkBjB,GAAA,WAAc,UAAA,CAAW,CAAA,GAAI,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,eAAA,CAAgB,CAAA,EAAG,CAAA;EFlBhD;;;;EEwBhB,KAAA,CAAM,IAAA,GAAO,UAAA,CAAW,CAAA;EF1BxB;;;EE+BA,GAAA,IAAO,QAAA,CAAS,CAAA;EF9BhB;;;EEmCA,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,CAAA;AAAA;;;;;;;AHzFvB;;;;;;;;ACOA;;;;;;;;cGmBa,aAAA,oBAAiC,YAAA,aAAyB,cAAA,CAAe,CAAA;EAAA,QAC5E,cAAA;EAAA,QACA,aAAA;EHVqB;;;;EGgB7B,UAAA,CAAW,MAAA,EAAQ,CAAA;EHzBL;;;;EGkCd,GAAA,WAAc,UAAA,CAAW,CAAA,EAAA,CAAI,IAAA,EAAM,CAAA,GAAI,eAAA,CAAgB,CAAA,EAAG,CAAA;EH9BlC;;;;EGuCxB,GAAA,WAAc,UAAA,CAAW,CAAA,EAAA,CAAI,IAAA,EAAM,CAAA,EAAG,KAAA,EAAO,eAAA,CAAgB,CAAA,EAAG,CAAA;EHlClC;;;AAkChC;EGSE,KAAA,CAAM,IAAA,GAAO,UAAA,CAAW,CAAA;EHTA;;;EGsBxB,GAAA,CAAA,GAAO,QAAA,CAAS,CAAA;EHnBC;;;EG2BjB,GAAA,CAAI,IAAA,EAAM,UAAA,CAAW,CAAA;EAAA,QAKb,SAAA;EAAA,QAWA,SAAA;EAAA,QAwBA,cAAA;EAAA,QAIA,iBAAA;EAAA,QAMA,SAAA;AAAA"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { S as ApplicationError, b as ERROR_CODES, s as Scope } from "../errors-BRJgVd5-.mjs";
|
|
2
|
+
import { a as __decorate, d as Transient, g as DI_TOKENS } from "../logger-Bg-CuidS.mjs";
|
|
3
|
+
import { r as Module } from "../module-Dvzm4dhS.mjs";
|
|
4
|
+
import "../events-CQyvSyrQ.mjs";
|
|
5
|
+
import "../middleware-B3tx1u1K.mjs";
|
|
6
|
+
import "../router-context-DlTxpJUG.mjs";
|
|
7
|
+
//#region src/config/config.tokens.ts
|
|
8
|
+
const CONFIG_TOKENS = { ConfigService: Symbol.for("stratal:config:service") };
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/config/errors/config-module-not-initialized.error.ts
|
|
11
|
+
/**
|
|
12
|
+
* Error thrown when ConfigModule's onInitialize runs but forRoot() was never called.
|
|
13
|
+
*
|
|
14
|
+
* This means the module was imported without calling ConfigModule.forRoot({ load: [...] }).
|
|
15
|
+
*/
|
|
16
|
+
var ConfigModuleNotInitializedError = class extends ApplicationError {
|
|
17
|
+
constructor() {
|
|
18
|
+
super("errors.configModuleNotInitialized", ERROR_CODES.SYSTEM.CONFIG_MODULE_NOT_INITIALIZED);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/config/errors/config-not-initialized.error.ts
|
|
23
|
+
/**
|
|
24
|
+
* ConfigNotInitializedError
|
|
25
|
+
*
|
|
26
|
+
* Thrown when attempting to access ConfigService before it has been initialized.
|
|
27
|
+
* This typically indicates that ConfigModule's onInitialize hook hasn't run yet,
|
|
28
|
+
* or the module wasn't registered properly.
|
|
29
|
+
*/
|
|
30
|
+
var ConfigNotInitializedError = class extends ApplicationError {
|
|
31
|
+
constructor() {
|
|
32
|
+
super("errors.configNotInitialized", ERROR_CODES.SYSTEM.CONFIG_NOT_INITIALIZED);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/config/config.types.ts
|
|
37
|
+
var ConfigValidationError = class extends Error {
|
|
38
|
+
constructor(message, errors) {
|
|
39
|
+
super(message);
|
|
40
|
+
this.errors = errors;
|
|
41
|
+
this.name = "ConfigValidationError";
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/config/services/config.service.ts
|
|
46
|
+
let ConfigService = class ConfigService {
|
|
47
|
+
originalConfig;
|
|
48
|
+
currentConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Initialize the config service with validated configuration
|
|
51
|
+
* Called by ConfigModule during initialization
|
|
52
|
+
*/
|
|
53
|
+
initialize(config) {
|
|
54
|
+
this.originalConfig = this.deepClone(config);
|
|
55
|
+
this.currentConfig = this.deepClone(config);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get config value using dot notation
|
|
59
|
+
* @example config.get('database.url')
|
|
60
|
+
*/
|
|
61
|
+
get(path) {
|
|
62
|
+
this.ensureInitialized();
|
|
63
|
+
return this.getByPath(this.currentConfig, path);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Set config value at runtime (for runtime overrides)
|
|
67
|
+
* @example config.set('email.from.name', 'Custom Name')
|
|
68
|
+
*/
|
|
69
|
+
set(path, value) {
|
|
70
|
+
this.ensureInitialized();
|
|
71
|
+
this.setByPath(this.currentConfig, path, value);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Reset config to original value
|
|
75
|
+
* @param path - Optional path to reset (resets entire config if omitted)
|
|
76
|
+
*/
|
|
77
|
+
reset(path) {
|
|
78
|
+
this.ensureInitialized();
|
|
79
|
+
if (path) {
|
|
80
|
+
const originalValue = this.getByPath(this.originalConfig, path);
|
|
81
|
+
this.setByPath(this.currentConfig, path, this.deepClone(originalValue));
|
|
82
|
+
} else this.currentConfig = this.deepClone(this.originalConfig);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get entire config object
|
|
86
|
+
*/
|
|
87
|
+
all() {
|
|
88
|
+
this.ensureInitialized();
|
|
89
|
+
return this.currentConfig;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if a config path exists
|
|
93
|
+
*/
|
|
94
|
+
has(path) {
|
|
95
|
+
this.ensureInitialized();
|
|
96
|
+
return this.getByPath(this.currentConfig, path) !== void 0;
|
|
97
|
+
}
|
|
98
|
+
getByPath(obj, path) {
|
|
99
|
+
const keys = path.split(".");
|
|
100
|
+
let current = obj;
|
|
101
|
+
for (const key of keys) {
|
|
102
|
+
if (this.isDangerousKey(key)) return void 0;
|
|
103
|
+
if (current === null || current === void 0) return void 0;
|
|
104
|
+
current = current[key];
|
|
105
|
+
}
|
|
106
|
+
return current;
|
|
107
|
+
}
|
|
108
|
+
setByPath(obj, path, value) {
|
|
109
|
+
const keys = path.split(".");
|
|
110
|
+
if (keys.some((key) => this.isDangerousKey(key))) return;
|
|
111
|
+
let current = obj;
|
|
112
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
113
|
+
const key = keys[i];
|
|
114
|
+
if (!Object.hasOwn(current, key) || typeof current[key] !== "object" || current[key] === null) Object.defineProperty(current, key, {
|
|
115
|
+
value: {},
|
|
116
|
+
writable: true,
|
|
117
|
+
enumerable: true,
|
|
118
|
+
configurable: true
|
|
119
|
+
});
|
|
120
|
+
current = current[key];
|
|
121
|
+
}
|
|
122
|
+
Object.defineProperty(current, keys[keys.length - 1], {
|
|
123
|
+
value,
|
|
124
|
+
writable: true,
|
|
125
|
+
enumerable: true,
|
|
126
|
+
configurable: true
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
isDangerousKey(key) {
|
|
130
|
+
return key === "__proto__" || key === "constructor" || key === "prototype";
|
|
131
|
+
}
|
|
132
|
+
ensureInitialized() {
|
|
133
|
+
if (!this.currentConfig) throw new ConfigNotInitializedError();
|
|
134
|
+
}
|
|
135
|
+
deepClone(obj) {
|
|
136
|
+
if (obj === null || typeof obj !== "object") return obj;
|
|
137
|
+
return JSON.parse(JSON.stringify(obj));
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
ConfigService = __decorate([Transient(CONFIG_TOKENS.ConfigService)], ConfigService);
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region src/config/config.module.ts
|
|
143
|
+
var _ConfigModule;
|
|
144
|
+
let moduleOptions = null;
|
|
145
|
+
let ConfigModule = _ConfigModule = class ConfigModule {
|
|
146
|
+
/**
|
|
147
|
+
* Configure ConfigModule with namespace loaders
|
|
148
|
+
*
|
|
149
|
+
* @param options - Configuration options
|
|
150
|
+
* @returns Dynamic module with config infrastructure
|
|
151
|
+
*/
|
|
152
|
+
static forRoot(options) {
|
|
153
|
+
moduleOptions = options;
|
|
154
|
+
const providers = [];
|
|
155
|
+
for (const namespace of options.load) providers.push(namespace.asProvider());
|
|
156
|
+
return {
|
|
157
|
+
module: _ConfigModule,
|
|
158
|
+
providers
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Initialize config service with merged namespaces
|
|
163
|
+
* Called after all providers are registered
|
|
164
|
+
*/
|
|
165
|
+
onInitialize(context) {
|
|
166
|
+
if (!moduleOptions) throw new ConfigModuleNotInitializedError();
|
|
167
|
+
const env = context.container.resolve(DI_TOKENS.CloudflareEnv);
|
|
168
|
+
const configService = context.container.resolve(CONFIG_TOKENS.ConfigService);
|
|
169
|
+
const mergedConfig = {};
|
|
170
|
+
for (const namespace of moduleOptions.load) mergedConfig[namespace.namespace] = namespace.factory(env);
|
|
171
|
+
if (moduleOptions.validateSchema) {
|
|
172
|
+
const result = moduleOptions.validateSchema.safeParse(mergedConfig);
|
|
173
|
+
if (!result.success) throw new ConfigValidationError("Configuration validation failed", result.error);
|
|
174
|
+
}
|
|
175
|
+
configService.initialize(mergedConfig);
|
|
176
|
+
context.logger.debug("ConfigModule initialized", { namespaces: moduleOptions.load.map((n) => n.namespace) });
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
ConfigModule = _ConfigModule = __decorate([Module({ providers: [{
|
|
180
|
+
provide: CONFIG_TOKENS.ConfigService,
|
|
181
|
+
useClass: ConfigService,
|
|
182
|
+
scope: Scope.Singleton
|
|
183
|
+
}] })], ConfigModule);
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region src/config/register-as.ts
|
|
186
|
+
/**
|
|
187
|
+
* Create a namespaced configuration factory
|
|
188
|
+
* Similar to NestJS registerAs
|
|
189
|
+
*
|
|
190
|
+
* @param namespace - Configuration namespace (e.g., 'database', 'email')
|
|
191
|
+
* @param factory - Factory function receiving env and returning config object
|
|
192
|
+
* @returns ConfigNamespace with token, factory, and asProvider() method
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* // apps/backend/src/config/database.config.ts
|
|
197
|
+
* export const databaseConfig = registerAs('database', (env: Env) => ({
|
|
198
|
+
* url: env.DATABASE_URL,
|
|
199
|
+
* maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),
|
|
200
|
+
* }))
|
|
201
|
+
*
|
|
202
|
+
* // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')
|
|
203
|
+
*
|
|
204
|
+
* // Usage in module:
|
|
205
|
+
* // Option 1: Manual provider
|
|
206
|
+
* {
|
|
207
|
+
* provide: databaseConfig.KEY,
|
|
208
|
+
* useFactory: databaseConfig.factory,
|
|
209
|
+
* inject: [DI_TOKENS.CloudflareEnv]
|
|
210
|
+
* }
|
|
211
|
+
*
|
|
212
|
+
* // Option 2: asProvider() helper
|
|
213
|
+
* databaseConfig.asProvider()
|
|
214
|
+
* // Returns: { provide: databaseConfig.KEY, useFactory: ..., inject: [DI_TOKENS.CloudflareEnv] }
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
function registerAs(namespace, factory) {
|
|
218
|
+
const KEY = Symbol.for(`stratal:config:${namespace}`);
|
|
219
|
+
return {
|
|
220
|
+
KEY,
|
|
221
|
+
namespace,
|
|
222
|
+
factory,
|
|
223
|
+
asProvider() {
|
|
224
|
+
return {
|
|
225
|
+
provide: KEY,
|
|
226
|
+
useFactory: factory,
|
|
227
|
+
inject: [DI_TOKENS.CloudflareEnv]
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
//#endregion
|
|
233
|
+
export { CONFIG_TOKENS, ConfigModule, ConfigService, ConfigValidationError, registerAs };
|
|
234
|
+
|
|
235
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/config/config.tokens.ts","../../src/config/errors/config-module-not-initialized.error.ts","../../src/config/errors/config-not-initialized.error.ts","../../src/config/config.types.ts","../../src/config/services/config.service.ts","../../src/config/config.module.ts","../../src/config/register-as.ts"],"sourcesContent":["export const CONFIG_TOKENS = {\n\tConfigService: Symbol.for('stratal:config:service'),\n} as const\n","import { ApplicationError, ERROR_CODES } from '../../errors'\n\n/**\n * Error thrown when ConfigModule's onInitialize runs but forRoot() was never called.\n *\n * This means the module was imported without calling ConfigModule.forRoot({ load: [...] }).\n */\nexport class ConfigModuleNotInitializedError extends ApplicationError {\n constructor() {\n super(\n 'errors.configModuleNotInitialized',\n ERROR_CODES.SYSTEM.CONFIG_MODULE_NOT_INITIALIZED\n )\n }\n}\n","import { ERROR_CODES } from '../../errors'\nimport { ApplicationError } from '../../errors'\n\n/**\n * ConfigNotInitializedError\n *\n * Thrown when attempting to access ConfigService before it has been initialized.\n * This typically indicates that ConfigModule's onInitialize hook hasn't run yet,\n * or the module wasn't registered properly.\n */\nexport class ConfigNotInitializedError extends ApplicationError {\n constructor() {\n super(\n 'errors.configNotInitialized',\n ERROR_CODES.SYSTEM.CONFIG_NOT_INITIALIZED\n )\n }\n}\n","import type { z } from '../i18n/validation'\n\nexport class ConfigValidationError extends Error {\n constructor(\n message: string,\n public readonly errors: z.ZodError\n ) {\n super(message)\n this.name = 'ConfigValidationError'\n }\n}\n\n/**\n * Configuration that can be augmented by applications\n * Apps should augment this interface with their AppConfig type using module augmentation\n *\n * @example\n * ```typescript\n * // In your app (e.g., apps/backend/src/config/types.ts)\n * declare module 'stratal' {\n * interface ModuleConfig {\n * database: { url: string; maxConnections: number }\n * email: { provider: string; from: { name: string; email: string } }\n * }\n * }\n * ```\n */\nexport interface ModuleConfig { }\n\n/**\n * Generate all valid dot-notation paths from a config object type\n * @example ConfigPath<{ database: { url: string } }> = 'database' | 'database.url'\n */\nexport type ConfigPath<T> = {\n [K in keyof T & string]: T[K] extends Record<string, unknown>\n ? K | `${K}.${ConfigPath<T[K]>}`\n : K\n}[keyof T & string]\n\n/**\n * Get the value type at a dot-notation path\n * @example ConfigPathValue<{ database: { url: string } }, 'database.url'> = string\n */\nexport type ConfigPathValue<T, P extends string> = P extends `${infer K}.${infer Rest}`\n ? K extends keyof T\n ? T[K] extends Record<string, unknown>\n ? ConfigPathValue<T[K], Rest>\n : never\n : never\n : P extends keyof T\n ? T[P]\n : never\n\n/**\n * ConfigService interface with dot notation support\n */\nexport interface IConfigService<T extends object = ModuleConfig> {\n /**\n * Initialize the config service with validated configuration\n * Should be called once during application startup\n */\n initialize(config: T): void\n\n /**\n * Get config value using dot notation\n * @example config.get('database.url')\n */\n get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P>\n\n /**\n * Set config value at runtime (for runtime overrides)\n * @example config.set('email.from.name', 'Custom Name')\n */\n set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void\n\n /**\n * Reset config to original value\n * @param path - Optional path to reset (resets entire config if omitted)\n */\n reset(path?: ConfigPath<T>): void\n\n /**\n * Get entire config object\n */\n all(): Readonly<T>\n\n /**\n * Check if a config path exists\n */\n has(path: ConfigPath<T>): boolean\n}\n","import { Transient } from '../../di/decorators'\nimport { CONFIG_TOKENS } from '../config.tokens'\nimport type { ConfigPath, ConfigPathValue, IConfigService, ModuleConfig } from '../config.types'\nimport { ConfigNotInitializedError } from '../errors'\n\n/**\n * ConfigService with dot notation support for get/set operations\n *\n * Supports runtime overrides via set() - useful for request-specific config overrides.\n * Use reset() to restore original values.\n *\n * @example\n * ```typescript\n * // Get with dot notation\n * const url = config.get('database.url')\n * const fromName = config.get('email.from.name')\n *\n * // Set at runtime (e.g., in middleware for runtime override)\n * config.set('email.from.name', 'Custom Name')\n *\n * // Reset to original\n * config.reset('email.from.name') // reset specific path\n * config.reset() // reset entire config\n * ```\n */\n@Transient(CONFIG_TOKENS.ConfigService)\nexport class ConfigService<T extends object = ModuleConfig> implements IConfigService<T> {\n private originalConfig: T | undefined\n private currentConfig: T | undefined\n\n /**\n * Initialize the config service with validated configuration\n * Called by ConfigModule during initialization\n */\n initialize(config: T): void {\n this.originalConfig = this.deepClone(config)\n this.currentConfig = this.deepClone(config)\n }\n\n /**\n * Get config value using dot notation\n * @example config.get('database.url')\n */\n get<P extends ConfigPath<T>>(path: P): ConfigPathValue<T, P> {\n this.ensureInitialized()\n return this.getByPath(this.currentConfig, path) as ConfigPathValue<T, P>\n }\n\n /**\n * Set config value at runtime (for runtime overrides)\n * @example config.set('email.from.name', 'Custom Name')\n */\n set<P extends ConfigPath<T>>(path: P, value: ConfigPathValue<T, P>): void {\n this.ensureInitialized()\n this.setByPath(this.currentConfig, path, value)\n }\n\n /**\n * Reset config to original value\n * @param path - Optional path to reset (resets entire config if omitted)\n */\n reset(path?: ConfigPath<T>): void {\n this.ensureInitialized()\n if (path) {\n const originalValue = this.getByPath(this.originalConfig, path)\n this.setByPath(this.currentConfig, path, this.deepClone(originalValue))\n } else {\n this.currentConfig = this.deepClone(this.originalConfig)\n }\n }\n\n /**\n * Get entire config object\n */\n all(): Readonly<T> {\n this.ensureInitialized()\n return this.currentConfig as Readonly<T>\n }\n\n /**\n * Check if a config path exists\n */\n has(path: ConfigPath<T>): boolean {\n this.ensureInitialized()\n return this.getByPath(this.currentConfig, path) !== undefined\n }\n\n private getByPath(obj: unknown, path: string): unknown {\n const keys = path.split('.')\n let current = obj\n for (const key of keys) {\n if (this.isDangerousKey(key)) return undefined\n if (current === null || current === undefined) return undefined\n current = (current as Record<string, unknown>)[key]\n }\n return current\n }\n\n private setByPath(obj: unknown, path: string, value: unknown): void {\n const keys = path.split('.')\n if (keys.some((key) => this.isDangerousKey(key))) return\n let current = obj as Record<string, unknown>\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i]\n if (!Object.hasOwn(current, key) || typeof current[key] !== 'object' || current[key] === null) {\n Object.defineProperty(current, key, {\n value: {},\n writable: true,\n enumerable: true,\n configurable: true,\n })\n }\n current = current[key] as Record<string, unknown>\n }\n Object.defineProperty(current, keys[keys.length - 1], {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n })\n }\n\n private isDangerousKey(key: string): boolean {\n return key === '__proto__' || key === 'constructor' || key === 'prototype'\n }\n\n private ensureInitialized(): void {\n if (!this.currentConfig) {\n throw new ConfigNotInitializedError()\n }\n }\n\n private deepClone<V>(obj: V): V {\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n return JSON.parse(JSON.stringify(obj)) as V\n }\n}\n","import type { z } from '../i18n/validation'\nimport { ConfigModuleNotInitializedError } from './errors'\nimport { DI_TOKENS } from '../di/tokens'\nimport { Scope } from '../di/types'\nimport { Module } from '../module'\nimport type { DynamicModule, ModuleContext, OnInitialize, Provider } from '../module/types'\nimport { CONFIG_TOKENS } from './config.tokens'\nimport { ConfigValidationError, ModuleConfig } from './config.types'\nimport type { ConfigNamespace } from './register-as'\nimport { ConfigService } from './services/config.service'\n\n/**\n * Any config namespace - uses structural typing for flexibility\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyConfigNamespace = ConfigNamespace<string, any, object>\n\n/**\n * Options for ConfigModule.forRoot\n */\nexport interface ConfigModuleOptions {\n /**\n * Array of config namespaces created via registerAs()\n */\n load: AnyConfigNamespace[]\n\n /**\n * Optional Zod schema for validating the merged config\n * Validates the entire config object after all namespaces are merged\n */\n validateSchema?: z.ZodType<object>\n}\n\n// Store options for use in onInitialize\nlet moduleOptions: ConfigModuleOptions | null = null\n\n/**\n * ConfigModule\n *\n * Provides configuration management with namespace support.\n * Uses registerAs() to create typed config namespaces that can be injected.\n *\n * @example\n * ```typescript\n * // Define config namespaces\n * const databaseConfig = registerAs('database', (env) => ({\n * url: env.DATABASE_URL,\n * maxConnections: 10\n * }))\n *\n * const emailConfig = registerAs('email', (env) => ({\n * provider: env.EMAIL_PROVIDER,\n * from: { name: 'App', email: 'noreply@example.com' }\n * }))\n *\n * // Register in module\n * @Module({\n * imports: [\n * ConfigModule.forRoot({\n * load: [databaseConfig, emailConfig],\n * validateSchema: AppConfigSchema\n * })\n * ]\n * })\n * export class AppModule {}\n *\n * // Inject config\n * constructor(\n * @inject(CONFIG_TOKENS.ConfigService) private config: IConfigService,\n * @inject(databaseConfig.KEY) private dbConfig: DatabaseConfig\n * ) {\n * // Use dot notation\n * const url = this.config.get('database.url')\n *\n * // Or inject namespace directly\n * const url = this.dbConfig.url\n * }\n * ```\n */\n@Module({\n providers: [\n // Register the main ConfigService as Singleton so initialization persists\n {\n provide: CONFIG_TOKENS.ConfigService,\n useClass: ConfigService,\n scope: Scope.Singleton,\n },\n ],\n})\nexport class ConfigModule implements OnInitialize {\n /**\n * Configure ConfigModule with namespace loaders\n *\n * @param options - Configuration options\n * @returns Dynamic module with config infrastructure\n */\n static forRoot(options: ConfigModuleOptions): DynamicModule {\n moduleOptions = options\n\n const providers: Provider[] = []\n\n // Register each namespace config using asProvider()\n for (const namespace of options.load) {\n providers.push(namespace.asProvider())\n }\n\n return {\n module: ConfigModule,\n providers,\n }\n }\n\n /**\n * Initialize config service with merged namespaces\n * Called after all providers are registered\n */\n onInitialize(context: ModuleContext): void {\n if (!moduleOptions) {\n throw new ConfigModuleNotInitializedError()\n }\n\n const env = context.container.resolve<unknown>(DI_TOKENS.CloudflareEnv)\n const configService = context.container.resolve<ConfigService>(CONFIG_TOKENS.ConfigService)\n\n // Build merged config from all namespaces\n const mergedConfig: Record<string, unknown> = {}\n\n for (const namespace of moduleOptions.load) {\n mergedConfig[namespace.namespace] = namespace.factory(env)\n }\n\n // Validate if schema provided\n if (moduleOptions.validateSchema) {\n const result = moduleOptions.validateSchema.safeParse(mergedConfig)\n if (!result.success) {\n throw new ConfigValidationError(\n 'Configuration validation failed',\n result.error\n )\n }\n }\n\n // Initialize ConfigService with merged config\n configService.initialize(mergedConfig as ModuleConfig)\n\n context.logger.debug('ConfigModule initialized', {\n namespaces: moduleOptions.load.map((n) => n.namespace),\n })\n }\n}\n","import type { InjectionToken } from 'tsyringe'\nimport { DI_TOKENS } from '../di/tokens'\nimport type { FactoryProvider } from '../module/types'\n\n/**\n * Configuration namespace registration result\n */\nexport interface ConfigNamespace<TKey extends string, TEnv, TConfig extends object> {\n /** Auto-derived injection token (e.g., 'database' -> Symbol('stratal:config:database')) */\n readonly KEY: InjectionToken<TConfig>\n /** The namespace key */\n readonly namespace: TKey\n /** The factory function that receives env and returns config */\n readonly factory: (env: TEnv) => TConfig\n /**\n * Returns a provider configuration for use in module registration\n * Automatically injects DI_TOKENS.CloudflareEnv\n */\n asProvider(): FactoryProvider<TConfig>\n}\n\n/**\n * Create a namespaced configuration factory\n * Similar to NestJS registerAs\n *\n * @param namespace - Configuration namespace (e.g., 'database', 'email')\n * @param factory - Factory function receiving env and returning config object\n * @returns ConfigNamespace with token, factory, and asProvider() method\n *\n * @example\n * ```typescript\n * // apps/backend/src/config/database.config.ts\n * export const databaseConfig = registerAs('database', (env: Env) => ({\n * url: env.DATABASE_URL,\n * maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),\n * }))\n *\n * // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')\n *\n * // Usage in module:\n * // Option 1: Manual provider\n * {\n * provide: databaseConfig.KEY,\n * useFactory: databaseConfig.factory,\n * inject: [DI_TOKENS.CloudflareEnv]\n * }\n *\n * // Option 2: asProvider() helper\n * databaseConfig.asProvider()\n * // Returns: { provide: databaseConfig.KEY, useFactory: ..., inject: [DI_TOKENS.CloudflareEnv] }\n * ```\n */\nexport function registerAs<TKey extends string, TEnv, TConfig extends object>(\n namespace: TKey,\n factory: (env: TEnv) => TConfig\n): ConfigNamespace<TKey, TEnv, TConfig> {\n const KEY = Symbol.for(`stratal:config:${namespace}`) as InjectionToken<TConfig>\n\n return {\n KEY,\n namespace,\n factory,\n asProvider(): FactoryProvider<TConfig> {\n return {\n provide: KEY,\n useFactory: factory,\n inject: [DI_TOKENS.CloudflareEnv],\n }\n },\n }\n}\n\n/**\n * Helper to derive config type from registerAs result\n *\n * @example\n * ```typescript\n * const databaseConfig = registerAs('database', (env) => ({ url: env.DATABASE_URL }))\n * type DatabaseConfig = InferConfigType<typeof databaseConfig>\n * // { url: string }\n * ```\n */\nexport type InferConfigType<T> = T extends ConfigNamespace<string, unknown, infer C> ? C : never\n"],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { s as ApplicationError } from "../index-C9bIk5tt.mjs";
|
|
2
|
+
//#region src/cron/cron-job.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Interface for cron jobs that can be registered by modules
|
|
5
|
+
*
|
|
6
|
+
* Cron jobs are executed when Cloudflare triggers match their schedule.
|
|
7
|
+
* Jobs are registered via the module's getCronJobs() method.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* @Transient()
|
|
12
|
+
* export class DataCleanupJob implements CronJob {
|
|
13
|
+
* readonly schedule = '0 2 * * *' // Daily at 2 AM UTC
|
|
14
|
+
*
|
|
15
|
+
* constructor(
|
|
16
|
+
* @inject(LOGGER_TOKENS.LoggerService) private logger: LoggerService,
|
|
17
|
+
* ) {}
|
|
18
|
+
*
|
|
19
|
+
* async execute(controller: ScheduledController): Promise<void> {
|
|
20
|
+
* this.logger.info('Running data cleanup')
|
|
21
|
+
* await this.cleanupExpiredData()
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* async onError(error: Error): Promise<void> {
|
|
25
|
+
* this.logger.error('Data cleanup failed', { error: error.message })
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
interface CronJob {
|
|
31
|
+
/**
|
|
32
|
+
* Cron expression that triggers this job
|
|
33
|
+
*
|
|
34
|
+
* Must match a cron trigger defined in wrangler.jsonc
|
|
35
|
+
* @example '0 2 * * *' // Daily at 2 AM UTC
|
|
36
|
+
* @example '* /15 * * * *' // Every 15 minutes
|
|
37
|
+
*/
|
|
38
|
+
readonly schedule: string;
|
|
39
|
+
/**
|
|
40
|
+
* Execute the cron job
|
|
41
|
+
*
|
|
42
|
+
* @param controller - Cloudflare ScheduledController with scheduledTime and cron
|
|
43
|
+
* @throws ApplicationError for expected errors
|
|
44
|
+
*/
|
|
45
|
+
execute(controller: ScheduledController): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Optional error handler for job execution failures
|
|
48
|
+
*
|
|
49
|
+
* If not provided, errors are logged via GlobalErrorHandler
|
|
50
|
+
*
|
|
51
|
+
* @param error - Error that occurred during execution
|
|
52
|
+
* @param controller - Cloudflare ScheduledController
|
|
53
|
+
*/
|
|
54
|
+
onError?(error: Error, controller: ScheduledController): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/cron/cron-manager.d.ts
|
|
58
|
+
/**
|
|
59
|
+
* Manages cron job registration and execution
|
|
60
|
+
*
|
|
61
|
+
* CronManager is a singleton service that:
|
|
62
|
+
* - Registers cron jobs from modules
|
|
63
|
+
* - Routes scheduled events to matching jobs
|
|
64
|
+
* - Handles errors during job execution
|
|
65
|
+
*
|
|
66
|
+
* Jobs are grouped by their cron expression, allowing multiple jobs
|
|
67
|
+
* to run on the same schedule.
|
|
68
|
+
*/
|
|
69
|
+
declare class CronManager {
|
|
70
|
+
/**
|
|
71
|
+
* Map of cron expressions to jobs
|
|
72
|
+
* Key: Cron expression (e.g., '0 2 * * *')
|
|
73
|
+
* Value: Array of jobs matching that expression
|
|
74
|
+
*/
|
|
75
|
+
private jobs;
|
|
76
|
+
/**
|
|
77
|
+
* Register a cron job
|
|
78
|
+
*
|
|
79
|
+
* Jobs with the same schedule are grouped together and executed
|
|
80
|
+
* sequentially when the trigger fires.
|
|
81
|
+
*
|
|
82
|
+
* @param job - CronJob instance to register
|
|
83
|
+
*/
|
|
84
|
+
registerJob(job: CronJob): void;
|
|
85
|
+
/**
|
|
86
|
+
* Execute all jobs matching the triggered cron expression
|
|
87
|
+
*
|
|
88
|
+
* Jobs are executed sequentially. If a job fails:
|
|
89
|
+
* - Its onError() hook is called (if defined)
|
|
90
|
+
* - Execution continues with the next job
|
|
91
|
+
* - Errors are collected and logged
|
|
92
|
+
*
|
|
93
|
+
* @param controller - Cloudflare ScheduledController
|
|
94
|
+
*/
|
|
95
|
+
executeScheduled(controller: ScheduledController): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Get all registered jobs for a specific cron expression
|
|
98
|
+
*
|
|
99
|
+
* @param schedule - Cron expression
|
|
100
|
+
* @returns Array of jobs for that schedule, or empty array if none
|
|
101
|
+
*/
|
|
102
|
+
getJobsForSchedule(schedule: string): CronJob[];
|
|
103
|
+
/**
|
|
104
|
+
* Get all registered cron expressions
|
|
105
|
+
*
|
|
106
|
+
* @returns Array of unique cron expressions
|
|
107
|
+
*/
|
|
108
|
+
getAllSchedules(): string[];
|
|
109
|
+
/**
|
|
110
|
+
* Get total number of registered jobs across all schedules
|
|
111
|
+
*
|
|
112
|
+
* @returns Total job count
|
|
113
|
+
*/
|
|
114
|
+
getTotalJobCount(): number;
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/cron/errors/cron-execution.error.d.ts
|
|
118
|
+
/**
|
|
119
|
+
* Error thrown when one or more cron jobs fail execution
|
|
120
|
+
*
|
|
121
|
+
* This error aggregates failures from multiple jobs that share the same schedule.
|
|
122
|
+
*/
|
|
123
|
+
declare class CronExecutionError extends ApplicationError {
|
|
124
|
+
constructor(schedule: string, failedJobsCount: number, jobNames: string);
|
|
125
|
+
}
|
|
126
|
+
//#endregion
|
|
127
|
+
export { CronExecutionError, type CronJob, CronManager };
|
|
128
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/cron/cron-job.ts","../../src/cron/cron-manager.ts","../../src/cron/errors/cron-execution.error.ts"],"mappings":";;;;;;AA2BA;;;;;;;;;;;;;;;;;;;;;;;UAAiB,OAAA;;;ACZjB;;;;;WDoBU,QAAA;EC6D6B;;;;;;EDrDtC,OAAA,CAAQ,UAAA,EAAY,mBAAA,GAAsB,OAAA;ECKpC;;;;;;;;EDKN,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,UAAA,EAAY,mBAAA,GAAsB,OAAA;AAAA;;;;;;AA1B1D;;;;;;;;cCXa,WAAA;EDqCoD;;;;;EAAA,QC/BxD,IAAA;ED+BR;;;;;;;;ECrBA,WAAA,CAAY,GAAA,EAAK,OAAA;;;AAjBlB;;;;;;;;EAiCO,gBAAA,CAAiB,UAAA,EAAY,mBAAA,GAAsB,OAAA;EA1BjD;;;;;;EA0ER,kBAAA,CAAmB,QAAA,WAAmB,OAAA;EAhDmB;;;;;EAyDzD,eAAA,CAAA;EASgB;;;;;EAAhB,gBAAA,CAAA;AAAA;;;;;;ADvFD;;cEnBa,kBAAA,SAA2B,gBAAA;cAEtC,QAAA,UACA,eAAA,UACA,QAAA;AAAA"}
|