@buenojs/bueno 0.8.7 → 0.8.9
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/index.js +15 -12
- package/dist/modules/index.js +2 -2
- package/dist/template/index.js +13 -10
- package/dist/templates/index.js +13 -10
- package/package.json +3 -3
- package/src/templates/loader.ts +1 -1
- package/src/templates/renderers/simple.ts +13 -10
- package/src/validation/index.ts +20 -21
- package/tsconfig.json +1 -1
- package/dist/cache/index.d.ts +0 -187
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cli/bin.d.ts +0 -8
- package/dist/cli/bin.d.ts.map +0 -1
- package/dist/cli/commands/add-frontend.d.ts +0 -7
- package/dist/cli/commands/add-frontend.d.ts.map +0 -1
- package/dist/cli/commands/build.d.ts +0 -7
- package/dist/cli/commands/build.d.ts.map +0 -1
- package/dist/cli/commands/dev.d.ts +0 -7
- package/dist/cli/commands/dev.d.ts.map +0 -1
- package/dist/cli/commands/generate.d.ts +0 -7
- package/dist/cli/commands/generate.d.ts.map +0 -1
- package/dist/cli/commands/help.d.ts +0 -7
- package/dist/cli/commands/help.d.ts.map +0 -1
- package/dist/cli/commands/index.d.ts +0 -59
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/migration.d.ts +0 -7
- package/dist/cli/commands/migration.d.ts.map +0 -1
- package/dist/cli/commands/new.d.ts +0 -7
- package/dist/cli/commands/new.d.ts.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -7
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/core/args.d.ts +0 -61
- package/dist/cli/core/args.d.ts.map +0 -1
- package/dist/cli/core/console.d.ts +0 -135
- package/dist/cli/core/console.d.ts.map +0 -1
- package/dist/cli/core/index.d.ts +0 -10
- package/dist/cli/core/index.d.ts.map +0 -1
- package/dist/cli/core/prompt.d.ts +0 -63
- package/dist/cli/core/prompt.d.ts.map +0 -1
- package/dist/cli/core/spinner.d.ts +0 -111
- package/dist/cli/core/spinner.d.ts.map +0 -1
- package/dist/cli/index.d.ts +0 -47
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/templates/database/index.d.ts +0 -24
- package/dist/cli/templates/database/index.d.ts.map +0 -1
- package/dist/cli/templates/database/mysql.d.ts +0 -6
- package/dist/cli/templates/database/mysql.d.ts.map +0 -1
- package/dist/cli/templates/database/none.d.ts +0 -8
- package/dist/cli/templates/database/none.d.ts.map +0 -1
- package/dist/cli/templates/database/postgresql.d.ts +0 -6
- package/dist/cli/templates/database/postgresql.d.ts.map +0 -1
- package/dist/cli/templates/database/sqlite.d.ts +0 -6
- package/dist/cli/templates/database/sqlite.d.ts.map +0 -1
- package/dist/cli/templates/deploy.d.ts +0 -41
- package/dist/cli/templates/deploy.d.ts.map +0 -1
- package/dist/cli/templates/docker.d.ts +0 -30
- package/dist/cli/templates/docker.d.ts.map +0 -1
- package/dist/cli/templates/frontend/index.d.ts +0 -25
- package/dist/cli/templates/frontend/index.d.ts.map +0 -1
- package/dist/cli/templates/frontend/none.d.ts +0 -8
- package/dist/cli/templates/frontend/none.d.ts.map +0 -1
- package/dist/cli/templates/frontend/react.d.ts +0 -6
- package/dist/cli/templates/frontend/react.d.ts.map +0 -1
- package/dist/cli/templates/frontend/solid.d.ts +0 -6
- package/dist/cli/templates/frontend/solid.d.ts.map +0 -1
- package/dist/cli/templates/frontend/svelte.d.ts +0 -6
- package/dist/cli/templates/frontend/svelte.d.ts.map +0 -1
- package/dist/cli/templates/frontend/vue.d.ts +0 -6
- package/dist/cli/templates/frontend/vue.d.ts.map +0 -1
- package/dist/cli/templates/generators/index.d.ts +0 -29
- package/dist/cli/templates/generators/index.d.ts.map +0 -1
- package/dist/cli/templates/generators/types.d.ts +0 -32
- package/dist/cli/templates/generators/types.d.ts.map +0 -1
- package/dist/cli/templates/index.d.ts +0 -12
- package/dist/cli/templates/index.d.ts.map +0 -1
- package/dist/cli/templates/project/api.d.ts +0 -6
- package/dist/cli/templates/project/api.d.ts.map +0 -1
- package/dist/cli/templates/project/default.d.ts +0 -6
- package/dist/cli/templates/project/default.d.ts.map +0 -1
- package/dist/cli/templates/project/fullstack.d.ts +0 -14
- package/dist/cli/templates/project/fullstack.d.ts.map +0 -1
- package/dist/cli/templates/project/index.d.ts +0 -26
- package/dist/cli/templates/project/index.d.ts.map +0 -1
- package/dist/cli/templates/project/minimal.d.ts +0 -6
- package/dist/cli/templates/project/minimal.d.ts.map +0 -1
- package/dist/cli/templates/project/types.d.ts +0 -80
- package/dist/cli/templates/project/types.d.ts.map +0 -1
- package/dist/cli/templates/project/website.d.ts +0 -8
- package/dist/cli/templates/project/website.d.ts.map +0 -1
- package/dist/cli/utils/fs.d.ts +0 -137
- package/dist/cli/utils/fs.d.ts.map +0 -1
- package/dist/cli/utils/index.d.ts +0 -9
- package/dist/cli/utils/index.d.ts.map +0 -1
- package/dist/cli/utils/strings.d.ts +0 -86
- package/dist/cli/utils/strings.d.ts.map +0 -1
- package/dist/cli/utils/version.d.ts +0 -15
- package/dist/cli/utils/version.d.ts.map +0 -1
- package/dist/config/env-validation.d.ts +0 -49
- package/dist/config/env-validation.d.ts.map +0 -1
- package/dist/config/env.d.ts +0 -167
- package/dist/config/env.d.ts.map +0 -1
- package/dist/config/index.d.ts +0 -168
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/loader.d.ts +0 -81
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/merge.d.ts +0 -66
- package/dist/config/merge.d.ts.map +0 -1
- package/dist/config/types.d.ts +0 -322
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/validation.d.ts +0 -100
- package/dist/config/validation.d.ts.map +0 -1
- package/dist/container/forward-ref.d.ts +0 -116
- package/dist/container/forward-ref.d.ts.map +0 -1
- package/dist/container/index.d.ts +0 -95
- package/dist/container/index.d.ts.map +0 -1
- package/dist/context/index.d.ts +0 -143
- package/dist/context/index.d.ts.map +0 -1
- package/dist/database/index.d.ts +0 -219
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/migrations/index.d.ts +0 -146
- package/dist/database/migrations/index.d.ts.map +0 -1
- package/dist/database/orm/builder.d.ts +0 -122
- package/dist/database/orm/builder.d.ts.map +0 -1
- package/dist/database/orm/casts/index.d.ts +0 -16
- package/dist/database/orm/casts/index.d.ts.map +0 -1
- package/dist/database/orm/casts/types.d.ts +0 -16
- package/dist/database/orm/casts/types.d.ts.map +0 -1
- package/dist/database/orm/compiler.d.ts +0 -90
- package/dist/database/orm/compiler.d.ts.map +0 -1
- package/dist/database/orm/hooks/index.d.ts +0 -53
- package/dist/database/orm/hooks/index.d.ts.map +0 -1
- package/dist/database/orm/index.d.ts +0 -21
- package/dist/database/orm/index.d.ts.map +0 -1
- package/dist/database/orm/model-registry.d.ts +0 -33
- package/dist/database/orm/model-registry.d.ts.map +0 -1
- package/dist/database/orm/model.d.ts +0 -245
- package/dist/database/orm/model.d.ts.map +0 -1
- package/dist/database/orm/relationships/base.d.ts +0 -69
- package/dist/database/orm/relationships/base.d.ts.map +0 -1
- package/dist/database/orm/relationships/belongs-to-many.d.ts +0 -47
- package/dist/database/orm/relationships/belongs-to-many.d.ts.map +0 -1
- package/dist/database/orm/relationships/belongs-to.d.ts +0 -17
- package/dist/database/orm/relationships/belongs-to.d.ts.map +0 -1
- package/dist/database/orm/relationships/has-many.d.ts +0 -14
- package/dist/database/orm/relationships/has-many.d.ts.map +0 -1
- package/dist/database/orm/relationships/has-one.d.ts +0 -14
- package/dist/database/orm/relationships/has-one.d.ts.map +0 -1
- package/dist/database/orm/relationships/index.d.ts +0 -10
- package/dist/database/orm/relationships/index.d.ts.map +0 -1
- package/dist/database/orm/scopes/index.d.ts +0 -36
- package/dist/database/orm/scopes/index.d.ts.map +0 -1
- package/dist/database/schema/index.d.ts +0 -155
- package/dist/database/schema/index.d.ts.map +0 -1
- package/dist/events/__tests__/event-system.test.d.ts +0 -2
- package/dist/events/__tests__/event-system.test.d.ts.map +0 -1
- package/dist/events/config.d.ts +0 -16
- package/dist/events/config.d.ts.map +0 -1
- package/dist/events/example-usage.d.ts +0 -12
- package/dist/events/example-usage.d.ts.map +0 -1
- package/dist/events/index.d.ts +0 -27
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/manager.d.ts +0 -33
- package/dist/events/manager.d.ts.map +0 -1
- package/dist/events/registry.d.ts +0 -31
- package/dist/events/registry.d.ts.map +0 -1
- package/dist/events/types.d.ts +0 -105
- package/dist/events/types.d.ts.map +0 -1
- package/dist/frontend/api-routes.d.ts +0 -189
- package/dist/frontend/api-routes.d.ts.map +0 -1
- package/dist/frontend/bundler.d.ts +0 -99
- package/dist/frontend/bundler.d.ts.map +0 -1
- package/dist/frontend/console-client.d.ts +0 -11
- package/dist/frontend/console-client.d.ts.map +0 -1
- package/dist/frontend/console-stream.d.ts +0 -138
- package/dist/frontend/console-stream.d.ts.map +0 -1
- package/dist/frontend/dev-server.d.ts +0 -174
- package/dist/frontend/dev-server.d.ts.map +0 -1
- package/dist/frontend/file-router.d.ts +0 -170
- package/dist/frontend/file-router.d.ts.map +0 -1
- package/dist/frontend/frameworks/index.d.ts +0 -41
- package/dist/frontend/frameworks/index.d.ts.map +0 -1
- package/dist/frontend/frameworks/react.d.ts +0 -32
- package/dist/frontend/frameworks/react.d.ts.map +0 -1
- package/dist/frontend/frameworks/solid.d.ts +0 -42
- package/dist/frontend/frameworks/solid.d.ts.map +0 -1
- package/dist/frontend/frameworks/svelte.d.ts +0 -57
- package/dist/frontend/frameworks/svelte.d.ts.map +0 -1
- package/dist/frontend/frameworks/vue.d.ts +0 -36
- package/dist/frontend/frameworks/vue.d.ts.map +0 -1
- package/dist/frontend/hmr-client.d.ts +0 -22
- package/dist/frontend/hmr-client.d.ts.map +0 -1
- package/dist/frontend/hmr.d.ts +0 -185
- package/dist/frontend/hmr.d.ts.map +0 -1
- package/dist/frontend/index.d.ts +0 -34
- package/dist/frontend/index.d.ts.map +0 -1
- package/dist/frontend/islands.d.ts +0 -135
- package/dist/frontend/islands.d.ts.map +0 -1
- package/dist/frontend/isr.d.ts +0 -143
- package/dist/frontend/isr.d.ts.map +0 -1
- package/dist/frontend/layout.d.ts +0 -140
- package/dist/frontend/layout.d.ts.map +0 -1
- package/dist/frontend/ssr/react.d.ts +0 -118
- package/dist/frontend/ssr/react.d.ts.map +0 -1
- package/dist/frontend/ssr/solid.d.ts +0 -141
- package/dist/frontend/ssr/solid.d.ts.map +0 -1
- package/dist/frontend/ssr/svelte.d.ts +0 -158
- package/dist/frontend/ssr/svelte.d.ts.map +0 -1
- package/dist/frontend/ssr/vue.d.ts +0 -161
- package/dist/frontend/ssr/vue.d.ts.map +0 -1
- package/dist/frontend/ssr.d.ts +0 -147
- package/dist/frontend/ssr.d.ts.map +0 -1
- package/dist/frontend/types.d.ts +0 -1902
- package/dist/frontend/types.d.ts.map +0 -1
- package/dist/graphql/built-in-engine.d.ts +0 -36
- package/dist/graphql/built-in-engine.d.ts.map +0 -1
- package/dist/graphql/context-builder.d.ts +0 -44
- package/dist/graphql/context-builder.d.ts.map +0 -1
- package/dist/graphql/decorators.d.ts +0 -162
- package/dist/graphql/decorators.d.ts.map +0 -1
- package/dist/graphql/execution-pipeline.d.ts +0 -67
- package/dist/graphql/execution-pipeline.d.ts.map +0 -1
- package/dist/graphql/graphql-module.d.ts +0 -70
- package/dist/graphql/graphql-module.d.ts.map +0 -1
- package/dist/graphql/index.d.ts +0 -48
- package/dist/graphql/index.d.ts.map +0 -1
- package/dist/graphql/metadata.d.ts +0 -37
- package/dist/graphql/metadata.d.ts.map +0 -1
- package/dist/graphql/schema-builder.d.ts +0 -34
- package/dist/graphql/schema-builder.d.ts.map +0 -1
- package/dist/graphql/subscription-handler.d.ts +0 -47
- package/dist/graphql/subscription-handler.d.ts.map +0 -1
- package/dist/graphql/types.d.ts +0 -252
- package/dist/graphql/types.d.ts.map +0 -1
- package/dist/health/index.d.ts +0 -176
- package/dist/health/index.d.ts.map +0 -1
- package/dist/i18n/engine.d.ts +0 -105
- package/dist/i18n/engine.d.ts.map +0 -1
- package/dist/i18n/index.d.ts +0 -13
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/loader.d.ts +0 -79
- package/dist/i18n/loader.d.ts.map +0 -1
- package/dist/i18n/middleware.d.ts +0 -96
- package/dist/i18n/middleware.d.ts.map +0 -1
- package/dist/i18n/negotiator.d.ts +0 -84
- package/dist/i18n/negotiator.d.ts.map +0 -1
- package/dist/i18n/types.d.ts +0 -129
- package/dist/i18n/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -48
- package/dist/index.d.ts.map +0 -1
- package/dist/jobs/drivers/memory.d.ts +0 -38
- package/dist/jobs/drivers/memory.d.ts.map +0 -1
- package/dist/jobs/drivers/redis.d.ts +0 -34
- package/dist/jobs/drivers/redis.d.ts.map +0 -1
- package/dist/jobs/index.d.ts +0 -12
- package/dist/jobs/index.d.ts.map +0 -1
- package/dist/jobs/queue.d.ts +0 -93
- package/dist/jobs/queue.d.ts.map +0 -1
- package/dist/jobs/types.d.ts +0 -193
- package/dist/jobs/types.d.ts.map +0 -1
- package/dist/jobs/worker.d.ts +0 -91
- package/dist/jobs/worker.d.ts.map +0 -1
- package/dist/lock/index.d.ts +0 -141
- package/dist/lock/index.d.ts.map +0 -1
- package/dist/logger/index.d.ts +0 -156
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/transports/index.d.ts +0 -371
- package/dist/logger/transports/index.d.ts.map +0 -1
- package/dist/metrics/index.d.ts +0 -163
- package/dist/metrics/index.d.ts.map +0 -1
- package/dist/middleware/built-in.d.ts +0 -50
- package/dist/middleware/built-in.d.ts.map +0 -1
- package/dist/middleware/index.d.ts +0 -40
- package/dist/middleware/index.d.ts.map +0 -1
- package/dist/migrations/index.d.ts +0 -10
- package/dist/migrations/index.d.ts.map +0 -1
- package/dist/modules/filters.d.ts +0 -150
- package/dist/modules/filters.d.ts.map +0 -1
- package/dist/modules/guards.d.ts +0 -188
- package/dist/modules/guards.d.ts.map +0 -1
- package/dist/modules/index.d.ts +0 -266
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/interceptors.d.ts +0 -242
- package/dist/modules/interceptors.d.ts.map +0 -1
- package/dist/modules/lazy.d.ts +0 -187
- package/dist/modules/lazy.d.ts.map +0 -1
- package/dist/modules/lifecycle.d.ts +0 -221
- package/dist/modules/lifecycle.d.ts.map +0 -1
- package/dist/modules/metadata.d.ts +0 -32
- package/dist/modules/metadata.d.ts.map +0 -1
- package/dist/modules/pipes.d.ts +0 -287
- package/dist/modules/pipes.d.ts.map +0 -1
- package/dist/notification/channels/base.d.ts +0 -32
- package/dist/notification/channels/base.d.ts.map +0 -1
- package/dist/notification/channels/email.d.ts +0 -37
- package/dist/notification/channels/email.d.ts.map +0 -1
- package/dist/notification/channels/push.d.ts +0 -37
- package/dist/notification/channels/push.d.ts.map +0 -1
- package/dist/notification/channels/sms.d.ts +0 -37
- package/dist/notification/channels/sms.d.ts.map +0 -1
- package/dist/notification/channels/whatsapp.d.ts +0 -37
- package/dist/notification/channels/whatsapp.d.ts.map +0 -1
- package/dist/notification/index.d.ts +0 -15
- package/dist/notification/index.d.ts.map +0 -1
- package/dist/notification/service.d.ts +0 -100
- package/dist/notification/service.d.ts.map +0 -1
- package/dist/notification/types.d.ts +0 -253
- package/dist/notification/types.d.ts.map +0 -1
- package/dist/observability/__tests__/observability.test.d.ts +0 -2
- package/dist/observability/__tests__/observability.test.d.ts.map +0 -1
- package/dist/observability/breadcrumbs.d.ts +0 -48
- package/dist/observability/breadcrumbs.d.ts.map +0 -1
- package/dist/observability/index.d.ts +0 -95
- package/dist/observability/index.d.ts.map +0 -1
- package/dist/observability/interceptor.d.ts +0 -19
- package/dist/observability/interceptor.d.ts.map +0 -1
- package/dist/observability/service.d.ts +0 -101
- package/dist/observability/service.d.ts.map +0 -1
- package/dist/observability/trace.d.ts +0 -21
- package/dist/observability/trace.d.ts.map +0 -1
- package/dist/observability/types.d.ts +0 -172
- package/dist/observability/types.d.ts.map +0 -1
- package/dist/openapi/__tests__/decorators.test.d.ts +0 -2
- package/dist/openapi/__tests__/decorators.test.d.ts.map +0 -1
- package/dist/openapi/__tests__/document-builder.test.d.ts +0 -2
- package/dist/openapi/__tests__/document-builder.test.d.ts.map +0 -1
- package/dist/openapi/__tests__/route-scanner.test.d.ts +0 -2
- package/dist/openapi/__tests__/route-scanner.test.d.ts.map +0 -1
- package/dist/openapi/__tests__/schema-generator.test.d.ts +0 -2
- package/dist/openapi/__tests__/schema-generator.test.d.ts.map +0 -1
- package/dist/openapi/decorators.d.ts +0 -173
- package/dist/openapi/decorators.d.ts.map +0 -1
- package/dist/openapi/document-builder.d.ts +0 -82
- package/dist/openapi/document-builder.d.ts.map +0 -1
- package/dist/openapi/index.d.ts +0 -48
- package/dist/openapi/index.d.ts.map +0 -1
- package/dist/openapi/metadata.d.ts +0 -36
- package/dist/openapi/metadata.d.ts.map +0 -1
- package/dist/openapi/route-scanner.d.ts +0 -34
- package/dist/openapi/route-scanner.d.ts.map +0 -1
- package/dist/openapi/schema-generator.d.ts +0 -53
- package/dist/openapi/schema-generator.d.ts.map +0 -1
- package/dist/openapi/swagger-module.d.ts +0 -57
- package/dist/openapi/swagger-module.d.ts.map +0 -1
- package/dist/openapi/types.d.ts +0 -344
- package/dist/openapi/types.d.ts.map +0 -1
- package/dist/orm/index.d.ts +0 -10
- package/dist/orm/index.d.ts.map +0 -1
- package/dist/router/index.d.ts +0 -73
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/linear.d.ts +0 -54
- package/dist/router/linear.d.ts.map +0 -1
- package/dist/router/regex.d.ts +0 -49
- package/dist/router/regex.d.ts.map +0 -1
- package/dist/router/tree.d.ts +0 -112
- package/dist/router/tree.d.ts.map +0 -1
- package/dist/rpc/index.d.ts +0 -321
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/schema/index.d.ts +0 -10
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/security/index.d.ts +0 -126
- package/dist/security/index.d.ts.map +0 -1
- package/dist/ssg/index.d.ts +0 -73
- package/dist/ssg/index.d.ts.map +0 -1
- package/dist/storage/index.d.ts +0 -99
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/telemetry/index.d.ts +0 -376
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/template/index.d.ts +0 -7
- package/dist/template/index.d.ts.map +0 -1
- package/dist/templates/engine.d.ts +0 -60
- package/dist/templates/engine.d.ts.map +0 -1
- package/dist/templates/index.d.ts +0 -9
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/loader.d.ts +0 -45
- package/dist/templates/loader.d.ts.map +0 -1
- package/dist/templates/renderers/markdown.d.ts +0 -46
- package/dist/templates/renderers/markdown.d.ts.map +0 -1
- package/dist/templates/renderers/simple.d.ts +0 -35
- package/dist/templates/renderers/simple.d.ts.map +0 -1
- package/dist/templates/types.d.ts +0 -138
- package/dist/templates/types.d.ts.map +0 -1
- package/dist/testing/index.d.ts +0 -539
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -116
- package/dist/types/index.d.ts.map +0 -1
- package/dist/validation/index.d.ts +0 -89
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/schemas.d.ts +0 -243
- package/dist/validation/schemas.d.ts.map +0 -1
- package/dist/websocket/index.d.ts +0 -252
- package/dist/websocket/index.d.ts.map +0 -1
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interceptors System
|
|
3
|
-
*
|
|
4
|
-
* Interceptors wrap around the handler execution and can modify both the
|
|
5
|
-
* request before it reaches the handler and the response after.
|
|
6
|
-
* They run after guards but before pipes in the request pipeline.
|
|
7
|
-
*
|
|
8
|
-
* Execution Order:
|
|
9
|
-
* Incoming Request → Guards → Interceptors (pre) → Pipes → Handler → Interceptors (post) → Response
|
|
10
|
-
*
|
|
11
|
-
* Interceptors can:
|
|
12
|
-
* - Log request/response information
|
|
13
|
-
* - Transform response data
|
|
14
|
-
* - Handle timeouts
|
|
15
|
-
* - Cache responses
|
|
16
|
-
* - Add headers or modify request/response
|
|
17
|
-
*/
|
|
18
|
-
import type { Token } from "../container";
|
|
19
|
-
import type { Context } from "../context";
|
|
20
|
-
/**
|
|
21
|
-
* Call handler interface for continuing the interceptor chain
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const result = await next.handle();
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
export interface CallHandler<T = unknown> {
|
|
29
|
-
/**
|
|
30
|
-
* Execute the next handler in the chain
|
|
31
|
-
* @returns Promise of the handler result
|
|
32
|
-
*/
|
|
33
|
-
handle(): Promise<T>;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Interceptor interface for request/response transformation
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* @Injectable()
|
|
41
|
-
* class LoggingInterceptor implements NestInterceptor {
|
|
42
|
-
* async intercept(context: Context, next: CallHandler) {
|
|
43
|
-
* console.log('Before...');
|
|
44
|
-
* const result = await next.handle();
|
|
45
|
-
* console.log('After...');
|
|
46
|
-
* return result;
|
|
47
|
-
* }
|
|
48
|
-
* }
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
export interface NestInterceptor<T = unknown, R = unknown> {
|
|
52
|
-
intercept(context: Context, next: CallHandler<T>): Promise<R> | R;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Interceptor function type (for functional interceptors)
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const loggingInterceptor: InterceptorFn = async (context, next) => {
|
|
60
|
-
* console.log('Request started');
|
|
61
|
-
* const result = await next();
|
|
62
|
-
* console.log('Request completed');
|
|
63
|
-
* return result;
|
|
64
|
-
* };
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export type InterceptorFn = (context: Context, next: () => Promise<unknown>) => Promise<unknown> | unknown;
|
|
68
|
-
/**
|
|
69
|
-
* Interceptor type - can be:
|
|
70
|
-
* - A token for an interceptor class registered in the container
|
|
71
|
-
* - An interceptor class instance
|
|
72
|
-
* - An interceptor function
|
|
73
|
-
*/
|
|
74
|
-
export type Interceptor = Token<NestInterceptor> | NestInterceptor | InterceptorFn;
|
|
75
|
-
type Constructor = new (...args: unknown[]) => unknown;
|
|
76
|
-
/**
|
|
77
|
-
* Get interceptors from a class constructor
|
|
78
|
-
*/
|
|
79
|
-
export declare function getClassInterceptors(target: Constructor): Interceptor[] | undefined;
|
|
80
|
-
/**
|
|
81
|
-
* Get interceptors from a method
|
|
82
|
-
*/
|
|
83
|
-
export declare function getMethodInterceptors(target: object, propertyKey: string | symbol): Interceptor[] | undefined;
|
|
84
|
-
/**
|
|
85
|
-
* Decorator to apply interceptors to a controller class or method.
|
|
86
|
-
* Interceptors are executed in the order they are provided.
|
|
87
|
-
*
|
|
88
|
-
* @param interceptors - Interceptors to apply
|
|
89
|
-
* @returns ClassDecorator & MethodDecorator
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* ```typescript
|
|
93
|
-
* // Apply to all methods in controller
|
|
94
|
-
* @Controller('users')
|
|
95
|
-
* @UseInterceptors(LoggingInterceptor)
|
|
96
|
-
* class UsersController {
|
|
97
|
-
* @Get()
|
|
98
|
-
* @UseInterceptors(TransformInterceptor) // Additional interceptor
|
|
99
|
-
* getUsers() {}
|
|
100
|
-
* }
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
export declare function UseInterceptors(...interceptors: Interceptor[]): MethodDecorator & ClassDecorator;
|
|
104
|
-
/**
|
|
105
|
-
* LoggingInterceptor - Logs request start, end, and duration
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```typescript
|
|
109
|
-
* @Controller('api')
|
|
110
|
-
* @UseInterceptors(LoggingInterceptor)
|
|
111
|
-
* class ApiController {
|
|
112
|
-
* @Get('users')
|
|
113
|
-
* getUsers() {}
|
|
114
|
-
* }
|
|
115
|
-
* // Output:
|
|
116
|
-
* // [GET] /api/users - Started
|
|
117
|
-
* // [GET] /api/users - Completed in 15ms
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
export declare class LoggingInterceptor implements NestInterceptor {
|
|
121
|
-
intercept(context: Context, next: CallHandler): Promise<unknown>;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Response wrapper interface for TransformInterceptor
|
|
125
|
-
*/
|
|
126
|
-
export interface TransformResponse<T> {
|
|
127
|
-
data: T;
|
|
128
|
-
timestamp: string;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* TransformInterceptor - Wraps response in standard format
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* ```typescript
|
|
135
|
-
* @Get()
|
|
136
|
-
* @UseInterceptors(new TransformInterceptor())
|
|
137
|
-
* getUsers() {
|
|
138
|
-
* return [{ id: 1, name: 'John' }];
|
|
139
|
-
* }
|
|
140
|
-
* // Response: { data: [{ id: 1, name: 'John' }], timestamp: '2024-01-15T10:30:00.000Z' }
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
export declare class TransformInterceptor<T = unknown> implements NestInterceptor<T, TransformResponse<T>> {
|
|
144
|
-
intercept(context: Context, next: CallHandler<T>): Promise<TransformResponse<T>>;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* TimeoutInterceptor - Aborts request after specified timeout
|
|
148
|
-
*
|
|
149
|
-
* @example
|
|
150
|
-
* ```typescript
|
|
151
|
-
* @Get('slow-endpoint')
|
|
152
|
-
* @UseInterceptors(new TimeoutInterceptor(5000)) // 5 second timeout
|
|
153
|
-
* slowOperation() {}
|
|
154
|
-
* ```
|
|
155
|
-
*/
|
|
156
|
-
export declare class TimeoutInterceptor implements NestInterceptor {
|
|
157
|
-
private timeoutMs;
|
|
158
|
-
constructor(timeoutMs: number);
|
|
159
|
-
intercept(context: Context, next: CallHandler): Promise<unknown>;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* CacheInterceptor - Caches responses in memory
|
|
163
|
-
*
|
|
164
|
-
* Note: This is a simple in-memory cache. For production use,
|
|
165
|
-
* consider using a distributed cache like Redis.
|
|
166
|
-
*
|
|
167
|
-
* @example
|
|
168
|
-
* ```typescript
|
|
169
|
-
* @Get('users')
|
|
170
|
-
* @UseInterceptors(new CacheInterceptor(60000)) // Cache for 60 seconds
|
|
171
|
-
* getUsers() {
|
|
172
|
-
* return this.userService.findAll(); // Only called if not cached
|
|
173
|
-
* }
|
|
174
|
-
* ```
|
|
175
|
-
*/
|
|
176
|
-
export declare class CacheInterceptor implements NestInterceptor {
|
|
177
|
-
private ttlMs;
|
|
178
|
-
private static cache;
|
|
179
|
-
private static cleanupInterval;
|
|
180
|
-
constructor(ttlMs?: number);
|
|
181
|
-
private static setupCleanup;
|
|
182
|
-
/**
|
|
183
|
-
* Generate cache key from context
|
|
184
|
-
*/
|
|
185
|
-
private getCacheKey;
|
|
186
|
-
/**
|
|
187
|
-
* Clear all cached entries
|
|
188
|
-
*/
|
|
189
|
-
static clearCache(): void;
|
|
190
|
-
/**
|
|
191
|
-
* Clear cache for a specific key pattern
|
|
192
|
-
*/
|
|
193
|
-
static clearCachePattern(pattern: string): void;
|
|
194
|
-
intercept(context: Context, next: CallHandler): Promise<unknown>;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* HeaderInterceptor - Adds custom headers to responses
|
|
198
|
-
*
|
|
199
|
-
* @example
|
|
200
|
-
* ```typescript
|
|
201
|
-
* @Get('api/data')
|
|
202
|
-
* @UseInterceptors(new HeaderInterceptor({ 'X-Custom-Header': 'value' }))
|
|
203
|
-
* getData() {}
|
|
204
|
-
* ```
|
|
205
|
-
*/
|
|
206
|
-
export declare class HeaderInterceptor implements NestInterceptor {
|
|
207
|
-
private headers;
|
|
208
|
-
constructor(headers: Record<string, string>);
|
|
209
|
-
intercept(context: Context, next: CallHandler): Promise<unknown>;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Interceptor executor options
|
|
213
|
-
*/
|
|
214
|
-
export interface InterceptorExecutorOptions {
|
|
215
|
-
/** Global interceptors applied to all routes */
|
|
216
|
-
globalInterceptors?: Interceptor[];
|
|
217
|
-
/** Interceptors from controller class */
|
|
218
|
-
classInterceptors?: Interceptor[];
|
|
219
|
-
/** Interceptors from method */
|
|
220
|
-
methodInterceptors?: Interceptor[];
|
|
221
|
-
/** Container for resolving interceptor instances */
|
|
222
|
-
resolveInterceptor?: (interceptor: Interceptor) => NestInterceptor | InterceptorFn | null;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Execute interceptors wrapping around the handler
|
|
226
|
-
*
|
|
227
|
-
* @param context - Request context
|
|
228
|
-
* @param handler - The final handler to execute
|
|
229
|
-
* @param options - Interceptor executor options
|
|
230
|
-
* @returns Promise of the result
|
|
231
|
-
*/
|
|
232
|
-
export declare function executeInterceptors(context: Context, handler: () => Promise<unknown>, options: InterceptorExecutorOptions): Promise<unknown>;
|
|
233
|
-
/**
|
|
234
|
-
* Check if a value is a NestInterceptor instance
|
|
235
|
-
*/
|
|
236
|
-
export declare function isNestInterceptor(value: unknown): value is NestInterceptor;
|
|
237
|
-
/**
|
|
238
|
-
* Check if a value is an interceptor function
|
|
239
|
-
*/
|
|
240
|
-
export declare function isInterceptorFn(value: unknown): value is InterceptorFn;
|
|
241
|
-
export {};
|
|
242
|
-
//# sourceMappingURL=interceptors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interceptors.d.ts","sourceRoot":"","sources":["../../src/modules/interceptors.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/lazy.d.ts
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lazy Loading System
|
|
3
|
-
*
|
|
4
|
-
* Provides on-demand module loading for improved startup time
|
|
5
|
-
* and reduced memory usage for large applications.
|
|
6
|
-
*/
|
|
7
|
-
import type { Container, Token } from "../container";
|
|
8
|
-
/**
|
|
9
|
-
* Constructor type for module classes
|
|
10
|
-
*/
|
|
11
|
-
export type Constructor = new (...args: unknown[]) => unknown;
|
|
12
|
-
/**
|
|
13
|
-
* Lazy module loader interface
|
|
14
|
-
*/
|
|
15
|
-
export interface LazyModuleLoader {
|
|
16
|
-
/**
|
|
17
|
-
* Load the lazy module
|
|
18
|
-
*/
|
|
19
|
-
load(): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* Check if the module is already loaded
|
|
22
|
-
*/
|
|
23
|
-
isLoaded(): boolean;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Module loader function type for dynamic imports
|
|
27
|
-
*/
|
|
28
|
-
export type ModuleLoaderFn = () => Promise<Constructor>;
|
|
29
|
-
/**
|
|
30
|
-
* Metadata for lazy modules
|
|
31
|
-
*/
|
|
32
|
-
export interface LazyModuleMetadata {
|
|
33
|
-
loader: ModuleLoaderFn;
|
|
34
|
-
loaded: boolean;
|
|
35
|
-
loadedModule?: Constructor;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Get lazy module metadata
|
|
39
|
-
*/
|
|
40
|
-
export declare function getLazyMetadata(target: Constructor): LazyModuleMetadata | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Check if a module is a lazy module
|
|
43
|
-
*/
|
|
44
|
-
export declare function isLazyModule(target: Constructor): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Implementation of LazyModuleLoader
|
|
47
|
-
*/
|
|
48
|
-
export declare class LazyModuleLoaderImpl implements LazyModuleLoader {
|
|
49
|
-
private loaded;
|
|
50
|
-
private loadingPromise;
|
|
51
|
-
private loader;
|
|
52
|
-
private onModuleLoaded?;
|
|
53
|
-
constructor(loader: ModuleLoaderFn, onModuleLoaded?: (moduleClass: Constructor) => Promise<void>);
|
|
54
|
-
load(): Promise<void>;
|
|
55
|
-
private doLoad;
|
|
56
|
-
isLoaded(): boolean;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Decorator to mark a module as lazy-loaded
|
|
60
|
-
*
|
|
61
|
-
* @param loader - Function that returns a Promise resolving to the module class
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* @LazyModule(() => import('./users.module').then(m => m.UsersModule))
|
|
66
|
-
* export class LazyUsersModule {}
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
69
|
-
export declare function LazyModule(loader: ModuleLoaderFn): ClassDecorator;
|
|
70
|
-
/**
|
|
71
|
-
* Token for the ModuleLoader service
|
|
72
|
-
*/
|
|
73
|
-
export declare const MODULE_LOADER_TOKEN: Token<ModuleLoader>;
|
|
74
|
-
/**
|
|
75
|
-
* Options for loading lazy modules
|
|
76
|
-
*/
|
|
77
|
-
export interface LoadModuleOptions {
|
|
78
|
-
/**
|
|
79
|
-
* Skip lifecycle hooks when loading
|
|
80
|
-
*/
|
|
81
|
-
skipLifecycle?: boolean;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Module loader service for programmatically loading lazy modules
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* @Controller('admin')
|
|
89
|
-
* class AdminController {
|
|
90
|
-
* constructor(private moduleLoader: ModuleLoader) {}
|
|
91
|
-
*
|
|
92
|
-
* @Post('load-users-module')
|
|
93
|
-
* async loadUsersModule() {
|
|
94
|
-
* await this.moduleLoader.load(LazyUsersModule);
|
|
95
|
-
* return { message: 'Users module loaded' };
|
|
96
|
-
* }
|
|
97
|
-
* }
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
|
-
export declare class ModuleLoader {
|
|
101
|
-
private container;
|
|
102
|
-
private loadedModules;
|
|
103
|
-
private moduleLoaders;
|
|
104
|
-
private onModuleLoadCallback?;
|
|
105
|
-
constructor(container: Container);
|
|
106
|
-
/**
|
|
107
|
-
* Set callback to be called when a module is loaded
|
|
108
|
-
* Used by Application to register controllers and providers
|
|
109
|
-
*/
|
|
110
|
-
setOnModuleLoadCallback(callback: (moduleClass: Constructor) => Promise<void>): void;
|
|
111
|
-
/**
|
|
112
|
-
* Load a lazy module by its token/class
|
|
113
|
-
*
|
|
114
|
-
* @param moduleToken - The module class or token to load
|
|
115
|
-
* @param options - Options for loading
|
|
116
|
-
*/
|
|
117
|
-
load(moduleToken: Token | Constructor, options?: LoadModuleOptions): Promise<void>;
|
|
118
|
-
/**
|
|
119
|
-
* Check if a module is loaded
|
|
120
|
-
*
|
|
121
|
-
* @param moduleToken - The module class or token to check
|
|
122
|
-
*/
|
|
123
|
-
isLoaded(moduleToken: Token | Constructor): boolean;
|
|
124
|
-
/**
|
|
125
|
-
* Get all loaded module classes
|
|
126
|
-
*/
|
|
127
|
-
getLoadedModules(): Constructor[];
|
|
128
|
-
/**
|
|
129
|
-
* Preload multiple lazy modules
|
|
130
|
-
*
|
|
131
|
-
* @param moduleTokens - Array of module tokens to preload
|
|
132
|
-
*/
|
|
133
|
-
preload(moduleTokens: Array<Token | Constructor>): Promise<void>;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Registry for tracking lazy modules across the application
|
|
137
|
-
*/
|
|
138
|
-
export declare class LazyModuleRegistry {
|
|
139
|
-
private static instance;
|
|
140
|
-
private lazyModules;
|
|
141
|
-
private constructor();
|
|
142
|
-
static getInstance(): LazyModuleRegistry;
|
|
143
|
-
/**
|
|
144
|
-
* Register a lazy module
|
|
145
|
-
*/
|
|
146
|
-
register(token: Token, metadata: LazyModuleMetadata): void;
|
|
147
|
-
/**
|
|
148
|
-
* Get lazy module metadata
|
|
149
|
-
*/
|
|
150
|
-
get(token: Token): LazyModuleMetadata | undefined;
|
|
151
|
-
/**
|
|
152
|
-
* Check if a token is a registered lazy module
|
|
153
|
-
*/
|
|
154
|
-
has(token: Token): boolean;
|
|
155
|
-
/**
|
|
156
|
-
* Get all registered lazy module tokens
|
|
157
|
-
*/
|
|
158
|
-
getAllTokens(): Token[];
|
|
159
|
-
/**
|
|
160
|
-
* Clear the registry
|
|
161
|
-
*/
|
|
162
|
-
clear(): void;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Create a lazy module loader for dynamic imports
|
|
166
|
-
*
|
|
167
|
-
* @param importFn - Dynamic import function
|
|
168
|
-
* @param exportName - Name of the exported module class (default: 'default')
|
|
169
|
-
*
|
|
170
|
-
* @example
|
|
171
|
-
* ```typescript
|
|
172
|
-
* const loadUsersModule = createLazyLoader(
|
|
173
|
-
* () => import('./users.module'),
|
|
174
|
-
* 'UsersModule'
|
|
175
|
-
* );
|
|
176
|
-
* ```
|
|
177
|
-
*/
|
|
178
|
-
export declare function createLazyLoader(importFn: () => Promise<Record<string, unknown>>, exportName?: string): ModuleLoaderFn;
|
|
179
|
-
/**
|
|
180
|
-
* Check if all lazy modules in a list are loaded
|
|
181
|
-
*/
|
|
182
|
-
export declare function areAllLazyModulesLoaded(modules: Constructor[]): boolean;
|
|
183
|
-
/**
|
|
184
|
-
* Get list of unloaded lazy modules
|
|
185
|
-
*/
|
|
186
|
-
export declare function getUnloadedLazyModules(modules: Constructor[]): Constructor[];
|
|
187
|
-
//# sourceMappingURL=lazy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/modules/lazy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lifecycle Hooks System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive lifecycle management for the Bueno framework module system.
|
|
5
|
-
* Provides hooks for module initialization, application bootstrap, and shutdown.
|
|
6
|
-
*/
|
|
7
|
-
import type { Context } from "../context";
|
|
8
|
-
/**
|
|
9
|
-
* Hook called when a module is initialized.
|
|
10
|
-
* Called after the module's providers are registered.
|
|
11
|
-
*/
|
|
12
|
-
export interface OnModuleInit {
|
|
13
|
-
onModuleInit(): void | Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Hook called when the application has fully bootstrapped.
|
|
17
|
-
* Called after all controllers are registered.
|
|
18
|
-
*/
|
|
19
|
-
export interface OnApplicationBootstrap {
|
|
20
|
-
onApplicationBootstrap(): void | Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Hook called when a module is being destroyed.
|
|
24
|
-
* Called during the shutdown process.
|
|
25
|
-
*/
|
|
26
|
-
export interface OnModuleDestroy {
|
|
27
|
-
onModuleDestroy(): void | Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Hook called before the application shuts down.
|
|
31
|
-
* Called when a shutdown signal is received (SIGTERM, SIGINT).
|
|
32
|
-
*/
|
|
33
|
-
export interface BeforeApplicationShutdown {
|
|
34
|
-
beforeApplicationShutdown(signal?: string): void | Promise<void>;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Hook called when the application is shutting down.
|
|
38
|
-
* Called at the end of the shutdown process.
|
|
39
|
-
*/
|
|
40
|
-
export interface OnApplicationShutdown {
|
|
41
|
-
onApplicationShutdown(signal?: string): void | Promise<void>;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Hook called before a request is handled.
|
|
45
|
-
*/
|
|
46
|
-
export interface OnBeforeRequest {
|
|
47
|
-
onBeforeRequest(context: Context): void | Promise<void>;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Hook called after a request is handled.
|
|
51
|
-
*/
|
|
52
|
-
export interface OnAfterRequest {
|
|
53
|
-
onAfterRequest(context: Context, response: Response): void | Promise<void>;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Hook called when a request throws an error.
|
|
57
|
-
*/
|
|
58
|
-
export interface OnRequestError {
|
|
59
|
-
onRequestError(context: Context, error: Error): void | Promise<void>;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Check if an instance implements OnModuleInit
|
|
63
|
-
*/
|
|
64
|
-
export declare function isOnModuleInit(instance: unknown): instance is OnModuleInit;
|
|
65
|
-
/**
|
|
66
|
-
* Check if an instance implements OnApplicationBootstrap
|
|
67
|
-
*/
|
|
68
|
-
export declare function isOnApplicationBootstrap(instance: unknown): instance is OnApplicationBootstrap;
|
|
69
|
-
/**
|
|
70
|
-
* Check if an instance implements OnModuleDestroy
|
|
71
|
-
*/
|
|
72
|
-
export declare function isOnModuleDestroy(instance: unknown): instance is OnModuleDestroy;
|
|
73
|
-
/**
|
|
74
|
-
* Check if an instance implements BeforeApplicationShutdown
|
|
75
|
-
*/
|
|
76
|
-
export declare function isBeforeApplicationShutdown(instance: unknown): instance is BeforeApplicationShutdown;
|
|
77
|
-
/**
|
|
78
|
-
* Check if an instance implements OnApplicationShutdown
|
|
79
|
-
*/
|
|
80
|
-
export declare function isOnApplicationShutdown(instance: unknown): instance is OnApplicationShutdown;
|
|
81
|
-
/**
|
|
82
|
-
* Check if an instance implements OnBeforeRequest
|
|
83
|
-
*/
|
|
84
|
-
export declare function isOnBeforeRequest(instance: unknown): instance is OnBeforeRequest;
|
|
85
|
-
/**
|
|
86
|
-
* Check if an instance implements OnAfterRequest
|
|
87
|
-
*/
|
|
88
|
-
export declare function isOnAfterRequest(instance: unknown): instance is OnAfterRequest;
|
|
89
|
-
/**
|
|
90
|
-
* Check if an instance implements OnRequestError
|
|
91
|
-
*/
|
|
92
|
-
export declare function isOnRequestError(instance: unknown): instance is OnRequestError;
|
|
93
|
-
/**
|
|
94
|
-
* Manager for lifecycle hooks.
|
|
95
|
-
* Handles registration and execution of lifecycle hooks in the correct order.
|
|
96
|
-
*/
|
|
97
|
-
export declare class LifecycleHookManager {
|
|
98
|
-
private instancesWithModuleInit;
|
|
99
|
-
private instancesWithBootstrap;
|
|
100
|
-
private instancesWithModuleDestroy;
|
|
101
|
-
private instancesWithBeforeShutdown;
|
|
102
|
-
private instancesWithShutdown;
|
|
103
|
-
private instancesWithBeforeRequest;
|
|
104
|
-
private instancesWithAfterRequest;
|
|
105
|
-
private instancesWithRequestError;
|
|
106
|
-
/**
|
|
107
|
-
* Register an instance with lifecycle hooks.
|
|
108
|
-
* The instance will be checked for all lifecycle hook interfaces.
|
|
109
|
-
*/
|
|
110
|
-
registerInstance(instance: unknown): void;
|
|
111
|
-
/**
|
|
112
|
-
* Register multiple instances with lifecycle hooks.
|
|
113
|
-
*/
|
|
114
|
-
registerInstances(instances: unknown[]): void;
|
|
115
|
-
/**
|
|
116
|
-
* Execute onModuleInit hooks for all registered instances.
|
|
117
|
-
* Called after providers are registered.
|
|
118
|
-
*/
|
|
119
|
-
executeOnModuleInit(): Promise<void>;
|
|
120
|
-
/**
|
|
121
|
-
* Execute onApplicationBootstrap hooks for all registered instances.
|
|
122
|
-
* Called after controllers are registered.
|
|
123
|
-
*/
|
|
124
|
-
executeOnApplicationBootstrap(): Promise<void>;
|
|
125
|
-
/**
|
|
126
|
-
* Execute beforeApplicationShutdown hooks for all registered instances.
|
|
127
|
-
* Called when a shutdown signal is received.
|
|
128
|
-
*/
|
|
129
|
-
executeBeforeApplicationShutdown(signal?: string): Promise<void>;
|
|
130
|
-
/**
|
|
131
|
-
* Execute onModuleDestroy hooks for all registered instances.
|
|
132
|
-
* Called during the shutdown process.
|
|
133
|
-
*/
|
|
134
|
-
executeOnModuleDestroy(): Promise<void>;
|
|
135
|
-
/**
|
|
136
|
-
* Execute onApplicationShutdown hooks for all registered instances.
|
|
137
|
-
* Called at the end of the shutdown process.
|
|
138
|
-
*/
|
|
139
|
-
executeOnApplicationShutdown(signal?: string): Promise<void>;
|
|
140
|
-
/**
|
|
141
|
-
* Execute onBeforeRequest hooks for all registered instances.
|
|
142
|
-
*/
|
|
143
|
-
executeOnBeforeRequest(context: Context): Promise<void>;
|
|
144
|
-
/**
|
|
145
|
-
* Execute onAfterRequest hooks for all registered instances.
|
|
146
|
-
*/
|
|
147
|
-
executeOnAfterRequest(context: Context, response: Response): Promise<void>;
|
|
148
|
-
/**
|
|
149
|
-
* Execute onRequestError hooks for all registered instances.
|
|
150
|
-
*/
|
|
151
|
-
executeOnRequestError(context: Context, error: Error): Promise<void>;
|
|
152
|
-
/**
|
|
153
|
-
* Check if there are any registered instances with lifecycle hooks.
|
|
154
|
-
*/
|
|
155
|
-
hasRegisteredHooks(): boolean;
|
|
156
|
-
/**
|
|
157
|
-
* Get count of registered instances for each hook type.
|
|
158
|
-
*/
|
|
159
|
-
getHookCounts(): {
|
|
160
|
-
onModuleInit: number;
|
|
161
|
-
onApplicationBootstrap: number;
|
|
162
|
-
onModuleDestroy: number;
|
|
163
|
-
beforeApplicationShutdown: number;
|
|
164
|
-
onApplicationShutdown: number;
|
|
165
|
-
onBeforeRequest: number;
|
|
166
|
-
onAfterRequest: number;
|
|
167
|
-
onRequestError: number;
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Clear all registered instances.
|
|
171
|
-
* Useful for testing or when resetting the application.
|
|
172
|
-
*/
|
|
173
|
-
clear(): void;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Handler for graceful shutdown signals.
|
|
177
|
-
*/
|
|
178
|
-
export declare class ShutdownSignalHandler {
|
|
179
|
-
private isShuttingDown;
|
|
180
|
-
private signalListeners;
|
|
181
|
-
/**
|
|
182
|
-
* Register a listener for shutdown signals.
|
|
183
|
-
*/
|
|
184
|
-
onSignal(listener: (signal: string) => Promise<void>): void;
|
|
185
|
-
/**
|
|
186
|
-
* Remove a listener for shutdown signals.
|
|
187
|
-
*/
|
|
188
|
-
offSignal(listener: (signal: string) => Promise<void>): void;
|
|
189
|
-
/**
|
|
190
|
-
* Start listening for shutdown signals (SIGTERM, SIGINT).
|
|
191
|
-
*/
|
|
192
|
-
startListening(): void;
|
|
193
|
-
/**
|
|
194
|
-
* Stop listening for shutdown signals.
|
|
195
|
-
*/
|
|
196
|
-
stopListening(): void;
|
|
197
|
-
/**
|
|
198
|
-
* Handle a shutdown signal.
|
|
199
|
-
*/
|
|
200
|
-
private handleSignal;
|
|
201
|
-
/**
|
|
202
|
-
* Check if the application is shutting down.
|
|
203
|
-
*/
|
|
204
|
-
isShuttingDownNow(): boolean;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Combined interface for all application lifecycle hooks.
|
|
208
|
-
*/
|
|
209
|
-
export interface ApplicationLifecycle extends OnModuleInit, OnApplicationBootstrap, OnModuleDestroy, BeforeApplicationShutdown, OnApplicationShutdown {
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Combined interface for all request lifecycle hooks.
|
|
213
|
-
*/
|
|
214
|
-
export interface RequestLifecycle extends OnBeforeRequest, OnAfterRequest, OnRequestError {
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Combined interface for all lifecycle hooks.
|
|
218
|
-
*/
|
|
219
|
-
export interface FullLifecycle extends ApplicationLifecycle, RequestLifecycle {
|
|
220
|
-
}
|
|
221
|
-
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/modules/lifecycle.ts"],"names":[],"mappings":"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"}
|