@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,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Exception Filters System
|
|
3
|
-
*
|
|
4
|
-
* Filters catch exceptions thrown during request processing and transform
|
|
5
|
-
* them into appropriate responses. They act as error boundaries in the
|
|
6
|
-
* request pipeline.
|
|
7
|
-
*
|
|
8
|
-
* Execution Order:
|
|
9
|
-
* Incoming Request → Guards → Pipes → Handler → Filters (if error) → Error Response
|
|
10
|
-
*/
|
|
11
|
-
import type { Context } from "../context";
|
|
12
|
-
import type { Token } from "../types";
|
|
13
|
-
import { BuenoError, NotFoundError, ValidationError } from "../types";
|
|
14
|
-
/**
|
|
15
|
-
* Exception filter interface
|
|
16
|
-
* Filters implement this interface to handle specific exception types
|
|
17
|
-
*/
|
|
18
|
-
export interface ExceptionFilter<T = Error> {
|
|
19
|
-
catch(exception: T, context: Context): Response | Promise<Response>;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Filter function type for functional filters
|
|
23
|
-
*/
|
|
24
|
-
export type FilterFn<T = Error> = (exception: T, context: Context) => Response | Promise<Response>;
|
|
25
|
-
/**
|
|
26
|
-
* Filter type - can be a token, instance, or function
|
|
27
|
-
*/
|
|
28
|
-
export type Filter<T = Error> = Token<ExceptionFilter<T>> | ExceptionFilter<T> | FilterFn<T>;
|
|
29
|
-
type Constructor = new (...args: unknown[]) => unknown;
|
|
30
|
-
/**
|
|
31
|
-
* Decorator to apply filters to a controller class or method
|
|
32
|
-
* Filters are executed in order: global → class → method
|
|
33
|
-
*
|
|
34
|
-
* @param filters - Filters to apply
|
|
35
|
-
* @returns ClassDecorator & MethodDecorator
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* @Controller('users')
|
|
40
|
-
* @UseFilters(CustomExceptionFilter) // Applied to all methods
|
|
41
|
-
* class UsersController {
|
|
42
|
-
* @Get(':id')
|
|
43
|
-
* @UseFilters(NotFoundExceptionFilter) // Additional filter for this method
|
|
44
|
-
* getUser() {}
|
|
45
|
-
* }
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export declare function UseFilters(...filters: Filter[]): MethodDecorator & ClassDecorator;
|
|
49
|
-
/**
|
|
50
|
-
* Decorator to mark a filter as catching a specific exception type
|
|
51
|
-
*
|
|
52
|
-
* @param exceptionType - The exception class to catch
|
|
53
|
-
* @returns ClassDecorator
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* ```typescript
|
|
57
|
-
* @Catch(ValidationError)
|
|
58
|
-
* @Injectable()
|
|
59
|
-
* class CustomValidationFilter implements ExceptionFilter<ValidationError> {
|
|
60
|
-
* catch(exception: ValidationError, context: Context): Response {
|
|
61
|
-
* return context.status(422).json({
|
|
62
|
-
* error: 'Validation Failed',
|
|
63
|
-
* issues: exception.issues
|
|
64
|
-
* });
|
|
65
|
-
* }
|
|
66
|
-
* }
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
69
|
-
export declare function Catch<T extends Error>(exceptionType: new (...args: never[]) => T): ClassDecorator;
|
|
70
|
-
/**
|
|
71
|
-
* Get class-level filters from a controller
|
|
72
|
-
*/
|
|
73
|
-
export declare function getClassFilters(target: Constructor): Filter[] | undefined;
|
|
74
|
-
/**
|
|
75
|
-
* Get method-level filters from a controller method
|
|
76
|
-
*/
|
|
77
|
-
export declare function getMethodFilters(target: object, propertyKey: string | symbol): Filter[] | undefined;
|
|
78
|
-
/**
|
|
79
|
-
* Get the exception type that a filter catches
|
|
80
|
-
*/
|
|
81
|
-
export declare function getCatchType(filter: Filter): (new (...args: unknown[]) => Error) | undefined;
|
|
82
|
-
/**
|
|
83
|
-
* Check if a filter can handle a specific exception
|
|
84
|
-
*/
|
|
85
|
-
export declare function canHandleException(filter: Filter, exception: Error): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Type guard to check if a value is an ExceptionFilter instance
|
|
88
|
-
*/
|
|
89
|
-
export declare function isExceptionFilter(value: unknown): value is ExceptionFilter;
|
|
90
|
-
/**
|
|
91
|
-
* Type guard to check if a value is a FilterFn
|
|
92
|
-
*/
|
|
93
|
-
export declare function isFilterFn(value: unknown): value is FilterFn;
|
|
94
|
-
/**
|
|
95
|
-
* Execute a filter and return the response
|
|
96
|
-
*/
|
|
97
|
-
export declare function executeFilter(filter: Filter, exception: Error, context: Context, resolveFilter?: (filter: Filter) => ExceptionFilter | null): Promise<Response>;
|
|
98
|
-
/**
|
|
99
|
-
* Options for executing filters
|
|
100
|
-
*/
|
|
101
|
-
export interface ExecuteFiltersOptions {
|
|
102
|
-
globalFilters: Filter[];
|
|
103
|
-
classFilters: Filter[];
|
|
104
|
-
methodFilters: Filter[];
|
|
105
|
-
resolveFilter?: (filter: Filter) => ExceptionFilter | null;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Find and execute the appropriate filter for an exception
|
|
109
|
-
* Filters are checked in order: method → class → global
|
|
110
|
-
* The first filter that can handle the exception is used
|
|
111
|
-
*/
|
|
112
|
-
export declare function findAndExecuteFilter(exception: Error, context: Context, options: ExecuteFiltersOptions): Promise<Response>;
|
|
113
|
-
/**
|
|
114
|
-
* HttpExceptionFilter - Handles BuenoError exceptions
|
|
115
|
-
* Returns appropriate HTTP status codes and error details
|
|
116
|
-
*/
|
|
117
|
-
export declare class HttpExceptionFilter implements ExceptionFilter<BuenoError> {
|
|
118
|
-
catch(exception: BuenoError, context: Context): Response;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* ValidationFilter - Handles ValidationError exceptions
|
|
122
|
-
* Returns validation error details with issues list
|
|
123
|
-
*/
|
|
124
|
-
export declare class ValidationFilter implements ExceptionFilter<ValidationError> {
|
|
125
|
-
catch(exception: ValidationError, context: Context): Response;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* NotFoundFilter - Handles NotFoundError exceptions
|
|
129
|
-
* Returns 404 response with resource not found message
|
|
130
|
-
*/
|
|
131
|
-
export declare class NotFoundFilter implements ExceptionFilter<NotFoundError> {
|
|
132
|
-
catch(exception: NotFoundError, context: Context): Response;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* AllExceptionsFilter - Catch-all filter for any Error
|
|
136
|
-
* This filter handles all unhandled exceptions
|
|
137
|
-
*/
|
|
138
|
-
export declare class AllExceptionsFilter implements ExceptionFilter<Error> {
|
|
139
|
-
catch(exception: Error, context: Context): Response;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Create a default error response when no filter matches
|
|
143
|
-
*/
|
|
144
|
-
export declare function createDefaultErrorResponse(exception: Error, context: Context): Response;
|
|
145
|
-
/**
|
|
146
|
-
* Create an internal error response
|
|
147
|
-
*/
|
|
148
|
-
export declare function createInternalErrorResponse(exception: Error): Response;
|
|
149
|
-
export {};
|
|
150
|
-
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/modules/filters.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/guards.d.ts
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Guards System
|
|
3
|
-
*
|
|
4
|
-
* Guards determine whether a request should be allowed to proceed to the handler.
|
|
5
|
-
* They run before interceptors and pipes in the request pipeline.
|
|
6
|
-
*
|
|
7
|
-
* Execution Order:
|
|
8
|
-
* Incoming Request → Guards → Interceptors → Pipes → Handler
|
|
9
|
-
*
|
|
10
|
-
* If any guard returns false, the request is rejected with 403 Forbidden.
|
|
11
|
-
*/
|
|
12
|
-
import type { Token } from "../container";
|
|
13
|
-
import type { Context } from "../context";
|
|
14
|
-
/**
|
|
15
|
-
* Guard interface for authorization checks
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* @Injectable()
|
|
20
|
-
* class AuthGuard implements CanActivate {
|
|
21
|
-
* canActivate(context: Context): boolean {
|
|
22
|
-
* return !!context.request.headers.get('Authorization');
|
|
23
|
-
* }
|
|
24
|
-
* }
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export interface CanActivate {
|
|
28
|
-
canActivate(context: Context): boolean | Promise<boolean>;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Guard function type (for functional guards)
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```typescript
|
|
35
|
-
* const authGuard: GuardFn = (context) => {
|
|
36
|
-
* return !!context.request.headers.get('Authorization');
|
|
37
|
-
* };
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export type GuardFn = (context: Context) => boolean | Promise<boolean>;
|
|
41
|
-
/**
|
|
42
|
-
* Guard type - can be:
|
|
43
|
-
* - A token for a guard class registered in the container
|
|
44
|
-
* - A guard class instance
|
|
45
|
-
* - A guard function
|
|
46
|
-
*/
|
|
47
|
-
export type Guard = Token<CanActivate> | CanActivate | GuardFn;
|
|
48
|
-
type Constructor = new (...args: unknown[]) => unknown;
|
|
49
|
-
/**
|
|
50
|
-
* Get guards from a class constructor
|
|
51
|
-
*/
|
|
52
|
-
export declare function getClassGuards(target: Constructor): Guard[] | undefined;
|
|
53
|
-
/**
|
|
54
|
-
* Get guards from a method
|
|
55
|
-
*/
|
|
56
|
-
export declare function getMethodGuards(target: object, propertyKey: string | symbol): Guard[] | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* Decorator to apply guards to a controller class or method.
|
|
59
|
-
* Guards are executed in the order they are provided.
|
|
60
|
-
*
|
|
61
|
-
* @param guards - Guards to apply
|
|
62
|
-
* @returns ClassDecorator & MethodDecorator
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* ```typescript
|
|
66
|
-
* // Apply to all methods in controller
|
|
67
|
-
* @Controller('users')
|
|
68
|
-
* @UseGuards(AuthGuard)
|
|
69
|
-
* class UsersController {
|
|
70
|
-
* @Get()
|
|
71
|
-
* getUsers() {} // Protected by AuthGuard
|
|
72
|
-
*
|
|
73
|
-
* @Get(':id')
|
|
74
|
-
* @UseGuards(RolesGuard) // Additional guard
|
|
75
|
-
* getUser() {} // Protected by AuthGuard AND RolesGuard
|
|
76
|
-
* }
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
export declare function UseGuards(...guards: Guard[]): MethodDecorator & ClassDecorator;
|
|
80
|
-
/**
|
|
81
|
-
* AuthGuard - Checks for Authorization header
|
|
82
|
-
*
|
|
83
|
-
* This guard verifies that the request has an Authorization header.
|
|
84
|
-
* It does not validate the token - that should be done by a custom guard.
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* @Controller('api')
|
|
89
|
-
* @UseGuards(AuthGuard)
|
|
90
|
-
* class ApiController {
|
|
91
|
-
* @Get('protected')
|
|
92
|
-
* protectedRoute() {} // Requires Authorization header
|
|
93
|
-
* }
|
|
94
|
-
* ```
|
|
95
|
-
*/
|
|
96
|
-
export declare class AuthGuard implements CanActivate {
|
|
97
|
-
canActivate(context: Context): boolean;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get required roles from a method
|
|
101
|
-
*/
|
|
102
|
-
export declare function getMethodRoles(target: object, propertyKey: string | symbol): string[] | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* Decorator to specify required roles for a route
|
|
105
|
-
* Must be used in conjunction with RolesGuard
|
|
106
|
-
*
|
|
107
|
-
* @param roles - Required roles
|
|
108
|
-
* @returns MethodDecorator
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ```typescript
|
|
112
|
-
* @Controller('admin')
|
|
113
|
-
* @UseGuards(AuthGuard, RolesGuard)
|
|
114
|
-
* class AdminController {
|
|
115
|
-
* @Get('users')
|
|
116
|
-
* @Roles('admin', 'moderator')
|
|
117
|
-
* getUsers() {} // Requires 'admin' or 'moderator' role
|
|
118
|
-
* }
|
|
119
|
-
* ```
|
|
120
|
-
*/
|
|
121
|
-
export declare function Roles(...roles: string[]): MethodDecorator;
|
|
122
|
-
/**
|
|
123
|
-
* User interface for type safety
|
|
124
|
-
* Applications should extend this interface with their user type
|
|
125
|
-
*/
|
|
126
|
-
export interface User {
|
|
127
|
-
id: string | number;
|
|
128
|
-
roles?: string[];
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Context extension for user data
|
|
132
|
-
* This extends the Context type to include user information
|
|
133
|
-
*/
|
|
134
|
-
declare module "../context" {
|
|
135
|
-
interface Context {
|
|
136
|
-
user?: User;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* RolesGuard - Checks user roles
|
|
141
|
-
*
|
|
142
|
-
* This guard checks if the authenticated user has the required roles.
|
|
143
|
-
* It should be used after AuthGuard in the guard chain.
|
|
144
|
-
*
|
|
145
|
-
* The user object must be set on the context before this guard runs.
|
|
146
|
-
* This is typically done by an authentication middleware or a previous guard.
|
|
147
|
-
*
|
|
148
|
-
* @example
|
|
149
|
-
* ```typescript
|
|
150
|
-
* @Controller('admin')
|
|
151
|
-
* @UseGuards(AuthGuard, RolesGuard)
|
|
152
|
-
* class AdminController {
|
|
153
|
-
* @Get('dashboard')
|
|
154
|
-
* @Roles('admin')
|
|
155
|
-
* getDashboard() {} // Requires 'admin' role
|
|
156
|
-
* }
|
|
157
|
-
* ```
|
|
158
|
-
*/
|
|
159
|
-
export declare class RolesGuard implements CanActivate {
|
|
160
|
-
canActivate(context: Context): boolean;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Guard executor options
|
|
164
|
-
*/
|
|
165
|
-
export interface GuardExecutorOptions {
|
|
166
|
-
/** Global guards applied to all routes */
|
|
167
|
-
globalGuards?: Guard[];
|
|
168
|
-
/** Guards from controller class */
|
|
169
|
-
classGuards?: Guard[];
|
|
170
|
-
/** Guards from method */
|
|
171
|
-
methodGuards?: Guard[];
|
|
172
|
-
/** Container for resolving guard instances */
|
|
173
|
-
resolveGuard?: (guard: Guard) => CanActivate | GuardFn | null;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Execute guards in order and return whether the request should proceed
|
|
177
|
-
*
|
|
178
|
-
* @param context - Request context
|
|
179
|
-
* @param options - Guard executor options
|
|
180
|
-
* @returns true if all guards pass, false otherwise
|
|
181
|
-
*/
|
|
182
|
-
export declare function executeGuards(context: Context, options: GuardExecutorOptions): Promise<boolean>;
|
|
183
|
-
/**
|
|
184
|
-
* Create a 403 Forbidden response
|
|
185
|
-
*/
|
|
186
|
-
export declare function createForbiddenResponse(): Response;
|
|
187
|
-
export {};
|
|
188
|
-
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/modules/guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC3B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC;AAU/D,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAkBvD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,SAAS,CAEvE;AAgBD;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,GAC1B,KAAK,EAAE,GAAG,SAAS,CAErB;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CACxB,GAAG,MAAM,EAAE,KAAK,EAAE,GAChB,eAAe,GAAG,cAAc,CAoBlC;AAID;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC5C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAItC;AA2BD;;GAEG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,GAC1B,MAAM,EAAE,GAAG,SAAS,CAEtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAUzD;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,OAAO,QAAQ,YAAY,CAAC;IAC3B,UAAU,OAAO;QAChB,IAAI,CAAC,EAAE,IAAI,CAAC;KACZ;CACD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC7C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAkBtC;AAID;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,mCAAmC;IACnC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAyElB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,QAAQ,CAclD"}
|
package/dist/modules/index.d.ts
DELETED
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Module System
|
|
3
|
-
*
|
|
4
|
-
* NestJS-inspired module system with dependency injection,
|
|
5
|
-
* controllers, and provider management.
|
|
6
|
-
*/
|
|
7
|
-
import { Container, type ForwardRef, type Provider, type Token } from "../container";
|
|
8
|
-
import { Router } from "../router";
|
|
9
|
-
import { type Filter } from "./filters";
|
|
10
|
-
import { type Guard } from "./guards";
|
|
11
|
-
import { type Interceptor } from "./interceptors";
|
|
12
|
-
import { ModuleLoader } from "./lazy";
|
|
13
|
-
import { type ApplicationLifecycle, type BeforeApplicationShutdown, type FullLifecycle, LifecycleHookManager, type OnAfterRequest, type OnApplicationBootstrap, type OnApplicationShutdown, type OnBeforeRequest, type OnModuleDestroy, type OnModuleInit, type OnRequestError, type RequestLifecycle, ShutdownSignalHandler, isBeforeApplicationShutdown, isOnAfterRequest, isOnApplicationBootstrap, isOnApplicationShutdown, isOnBeforeRequest, isOnModuleDestroy, isOnModuleInit, isOnRequestError } from "./lifecycle";
|
|
14
|
-
import { type Pipe } from "./pipes";
|
|
15
|
-
export type Constructor = new (...args: unknown[]) => unknown;
|
|
16
|
-
/**
|
|
17
|
-
* @deprecated Use individual lifecycle hook interfaces instead.
|
|
18
|
-
* Kept for backward compatibility.
|
|
19
|
-
*/
|
|
20
|
-
export interface LifecycleHooks {
|
|
21
|
-
onModuleInit?(): void | Promise<void>;
|
|
22
|
-
onModuleDestroy?(): void | Promise<void>;
|
|
23
|
-
onApplicationBootstrap?(): void | Promise<void>;
|
|
24
|
-
onApplicationShutdown?(): void | Promise<void>;
|
|
25
|
-
}
|
|
26
|
-
import { Controller, Injectable, Module, type ModuleMetadata } from "./metadata";
|
|
27
|
-
export { Injectable, Controller, Module, type ModuleMetadata };
|
|
28
|
-
/**
|
|
29
|
-
* Inject a dependency by token.
|
|
30
|
-
* Supports both Token and ForwardRef<Token> for circular dependency resolution.
|
|
31
|
-
*
|
|
32
|
-
* @param token - The injection token or a forward reference to the token
|
|
33
|
-
* @returns A parameter decorator that registers the injection metadata
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* // Regular injection
|
|
38
|
-
* constructor(@Inject(MY_TOKEN) private service: MyService) {}
|
|
39
|
-
*
|
|
40
|
-
* // Forward reference for circular dependency
|
|
41
|
-
* constructor(@Inject(forwardRef(() => ServiceB)) private serviceB: ServiceB) {}
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare function Inject(token: Token | ForwardRef<Token>): ParameterDecorator;
|
|
45
|
-
export declare const Get: (path?: string) => MethodDecorator;
|
|
46
|
-
export declare const Post: (path?: string) => MethodDecorator;
|
|
47
|
-
export declare const Put: (path?: string) => MethodDecorator;
|
|
48
|
-
export declare const Patch: (path?: string) => MethodDecorator;
|
|
49
|
-
export declare const Delete: (path?: string) => MethodDecorator;
|
|
50
|
-
export declare const Head: (path?: string) => MethodDecorator;
|
|
51
|
-
export declare const Options: (path?: string) => MethodDecorator;
|
|
52
|
-
export declare class AppModule {
|
|
53
|
-
private moduleClass;
|
|
54
|
-
private metadata;
|
|
55
|
-
private providers;
|
|
56
|
-
private controllers;
|
|
57
|
-
private visitedModules;
|
|
58
|
-
private lazyModules;
|
|
59
|
-
constructor(moduleClass: Constructor);
|
|
60
|
-
/**
|
|
61
|
-
* Process module and its imports recursively
|
|
62
|
-
* Skips lazy modules during initial processing
|
|
63
|
-
*/
|
|
64
|
-
private processModule;
|
|
65
|
-
/**
|
|
66
|
-
* Get all collected providers
|
|
67
|
-
*/
|
|
68
|
-
getProviders(): Provider[];
|
|
69
|
-
/**
|
|
70
|
-
* Get all collected controllers
|
|
71
|
-
*/
|
|
72
|
-
getControllers(): Constructor[];
|
|
73
|
-
/**
|
|
74
|
-
* Get all lazy modules that were skipped during initial processing
|
|
75
|
-
*/
|
|
76
|
-
getLazyModules(): Constructor[];
|
|
77
|
-
}
|
|
78
|
-
export declare class Application {
|
|
79
|
-
container: Container;
|
|
80
|
-
router: Router;
|
|
81
|
-
private appModule;
|
|
82
|
-
private lifecycleManager;
|
|
83
|
-
private shutdownHandler;
|
|
84
|
-
private server;
|
|
85
|
-
private providerInstances;
|
|
86
|
-
private controllerInstances;
|
|
87
|
-
private isInitialized;
|
|
88
|
-
private isShuttingDown;
|
|
89
|
-
private globalGuards;
|
|
90
|
-
private globalPipes;
|
|
91
|
-
private globalFilters;
|
|
92
|
-
private globalInterceptors;
|
|
93
|
-
private routeGuardMetadata;
|
|
94
|
-
private routePipeMetadata;
|
|
95
|
-
private routeFilterMetadata;
|
|
96
|
-
private routeInterceptorMetadata;
|
|
97
|
-
private moduleLoader;
|
|
98
|
-
private loadedLazyModules;
|
|
99
|
-
private websocketHandler;
|
|
100
|
-
constructor(moduleClass: Constructor);
|
|
101
|
-
/**
|
|
102
|
-
* Add global guards that apply to all routes
|
|
103
|
-
* Global guards run before controller and method guards
|
|
104
|
-
*
|
|
105
|
-
* @param guards - Guards to add
|
|
106
|
-
* @returns this (for chaining)
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* ```typescript
|
|
110
|
-
* const app = createApp(AppModule);
|
|
111
|
-
* app.useGlobalGuards(AuthGuard);
|
|
112
|
-
* await app.listen(3000);
|
|
113
|
-
* ```
|
|
114
|
-
*/
|
|
115
|
-
useGlobalGuards(...guards: Guard[]): this;
|
|
116
|
-
/**
|
|
117
|
-
* Get the list of global guards (live reference).
|
|
118
|
-
* Used by the GraphQL module to run guards on resolver methods.
|
|
119
|
-
*/
|
|
120
|
-
getGlobalGuards(): Guard[];
|
|
121
|
-
/**
|
|
122
|
-
* Get the list of global interceptors (live reference).
|
|
123
|
-
* Used by the GraphQL module to run interceptors on resolver methods.
|
|
124
|
-
*/
|
|
125
|
-
getGlobalInterceptors(): Interceptor[];
|
|
126
|
-
/**
|
|
127
|
-
* Register a WebSocket handler to be used when the server starts.
|
|
128
|
-
* Called by the GraphQL module to enable subscriptions on the same port.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* ```typescript
|
|
132
|
-
* app.setWebSocketHandler(subscriptionHandler.getWebSocketConfig());
|
|
133
|
-
* await app.listen(3000);
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
setWebSocketHandler(handler: Bun.WebSocketHandler<any>): void;
|
|
137
|
-
/**
|
|
138
|
-
* Add global pipes that apply to all parameters
|
|
139
|
-
* Global pipes run before parameter decorator pipes
|
|
140
|
-
*
|
|
141
|
-
* @param pipes - Pipes to add
|
|
142
|
-
* @returns this (for chaining)
|
|
143
|
-
*
|
|
144
|
-
* @example
|
|
145
|
-
* ```typescript
|
|
146
|
-
* const app = createApp(AppModule);
|
|
147
|
-
* app.useGlobalPipes(new ValidationPipe());
|
|
148
|
-
* await app.listen(3000);
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
|
-
useGlobalPipes(...pipes: Pipe[]): this;
|
|
152
|
-
/**
|
|
153
|
-
* Add global filters that apply to all routes
|
|
154
|
-
* Global filters run after controller and method filters
|
|
155
|
-
*
|
|
156
|
-
* @param filters - Filters to add
|
|
157
|
-
* @returns this (for chaining)
|
|
158
|
-
*
|
|
159
|
-
* @example
|
|
160
|
-
* ```typescript
|
|
161
|
-
* const app = createApp(AppModule);
|
|
162
|
-
* app.useGlobalFilters(new AllExceptionsFilter());
|
|
163
|
-
* await app.listen(3000);
|
|
164
|
-
* ```
|
|
165
|
-
*/
|
|
166
|
-
useGlobalFilters(...filters: Filter[]): this;
|
|
167
|
-
/**
|
|
168
|
-
* Add global interceptors that apply to all routes
|
|
169
|
-
* Global interceptors run before controller and method interceptors
|
|
170
|
-
*
|
|
171
|
-
* @param interceptors - Interceptors to add
|
|
172
|
-
* @returns this (for chaining)
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* ```typescript
|
|
176
|
-
* const app = createApp(AppModule);
|
|
177
|
-
* app.useGlobalInterceptors(new LoggingInterceptor());
|
|
178
|
-
* await app.listen(3000);
|
|
179
|
-
* ```
|
|
180
|
-
*/
|
|
181
|
-
useGlobalInterceptors(...interceptors: Interceptor[]): this;
|
|
182
|
-
/**
|
|
183
|
-
* Register all providers in the container
|
|
184
|
-
*/
|
|
185
|
-
private registerProviders;
|
|
186
|
-
/**
|
|
187
|
-
* Resolve all providers and register them with lifecycle manager
|
|
188
|
-
*/
|
|
189
|
-
private resolveProviders;
|
|
190
|
-
/**
|
|
191
|
-
* Register all controllers and their routes
|
|
192
|
-
*/
|
|
193
|
-
private registerControllers;
|
|
194
|
-
/**
|
|
195
|
-
* Register a single controller and its routes
|
|
196
|
-
*/
|
|
197
|
-
private registerController;
|
|
198
|
-
/**
|
|
199
|
-
* Initialize the application
|
|
200
|
-
*
|
|
201
|
-
* Execution order:
|
|
202
|
-
* 1. Module Registration
|
|
203
|
-
* 2. Provider Resolution
|
|
204
|
-
* 3. onModuleInit() for each provider
|
|
205
|
-
* 4. Controller Registration
|
|
206
|
-
* 5. onApplicationBootstrap() for each provider
|
|
207
|
-
*/
|
|
208
|
-
init(): Promise<void>;
|
|
209
|
-
/**
|
|
210
|
-
* Load a lazy module dynamically
|
|
211
|
-
* This is called by the ModuleLoader service when a lazy module is loaded
|
|
212
|
-
*/
|
|
213
|
-
private loadLazyModule;
|
|
214
|
-
/**
|
|
215
|
-
* Get the ModuleLoader service for loading lazy modules
|
|
216
|
-
*/
|
|
217
|
-
getModuleLoader(): ModuleLoader;
|
|
218
|
-
/**
|
|
219
|
-
* Setup graceful shutdown handlers
|
|
220
|
-
*/
|
|
221
|
-
private setupShutdownHandlers;
|
|
222
|
-
/**
|
|
223
|
-
* Perform graceful shutdown
|
|
224
|
-
*
|
|
225
|
-
* Execution order:
|
|
226
|
-
* 1. Stop accepting new requests
|
|
227
|
-
* 2. beforeApplicationShutdown(signal)
|
|
228
|
-
* 3. Drain existing requests
|
|
229
|
-
* 4. onModuleDestroy() for each provider
|
|
230
|
-
* 5. onApplicationShutdown(signal)
|
|
231
|
-
*/
|
|
232
|
-
shutdown(signal?: string): Promise<void>;
|
|
233
|
-
/**
|
|
234
|
-
* Start the HTTP server
|
|
235
|
-
*/
|
|
236
|
-
listen(port?: number, hostname?: string): Promise<void>;
|
|
237
|
-
/**
|
|
238
|
-
* Handle request directly (for testing)
|
|
239
|
-
*/
|
|
240
|
-
handle(request: Request): Promise<Response>;
|
|
241
|
-
/**
|
|
242
|
-
* Get the lifecycle manager for this application
|
|
243
|
-
*/
|
|
244
|
-
getLifecycleManager(): LifecycleHookManager;
|
|
245
|
-
/**
|
|
246
|
-
* Check if the application is shutting down
|
|
247
|
-
*/
|
|
248
|
-
isShuttingDownNow(): boolean;
|
|
249
|
-
/**
|
|
250
|
-
* Handle an exception using the filters system
|
|
251
|
-
* Filters are checked in order: method → class → global
|
|
252
|
-
*/
|
|
253
|
-
private handleException;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Create an application from a module
|
|
257
|
-
*/
|
|
258
|
-
export declare function createApp(moduleClass: Constructor): Application;
|
|
259
|
-
export { LifecycleHookManager, ShutdownSignalHandler, type OnModuleInit, type OnApplicationBootstrap, type OnModuleDestroy, type BeforeApplicationShutdown, type OnApplicationShutdown, type OnBeforeRequest, type OnAfterRequest, type OnRequestError, type ApplicationLifecycle, type RequestLifecycle, type FullLifecycle, isOnModuleInit, isOnApplicationBootstrap, isOnModuleDestroy, isBeforeApplicationShutdown, isOnApplicationShutdown, isOnBeforeRequest, isOnAfterRequest, isOnRequestError, };
|
|
260
|
-
export { type CanActivate, type GuardFn, type Guard, type User, UseGuards, AuthGuard, RolesGuard, Roles, getClassGuards, getMethodGuards, getMethodRoles, executeGuards, createForbiddenResponse, } from "./guards";
|
|
261
|
-
export { type PipeTransform, type PipeFn, type Pipe, type PipeContext, type ParameterMetadata, type ParameterPipeMetadata, UsePipes, Body, Query, Param, ValidationPipe, ParseIntPipe, ParseFloatPipe, ParseBoolPipe, DefaultValuePipe, TrimPipe, ParseJsonPipe, ParseArrayPipe, getMethodPipes, executePipes, extractParameterValue, createBadRequestResponse, isPipeTransform, isPipeFn, } from "./pipes";
|
|
262
|
-
export { type ExceptionFilter, type FilterFn, type Filter, type ExecuteFiltersOptions, UseFilters, Catch, getClassFilters, getMethodFilters, getCatchType, canHandleException, isExceptionFilter, isFilterFn, executeFilter, findAndExecuteFilter, HttpExceptionFilter, ValidationFilter, NotFoundFilter, AllExceptionsFilter, createDefaultErrorResponse, createInternalErrorResponse, } from "./filters";
|
|
263
|
-
export { type NestInterceptor, type InterceptorFn, type Interceptor, type CallHandler, type TransformResponse, type InterceptorExecutorOptions, UseInterceptors, LoggingInterceptor, TransformInterceptor, TimeoutInterceptor, CacheInterceptor, HeaderInterceptor, getClassInterceptors, getMethodInterceptors, executeInterceptors, isNestInterceptor, isInterceptorFn, } from "./interceptors";
|
|
264
|
-
export { type LazyModuleLoader, type Constructor as LazyModuleConstructor, type ModuleLoaderFn, type LazyModuleMetadata, type LoadModuleOptions, LazyModuleLoaderImpl, LazyModule, ModuleLoader, MODULE_LOADER_TOKEN, getLazyMetadata, isLazyModule, LazyModuleRegistry, createLazyLoader, areAllLazyModulesLoaded, getUnloadedLazyModules, } from "./lazy";
|
|
265
|
-
export { type ForwardRef, forwardRef, isForwardRef, resolveForwardRef, } from "../container";
|
|
266
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"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"}
|