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,226 @@
|
|
|
1
|
+
import { S as ApplicationError, b as ERROR_CODES } from "./errors-BRJgVd5-.mjs";
|
|
2
|
+
import { d as Transient } from "./logger-Bg-CuidS.mjs";
|
|
3
|
+
import { o as ROUTE_METADATA_KEYS, t as RouterContext } from "./router-context-DlTxpJUG.mjs";
|
|
4
|
+
//#region src/websocket/decorators/gateway.decorator.ts
|
|
5
|
+
const CONTROLLER_ROUTE_KEY = ROUTE_METADATA_KEYS.CONTROLLER_ROUTE;
|
|
6
|
+
const CONTROLLER_OPTIONS_KEY = ROUTE_METADATA_KEYS.CONTROLLER_OPTIONS;
|
|
7
|
+
const GATEWAY_MARKER_KEY = ROUTE_METADATA_KEYS.GATEWAY_MARKER;
|
|
8
|
+
/**
|
|
9
|
+
* Gateway decorator for WebSocket route registration
|
|
10
|
+
*
|
|
11
|
+
* Marks a class as a WebSocket gateway and stores route metadata.
|
|
12
|
+
* Reuses the same metadata key as @Controller for middleware compatibility —
|
|
13
|
+
* `getControllerRoute()`, `forRoutes()`, and the entire middleware system work
|
|
14
|
+
* with zero changes.
|
|
15
|
+
*
|
|
16
|
+
* @param route - WebSocket route path (e.g., '/ws/chat')
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { type GatewayContext, Gateway, OnMessage, OnClose } from 'stratal/websocket'
|
|
21
|
+
*
|
|
22
|
+
* @Gateway('/ws/chat')
|
|
23
|
+
* class ChatGateway {
|
|
24
|
+
* @OnMessage()
|
|
25
|
+
* handleMessage(evt: MessageEvent, ctx: GatewayContext) {
|
|
26
|
+
* ctx.send('ack')
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* @OnClose()
|
|
30
|
+
* handleClose(evt: CloseEvent, ctx: GatewayContext) {
|
|
31
|
+
* console.log('closed')
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
function Gateway(route, options) {
|
|
37
|
+
return function(target) {
|
|
38
|
+
Transient()(target);
|
|
39
|
+
Reflect.defineMetadata(CONTROLLER_ROUTE_KEY, route, target);
|
|
40
|
+
Reflect.defineMetadata(GATEWAY_MARKER_KEY, true, target);
|
|
41
|
+
if (options) Reflect.defineMetadata(CONTROLLER_OPTIONS_KEY, options, target);
|
|
42
|
+
return target;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Check if a class is a WebSocket gateway
|
|
47
|
+
*
|
|
48
|
+
* @param target - Class constructor or instance
|
|
49
|
+
* @returns true if the class is decorated with @Gateway
|
|
50
|
+
*/
|
|
51
|
+
function isGateway(target) {
|
|
52
|
+
const metadataTarget = typeof target === "function" ? target : target.constructor;
|
|
53
|
+
return Reflect.getMetadata(GATEWAY_MARKER_KEY, metadataTarget) === true;
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/websocket/errors/websocket-duplicate-event-handler.error.ts
|
|
57
|
+
var WebSocketDuplicateEventHandlerError = class extends ApplicationError {
|
|
58
|
+
constructor(decorator, existingMethod) {
|
|
59
|
+
super("errors.websocketDuplicateEventHandler", ERROR_CODES.SYSTEM.WEBSOCKET_DUPLICATE_EVENT_HANDLER, {
|
|
60
|
+
decorator,
|
|
61
|
+
existingMethod
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/websocket/decorators/ws-event.decorator.ts
|
|
67
|
+
const WS_ON_MESSAGE_KEY = ROUTE_METADATA_KEYS.WS_ON_MESSAGE;
|
|
68
|
+
const WS_ON_CLOSE_KEY = ROUTE_METADATA_KEYS.WS_ON_CLOSE;
|
|
69
|
+
const WS_ON_ERROR_KEY = ROUTE_METADATA_KEYS.WS_ON_ERROR;
|
|
70
|
+
/**
|
|
71
|
+
* Define a single-handler metadata key on the prototype.
|
|
72
|
+
* Throws if a different method already owns this key (prevents silent override).
|
|
73
|
+
*/
|
|
74
|
+
function defineSingleHandlerMetadata(key, propertyKey, target, decoratorName) {
|
|
75
|
+
const existing = Reflect.getMetadata(key, target);
|
|
76
|
+
if (existing !== void 0 && existing !== propertyKey) throw new WebSocketDuplicateEventHandlerError(decoratorName, String(existing));
|
|
77
|
+
Reflect.defineMetadata(key, propertyKey, target);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Marks a method as the WebSocket message handler
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* @Gateway('/ws/chat')
|
|
85
|
+
* class ChatGateway {
|
|
86
|
+
* @OnMessage()
|
|
87
|
+
* handleMessage(evt: MessageEvent, ctx: GatewayContext) {
|
|
88
|
+
* ctx.send(evt.data)
|
|
89
|
+
* }
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
function OnMessage() {
|
|
94
|
+
return (_target, propertyKey) => {
|
|
95
|
+
defineSingleHandlerMetadata(WS_ON_MESSAGE_KEY, propertyKey, _target, "OnMessage");
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Marks a method as the WebSocket close handler
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* @Gateway('/ws/chat')
|
|
104
|
+
* class ChatGateway {
|
|
105
|
+
* @OnClose()
|
|
106
|
+
* handleClose(evt: CloseEvent, ctx: GatewayContext) {
|
|
107
|
+
* console.log('closed')
|
|
108
|
+
* }
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
function OnClose() {
|
|
113
|
+
return (_target, propertyKey) => {
|
|
114
|
+
defineSingleHandlerMetadata(WS_ON_CLOSE_KEY, propertyKey, _target, "OnClose");
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Marks a method as the WebSocket error handler
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* @Gateway('/ws/chat')
|
|
123
|
+
* class ChatGateway {
|
|
124
|
+
* @OnError()
|
|
125
|
+
* handleError(evt: Event, ctx: GatewayContext) {
|
|
126
|
+
* console.error('WebSocket error', evt)
|
|
127
|
+
* }
|
|
128
|
+
* }
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
function OnError() {
|
|
132
|
+
return (_target, propertyKey) => {
|
|
133
|
+
defineSingleHandlerMetadata(WS_ON_ERROR_KEY, propertyKey, _target, "OnError");
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the method name decorated with @OnMessage
|
|
138
|
+
*/
|
|
139
|
+
function getWsOnMessageMethod(target) {
|
|
140
|
+
return Reflect.getMetadata(WS_ON_MESSAGE_KEY, target.prototype);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get the method name decorated with @OnClose
|
|
144
|
+
*/
|
|
145
|
+
function getWsOnCloseMethod(target) {
|
|
146
|
+
return Reflect.getMetadata(WS_ON_CLOSE_KEY, target.prototype);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Get the method name decorated with @OnError
|
|
150
|
+
*/
|
|
151
|
+
function getWsOnErrorMethod(target) {
|
|
152
|
+
return Reflect.getMetadata(WS_ON_ERROR_KEY, target.prototype);
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region src/websocket/errors/websocket-body-not-available.error.ts
|
|
156
|
+
var WebSocketBodyNotAvailableError = class extends ApplicationError {
|
|
157
|
+
constructor() {
|
|
158
|
+
super("errors.websocketBodyNotAvailable", ERROR_CODES.SYSTEM.WEBSOCKET_BODY_NOT_AVAILABLE);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
//#endregion
|
|
162
|
+
//#region src/websocket/gateway-context.ts
|
|
163
|
+
/**
|
|
164
|
+
* WebSocket gateway context
|
|
165
|
+
*
|
|
166
|
+
* Extends RouterContext with WebSocket-specific methods.
|
|
167
|
+
* Inherits `getContainer()`, `param()`, `query()`, `header()`, `getLocale()`
|
|
168
|
+
* from RouterContext. HTTP response methods (`json()`, `redirect()`, etc.) are
|
|
169
|
+
* inherited but harmless post-upgrade.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* @OnMessage()
|
|
174
|
+
* handleMessage(evt: MessageEvent, ctx: GatewayContext) {
|
|
175
|
+
* ctx.send('ack') // convenience method
|
|
176
|
+
* ctx.header('Authorization') // upgrade request headers
|
|
177
|
+
* }
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
var GatewayContext = class extends RouterContext {
|
|
181
|
+
constructor(c, ws) {
|
|
182
|
+
super(c);
|
|
183
|
+
this.ws = ws;
|
|
184
|
+
}
|
|
185
|
+
/** Send data through the WebSocket connection */
|
|
186
|
+
send(data) {
|
|
187
|
+
this.ws.send(data);
|
|
188
|
+
}
|
|
189
|
+
/** Close the WebSocket connection */
|
|
190
|
+
close(code, reason) {
|
|
191
|
+
this.ws.close(code, reason);
|
|
192
|
+
}
|
|
193
|
+
/** Current WebSocket ready state */
|
|
194
|
+
get readyState() {
|
|
195
|
+
return this.ws.readyState;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get route parameter value from the raw request (no OpenAPI validation)
|
|
199
|
+
*
|
|
200
|
+
* @param key - Parameter name (e.g., 'id' for /ws/chat/:id)
|
|
201
|
+
*/
|
|
202
|
+
param(key) {
|
|
203
|
+
return this.c.req.param(key);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get query parameter value from the raw request (no OpenAPI validation)
|
|
207
|
+
*
|
|
208
|
+
* @param key - Query parameter name
|
|
209
|
+
*/
|
|
210
|
+
query(key) {
|
|
211
|
+
if (key) return this.c.req.query(key);
|
|
212
|
+
return this.c.req.query();
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Request body is not available in WebSocket gateways
|
|
216
|
+
*
|
|
217
|
+
* @throws WebSocketBodyNotAvailableError always — WebSocket upgrade requests do not have a body
|
|
218
|
+
*/
|
|
219
|
+
body() {
|
|
220
|
+
throw new WebSocketBodyNotAvailableError();
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
//#endregion
|
|
224
|
+
export { OnMessage as a, getWsOnMessageMethod as c, isGateway as d, OnError as i, WebSocketDuplicateEventHandlerError as l, WebSocketBodyNotAvailableError as n, getWsOnCloseMethod as o, OnClose as r, getWsOnErrorMethod as s, GatewayContext as t, Gateway as u };
|
|
225
|
+
|
|
226
|
+
//# sourceMappingURL=gateway-context-D7TFPLi5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-context-D7TFPLi5.mjs","names":[],"sources":["../src/websocket/decorators/gateway.decorator.ts","../src/websocket/errors/websocket-duplicate-event-handler.error.ts","../src/websocket/decorators/ws-event.decorator.ts","../src/websocket/errors/websocket-body-not-available.error.ts","../src/websocket/gateway-context.ts"],"sourcesContent":["import { Transient } from '../../di/decorators'\nimport { ROUTE_METADATA_KEYS } from '../../router/constants'\nimport { type Constructor } from '../../types'\nimport type { GatewayOptions } from '../../websocket/types'\n\nconst CONTROLLER_ROUTE_KEY = ROUTE_METADATA_KEYS.CONTROLLER_ROUTE\nconst CONTROLLER_OPTIONS_KEY = ROUTE_METADATA_KEYS.CONTROLLER_OPTIONS\nconst GATEWAY_MARKER_KEY = ROUTE_METADATA_KEYS.GATEWAY_MARKER\n\n/**\n * Gateway decorator for WebSocket route registration\n *\n * Marks a class as a WebSocket gateway and stores route metadata.\n * Reuses the same metadata key as @Controller for middleware compatibility —\n * `getControllerRoute()`, `forRoutes()`, and the entire middleware system work\n * with zero changes.\n *\n * @param route - WebSocket route path (e.g., '/ws/chat')\n *\n * @example\n * ```typescript\n * import { type GatewayContext, Gateway, OnMessage, OnClose } from 'stratal/websocket'\n *\n * @Gateway('/ws/chat')\n * class ChatGateway {\n * @OnMessage()\n * handleMessage(evt: MessageEvent, ctx: GatewayContext) {\n * ctx.send('ack')\n * }\n *\n * @OnClose()\n * handleClose(evt: CloseEvent, ctx: GatewayContext) {\n * console.log('closed')\n * }\n * }\n * ```\n */\nexport function Gateway(route: string, options?: GatewayOptions) {\n return function <T extends Constructor>(target: T) {\n Transient()(target)\n Reflect.defineMetadata(CONTROLLER_ROUTE_KEY, route, target)\n Reflect.defineMetadata(GATEWAY_MARKER_KEY, true, target)\n if (options) {\n Reflect.defineMetadata(CONTROLLER_OPTIONS_KEY, options, target)\n }\n return target\n }\n}\n\n/**\n * Check if a class is a WebSocket gateway\n *\n * @param target - Class constructor or instance\n * @returns true if the class is decorated with @Gateway\n */\nexport function isGateway(target: object): boolean {\n const metadataTarget = typeof target === 'function' ? target : (target as { constructor: object }).constructor\n return Reflect.getMetadata(GATEWAY_MARKER_KEY, metadataTarget) === true\n}\n","import { ApplicationError, ERROR_CODES } from '../../errors'\n\nexport class WebSocketDuplicateEventHandlerError extends ApplicationError {\n constructor(decorator: string, existingMethod: string) {\n super(\n 'errors.websocketDuplicateEventHandler',\n ERROR_CODES.SYSTEM.WEBSOCKET_DUPLICATE_EVENT_HANDLER,\n { decorator, existingMethod }\n )\n }\n}\n","import { ROUTE_METADATA_KEYS } from '../../router/constants'\nimport type { Constructor } from '../../types'\nimport { WebSocketDuplicateEventHandlerError } from '../errors/websocket-duplicate-event-handler.error'\n\nconst WS_ON_MESSAGE_KEY = ROUTE_METADATA_KEYS.WS_ON_MESSAGE\nconst WS_ON_CLOSE_KEY = ROUTE_METADATA_KEYS.WS_ON_CLOSE\nconst WS_ON_ERROR_KEY = ROUTE_METADATA_KEYS.WS_ON_ERROR\n\n/**\n * Define a single-handler metadata key on the prototype.\n * Throws if a different method already owns this key (prevents silent override).\n */\nfunction defineSingleHandlerMetadata(key: string | symbol, propertyKey: string | symbol, target: object, decoratorName: string): void {\n const existing = Reflect.getMetadata(key, target) as string | symbol | undefined\n if (existing !== undefined && existing !== propertyKey) {\n throw new WebSocketDuplicateEventHandlerError(decoratorName, String(existing))\n }\n Reflect.defineMetadata(key, propertyKey, target)\n}\n\n/**\n * Marks a method as the WebSocket message handler\n *\n * @example\n * ```typescript\n * @Gateway('/ws/chat')\n * class ChatGateway {\n * @OnMessage()\n * handleMessage(evt: MessageEvent, ctx: GatewayContext) {\n * ctx.send(evt.data)\n * }\n * }\n * ```\n */\nexport function OnMessage(): MethodDecorator {\n // `_target` is the class prototype (method decorator convention).\n // The getter functions below read from `target.prototype` symmetrically.\n return (_target: object, propertyKey: string | symbol) => {\n defineSingleHandlerMetadata(WS_ON_MESSAGE_KEY, propertyKey, _target, 'OnMessage')\n }\n}\n\n/**\n * Marks a method as the WebSocket close handler\n *\n * @example\n * ```typescript\n * @Gateway('/ws/chat')\n * class ChatGateway {\n * @OnClose()\n * handleClose(evt: CloseEvent, ctx: GatewayContext) {\n * console.log('closed')\n * }\n * }\n * ```\n */\nexport function OnClose(): MethodDecorator {\n return (_target: object, propertyKey: string | symbol) => {\n defineSingleHandlerMetadata(WS_ON_CLOSE_KEY, propertyKey, _target, 'OnClose')\n }\n}\n\n/**\n * Marks a method as the WebSocket error handler\n *\n * @example\n * ```typescript\n * @Gateway('/ws/chat')\n * class ChatGateway {\n * @OnError()\n * handleError(evt: Event, ctx: GatewayContext) {\n * console.error('WebSocket error', evt)\n * }\n * }\n * ```\n */\nexport function OnError(): MethodDecorator {\n return (_target: object, propertyKey: string | symbol) => {\n defineSingleHandlerMetadata(WS_ON_ERROR_KEY, propertyKey, _target, 'OnError')\n }\n}\n\n/**\n * Get the method name decorated with @OnMessage\n */\nexport function getWsOnMessageMethod(target: Constructor): string | undefined {\n return Reflect.getMetadata(WS_ON_MESSAGE_KEY, target.prototype as object) as string | undefined\n}\n\n/**\n * Get the method name decorated with @OnClose\n */\nexport function getWsOnCloseMethod(target: Constructor): string | undefined {\n return Reflect.getMetadata(WS_ON_CLOSE_KEY, target.prototype as object) as string | undefined\n}\n\n/**\n * Get the method name decorated with @OnError\n */\nexport function getWsOnErrorMethod(target: Constructor): string | undefined {\n return Reflect.getMetadata(WS_ON_ERROR_KEY, target.prototype as object) as string | undefined\n}\n","import { ApplicationError, ERROR_CODES } from '../../errors'\n\nexport class WebSocketBodyNotAvailableError extends ApplicationError {\n constructor() {\n super(\n 'errors.websocketBodyNotAvailable',\n ERROR_CODES.SYSTEM.WEBSOCKET_BODY_NOT_AVAILABLE\n )\n }\n}\n","import type { Context } from 'hono'\nimport type { WSContext, WSReadyState } from 'hono/ws'\nimport type { ContextQueryResult } from '../router/router-context'\nimport { RouterContext } from '../router/router-context'\nimport type { RouterEnv } from '../router/types'\nimport { WebSocketBodyNotAvailableError } from './errors/websocket-body-not-available.error'\n\n/**\n * WebSocket gateway context\n *\n * Extends RouterContext with WebSocket-specific methods.\n * Inherits `getContainer()`, `param()`, `query()`, `header()`, `getLocale()`\n * from RouterContext. HTTP response methods (`json()`, `redirect()`, etc.) are\n * inherited but harmless post-upgrade.\n *\n * @example\n * ```typescript\n * @OnMessage()\n * handleMessage(evt: MessageEvent, ctx: GatewayContext) {\n * ctx.send('ack') // convenience method\n * ctx.header('Authorization') // upgrade request headers\n * }\n * ```\n */\nexport class GatewayContext extends RouterContext {\n constructor(c: Context<RouterEnv>, public readonly ws: WSContext) {\n super(c)\n }\n\n /** Send data through the WebSocket connection */\n send(data: string | ArrayBuffer | Uint8Array<ArrayBuffer>): void {\n this.ws.send(data)\n }\n\n /** Close the WebSocket connection */\n close(code?: number, reason?: string): void {\n this.ws.close(code, reason)\n }\n\n /** Current WebSocket ready state */\n get readyState(): WSReadyState {\n return this.ws.readyState\n }\n\n /**\n * Get route parameter value from the raw request (no OpenAPI validation)\n *\n * @param key - Parameter name (e.g., 'id' for /ws/chat/:id)\n */\n override param(key: string): string {\n return this.c.req.param(key)!\n }\n\n /**\n * Get query parameter value from the raw request (no OpenAPI validation)\n *\n * @param key - Query parameter name\n */\n override query<R extends Record<string, unknown> | undefined = undefined, K extends string | undefined = undefined>(key?: K): ContextQueryResult<R, K> {\n if (key) {\n return this.c.req.query(key) as ContextQueryResult<R, K>\n }\n return this.c.req.query() as ContextQueryResult<R, K>\n }\n\n /**\n * Request body is not available in WebSocket gateways\n *\n * @throws WebSocketBodyNotAvailableError always — WebSocket upgrade requests do not have a body\n */\n override body<T>(): Promise<T> {\n throw new WebSocketBodyNotAvailableError()\n }\n}\n"],"mappings":";;;;AAKA,MAAM,uBAAuB,oBAAoB;AACjD,MAAM,yBAAyB,oBAAoB;AACnD,MAAM,qBAAqB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8B/C,SAAgB,QAAQ,OAAe,SAA0B;AAC/D,QAAO,SAAiC,QAAW;AACjD,aAAW,CAAC,OAAO;AACnB,UAAQ,eAAe,sBAAsB,OAAO,OAAO;AAC3D,UAAQ,eAAe,oBAAoB,MAAM,OAAO;AACxD,MAAI,QACF,SAAQ,eAAe,wBAAwB,SAAS,OAAO;AAEjE,SAAO;;;;;;;;;AAUX,SAAgB,UAAU,QAAyB;CACjD,MAAM,iBAAiB,OAAO,WAAW,aAAa,SAAU,OAAmC;AACnG,QAAO,QAAQ,YAAY,oBAAoB,eAAe,KAAK;;;;ACvDrE,IAAa,sCAAb,cAAyD,iBAAiB;CACxE,YAAY,WAAmB,gBAAwB;AACrD,QACE,yCACA,YAAY,OAAO,mCACnB;GAAE;GAAW;GAAgB,CAC9B;;;;;ACJL,MAAM,oBAAoB,oBAAoB;AAC9C,MAAM,kBAAkB,oBAAoB;AAC5C,MAAM,kBAAkB,oBAAoB;;;;;AAM5C,SAAS,4BAA4B,KAAsB,aAA8B,QAAgB,eAA6B;CACpI,MAAM,WAAW,QAAQ,YAAY,KAAK,OAAO;AACjD,KAAI,aAAa,KAAA,KAAa,aAAa,YACzC,OAAM,IAAI,oCAAoC,eAAe,OAAO,SAAS,CAAC;AAEhF,SAAQ,eAAe,KAAK,aAAa,OAAO;;;;;;;;;;;;;;;;AAiBlD,SAAgB,YAA6B;AAG3C,SAAQ,SAAiB,gBAAiC;AACxD,8BAA4B,mBAAmB,aAAa,SAAS,YAAY;;;;;;;;;;;;;;;;;AAkBrF,SAAgB,UAA2B;AACzC,SAAQ,SAAiB,gBAAiC;AACxD,8BAA4B,iBAAiB,aAAa,SAAS,UAAU;;;;;;;;;;;;;;;;;AAkBjF,SAAgB,UAA2B;AACzC,SAAQ,SAAiB,gBAAiC;AACxD,8BAA4B,iBAAiB,aAAa,SAAS,UAAU;;;;;;AAOjF,SAAgB,qBAAqB,QAAyC;AAC5E,QAAO,QAAQ,YAAY,mBAAmB,OAAO,UAAoB;;;;;AAM3E,SAAgB,mBAAmB,QAAyC;AAC1E,QAAO,QAAQ,YAAY,iBAAiB,OAAO,UAAoB;;;;;AAMzE,SAAgB,mBAAmB,QAAyC;AAC1E,QAAO,QAAQ,YAAY,iBAAiB,OAAO,UAAoB;;;;AClGzE,IAAa,iCAAb,cAAoD,iBAAiB;CACnE,cAAc;AACZ,QACE,oCACA,YAAY,OAAO,6BACpB;;;;;;;;;;;;;;;;;;;;;;ACiBL,IAAa,iBAAb,cAAoC,cAAc;CAChD,YAAY,GAAuB,IAA+B;AAChE,QAAM,EAAE;AADyC,OAAA,KAAA;;;CAKnD,KAAK,MAA4D;AAC/D,OAAK,GAAG,KAAK,KAAK;;;CAIpB,MAAM,MAAe,QAAuB;AAC1C,OAAK,GAAG,MAAM,MAAM,OAAO;;;CAI7B,IAAI,aAA2B;AAC7B,SAAO,KAAK,GAAG;;;;;;;CAQjB,MAAe,KAAqB;AAClC,SAAO,KAAK,EAAE,IAAI,MAAM,IAAI;;;;;;;CAQ9B,MAAoH,KAAmC;AACrJ,MAAI,IACF,QAAO,KAAK,EAAE,IAAI,MAAM,IAAI;AAE9B,SAAO,KAAK,EAAE,IAAI,OAAO;;;;;;;CAQ3B,OAA+B;AAC7B,QAAM,IAAI,gCAAgC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { $t as Container, Tt as RouterContext } from "../index-C9bIk5tt.mjs";
|
|
2
|
+
import { t as Constructor } from "../types-JUIHSW_a.mjs";
|
|
3
|
+
import { i as LoggerService } from "../index-3TtGtYlJ.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/guards/types.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Interface for guards that control access to routes
|
|
8
|
+
*
|
|
9
|
+
* Guards are executed after middlewares but before route handlers.
|
|
10
|
+
* They determine if a request should be allowed to proceed.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* class RoleGuard implements CanActivate {
|
|
15
|
+
* constructor(private readonly role: string) {}
|
|
16
|
+
*
|
|
17
|
+
* async canActivate(context: RouterContext): Promise<boolean> {
|
|
18
|
+
* const user = context.getUser()
|
|
19
|
+
* return user?.roles.includes(this.role) ?? false
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
interface CanActivate {
|
|
25
|
+
/**
|
|
26
|
+
* Determine if the request should be allowed
|
|
27
|
+
*
|
|
28
|
+
* @param context - Router context with request/response helpers
|
|
29
|
+
* @returns true to allow, false to deny (throws 403)
|
|
30
|
+
*/
|
|
31
|
+
canActivate(context: RouterContext): boolean | Promise<boolean>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Type for guard class constructors
|
|
35
|
+
*/
|
|
36
|
+
type GuardClass = Constructor<CanActivate>;
|
|
37
|
+
/**
|
|
38
|
+
* Guard can be a class constructor or an instance
|
|
39
|
+
* Instances are used for factory-created guards with configuration
|
|
40
|
+
*/
|
|
41
|
+
type Guard = GuardClass | CanActivate;
|
|
42
|
+
/**
|
|
43
|
+
* Options for AuthGuard factory
|
|
44
|
+
*/
|
|
45
|
+
interface AuthGuardOptions {
|
|
46
|
+
/**
|
|
47
|
+
* Required permissions (scopes) for authorization
|
|
48
|
+
* If provided, permission check is performed after authentication.
|
|
49
|
+
* If omitted, only authentication is required.
|
|
50
|
+
*/
|
|
51
|
+
scopes?: string[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Metadata stored by `@UseGuards` decorator
|
|
55
|
+
*/
|
|
56
|
+
interface GuardMetadata {
|
|
57
|
+
guards: Guard[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Metadata key for guard storage
|
|
61
|
+
*/
|
|
62
|
+
declare const GUARD_METADATA_KEY: unique symbol;
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/guards/use-guards.decorator.d.ts
|
|
65
|
+
/**
|
|
66
|
+
* UseGuards Decorator
|
|
67
|
+
*
|
|
68
|
+
* Applies one or more guards to a controller or method.
|
|
69
|
+
* Guards are executed in order and all must pass for the request to proceed.
|
|
70
|
+
*
|
|
71
|
+
* **Execution Order:**
|
|
72
|
+
* 1. Request → Global Middlewares → Route Middlewares
|
|
73
|
+
* 2. **Guards (controller-level, then method-level)**
|
|
74
|
+
* 3. Route Handler
|
|
75
|
+
*
|
|
76
|
+
* **Guard Resolution:**
|
|
77
|
+
* - Guard classes are resolved from the request-scoped DI container
|
|
78
|
+
* - Guard instances (from factory functions) are used directly
|
|
79
|
+
*
|
|
80
|
+
* @param guards - Guard classes or instances to apply
|
|
81
|
+
*
|
|
82
|
+
* @example Authentication only
|
|
83
|
+
* ```typescript
|
|
84
|
+
* @Controller('/api/v1/profile')
|
|
85
|
+
* @UseGuards(AuthGuard())
|
|
86
|
+
* export class ProfileController {
|
|
87
|
+
* show() { } // Requires authentication
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @example Authentication with permissions
|
|
92
|
+
* ```typescript
|
|
93
|
+
* @Controller('/api/v1/students')
|
|
94
|
+
* @UseGuards(AuthGuard({ scopes: ['students:read'] }))
|
|
95
|
+
* export class StudentsController {
|
|
96
|
+
* index() { } // Requires 'students:read' permission
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @example Method-level guards
|
|
101
|
+
* ```typescript
|
|
102
|
+
* @Controller('/api/v1/students')
|
|
103
|
+
* @UseGuards(AuthGuard()) // Controller-level: auth only
|
|
104
|
+
* export class StudentsController {
|
|
105
|
+
* index() { } // Auth only (inherited)
|
|
106
|
+
*
|
|
107
|
+
* @UseGuards(AuthGuard({ scopes: ['students:create'] }))
|
|
108
|
+
* create() { } // Auth + 'students:create' permission
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* @example Multiple guards
|
|
113
|
+
* ```typescript
|
|
114
|
+
* @UseGuards(AuthGuard(), RateLimitGuard(), CustomGuard())
|
|
115
|
+
* export class SecureController {
|
|
116
|
+
* // All guards must pass
|
|
117
|
+
* }
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
declare function UseGuards(...guards: Guard[]): ClassDecorator & MethodDecorator;
|
|
121
|
+
/**
|
|
122
|
+
* Get controller-level guard metadata
|
|
123
|
+
*
|
|
124
|
+
* @param target - Controller class
|
|
125
|
+
* @returns Guard metadata or undefined if not decorated
|
|
126
|
+
*/
|
|
127
|
+
declare function getControllerGuards(target: object): GuardMetadata | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Get method-level guard metadata
|
|
130
|
+
*
|
|
131
|
+
* @param target - Controller prototype
|
|
132
|
+
* @param propertyKey - Method name
|
|
133
|
+
* @returns Guard metadata or undefined if not decorated
|
|
134
|
+
*/
|
|
135
|
+
declare function getMethodGuards(target: object, propertyKey: string | symbol): GuardMetadata | undefined;
|
|
136
|
+
//#endregion
|
|
137
|
+
//#region src/guards/guard-execution.service.d.ts
|
|
138
|
+
/**
|
|
139
|
+
* Guard Execution Service
|
|
140
|
+
*
|
|
141
|
+
* Executes guards for a route and determines if the request should proceed.
|
|
142
|
+
* Guards are executed in order; all must pass for the request to proceed.
|
|
143
|
+
*/
|
|
144
|
+
declare class GuardExecutionService {
|
|
145
|
+
private readonly logger;
|
|
146
|
+
constructor(logger: LoggerService);
|
|
147
|
+
/**
|
|
148
|
+
* Execute all guards for a route
|
|
149
|
+
*
|
|
150
|
+
* @param guards - Array of guards (classes or instances)
|
|
151
|
+
* @param context - Router context
|
|
152
|
+
* @param container - Request-scoped DI container
|
|
153
|
+
* @returns true if all guards pass
|
|
154
|
+
* @throws Error from first failing guard
|
|
155
|
+
*/
|
|
156
|
+
executeGuards(guards: Guard[], context: RouterContext, container: Container): Promise<boolean>;
|
|
157
|
+
/**
|
|
158
|
+
* Resolve a guard to an instance
|
|
159
|
+
*
|
|
160
|
+
* @param guard - Guard class or instance
|
|
161
|
+
* @param container - Request-scoped DI container
|
|
162
|
+
* @returns Guard instance
|
|
163
|
+
*/
|
|
164
|
+
private resolveGuard;
|
|
165
|
+
/**
|
|
166
|
+
* Type guard to check if value is a guard instance
|
|
167
|
+
*/
|
|
168
|
+
private isGuardInstance;
|
|
169
|
+
}
|
|
170
|
+
//#endregion
|
|
171
|
+
export { AuthGuardOptions, CanActivate, GUARD_METADATA_KEY, Guard, GuardClass, GuardExecutionService, GuardMetadata, UseGuards, getControllerGuards, getMethodGuards };
|
|
172
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/guards/types.ts","../../src/guards/use-guards.decorator.ts","../../src/guards/guard-execution.service.ts"],"mappings":";;;;;;;;;AAqBA;;;;;;;;;;AAaA;;;;UAbiB,WAAA;EAmBL;;;;;AAKZ;EAjBE,WAAA,CAAY,OAAA,EAAS,aAAA,aAA0B,OAAA;AAAA;;;AA6BjD;KAvBY,UAAA,GAAa,WAAA,CAAY,WAAA;;;;AA8BrC;KAxBY,KAAA,GAAQ,UAAA,GAAa,WAAA;;;;UAKhB,gBAAA;;;ACYjB;;;EDNE,MAAA;AAAA;;;;UAMe,aAAA;EACf,MAAA,EAAQ,KAAA;AAAA;;;;cAMG,kBAAA;;;;;;;;AA3Cb;;;;;;;;;;AAaA;;;;;AAMA;;;;;AAKA;;;;;AAYA;;;;;AAOA;;;;;;;;ACPA;;;;;;;;;;;;iBAAgB,SAAA,CAAA,GAAa,MAAA,EAAQ,KAAA,KAAU,cAAA,GAAiB,eAAA;;AAoBhE;;;;;iBAAgB,mBAAA,CAAoB,MAAA,WAAiB,aAAA;;;;;;;;iBAWrC,eAAA,CAAgB,MAAA,UAAgB,WAAA,oBAA+B,aAAA;;;;;ADnE/E;;;;cEVa,qBAAA;EAAA,iBACkB,MAAA;cAAA,MAAA,EAAQ,aAAA;EFgBU;;;AAMjD;;;;;AAMA;EEjBQ,aAAA,CACJ,MAAA,EAAQ,KAAA,IACR,OAAA,EAAS,aAAA,EACT,SAAA,EAAW,SAAA,GACV,OAAA;;;;AFkBL;;;;UEsBU,YAAA;EFVO;;;EAAA,QEuBP,eAAA;AAAA"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
//#region src/guards/types.ts
|
|
2
|
+
/**
|
|
3
|
+
* Metadata key for guard storage
|
|
4
|
+
*/
|
|
5
|
+
const GUARD_METADATA_KEY = Symbol.for("stratal:guards");
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/guards/use-guards.decorator.ts
|
|
8
|
+
/**
|
|
9
|
+
* UseGuards Decorator
|
|
10
|
+
*
|
|
11
|
+
* Applies one or more guards to a controller or method.
|
|
12
|
+
* Guards are executed in order and all must pass for the request to proceed.
|
|
13
|
+
*
|
|
14
|
+
* **Execution Order:**
|
|
15
|
+
* 1. Request → Global Middlewares → Route Middlewares
|
|
16
|
+
* 2. **Guards (controller-level, then method-level)**
|
|
17
|
+
* 3. Route Handler
|
|
18
|
+
*
|
|
19
|
+
* **Guard Resolution:**
|
|
20
|
+
* - Guard classes are resolved from the request-scoped DI container
|
|
21
|
+
* - Guard instances (from factory functions) are used directly
|
|
22
|
+
*
|
|
23
|
+
* @param guards - Guard classes or instances to apply
|
|
24
|
+
*
|
|
25
|
+
* @example Authentication only
|
|
26
|
+
* ```typescript
|
|
27
|
+
* @Controller('/api/v1/profile')
|
|
28
|
+
* @UseGuards(AuthGuard())
|
|
29
|
+
* export class ProfileController {
|
|
30
|
+
* show() { } // Requires authentication
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example Authentication with permissions
|
|
35
|
+
* ```typescript
|
|
36
|
+
* @Controller('/api/v1/students')
|
|
37
|
+
* @UseGuards(AuthGuard({ scopes: ['students:read'] }))
|
|
38
|
+
* export class StudentsController {
|
|
39
|
+
* index() { } // Requires 'students:read' permission
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example Method-level guards
|
|
44
|
+
* ```typescript
|
|
45
|
+
* @Controller('/api/v1/students')
|
|
46
|
+
* @UseGuards(AuthGuard()) // Controller-level: auth only
|
|
47
|
+
* export class StudentsController {
|
|
48
|
+
* index() { } // Auth only (inherited)
|
|
49
|
+
*
|
|
50
|
+
* @UseGuards(AuthGuard({ scopes: ['students:create'] }))
|
|
51
|
+
* create() { } // Auth + 'students:create' permission
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example Multiple guards
|
|
56
|
+
* ```typescript
|
|
57
|
+
* @UseGuards(AuthGuard(), RateLimitGuard(), CustomGuard())
|
|
58
|
+
* export class SecureController {
|
|
59
|
+
* // All guards must pass
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
function UseGuards(...guards) {
|
|
64
|
+
return (target, propertyKey) => {
|
|
65
|
+
const metadata = { guards };
|
|
66
|
+
if (propertyKey !== void 0) Reflect.defineMetadata(GUARD_METADATA_KEY, metadata, target, propertyKey);
|
|
67
|
+
else Reflect.defineMetadata(GUARD_METADATA_KEY, metadata, target);
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get controller-level guard metadata
|
|
72
|
+
*
|
|
73
|
+
* @param target - Controller class
|
|
74
|
+
* @returns Guard metadata or undefined if not decorated
|
|
75
|
+
*/
|
|
76
|
+
function getControllerGuards(target) {
|
|
77
|
+
return Reflect.getMetadata(GUARD_METADATA_KEY, target);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get method-level guard metadata
|
|
81
|
+
*
|
|
82
|
+
* @param target - Controller prototype
|
|
83
|
+
* @param propertyKey - Method name
|
|
84
|
+
* @returns Guard metadata or undefined if not decorated
|
|
85
|
+
*/
|
|
86
|
+
function getMethodGuards(target, propertyKey) {
|
|
87
|
+
return Reflect.getMetadata(GUARD_METADATA_KEY, target, propertyKey);
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region src/guards/guard-execution.service.ts
|
|
91
|
+
/**
|
|
92
|
+
* Guard Execution Service
|
|
93
|
+
*
|
|
94
|
+
* Executes guards for a route and determines if the request should proceed.
|
|
95
|
+
* Guards are executed in order; all must pass for the request to proceed.
|
|
96
|
+
*/
|
|
97
|
+
var GuardExecutionService = class {
|
|
98
|
+
constructor(logger) {
|
|
99
|
+
this.logger = logger;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Execute all guards for a route
|
|
103
|
+
*
|
|
104
|
+
* @param guards - Array of guards (classes or instances)
|
|
105
|
+
* @param context - Router context
|
|
106
|
+
* @param container - Request-scoped DI container
|
|
107
|
+
* @returns true if all guards pass
|
|
108
|
+
* @throws Error from first failing guard
|
|
109
|
+
*/
|
|
110
|
+
async executeGuards(guards, context, container) {
|
|
111
|
+
if (guards.length === 0) return true;
|
|
112
|
+
this.logger.debug("Executing guards", {
|
|
113
|
+
guardCount: guards.length,
|
|
114
|
+
path: context.c.req.path,
|
|
115
|
+
method: context.c.req.method
|
|
116
|
+
});
|
|
117
|
+
for (const guard of guards) if (!await this.resolveGuard(guard, container).canActivate(context)) {
|
|
118
|
+
this.logger.debug("Guard denied access", {
|
|
119
|
+
guard: guard.constructor?.name || "AnonymousGuard",
|
|
120
|
+
path: context.c.req.path
|
|
121
|
+
});
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
this.logger.debug("All guards passed", {
|
|
125
|
+
guardCount: guards.length,
|
|
126
|
+
path: context.c.req.path
|
|
127
|
+
});
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Resolve a guard to an instance
|
|
132
|
+
*
|
|
133
|
+
* @param guard - Guard class or instance
|
|
134
|
+
* @param container - Request-scoped DI container
|
|
135
|
+
* @returns Guard instance
|
|
136
|
+
*/
|
|
137
|
+
resolveGuard(guard, container) {
|
|
138
|
+
if (this.isGuardInstance(guard)) return guard;
|
|
139
|
+
return container.resolve(guard);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Type guard to check if value is a guard instance
|
|
143
|
+
*/
|
|
144
|
+
isGuardInstance(guard) {
|
|
145
|
+
return typeof guard === "object" && guard !== null && "canActivate" in guard && typeof guard.canActivate === "function";
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
//#endregion
|
|
149
|
+
export { GUARD_METADATA_KEY as a, getMethodGuards as i, UseGuards as n, getControllerGuards as r, GuardExecutionService as t };
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=guards-B5o618bL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards-B5o618bL.mjs","names":[],"sources":["../src/guards/types.ts","../src/guards/use-guards.decorator.ts","../src/guards/guard-execution.service.ts"],"sourcesContent":["import type { RouterContext } from '../router'\nimport type { Constructor } from '../types'\n\n/**\n * Interface for guards that control access to routes\n *\n * Guards are executed after middlewares but before route handlers.\n * They determine if a request should be allowed to proceed.\n *\n * @example\n * ```typescript\n * class RoleGuard implements CanActivate {\n * constructor(private readonly role: string) {}\n *\n * async canActivate(context: RouterContext): Promise<boolean> {\n * const user = context.getUser()\n * return user?.roles.includes(this.role) ?? false\n * }\n * }\n * ```\n */\nexport interface CanActivate {\n /**\n * Determine if the request should be allowed\n *\n * @param context - Router context with request/response helpers\n * @returns true to allow, false to deny (throws 403)\n */\n canActivate(context: RouterContext): boolean | Promise<boolean>\n}\n\n/**\n * Type for guard class constructors\n */\nexport type GuardClass = Constructor<CanActivate>\n\n/**\n * Guard can be a class constructor or an instance\n * Instances are used for factory-created guards with configuration\n */\nexport type Guard = GuardClass | CanActivate\n\n/**\n * Options for AuthGuard factory\n */\nexport interface AuthGuardOptions {\n /**\n * Required permissions (scopes) for authorization\n * If provided, permission check is performed after authentication.\n * If omitted, only authentication is required.\n */\n scopes?: string[]\n}\n\n/**\n * Metadata stored by `@UseGuards` decorator\n */\nexport interface GuardMetadata {\n guards: Guard[]\n}\n\n/**\n * Metadata key for guard storage\n */\nexport const GUARD_METADATA_KEY = Symbol.for('stratal:guards')\n","import { GUARD_METADATA_KEY, type Guard, type GuardMetadata } from './types'\n\n/**\n * UseGuards Decorator\n *\n * Applies one or more guards to a controller or method.\n * Guards are executed in order and all must pass for the request to proceed.\n *\n * **Execution Order:**\n * 1. Request → Global Middlewares → Route Middlewares\n * 2. **Guards (controller-level, then method-level)**\n * 3. Route Handler\n *\n * **Guard Resolution:**\n * - Guard classes are resolved from the request-scoped DI container\n * - Guard instances (from factory functions) are used directly\n *\n * @param guards - Guard classes or instances to apply\n *\n * @example Authentication only\n * ```typescript\n * @Controller('/api/v1/profile')\n * @UseGuards(AuthGuard())\n * export class ProfileController {\n * show() { } // Requires authentication\n * }\n * ```\n *\n * @example Authentication with permissions\n * ```typescript\n * @Controller('/api/v1/students')\n * @UseGuards(AuthGuard({ scopes: ['students:read'] }))\n * export class StudentsController {\n * index() { } // Requires 'students:read' permission\n * }\n * ```\n *\n * @example Method-level guards\n * ```typescript\n * @Controller('/api/v1/students')\n * @UseGuards(AuthGuard()) // Controller-level: auth only\n * export class StudentsController {\n * index() { } // Auth only (inherited)\n *\n * @UseGuards(AuthGuard({ scopes: ['students:create'] }))\n * create() { } // Auth + 'students:create' permission\n * }\n * ```\n *\n * @example Multiple guards\n * ```typescript\n * @UseGuards(AuthGuard(), RateLimitGuard(), CustomGuard())\n * export class SecureController {\n * // All guards must pass\n * }\n * ```\n */\nexport function UseGuards(...guards: Guard[]): ClassDecorator & MethodDecorator {\n return (target: object, propertyKey?: string | symbol) => {\n const metadata: GuardMetadata = { guards }\n\n if (propertyKey !== undefined) {\n // Method decorator - store on method\n Reflect.defineMetadata(GUARD_METADATA_KEY, metadata, target, propertyKey)\n } else {\n // Class decorator - store on class\n Reflect.defineMetadata(GUARD_METADATA_KEY, metadata, target)\n }\n }\n}\n\n/**\n * Get controller-level guard metadata\n *\n * @param target - Controller class\n * @returns Guard metadata or undefined if not decorated\n */\nexport function getControllerGuards(target: object): GuardMetadata | undefined {\n return Reflect.getMetadata(GUARD_METADATA_KEY, target) as GuardMetadata | undefined\n}\n\n/**\n * Get method-level guard metadata\n *\n * @param target - Controller prototype\n * @param propertyKey - Method name\n * @returns Guard metadata or undefined if not decorated\n */\nexport function getMethodGuards(target: object, propertyKey: string | symbol): GuardMetadata | undefined {\n return Reflect.getMetadata(GUARD_METADATA_KEY, target, propertyKey) as GuardMetadata | undefined\n}\n","import type { Container } from '../di'\nimport type { LoggerService } from '../logger'\nimport type { RouterContext } from '../router'\nimport type { CanActivate, Guard } from './types'\n\n/**\n * Guard Execution Service\n *\n * Executes guards for a route and determines if the request should proceed.\n * Guards are executed in order; all must pass for the request to proceed.\n */\nexport class GuardExecutionService {\n constructor(private readonly logger: LoggerService) { }\n\n /**\n * Execute all guards for a route\n *\n * @param guards - Array of guards (classes or instances)\n * @param context - Router context\n * @param container - Request-scoped DI container\n * @returns true if all guards pass\n * @throws Error from first failing guard\n */\n async executeGuards(\n guards: Guard[],\n context: RouterContext,\n container: Container\n ): Promise<boolean> {\n if (guards.length === 0) {\n return true\n }\n\n this.logger.debug('Executing guards', {\n guardCount: guards.length,\n path: context.c.req.path,\n method: context.c.req.method,\n })\n\n for (const guard of guards) {\n const guardInstance = this.resolveGuard(guard, container)\n const canActivate = await guardInstance.canActivate(context)\n\n if (!canActivate) {\n this.logger.debug('Guard denied access', {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- guard.constructor may be null at runtime\n guard: guard.constructor?.name || 'AnonymousGuard',\n path: context.c.req.path,\n })\n return false\n }\n }\n\n this.logger.debug('All guards passed', {\n guardCount: guards.length,\n path: context.c.req.path,\n })\n\n return true\n }\n\n /**\n * Resolve a guard to an instance\n *\n * @param guard - Guard class or instance\n * @param container - Request-scoped DI container\n * @returns Guard instance\n */\n private resolveGuard(guard: Guard, container: Container): CanActivate {\n // If already an instance (has canActivate method), use directly\n if (this.isGuardInstance(guard)) {\n return guard\n }\n\n // Otherwise, resolve from container\n return container.resolve<CanActivate>(guard)\n }\n\n /**\n * Type guard to check if value is a guard instance\n */\n private isGuardInstance(guard: Guard): guard is CanActivate {\n return (\n typeof guard === 'object' &&\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- typeof null === 'object', null check is required\n guard !== null &&\n 'canActivate' in guard &&\n typeof guard.canActivate === 'function'\n )\n }\n}\n"],"mappings":";;;;AAgEA,MAAa,qBAAqB,OAAO,IAAI,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACP9D,SAAgB,UAAU,GAAG,QAAmD;AAC9E,SAAQ,QAAgB,gBAAkC;EACxD,MAAM,WAA0B,EAAE,QAAQ;AAE1C,MAAI,gBAAgB,KAAA,EAElB,SAAQ,eAAe,oBAAoB,UAAU,QAAQ,YAAY;MAGzE,SAAQ,eAAe,oBAAoB,UAAU,OAAO;;;;;;;;;AAWlE,SAAgB,oBAAoB,QAA2C;AAC7E,QAAO,QAAQ,YAAY,oBAAoB,OAAO;;;;;;;;;AAUxD,SAAgB,gBAAgB,QAAgB,aAAyD;AACvG,QAAO,QAAQ,YAAY,oBAAoB,QAAQ,YAAY;;;;;;;;;;AC9ErE,IAAa,wBAAb,MAAmC;CACjC,YAAY,QAAwC;AAAvB,OAAA,SAAA;;;;;;;;;;;CAW7B,MAAM,cACJ,QACA,SACA,WACkB;AAClB,MAAI,OAAO,WAAW,EACpB,QAAO;AAGT,OAAK,OAAO,MAAM,oBAAoB;GACpC,YAAY,OAAO;GACnB,MAAM,QAAQ,EAAE,IAAI;GACpB,QAAQ,QAAQ,EAAE,IAAI;GACvB,CAAC;AAEF,OAAK,MAAM,SAAS,OAIlB,KAAI,CAFgB,MADE,KAAK,aAAa,OAAO,UAAU,CACjB,YAAY,QAAQ,EAE1C;AAChB,QAAK,OAAO,MAAM,uBAAuB;IAEvC,OAAO,MAAM,aAAa,QAAQ;IAClC,MAAM,QAAQ,EAAE,IAAI;IACrB,CAAC;AACF,UAAO;;AAIX,OAAK,OAAO,MAAM,qBAAqB;GACrC,YAAY,OAAO;GACnB,MAAM,QAAQ,EAAE,IAAI;GACrB,CAAC;AAEF,SAAO;;;;;;;;;CAUT,aAAqB,OAAc,WAAmC;AAEpE,MAAI,KAAK,gBAAgB,MAAM,CAC7B,QAAO;AAIT,SAAO,UAAU,QAAqB,MAAM;;;;;CAM9C,gBAAwB,OAAoC;AAC1D,SACE,OAAO,UAAU,YAEjB,UAAU,QACV,iBAAiB,SACjB,OAAO,MAAM,gBAAgB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { $ as I18nModuleOptions, J as TranslationMissingError, Q as I18nModule, X as setupI18nCompiler, Y as LocaleNotSupportedError, Z as I18N_TOKENS, _n as Messages, bn as messages, et as ResolvedI18nOptions, q as LocaleExtractionMiddleware, tt as resolveI18nOptions, u as I18nContextMiddleware, vn as getLocales, yn as getMessages } from "../index-C9bIk5tt.mjs";
|
|
2
|
+
import { _ as II18nService, b as SystemMessageKeys, g as DeepKeys, h as AppMessages, m as AppMessageKeys, v as MessageKeys, y as MessageParams } from "../index-Dl4RvzNp.mjs";
|
|
3
|
+
export { AppMessageKeys, AppMessages, DeepKeys, I18N_TOKENS, I18nContextMiddleware, I18nModule, I18nModuleOptions, II18nService, LocaleExtractionMiddleware, LocaleNotSupportedError, MessageKeys, MessageParams, Messages, ResolvedI18nOptions, SystemMessageKeys, TranslationMissingError, getLocales, getMessages, messages, resolveI18nOptions, setupI18nCompiler };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { o as I18N_TOKENS } from "../errors-BRJgVd5-.mjs";
|
|
2
|
+
import "../logger-Bg-CuidS.mjs";
|
|
3
|
+
import "../module-Dvzm4dhS.mjs";
|
|
4
|
+
import "../events-CQyvSyrQ.mjs";
|
|
5
|
+
import "../middleware-B3tx1u1K.mjs";
|
|
6
|
+
import "../router-context-DlTxpJUG.mjs";
|
|
7
|
+
import "../validation-DA5nptIp.mjs";
|
|
8
|
+
import { A as LocaleNotSupportedError, F as messages, M as setupI18nCompiler, N as getLocales, P as getMessages, R as LocaleExtractionMiddleware, j as resolveI18nOptions, k as TranslationMissingError, t as I18nModule, z as I18nContextMiddleware } from "../i18n.module-C9wQr_2k.mjs";
|
|
9
|
+
import "../guards-B5o618bL.mjs";
|
|
10
|
+
import "../gateway-context-D7TFPLi5.mjs";
|
|
11
|
+
export { I18N_TOKENS, I18nContextMiddleware, I18nModule, LocaleExtractionMiddleware, LocaleNotSupportedError, TranslationMissingError, getLocales, getMessages, messages, resolveI18nOptions, setupI18nCompiler };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { c as runWithErrorMapContext, d as LocaleProvider, f as ZodCustomIssue, i as ZodError, l as ErrorMapContext, n as OpenAPIObject, o as z, p as withI18n, r as PathItemObject, s as backendErrorMap, t as OpenAPIHono, u as I18nErrorMetadata } from "../../index-Dl4RvzNp.mjs";
|
|
2
|
+
export * from "@hono/zod-openapi";
|
|
3
|
+
export * from "zod";
|
|
4
|
+
export { ErrorMapContext, I18nErrorMetadata, LocaleProvider, OpenAPIHono, OpenAPIObject, PathItemObject, ZodCustomIssue, ZodError, backendErrorMap, runWithErrorMapContext, withI18n, z };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as withI18n, i as z, n as ZodError, o as backendErrorMap, s as runWithErrorMapContext, t as OpenAPIHono } from "../../validation-DA5nptIp.mjs";
|
|
2
|
+
export * from "@hono/zod-openapi";
|
|
3
|
+
export { OpenAPIHono, ZodError, backendErrorMap, runWithErrorMapContext, withI18n, z };
|