@expressots/core 3.0.0 → 4.0.0-preview.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -21
- package/README.md +66 -118
- package/lib/CHANGELOG.md +774 -739
- package/lib/README.md +66 -118
- package/lib/cjs/application/application-container.js +467 -33
- package/lib/cjs/application/application-factory.js +111 -5
- package/lib/cjs/application/application.types.js +32 -2
- package/lib/cjs/application/bootstrap.js +716 -0
- package/lib/cjs/application/index.js +10 -7
- package/lib/cjs/authorization/authorization-config.interface.js +2 -0
- package/lib/cjs/authorization/decorators/convenience.js +80 -0
- package/lib/cjs/authorization/guard-constants.js +12 -0
- package/lib/cjs/authorization/guard-decorators.js +159 -0
- package/lib/cjs/authorization/guard-executor.js +101 -0
- package/lib/cjs/authorization/guard-registry.js +133 -0
- package/lib/cjs/authorization/guard.interface.js +75 -0
- package/lib/cjs/authorization/guards/attribute-based.guard.js +109 -0
- package/lib/cjs/authorization/guards/authenticated.guard.js +49 -0
- package/lib/cjs/authorization/guards/composition.guard.js +67 -0
- package/lib/cjs/authorization/guards/conditional.guard.js +41 -0
- package/lib/cjs/authorization/guards/index.js +24 -0
- package/lib/cjs/authorization/guards/permission.guard.js +82 -0
- package/lib/cjs/authorization/guards/resource-owner.guard.js +61 -0
- package/lib/cjs/authorization/guards/role.guard.js +64 -0
- package/lib/cjs/authorization/index.js +40 -0
- package/lib/cjs/authorization/services/guard-cache.interface.js +2 -0
- package/lib/cjs/authorization/services/guard-cache.js +56 -0
- package/lib/cjs/authorization/services/permission-hierarchy.interface.js +2 -0
- package/lib/cjs/authorization/services/permission-hierarchy.js +54 -0
- package/lib/cjs/authorization/services/permission-service.interface.js +2 -0
- package/lib/cjs/authorization/services/permission-service.js +58 -0
- package/lib/cjs/authorization/services/security-context.interface.js +2 -0
- package/lib/cjs/authorization/services/security-context.js +75 -0
- package/lib/cjs/authorization/setup.js +141 -0
- package/lib/cjs/config/config-resolver.js +719 -0
- package/lib/cjs/config/config.interfaces.js +14 -0
- package/lib/cjs/config/define-config.js +495 -0
- package/lib/cjs/config/env-field-builders.js +449 -0
- package/lib/cjs/config/index.js +89 -0
- package/lib/cjs/config/secret-value.js +201 -0
- package/lib/cjs/console/color-codes.js +4 -0
- package/lib/cjs/console/console.js +72 -9
- package/lib/cjs/console/index.js +2 -2
- package/lib/cjs/container-module/container-module.js +257 -26
- package/lib/cjs/container-module/index.js +6 -4
- package/lib/cjs/decorator/index.js +1 -1
- package/lib/cjs/decorator/scope-binding.js +307 -16
- package/lib/cjs/di/annotation/decorator_utils.js +4 -4
- package/lib/cjs/di/annotation/inject.js +3 -3
- package/lib/cjs/di/annotation/inject_base.js +5 -5
- package/lib/cjs/di/annotation/injectable.js +2 -2
- package/lib/cjs/di/annotation/multi_inject.js +3 -3
- package/lib/cjs/di/annotation/named.js +4 -4
- package/lib/cjs/di/annotation/optional.js +4 -4
- package/lib/cjs/di/annotation/post_construct.js +4 -4
- package/lib/cjs/di/annotation/pre_destroy.js +4 -4
- package/lib/cjs/di/annotation/property_event_decorator.js +2 -2
- package/lib/cjs/di/annotation/tagged.js +3 -3
- package/lib/cjs/di/annotation/target_name.js +5 -5
- package/lib/cjs/di/annotation/unmanaged.js +5 -5
- package/lib/cjs/di/binding-decorator/constants.js +3 -0
- package/lib/cjs/di/binding-decorator/decorator/fluent_provide.js +7 -7
- package/lib/cjs/di/binding-decorator/decorator/provide.js +7 -7
- package/lib/cjs/di/binding-decorator/factory/module_factory.js +23 -4
- package/lib/cjs/di/binding-decorator/index.js +11 -9
- package/lib/cjs/di/binding-decorator/syntax/provide_done_syntax.js +7 -7
- package/lib/cjs/di/binding-decorator/syntax/provide_in_syntax.js +19 -12
- package/lib/cjs/di/binding-decorator/syntax/provide_in_when_on_syntax.js +3 -0
- package/lib/cjs/di/binding-decorator/syntax/provide_on_syntax.js +4 -4
- package/lib/cjs/di/binding-decorator/syntax/provide_when_syntax.js +30 -30
- package/lib/cjs/di/binding-decorator/utils/auto_wire.js +4 -4
- package/lib/cjs/di/bindings/binding.js +5 -6
- package/lib/cjs/di/constants/error_msgs.js +6 -2
- package/lib/cjs/di/constants/literal_types.js +3 -3
- package/lib/cjs/di/container/container.js +44 -44
- package/lib/cjs/di/container/container_module.js +3 -3
- package/lib/cjs/di/container/lookup.js +3 -3
- package/lib/cjs/di/container/module_activation_store.js +3 -3
- package/lib/cjs/di/container-introspection.js +42 -0
- package/lib/cjs/di/inversify.js +85 -52
- package/lib/cjs/di/planning/context.js +2 -2
- package/lib/cjs/di/planning/metadata.js +1 -1
- package/lib/cjs/di/planning/metadata_reader.js +1 -1
- package/lib/cjs/di/planning/planner.js +37 -37
- package/lib/cjs/di/planning/reflection_utils.js +12 -12
- package/lib/cjs/di/planning/request.js +2 -2
- package/lib/cjs/di/planning/target.js +10 -10
- package/lib/cjs/di/resolution/instantiation.js +13 -13
- package/lib/cjs/di/resolution/resolver.js +22 -22
- package/lib/cjs/di/scope/scope-registry.js +115 -0
- package/lib/cjs/di/scope/scope.js +38 -8
- package/lib/cjs/di/syntax/binding_in_syntax.js +18 -8
- package/lib/cjs/di/syntax/binding_in_when_on_syntax.js +9 -6
- package/lib/cjs/di/syntax/binding_on_syntax.js +3 -3
- package/lib/cjs/di/syntax/binding_to_syntax.js +27 -27
- package/lib/cjs/di/syntax/binding_when_on_syntax.js +4 -4
- package/lib/cjs/di/syntax/binding_when_syntax.js +30 -30
- package/lib/cjs/di/syntax/constraint_helpers.js +3 -3
- package/lib/cjs/di/utils/binding_utils.js +18 -18
- package/lib/cjs/di/utils/exceptions.js +1 -1
- package/lib/cjs/di/utils/serialization.js +1 -1
- package/lib/cjs/error/app-error.js +152 -8
- package/lib/cjs/error/base-exception-filter.js +135 -0
- package/lib/cjs/error/error-handler-middleware.js +7 -7
- package/lib/cjs/error/exception-filter-constants.js +12 -0
- package/lib/cjs/error/exception-filter-decorators.js +161 -0
- package/lib/cjs/error/exception-filter-registry.js +163 -0
- package/lib/cjs/error/exception-filter.interface.js +2 -0
- package/lib/cjs/error/exception-handler-middleware.js +378 -0
- package/lib/cjs/error/filters/app-error.filter.js +31 -0
- package/lib/cjs/error/filters/global-exception.filter.js +39 -0
- package/lib/cjs/error/filters/not-found.filter.js +35 -0
- package/lib/cjs/error/filters/validation-error.filter.js +35 -0
- package/lib/cjs/error/index.js +28 -7
- package/lib/cjs/error/not-found.error.js +17 -0
- package/lib/cjs/error/report.js +104 -9
- package/lib/cjs/error/status-code.js +20 -0
- package/lib/cjs/error/utils.js +247 -33
- package/lib/cjs/error/validation.error.js +18 -0
- package/lib/cjs/event/event-decorators.js +280 -0
- package/lib/cjs/event/event-emitter.js +373 -0
- package/lib/cjs/event/event-flow-tracker.js +236 -0
- package/lib/cjs/event/event-recorder.js +289 -0
- package/lib/cjs/event/event-registry.js +207 -0
- package/lib/cjs/event/event.interfaces.js +54 -0
- package/lib/cjs/event/index.js +80 -0
- package/lib/cjs/framework-version.js +10 -0
- package/lib/cjs/index.js +29 -8
- package/lib/cjs/interceptor/conditional-interceptor.js +108 -0
- package/lib/cjs/interceptor/execution-context.js +66 -0
- package/lib/cjs/interceptor/index.js +64 -0
- package/lib/cjs/interceptor/interceptor-composition.js +130 -0
- package/lib/cjs/interceptor/interceptor-constants.js +20 -0
- package/lib/cjs/interceptor/interceptor-decorators.js +155 -0
- package/lib/cjs/interceptor/interceptor-executor.js +140 -0
- package/lib/cjs/interceptor/interceptor-registry.js +159 -0
- package/lib/cjs/interceptor/interceptor.interface.js +20 -0
- package/lib/cjs/interceptor/interceptors/index.js +22 -0
- package/lib/cjs/interceptor/interceptors/logging.interceptor.js +70 -0
- package/lib/cjs/interceptor/interceptors/performance.interceptor.js +251 -0
- package/lib/cjs/interceptor/interceptors/timeout.interceptor.js +66 -0
- package/lib/cjs/lazy-loading/index.js +77 -0
- package/lib/cjs/lazy-loading/lazy-load-metrics.js +355 -0
- package/lib/cjs/lazy-loading/lazy-module-helpers.js +49 -0
- package/lib/cjs/lazy-loading/lazy-module-loader.js +311 -0
- package/lib/cjs/lazy-loading/lazy-module-manager.js +244 -0
- package/lib/cjs/lazy-loading/lazy-module-warmup.js +294 -0
- package/lib/cjs/lazy-loading/lazy-module.js +380 -0
- package/lib/cjs/lazy-loading/lazy.interfaces.js +18 -0
- package/lib/cjs/lifecycle/index.js +15 -0
- package/lib/cjs/lifecycle/lifecycle-registry.js +301 -0
- package/lib/cjs/lifecycle/lifecycle.interface.js +37 -0
- package/lib/cjs/middleware/content-negotiation/accept-header-parser.js +110 -0
- package/lib/cjs/middleware/content-negotiation/content-negotiation-service.js +288 -0
- package/lib/cjs/middleware/content-negotiation/formatter-registry.js +168 -0
- package/lib/cjs/middleware/content-negotiation/formatters/csv-formatter.js +114 -0
- package/lib/cjs/middleware/content-negotiation/formatters/index.js +16 -0
- package/lib/cjs/middleware/content-negotiation/formatters/json-formatter.js +34 -0
- package/lib/cjs/middleware/content-negotiation/formatters/plain-text-formatter.js +44 -0
- package/lib/cjs/middleware/content-negotiation/formatters/xml-formatter.js +124 -0
- package/lib/cjs/middleware/content-negotiation/formatters/yaml-formatter.js +134 -0
- package/lib/cjs/middleware/content-negotiation/index.js +27 -0
- package/lib/cjs/middleware/index.js +58 -30
- package/lib/cjs/middleware/interfaces/content-negotiation.interface.js +7 -0
- package/lib/cjs/middleware/middleware-config.js +10 -0
- package/lib/cjs/middleware/middleware-profiler.js +310 -0
- package/lib/cjs/middleware/middleware-registry.js +160 -0
- package/lib/cjs/middleware/middleware-resolver.js +318 -57
- package/lib/cjs/middleware/middleware-service.js +1692 -308
- package/lib/cjs/middleware/middleware-utils.js +280 -0
- package/lib/cjs/middleware/presets-standalone.js +93 -0
- package/lib/cjs/middleware/upload-registry.js +91 -0
- package/lib/cjs/path-resolver/index.js +252 -0
- package/lib/cjs/provider/db-in-memory/adapter/adapter.interface.js +10 -0
- package/lib/cjs/provider/db-in-memory/adapter/in-memory.adapter.js +688 -0
- package/lib/cjs/provider/db-in-memory/adapter/index.js +10 -0
- package/lib/cjs/provider/db-in-memory/base-repo.repository.js +4 -4
- package/lib/cjs/provider/db-in-memory/db-in-memory.provider.js +14 -18
- package/lib/cjs/provider/db-in-memory/db.provider.js +402 -0
- package/lib/cjs/provider/db-in-memory/index.js +125 -9
- package/lib/cjs/provider/db-in-memory/query/index.js +24 -0
- package/lib/cjs/provider/db-in-memory/query/query-engine.js +601 -0
- package/lib/cjs/provider/db-in-memory/query/query.types.js +10 -0
- package/lib/cjs/provider/db-in-memory/schema/decorators.js +420 -0
- package/lib/cjs/provider/db-in-memory/schema/entity.interface.js +9 -0
- package/lib/cjs/provider/db-in-memory/schema/index.js +21 -0
- package/lib/cjs/provider/db-in-memory/storage/index.js +16 -0
- package/lib/cjs/provider/db-in-memory/storage/memory-store.js +777 -0
- package/lib/cjs/provider/dto-validator/dto-validator.provider.js +8 -8
- package/lib/cjs/provider/dto-validator/package-resolver.js +2 -2
- package/lib/cjs/provider/index.js +14 -10
- package/lib/cjs/provider/logger/decorators/index.js +17 -0
- package/lib/cjs/provider/logger/decorators/log-performance.decorator.js +178 -0
- package/lib/cjs/provider/logger/index.js +35 -0
- package/lib/cjs/provider/logger/logger.banner.js +482 -0
- package/lib/cjs/provider/logger/logger.config.js +32 -0
- package/lib/cjs/provider/logger/logger.context.js +341 -0
- package/lib/cjs/provider/logger/logger.flow.js +255 -0
- package/lib/cjs/provider/logger/logger.formatter.js +697 -0
- package/lib/cjs/provider/logger/logger.grouping.js +319 -0
- package/lib/cjs/provider/logger/logger.health.js +295 -0
- package/lib/cjs/provider/logger/logger.metrics-collector.js +184 -0
- package/lib/cjs/provider/logger/logger.metrics.js +91 -0
- package/lib/cjs/provider/logger/logger.performance.js +300 -0
- package/lib/cjs/provider/logger/logger.provider.js +746 -73
- package/lib/cjs/provider/logger/logger.query.js +532 -0
- package/lib/cjs/provider/logger/logger.redaction.js +456 -0
- package/lib/cjs/provider/logger/logger.suggestions.js +480 -0
- package/lib/cjs/provider/logger/transports/console.transport.js +141 -0
- package/lib/cjs/provider/logger/transports/file.transport.js +296 -0
- package/lib/cjs/provider/logger/transports/http-server.js +141 -0
- package/lib/cjs/provider/logger/transports/http.transport.js +151 -0
- package/lib/cjs/provider/logger/transports/index.js +21 -0
- package/lib/cjs/provider/logger/transports/transport.interface.js +2 -0
- package/lib/cjs/provider/logger/utils/index.js +18 -0
- package/lib/cjs/provider/logger/utils/log-entry.js +26 -0
- package/lib/cjs/provider/logger/utils/log-levels.js +107 -0
- package/lib/cjs/provider/provider-manager.js +209 -16
- package/lib/cjs/provider/provider-registry.js +414 -0
- package/lib/cjs/provider/provider.interface.js +49 -0
- package/lib/cjs/provider/validation/adapters/class-validator.adapter.js +264 -0
- package/lib/cjs/provider/validation/adapters/index.js +21 -0
- package/lib/cjs/provider/validation/adapters/yup.adapter.js +118 -0
- package/lib/cjs/provider/validation/adapters/zod.adapter.js +137 -0
- package/lib/cjs/provider/validation/helpful-error-formatter.js +228 -0
- package/lib/cjs/provider/validation/index.js +39 -0
- package/lib/cjs/provider/validation/smart-field-detector.js +543 -0
- package/lib/cjs/provider/validation/type-inference.js +192 -0
- package/lib/cjs/provider/validation/validation-registry.js +220 -0
- package/lib/cjs/provider/validation/validation.interface.js +9 -0
- package/lib/cjs/render/adapters/base-adapter.js +134 -0
- package/lib/cjs/render/adapters/ejs-adapter.js +172 -0
- package/lib/cjs/render/adapters/handlebars-adapter.js +191 -0
- package/lib/cjs/render/adapters/index.js +20 -0
- package/lib/cjs/render/adapters/pug-adapter.js +164 -0
- package/lib/cjs/render/adapters/react-adapter.js +336 -0
- package/lib/cjs/render/features/auto-detection.js +228 -0
- package/lib/cjs/render/features/hot-reload.js +155 -0
- package/lib/cjs/render/features/index.js +20 -0
- package/lib/cjs/render/features/streaming.js +106 -0
- package/lib/cjs/render/features/type-generator.js +221 -0
- package/lib/cjs/render/features/view-debugger.js +194 -0
- package/lib/cjs/render/index.js +80 -0
- package/lib/cjs/render/presets/index.js +216 -0
- package/lib/cjs/render/render-config.js +10 -0
- package/lib/cjs/render/render-interface.js +2 -0
- package/lib/cjs/render/render-registry.js +130 -0
- package/lib/cjs/render/render-service.js +418 -0
- package/lib/cjs/render/utils/cache-manager.js +199 -0
- package/lib/cjs/render/utils/index.js +20 -0
- package/lib/cjs/render/utils/package-resolver.js +121 -0
- package/lib/cjs/render/utils/view-scanner.js +208 -0
- package/lib/cjs/testing/create-test-app.js +366 -0
- package/lib/cjs/testing/create-test-database.js +416 -0
- package/lib/cjs/testing/fluent-request.js +461 -0
- package/lib/cjs/testing/index.js +142 -0
- package/lib/cjs/testing/load-test.js +484 -0
- package/lib/cjs/testing/matchers.js +444 -0
- package/lib/cjs/testing/mock-context.js +406 -0
- package/lib/cjs/testing/mock-provider.js +339 -0
- package/lib/cjs/testing/snapshot-request.js +380 -0
- package/lib/cjs/testing/testing.interfaces.js +10 -0
- package/lib/cjs/types/application/application-container.d.ts +320 -20
- package/lib/cjs/types/application/application-factory.d.ts +105 -3
- package/lib/cjs/types/application/application.types.d.ts +177 -2
- package/lib/cjs/types/application/bootstrap.d.ts +656 -0
- package/lib/cjs/types/application/index.d.ts +4 -3
- package/lib/cjs/types/authorization/authorization-config.interface.d.ts +45 -0
- package/lib/cjs/types/authorization/decorators/convenience.d.ts +64 -0
- package/lib/cjs/types/authorization/guard-constants.d.ts +9 -0
- package/lib/cjs/types/authorization/guard-decorators.d.ts +128 -0
- package/lib/cjs/types/authorization/guard-executor.d.ts +26 -0
- package/lib/cjs/types/authorization/guard-registry.d.ts +35 -0
- package/lib/cjs/types/authorization/guard.interface.d.ts +335 -0
- package/lib/cjs/types/authorization/guards/attribute-based.guard.d.ts +60 -0
- package/lib/cjs/types/authorization/guards/authenticated.guard.d.ts +26 -0
- package/lib/cjs/types/authorization/guards/composition.guard.d.ts +42 -0
- package/lib/cjs/types/authorization/guards/conditional.guard.d.ts +21 -0
- package/lib/cjs/types/authorization/guards/index.d.ts +7 -0
- package/lib/cjs/types/authorization/guards/permission.guard.d.ts +29 -0
- package/lib/cjs/types/authorization/guards/resource-owner.guard.d.ts +29 -0
- package/lib/cjs/types/authorization/guards/role.guard.d.ts +28 -0
- package/lib/cjs/types/authorization/index.d.ts +18 -0
- package/lib/cjs/types/authorization/services/guard-cache.d.ts +26 -0
- package/lib/cjs/types/authorization/services/guard-cache.interface.d.ts +29 -0
- package/lib/cjs/types/authorization/services/permission-hierarchy.d.ts +21 -0
- package/lib/cjs/types/authorization/services/permission-hierarchy.interface.d.ts +22 -0
- package/lib/cjs/types/authorization/services/permission-service.d.ts +21 -0
- package/lib/cjs/types/authorization/services/permission-service.interface.d.ts +19 -0
- package/lib/cjs/types/authorization/services/security-context.d.ts +32 -0
- package/lib/cjs/types/authorization/services/security-context.interface.d.ts +25 -0
- package/lib/cjs/types/authorization/setup.d.ts +84 -0
- package/lib/cjs/types/config/config-resolver.d.ts +40 -0
- package/lib/cjs/types/config/config.interfaces.d.ts +576 -0
- package/lib/cjs/types/config/define-config.d.ts +109 -0
- package/lib/cjs/types/config/env-field-builders.d.ts +327 -0
- package/lib/cjs/types/config/index.d.ts +61 -0
- package/lib/cjs/types/config/secret-value.d.ts +99 -0
- package/lib/cjs/types/console/color-codes.d.ts +1 -1
- package/lib/cjs/types/console/console.d.ts +65 -2
- package/lib/cjs/types/console/index.d.ts +1 -1
- package/lib/cjs/types/container-module/container-module.d.ts +215 -8
- package/lib/cjs/types/container-module/index.d.ts +1 -1
- package/lib/cjs/types/decorator/index.d.ts +1 -1
- package/lib/cjs/types/decorator/scope-binding.d.ts +339 -11
- package/lib/cjs/types/di/annotation/decorator_utils.d.ts +1 -1
- package/lib/cjs/types/di/annotation/inject.d.ts +1 -1
- package/lib/cjs/types/di/annotation/inject_base.d.ts +2 -2
- package/lib/cjs/types/di/annotation/lazy_service_identifier.d.ts +1 -1
- package/lib/cjs/types/di/annotation/multi_inject.d.ts +1 -1
- package/lib/cjs/types/di/annotation/named.d.ts +1 -1
- package/lib/cjs/types/di/annotation/target_name.d.ts +1 -1
- package/lib/cjs/types/di/annotation/unmanaged.d.ts +1 -1
- package/lib/cjs/types/di/binding-decorator/constants.d.ts +3 -0
- package/lib/cjs/types/di/binding-decorator/decorator/fluent_provide.d.ts +2 -2
- package/lib/cjs/types/di/binding-decorator/decorator/provide.d.ts +1 -1
- package/lib/cjs/types/di/binding-decorator/factory/module_factory.d.ts +20 -1
- package/lib/cjs/types/di/binding-decorator/index.d.ts +6 -4
- package/lib/cjs/types/di/binding-decorator/interfaces/interfaces.d.ts +2 -1
- package/lib/cjs/types/di/binding-decorator/syntax/provide_done_syntax.d.ts +1 -1
- package/lib/cjs/types/di/binding-decorator/syntax/provide_in_syntax.d.ts +3 -2
- package/lib/cjs/types/di/binding-decorator/syntax/provide_in_when_on_syntax.d.ts +3 -2
- package/lib/cjs/types/di/binding-decorator/syntax/provide_on_syntax.d.ts +2 -2
- package/lib/cjs/types/di/binding-decorator/syntax/provide_when_on_syntax.d.ts +2 -2
- package/lib/cjs/types/di/binding-decorator/syntax/provide_when_syntax.d.ts +2 -2
- package/lib/cjs/types/di/binding-decorator/utils/auto_wire.d.ts +1 -1
- package/lib/cjs/types/di/bindings/binding.d.ts +1 -1
- package/lib/cjs/types/di/constants/literal_types.d.ts +3 -3
- package/lib/cjs/types/di/container/container.d.ts +1 -1
- package/lib/cjs/types/di/container/container_module.d.ts +1 -1
- package/lib/cjs/types/di/container/container_snapshot.d.ts +1 -1
- package/lib/cjs/types/di/container/lookup.d.ts +1 -1
- package/lib/cjs/types/di/container/module_activation_store.d.ts +1 -1
- package/lib/cjs/types/di/container-introspection.d.ts +25 -0
- package/lib/cjs/types/di/interfaces/interfaces.d.ts +4 -3
- package/lib/cjs/types/di/inversify.d.ts +53 -24
- package/lib/cjs/types/di/planning/context.d.ts +1 -1
- package/lib/cjs/types/di/planning/metadata.d.ts +1 -1
- package/lib/cjs/types/di/planning/metadata_reader.d.ts +1 -1
- package/lib/cjs/types/di/planning/plan.d.ts +1 -1
- package/lib/cjs/types/di/planning/planner.d.ts +1 -1
- package/lib/cjs/types/di/planning/queryable_string.d.ts +1 -1
- package/lib/cjs/types/di/planning/reflection_utils.d.ts +2 -2
- package/lib/cjs/types/di/planning/request.d.ts +1 -1
- package/lib/cjs/types/di/planning/target.d.ts +2 -2
- package/lib/cjs/types/di/resolution/instantiation.d.ts +1 -1
- package/lib/cjs/types/di/resolution/resolver.d.ts +1 -1
- package/lib/cjs/types/di/scope/scope-registry.d.ts +91 -0
- package/lib/cjs/types/di/scope/scope.d.ts +1 -1
- package/lib/cjs/types/di/syntax/binding_in_syntax.d.ts +2 -1
- package/lib/cjs/types/di/syntax/binding_in_when_on_syntax.d.ts +2 -1
- package/lib/cjs/types/di/syntax/binding_on_syntax.d.ts +1 -1
- package/lib/cjs/types/di/syntax/binding_to_syntax.d.ts +2 -2
- package/lib/cjs/types/di/syntax/binding_when_on_syntax.d.ts +1 -1
- package/lib/cjs/types/di/syntax/binding_when_syntax.d.ts +1 -1
- package/lib/cjs/types/di/syntax/constraint_helpers.d.ts +1 -1
- package/lib/cjs/types/di/utils/binding_utils.d.ts +1 -1
- package/lib/cjs/types/di/utils/clonable.d.ts +1 -1
- package/lib/cjs/types/di/utils/serialization.d.ts +1 -1
- package/lib/cjs/types/error/app-error.d.ts +155 -7
- package/lib/cjs/types/error/base-exception-filter.d.ts +73 -0
- package/lib/cjs/types/error/exception-filter-constants.d.ts +9 -0
- package/lib/cjs/types/error/exception-filter-decorators.d.ts +126 -0
- package/lib/cjs/types/error/exception-filter-registry.d.ts +38 -0
- package/lib/cjs/types/error/exception-filter.interface.d.ts +82 -0
- package/lib/cjs/types/error/exception-handler-middleware.d.ts +35 -0
- package/lib/cjs/types/error/filters/app-error.filter.d.ts +10 -0
- package/lib/cjs/types/error/filters/global-exception.filter.d.ts +9 -0
- package/lib/cjs/types/error/filters/not-found.filter.d.ts +10 -0
- package/lib/cjs/types/error/filters/validation-error.filter.d.ts +10 -0
- package/lib/cjs/types/error/index.d.ts +14 -3
- package/lib/cjs/types/error/not-found.error.d.ts +7 -0
- package/lib/cjs/types/error/report.d.ts +84 -6
- package/lib/cjs/types/error/status-code.d.ts +20 -0
- package/lib/cjs/types/error/utils.d.ts +16 -0
- package/lib/cjs/types/error/validation.error.d.ts +8 -0
- package/lib/cjs/types/event/event-decorators.d.ts +199 -0
- package/lib/cjs/types/event/event-emitter.d.ts +109 -0
- package/lib/cjs/types/event/event-flow-tracker.d.ts +88 -0
- package/lib/cjs/types/event/event-recorder.d.ts +121 -0
- package/lib/cjs/types/event/event-registry.d.ts +84 -0
- package/lib/cjs/types/event/event.interfaces.d.ts +528 -0
- package/lib/cjs/types/event/index.d.ts +55 -0
- package/lib/cjs/types/framework-version.d.ts +7 -0
- package/lib/cjs/types/index.d.ts +27 -8
- package/lib/cjs/types/interceptor/conditional-interceptor.d.ts +91 -0
- package/lib/cjs/types/interceptor/execution-context.d.ts +41 -0
- package/lib/cjs/types/interceptor/index.d.ts +41 -0
- package/lib/cjs/types/interceptor/interceptor-composition.d.ts +115 -0
- package/lib/cjs/types/interceptor/interceptor-constants.d.ts +17 -0
- package/lib/cjs/types/interceptor/interceptor-decorators.d.ts +124 -0
- package/lib/cjs/types/interceptor/interceptor-executor.d.ts +46 -0
- package/lib/cjs/types/interceptor/interceptor-registry.d.ts +65 -0
- package/lib/cjs/types/interceptor/interceptor.interface.d.ts +281 -0
- package/lib/cjs/types/interceptor/interceptors/index.d.ts +6 -0
- package/lib/cjs/types/interceptor/interceptors/logging.interceptor.d.ts +28 -0
- package/lib/cjs/types/interceptor/interceptors/performance.interceptor.d.ts +197 -0
- package/lib/cjs/types/interceptor/interceptors/timeout.interceptor.d.ts +42 -0
- package/lib/cjs/types/lazy-loading/index.d.ts +43 -0
- package/lib/cjs/types/lazy-loading/lazy-load-metrics.d.ts +139 -0
- package/lib/cjs/types/lazy-loading/lazy-module-helpers.d.ts +42 -0
- package/lib/cjs/types/lazy-loading/lazy-module-loader.d.ts +169 -0
- package/lib/cjs/types/lazy-loading/lazy-module-manager.d.ts +148 -0
- package/lib/cjs/types/lazy-loading/lazy-module-warmup.d.ts +130 -0
- package/lib/cjs/types/lazy-loading/lazy-module.d.ts +168 -0
- package/lib/cjs/types/lazy-loading/lazy.interfaces.d.ts +480 -0
- package/lib/cjs/types/lifecycle/index.d.ts +9 -0
- package/lib/cjs/types/lifecycle/lifecycle-registry.d.ts +213 -0
- package/lib/cjs/types/lifecycle/lifecycle.interface.d.ts +191 -0
- package/lib/cjs/types/middleware/content-negotiation/accept-header-parser.d.ts +26 -0
- package/lib/cjs/types/middleware/content-negotiation/content-negotiation-service.d.ts +64 -0
- package/lib/cjs/types/middleware/content-negotiation/formatter-registry.d.ts +60 -0
- package/lib/cjs/types/middleware/content-negotiation/formatters/csv-formatter.d.ts +34 -0
- package/lib/cjs/types/middleware/content-negotiation/formatters/index.d.ts +8 -0
- package/lib/cjs/types/middleware/content-negotiation/formatters/json-formatter.d.ts +14 -0
- package/lib/cjs/types/middleware/content-negotiation/formatters/plain-text-formatter.d.ts +12 -0
- package/lib/cjs/types/middleware/content-negotiation/formatters/xml-formatter.d.ts +26 -0
- package/lib/cjs/types/middleware/content-negotiation/formatters/yaml-formatter.d.ts +26 -0
- package/lib/cjs/types/middleware/content-negotiation/index.d.ts +7 -0
- package/lib/cjs/types/middleware/index.d.ts +25 -15
- package/lib/cjs/types/middleware/interfaces/content-negotiation.interface.d.ts +142 -0
- package/lib/cjs/types/middleware/interfaces/cookie-session/cookie-session.interface.d.ts +1 -1
- package/lib/cjs/types/middleware/middleware-config.d.ts +574 -0
- package/lib/cjs/types/middleware/middleware-interface.d.ts +594 -88
- package/lib/cjs/types/middleware/middleware-profiler.d.ts +199 -0
- package/lib/cjs/types/middleware/middleware-registry.d.ts +103 -0
- package/lib/cjs/types/middleware/middleware-resolver.d.ts +156 -8
- package/lib/cjs/types/middleware/middleware-service.d.ts +654 -111
- package/lib/cjs/types/middleware/middleware-utils.d.ts +145 -0
- package/lib/cjs/types/middleware/presets-standalone.d.ts +75 -0
- package/lib/cjs/types/middleware/upload-registry.d.ts +50 -0
- package/lib/cjs/types/path-resolver/index.d.ts +80 -0
- package/lib/cjs/types/provider/db-in-memory/adapter/adapter.interface.d.ts +222 -0
- package/lib/cjs/types/provider/db-in-memory/adapter/in-memory.adapter.d.ts +241 -0
- package/lib/cjs/types/provider/db-in-memory/adapter/index.d.ts +6 -0
- package/lib/cjs/types/provider/db-in-memory/base-repo.repository.d.ts +1 -1
- package/lib/cjs/types/provider/db-in-memory/db-in-memory.interface.d.ts +1 -1
- package/lib/cjs/types/provider/db-in-memory/db-in-memory.provider.d.ts +8 -2
- package/lib/cjs/types/provider/db-in-memory/db.provider.d.ts +281 -0
- package/lib/cjs/types/provider/db-in-memory/index.d.ts +71 -4
- package/lib/cjs/types/provider/db-in-memory/query/index.d.ts +6 -0
- package/lib/cjs/types/provider/db-in-memory/query/query-engine.d.ts +114 -0
- package/lib/cjs/types/provider/db-in-memory/query/query.types.d.ts +318 -0
- package/lib/cjs/types/provider/db-in-memory/schema/decorators.d.ts +328 -0
- package/lib/cjs/types/provider/db-in-memory/schema/entity.interface.d.ts +60 -0
- package/lib/cjs/types/provider/db-in-memory/schema/index.d.ts +6 -0
- package/lib/cjs/types/provider/db-in-memory/storage/index.d.ts +5 -0
- package/lib/cjs/types/provider/db-in-memory/storage/memory-store.d.ts +360 -0
- package/lib/cjs/types/provider/index.d.ts +7 -5
- package/lib/cjs/types/provider/logger/decorators/index.d.ts +1 -0
- package/lib/cjs/types/provider/logger/decorators/log-performance.decorator.d.ts +49 -0
- package/lib/cjs/types/provider/logger/index.d.ts +17 -0
- package/lib/cjs/types/provider/logger/logger.banner.d.ts +94 -0
- package/lib/cjs/types/provider/logger/logger.config.d.ts +62 -0
- package/lib/cjs/types/provider/logger/logger.context.d.ts +189 -0
- package/lib/cjs/types/provider/logger/logger.flow.d.ts +165 -0
- package/lib/cjs/types/provider/logger/logger.formatter.d.ts +54 -0
- package/lib/cjs/types/provider/logger/logger.grouping.d.ts +124 -0
- package/lib/cjs/types/provider/logger/logger.health.d.ts +123 -0
- package/lib/cjs/types/provider/logger/logger.metrics-collector.d.ts +44 -0
- package/lib/cjs/types/provider/logger/logger.metrics.d.ts +162 -0
- package/lib/cjs/types/provider/logger/logger.performance.d.ts +179 -0
- package/lib/cjs/types/provider/logger/logger.provider.d.ts +332 -28
- package/lib/cjs/types/provider/logger/logger.query.d.ts +232 -0
- package/lib/cjs/types/provider/logger/logger.redaction.d.ts +169 -0
- package/lib/cjs/types/provider/logger/logger.suggestions.d.ts +124 -0
- package/lib/cjs/types/provider/logger/transports/console.transport.d.ts +56 -0
- package/lib/cjs/types/provider/logger/transports/file.transport.d.ts +87 -0
- package/lib/cjs/types/provider/logger/transports/http-server.d.ts +88 -0
- package/lib/cjs/types/provider/logger/transports/http.transport.d.ts +74 -0
- package/lib/cjs/types/provider/logger/transports/index.d.ts +5 -0
- package/lib/cjs/types/provider/logger/transports/transport.interface.d.ts +31 -0
- package/lib/cjs/types/provider/logger/utils/index.d.ts +2 -0
- package/lib/cjs/types/provider/logger/utils/log-entry.d.ts +82 -0
- package/lib/cjs/types/provider/logger/utils/log-levels.d.ts +53 -0
- package/lib/cjs/types/provider/provider-manager.d.ts +165 -13
- package/lib/cjs/types/provider/provider-registry.d.ts +192 -0
- package/lib/cjs/types/provider/provider.interface.d.ts +337 -0
- package/lib/cjs/types/provider/validation/adapters/class-validator.adapter.d.ts +68 -0
- package/lib/cjs/types/provider/validation/adapters/index.d.ts +13 -0
- package/lib/cjs/types/provider/validation/adapters/yup.adapter.d.ts +65 -0
- package/lib/cjs/types/provider/validation/adapters/zod.adapter.d.ts +84 -0
- package/lib/cjs/types/provider/validation/helpful-error-formatter.d.ts +110 -0
- package/lib/cjs/types/provider/validation/index.d.ts +19 -0
- package/lib/cjs/types/provider/validation/smart-field-detector.d.ts +91 -0
- package/lib/cjs/types/provider/validation/type-inference.d.ts +81 -0
- package/lib/cjs/types/provider/validation/validation-registry.d.ts +105 -0
- package/lib/cjs/types/provider/validation/validation.interface.d.ts +178 -0
- package/lib/cjs/types/render/adapters/base-adapter.d.ts +95 -0
- package/lib/cjs/types/render/adapters/ejs-adapter.d.ts +57 -0
- package/lib/cjs/types/render/adapters/handlebars-adapter.d.ts +74 -0
- package/lib/cjs/types/render/adapters/index.d.ts +12 -0
- package/lib/cjs/types/render/adapters/pug-adapter.d.ts +57 -0
- package/lib/cjs/types/render/adapters/react-adapter.d.ts +99 -0
- package/lib/cjs/types/render/features/auto-detection.d.ts +58 -0
- package/lib/cjs/types/render/features/hot-reload.d.ts +65 -0
- package/lib/cjs/types/render/features/index.d.ts +12 -0
- package/lib/cjs/types/render/features/streaming.d.ts +39 -0
- package/lib/cjs/types/render/features/type-generator.d.ts +64 -0
- package/lib/cjs/types/render/features/view-debugger.d.ts +52 -0
- package/lib/cjs/types/render/index.d.ts +50 -0
- package/lib/cjs/types/render/presets/index.d.ts +119 -0
- package/lib/cjs/types/render/render-config.d.ts +213 -0
- package/lib/cjs/types/render/render-interface.d.ts +126 -0
- package/lib/cjs/types/render/render-registry.d.ts +86 -0
- package/lib/cjs/types/render/render-service.d.ts +157 -0
- package/lib/cjs/types/render/utils/cache-manager.d.ts +106 -0
- package/lib/cjs/types/render/utils/index.d.ts +11 -0
- package/lib/cjs/types/render/utils/package-resolver.d.ts +57 -0
- package/lib/cjs/types/render/utils/view-scanner.d.ts +74 -0
- package/lib/cjs/types/testing/create-test-app.d.ts +71 -0
- package/lib/cjs/types/testing/create-test-database.d.ts +100 -0
- package/lib/cjs/types/testing/fluent-request.d.ts +37 -0
- package/lib/cjs/types/testing/index.d.ts +93 -0
- package/lib/cjs/types/testing/load-test.d.ts +139 -0
- package/lib/cjs/types/testing/matchers.d.ts +184 -0
- package/lib/cjs/types/testing/mock-context.d.ts +117 -0
- package/lib/cjs/types/testing/mock-provider.d.ts +93 -0
- package/lib/cjs/types/testing/snapshot-request.d.ts +46 -0
- package/lib/cjs/types/testing/testing.interfaces.d.ts +973 -0
- package/lib/cjs/types/utils/node-require.d.ts +11 -0
- package/lib/cjs/utils/node-require.js +59 -0
- package/lib/esm/application/application-container.js +526 -0
- package/lib/esm/application/application-factory.js +140 -0
- package/lib/esm/application/application.types.js +41 -0
- package/lib/esm/application/bootstrap.js +709 -0
- package/lib/esm/application/index.js +4 -0
- package/lib/esm/authorization/authorization-config.interface.js +1 -0
- package/lib/esm/authorization/decorators/convenience.js +74 -0
- package/lib/esm/authorization/guard-constants.js +9 -0
- package/lib/esm/authorization/guard-decorators.js +155 -0
- package/lib/esm/authorization/guard-executor.js +101 -0
- package/lib/esm/authorization/guard-registry.js +132 -0
- package/lib/esm/authorization/guard.interface.js +73 -0
- package/lib/esm/authorization/guards/attribute-based.guard.js +106 -0
- package/lib/esm/authorization/guards/authenticated.guard.js +45 -0
- package/lib/esm/authorization/guards/composition.guard.js +63 -0
- package/lib/esm/authorization/guards/conditional.guard.js +38 -0
- package/lib/esm/authorization/guards/index.js +8 -0
- package/lib/esm/authorization/guards/permission.guard.js +80 -0
- package/lib/esm/authorization/guards/resource-owner.guard.js +58 -0
- package/lib/esm/authorization/guards/role.guard.js +61 -0
- package/lib/esm/authorization/index.js +24 -0
- package/lib/esm/authorization/services/guard-cache.interface.js +1 -0
- package/lib/esm/authorization/services/guard-cache.js +51 -0
- package/lib/esm/authorization/services/permission-hierarchy.interface.js +1 -0
- package/lib/esm/authorization/services/permission-hierarchy.js +49 -0
- package/lib/esm/authorization/services/permission-service.interface.js +1 -0
- package/lib/esm/authorization/services/permission-service.js +56 -0
- package/lib/esm/authorization/services/security-context.interface.js +1 -0
- package/lib/esm/authorization/services/security-context.js +74 -0
- package/lib/esm/authorization/setup.js +137 -0
- package/lib/esm/config/config-resolver.js +714 -0
- package/lib/esm/config/config.interfaces.js +13 -0
- package/lib/esm/config/define-config.js +492 -0
- package/lib/esm/config/env-field-builders.js +440 -0
- package/lib/esm/config/index.js +72 -0
- package/lib/esm/config/secret-value.js +175 -0
- package/lib/esm/console/color-codes.js +46 -0
- package/lib/esm/console/console.js +107 -0
- package/lib/esm/console/index.js +1 -0
- package/lib/esm/container-module/container-module.js +322 -0
- package/lib/esm/container-module/index.js +1 -0
- package/lib/esm/decorator/index.js +1 -0
- package/lib/esm/decorator/scope-binding.js +344 -0
- package/lib/esm/di/annotation/decorator_utils.js +93 -0
- package/lib/esm/di/annotation/inject.js +18 -0
- package/lib/esm/di/annotation/inject_base.js +14 -0
- package/lib/esm/di/annotation/injectable.js +19 -0
- package/lib/esm/di/annotation/lazy_service_identifier.js +9 -0
- package/lib/esm/di/annotation/multi_inject.js +4 -0
- package/lib/esm/di/annotation/named.js +9 -0
- package/lib/esm/di/annotation/optional.js +7 -0
- package/lib/esm/di/annotation/post_construct.js +5 -0
- package/lib/esm/di/annotation/pre_destroy.js +5 -0
- package/lib/esm/di/annotation/property_event_decorator.js +13 -0
- package/lib/esm/di/annotation/tagged.js +7 -0
- package/lib/esm/di/annotation/target_name.js +10 -0
- package/lib/esm/di/annotation/unmanaged.js +10 -0
- package/lib/esm/di/binding-decorator/constants.js +7 -0
- package/lib/esm/di/binding-decorator/decorator/fluent_provide.js +15 -0
- package/lib/esm/di/binding-decorator/decorator/provide.js +35 -0
- package/lib/esm/di/binding-decorator/factory/module_factory.js +34 -0
- package/lib/esm/di/binding-decorator/index.js +10 -0
- package/lib/esm/di/binding-decorator/interfaces/interfaces.js +1 -0
- package/lib/esm/di/binding-decorator/syntax/provide_done_syntax.js +41 -0
- package/lib/esm/di/binding-decorator/syntax/provide_in_syntax.js +37 -0
- package/lib/esm/di/binding-decorator/syntax/provide_in_when_on_syntax.js +68 -0
- package/lib/esm/di/binding-decorator/syntax/provide_on_syntax.js +19 -0
- package/lib/esm/di/binding-decorator/syntax/provide_when_on_syntax.js +57 -0
- package/lib/esm/di/binding-decorator/syntax/provide_when_syntax.js +86 -0
- package/lib/esm/di/binding-decorator/utils/auto_wire.js +13 -0
- package/lib/esm/di/bindings/binding.js +64 -0
- package/lib/esm/di/bindings/binding_count.js +5 -0
- package/lib/esm/di/constants/error_msgs.js +54 -0
- package/lib/esm/di/constants/literal_types.js +21 -0
- package/lib/esm/di/constants/metadata_keys.js +35 -0
- package/lib/esm/di/container/container.js +505 -0
- package/lib/esm/di/container/container_module.js +17 -0
- package/lib/esm/di/container/container_snapshot.js +17 -0
- package/lib/esm/di/container/lookup.js +108 -0
- package/lib/esm/di/container/module_activation_store.js +43 -0
- package/lib/esm/di/container-introspection.js +38 -0
- package/lib/esm/di/interfaces/interfaces.js +1 -0
- package/lib/esm/di/inversify.js +53 -0
- package/lib/esm/di/planning/context.js +18 -0
- package/lib/esm/di/planning/metadata.js +18 -0
- package/lib/esm/di/planning/metadata_reader.js +19 -0
- package/lib/esm/di/planning/plan.js +9 -0
- package/lib/esm/di/planning/planner.js +159 -0
- package/lib/esm/di/planning/queryable_string.js +25 -0
- package/lib/esm/di/planning/reflection_utils.js +150 -0
- package/lib/esm/di/planning/request.js +28 -0
- package/lib/esm/di/planning/target.js +89 -0
- package/lib/esm/di/resolution/instantiation.js +125 -0
- package/lib/esm/di/resolution/resolver.js +163 -0
- package/lib/esm/di/scope/scope-registry.js +109 -0
- package/lib/esm/di/scope/scope.js +75 -0
- package/lib/esm/di/syntax/binding_in_syntax.js +31 -0
- package/lib/esm/di/syntax/binding_in_when_on_syntax.js +79 -0
- package/lib/esm/di/syntax/binding_on_syntax.js +16 -0
- package/lib/esm/di/syntax/binding_to_syntax.js +89 -0
- package/lib/esm/di/syntax/binding_when_on_syntax.js +64 -0
- package/lib/esm/di/syntax/binding_when_syntax.js +82 -0
- package/lib/esm/di/syntax/constraint_helpers.js +39 -0
- package/lib/esm/di/utils/async.js +12 -0
- package/lib/esm/di/utils/binding_utils.js +48 -0
- package/lib/esm/di/utils/clonable.js +7 -0
- package/lib/esm/di/utils/exceptions.js +18 -0
- package/lib/esm/di/utils/factory_type.js +6 -0
- package/lib/esm/di/utils/id.js +5 -0
- package/lib/esm/di/utils/js.js +12 -0
- package/lib/esm/di/utils/serialization.js +102 -0
- package/lib/esm/error/app-error.js +209 -0
- package/lib/esm/error/base-exception-filter.js +134 -0
- package/lib/esm/error/error-handler-middleware.js +34 -0
- package/lib/esm/error/exception-filter-constants.js +9 -0
- package/lib/esm/error/exception-filter-decorators.js +157 -0
- package/lib/esm/error/exception-filter-registry.js +162 -0
- package/lib/esm/error/exception-filter.interface.js +1 -0
- package/lib/esm/error/exception-handler-middleware.js +378 -0
- package/lib/esm/error/filters/app-error.filter.js +28 -0
- package/lib/esm/error/filters/global-exception.filter.js +36 -0
- package/lib/esm/error/filters/not-found.filter.js +32 -0
- package/lib/esm/error/filters/validation-error.filter.js +32 -0
- package/lib/esm/error/index.js +13 -0
- package/lib/esm/error/not-found.error.js +13 -0
- package/lib/esm/error/report.js +153 -0
- package/lib/esm/error/status-code.js +106 -0
- package/lib/esm/error/utils.js +252 -0
- package/lib/esm/error/validation.error.js +15 -0
- package/lib/esm/event/event-decorators.js +268 -0
- package/lib/esm/event/event-emitter.js +376 -0
- package/lib/esm/event/event-flow-tracker.js +230 -0
- package/lib/esm/event/event-recorder.js +286 -0
- package/lib/esm/event/event-registry.js +201 -0
- package/lib/esm/event/event.interfaces.js +51 -0
- package/lib/esm/event/index.js +58 -0
- package/lib/esm/framework-version.js +7 -0
- package/lib/esm/index.mjs +27 -0
- package/lib/esm/interceptor/conditional-interceptor.js +104 -0
- package/lib/esm/interceptor/execution-context.js +66 -0
- package/lib/esm/interceptor/index.js +48 -0
- package/lib/esm/interceptor/interceptor-composition.js +126 -0
- package/lib/esm/interceptor/interceptor-constants.js +17 -0
- package/lib/esm/interceptor/interceptor-decorators.js +151 -0
- package/lib/esm/interceptor/interceptor-executor.js +139 -0
- package/lib/esm/interceptor/interceptor-registry.js +158 -0
- package/lib/esm/interceptor/interceptor.interface.js +16 -0
- package/lib/esm/interceptor/interceptors/index.js +6 -0
- package/lib/esm/interceptor/interceptors/logging.interceptor.js +68 -0
- package/lib/esm/interceptor/interceptors/performance.interceptor.js +253 -0
- package/lib/esm/interceptor/interceptors/timeout.interceptor.js +65 -0
- package/lib/esm/lazy-loading/index.js +58 -0
- package/lib/esm/lazy-loading/lazy-load-metrics.js +352 -0
- package/lib/esm/lazy-loading/lazy-module-helpers.js +45 -0
- package/lib/esm/lazy-loading/lazy-module-loader.js +305 -0
- package/lib/esm/lazy-loading/lazy-module-manager.js +241 -0
- package/lib/esm/lazy-loading/lazy-module-warmup.js +291 -0
- package/lib/esm/lazy-loading/lazy-module.js +352 -0
- package/lib/esm/lazy-loading/lazy.interfaces.js +17 -0
- package/lib/esm/lifecycle/index.js +9 -0
- package/lib/esm/lifecycle/lifecycle-registry.js +298 -0
- package/lib/esm/lifecycle/lifecycle.interface.js +33 -0
- package/lib/esm/middleware/content-negotiation/accept-header-parser.js +106 -0
- package/lib/esm/middleware/content-negotiation/content-negotiation-service.js +286 -0
- package/lib/esm/middleware/content-negotiation/formatter-registry.js +165 -0
- package/lib/esm/middleware/content-negotiation/formatters/csv-formatter.js +111 -0
- package/lib/esm/middleware/content-negotiation/formatters/index.js +8 -0
- package/lib/esm/middleware/content-negotiation/formatters/json-formatter.js +30 -0
- package/lib/esm/middleware/content-negotiation/formatters/plain-text-formatter.js +40 -0
- package/lib/esm/middleware/content-negotiation/formatters/xml-formatter.js +121 -0
- package/lib/esm/middleware/content-negotiation/formatters/yaml-formatter.js +131 -0
- package/lib/esm/middleware/content-negotiation/index.js +7 -0
- package/lib/esm/middleware/index.js +20 -0
- package/lib/esm/middleware/interfaces/body-parser.interface.js +1 -0
- package/lib/esm/middleware/interfaces/compression.interface.js +1 -0
- package/lib/esm/middleware/interfaces/content-negotiation.interface.js +6 -0
- package/lib/esm/middleware/interfaces/cookie-parser.interface.js +1 -0
- package/lib/esm/middleware/interfaces/cookie-session/cookie-session.interface.js +1 -0
- package/lib/esm/middleware/interfaces/cookie-session/keygrip.interface.js +1 -0
- package/lib/esm/middleware/interfaces/cors.interface.js +1 -0
- package/lib/esm/middleware/interfaces/express-rate-limit.interface.js +1 -0
- package/lib/esm/middleware/interfaces/express-session.interface.js +1 -0
- package/lib/esm/middleware/interfaces/helmet.interface.js +1 -0
- package/lib/esm/middleware/interfaces/morgan.interface.js +1 -0
- package/lib/esm/middleware/interfaces/multer.interface.js +1 -0
- package/lib/esm/middleware/interfaces/serve-favicon.interface.js +1 -0
- package/lib/esm/middleware/interfaces/serve-static.interface.js +1 -0
- package/lib/esm/middleware/interfaces/url-encoded.interface.js +1 -0
- package/lib/esm/middleware/middleware-config.js +9 -0
- package/lib/esm/middleware/middleware-interface.js +1 -0
- package/lib/esm/middleware/middleware-profiler.js +307 -0
- package/lib/esm/middleware/middleware-registry.js +152 -0
- package/lib/esm/middleware/middleware-resolver.js +320 -0
- package/lib/esm/middleware/middleware-service.js +1853 -0
- package/lib/esm/middleware/middleware-utils.js +273 -0
- package/lib/esm/middleware/presets-standalone.js +87 -0
- package/lib/esm/middleware/upload-registry.js +84 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/path-resolver/index.js +224 -0
- package/lib/esm/provider/db-in-memory/adapter/adapter.interface.js +9 -0
- package/lib/esm/provider/db-in-memory/adapter/in-memory.adapter.js +690 -0
- package/lib/esm/provider/db-in-memory/adapter/index.js +5 -0
- package/lib/esm/provider/db-in-memory/base-repo.repository.js +54 -0
- package/lib/esm/provider/db-in-memory/db-in-memory.interface.js +1 -0
- package/lib/esm/provider/db-in-memory/db-in-memory.provider.js +104 -0
- package/lib/esm/provider/db-in-memory/db-in-memory.types.js +20 -0
- package/lib/esm/provider/db-in-memory/db.provider.js +405 -0
- package/lib/esm/provider/db-in-memory/index.js +98 -0
- package/lib/esm/provider/db-in-memory/query/index.js +6 -0
- package/lib/esm/provider/db-in-memory/query/query-engine.js +598 -0
- package/lib/esm/provider/db-in-memory/query/query.types.js +9 -0
- package/lib/esm/provider/db-in-memory/schema/decorators.js +405 -0
- package/lib/esm/provider/db-in-memory/schema/entity.interface.js +8 -0
- package/lib/esm/provider/db-in-memory/schema/index.js +5 -0
- package/lib/esm/provider/db-in-memory/storage/index.js +5 -0
- package/lib/esm/provider/db-in-memory/storage/memory-store.js +784 -0
- package/lib/esm/provider/dto-validator/dto-validator.provider.js +49 -0
- package/lib/esm/provider/dto-validator/package-resolver.js +30 -0
- package/lib/esm/provider/index.js +7 -0
- package/lib/esm/provider/logger/decorators/index.js +1 -0
- package/lib/esm/provider/logger/decorators/log-performance.decorator.js +175 -0
- package/lib/esm/provider/logger/index.js +17 -0
- package/lib/esm/provider/logger/logger.banner.js +480 -0
- package/lib/esm/provider/logger/logger.config.js +29 -0
- package/lib/esm/provider/logger/logger.context.js +334 -0
- package/lib/esm/provider/logger/logger.flow.js +248 -0
- package/lib/esm/provider/logger/logger.formatter.js +691 -0
- package/lib/esm/provider/logger/logger.grouping.js +314 -0
- package/lib/esm/provider/logger/logger.health.js +291 -0
- package/lib/esm/provider/logger/logger.metrics-collector.js +180 -0
- package/lib/esm/provider/logger/logger.metrics.js +85 -0
- package/lib/esm/provider/logger/logger.performance.js +299 -0
- package/lib/esm/provider/logger/logger.provider.js +797 -0
- package/lib/esm/provider/logger/logger.query.js +529 -0
- package/lib/esm/provider/logger/logger.redaction.js +450 -0
- package/lib/esm/provider/logger/logger.suggestions.js +471 -0
- package/lib/esm/provider/logger/transports/console.transport.js +144 -0
- package/lib/esm/provider/logger/transports/file.transport.js +300 -0
- package/lib/esm/provider/logger/transports/http-server.js +141 -0
- package/lib/esm/provider/logger/transports/http.transport.js +157 -0
- package/lib/esm/provider/logger/transports/index.js +5 -0
- package/lib/esm/provider/logger/transports/transport.interface.js +1 -0
- package/lib/esm/provider/logger/utils/index.js +2 -0
- package/lib/esm/provider/logger/utils/log-entry.js +23 -0
- package/lib/esm/provider/logger/utils/log-levels.js +101 -0
- package/lib/esm/provider/provider-manager.js +283 -0
- package/lib/esm/provider/provider-registry.js +411 -0
- package/lib/esm/provider/provider.interface.js +44 -0
- package/lib/esm/provider/validation/adapters/class-validator.adapter.js +258 -0
- package/lib/esm/provider/validation/adapters/index.js +13 -0
- package/lib/esm/provider/validation/adapters/yup.adapter.js +111 -0
- package/lib/esm/provider/validation/adapters/zod.adapter.js +130 -0
- package/lib/esm/provider/validation/helpful-error-formatter.js +225 -0
- package/lib/esm/provider/validation/index.js +21 -0
- package/lib/esm/provider/validation/smart-field-detector.js +539 -0
- package/lib/esm/provider/validation/type-inference.js +183 -0
- package/lib/esm/provider/validation/validation-registry.js +214 -0
- package/lib/esm/provider/validation/validation.interface.js +8 -0
- package/lib/esm/render/adapters/base-adapter.js +131 -0
- package/lib/esm/render/adapters/ejs-adapter.js +142 -0
- package/lib/esm/render/adapters/handlebars-adapter.js +161 -0
- package/lib/esm/render/adapters/index.js +12 -0
- package/lib/esm/render/adapters/pug-adapter.js +134 -0
- package/lib/esm/render/adapters/react-adapter.js +303 -0
- package/lib/esm/render/features/auto-detection.js +202 -0
- package/lib/esm/render/features/hot-reload.js +153 -0
- package/lib/esm/render/features/index.js +12 -0
- package/lib/esm/render/features/streaming.js +103 -0
- package/lib/esm/render/features/type-generator.js +195 -0
- package/lib/esm/render/features/view-debugger.js +192 -0
- package/lib/esm/render/index.js +54 -0
- package/lib/esm/render/presets/index.js +207 -0
- package/lib/esm/render/render-config.js +9 -0
- package/lib/esm/render/render-interface.js +1 -0
- package/lib/esm/render/render-registry.js +124 -0
- package/lib/esm/render/render-service.js +394 -0
- package/lib/esm/render/utils/cache-manager.js +196 -0
- package/lib/esm/render/utils/index.js +10 -0
- package/lib/esm/render/utils/package-resolver.js +118 -0
- package/lib/esm/render/utils/view-scanner.js +178 -0
- package/lib/esm/testing/create-test-app.js +365 -0
- package/lib/esm/testing/create-test-database.js +411 -0
- package/lib/esm/testing/fluent-request.js +459 -0
- package/lib/esm/testing/index.js +102 -0
- package/lib/esm/testing/load-test.js +479 -0
- package/lib/esm/testing/matchers.js +440 -0
- package/lib/esm/testing/mock-context.js +400 -0
- package/lib/esm/testing/mock-provider.js +333 -0
- package/lib/esm/testing/snapshot-request.js +358 -0
- package/lib/esm/testing/testing.interfaces.js +9 -0
- package/lib/esm/types/application/application-container.d.ts +352 -0
- package/lib/esm/types/application/application-factory.d.ts +124 -0
- package/lib/esm/types/application/application.types.d.ts +185 -0
- package/lib/esm/types/application/bootstrap.d.ts +656 -0
- package/lib/esm/types/application/index.d.ts +4 -0
- package/lib/esm/types/authorization/authorization-config.interface.d.ts +45 -0
- package/lib/esm/types/authorization/decorators/convenience.d.ts +64 -0
- package/lib/esm/types/authorization/guard-constants.d.ts +9 -0
- package/lib/esm/types/authorization/guard-decorators.d.ts +128 -0
- package/lib/esm/types/authorization/guard-executor.d.ts +26 -0
- package/lib/esm/types/authorization/guard-registry.d.ts +35 -0
- package/lib/esm/types/authorization/guard.interface.d.ts +335 -0
- package/lib/esm/types/authorization/guards/attribute-based.guard.d.ts +60 -0
- package/lib/esm/types/authorization/guards/authenticated.guard.d.ts +26 -0
- package/lib/esm/types/authorization/guards/composition.guard.d.ts +42 -0
- package/lib/esm/types/authorization/guards/conditional.guard.d.ts +21 -0
- package/lib/esm/types/authorization/guards/index.d.ts +7 -0
- package/lib/esm/types/authorization/guards/permission.guard.d.ts +29 -0
- package/lib/esm/types/authorization/guards/resource-owner.guard.d.ts +29 -0
- package/lib/esm/types/authorization/guards/role.guard.d.ts +28 -0
- package/lib/esm/types/authorization/index.d.ts +18 -0
- package/lib/esm/types/authorization/services/guard-cache.d.ts +26 -0
- package/lib/esm/types/authorization/services/guard-cache.interface.d.ts +29 -0
- package/lib/esm/types/authorization/services/permission-hierarchy.d.ts +21 -0
- package/lib/esm/types/authorization/services/permission-hierarchy.interface.d.ts +22 -0
- package/lib/esm/types/authorization/services/permission-service.d.ts +21 -0
- package/lib/esm/types/authorization/services/permission-service.interface.d.ts +19 -0
- package/lib/esm/types/authorization/services/security-context.d.ts +32 -0
- package/lib/esm/types/authorization/services/security-context.interface.d.ts +25 -0
- package/lib/esm/types/authorization/setup.d.ts +84 -0
- package/lib/esm/types/config/config-resolver.d.ts +40 -0
- package/lib/esm/types/config/config.interfaces.d.ts +576 -0
- package/lib/esm/types/config/define-config.d.ts +109 -0
- package/lib/esm/types/config/env-field-builders.d.ts +327 -0
- package/lib/esm/types/config/index.d.ts +61 -0
- package/lib/esm/types/config/secret-value.d.ts +99 -0
- package/lib/esm/types/console/color-codes.d.ts +29 -0
- package/lib/esm/types/console/console.d.ts +83 -0
- package/lib/esm/types/console/index.d.ts +2 -0
- package/lib/esm/types/container-module/container-module.d.ts +242 -0
- package/lib/esm/types/container-module/index.d.ts +1 -0
- package/lib/esm/types/decorator/index.d.ts +1 -0
- package/lib/esm/types/decorator/scope-binding.d.ts +374 -0
- package/lib/esm/types/di/annotation/decorator_utils.d.ts +16 -0
- package/lib/esm/types/di/annotation/inject.d.ts +16 -0
- package/lib/esm/types/di/annotation/inject_base.d.ts +3 -0
- package/lib/esm/types/di/annotation/injectable.d.ts +7 -0
- package/lib/esm/types/di/annotation/lazy_service_identifier.d.ts +7 -0
- package/lib/esm/types/di/annotation/multi_inject.d.ts +2 -0
- package/lib/esm/types/di/annotation/named.d.ts +2 -0
- package/lib/esm/types/di/annotation/optional.d.ts +2 -0
- package/lib/esm/types/di/annotation/post_construct.d.ts +4 -0
- package/lib/esm/types/di/annotation/pre_destroy.d.ts +4 -0
- package/lib/esm/types/di/annotation/property_event_decorator.d.ts +4 -0
- package/lib/esm/types/di/annotation/tagged.d.ts +2 -0
- package/lib/esm/types/di/annotation/target_name.d.ts +3 -0
- package/lib/esm/types/di/annotation/unmanaged.d.ts +3 -0
- package/lib/esm/types/di/binding-decorator/constants.d.ts +7 -0
- package/lib/esm/types/di/binding-decorator/decorator/fluent_provide.d.ts +4 -0
- package/lib/esm/types/di/binding-decorator/decorator/provide.d.ts +4 -0
- package/lib/esm/types/di/binding-decorator/factory/module_factory.d.ts +23 -0
- package/lib/esm/types/di/binding-decorator/index.d.ts +10 -0
- package/lib/esm/types/di/binding-decorator/interfaces/interfaces.d.ts +40 -0
- package/lib/esm/types/di/binding-decorator/syntax/provide_done_syntax.d.ts +7 -0
- package/lib/esm/types/di/binding-decorator/syntax/provide_in_syntax.d.ts +12 -0
- package/lib/esm/types/di/binding-decorator/syntax/provide_in_when_on_syntax.d.ts +28 -0
- package/lib/esm/types/di/binding-decorator/syntax/provide_on_syntax.d.ts +10 -0
- package/lib/esm/types/di/binding-decorator/syntax/provide_when_on_syntax.d.ts +24 -0
- package/lib/esm/types/di/binding-decorator/syntax/provide_when_syntax.d.ts +23 -0
- package/lib/esm/types/di/binding-decorator/utils/auto_wire.d.ts +3 -0
- package/lib/esm/types/di/bindings/binding.d.ts +20 -0
- package/lib/esm/types/di/bindings/binding_count.d.ts +5 -0
- package/lib/esm/types/di/constants/error_msgs.d.ts +32 -0
- package/lib/esm/types/di/constants/literal_types.d.ts +5 -0
- package/lib/esm/types/di/constants/metadata_keys.d.ts +13 -0
- package/lib/esm/types/di/container/container.d.ts +73 -0
- package/lib/esm/types/di/container/container_module.d.ts +11 -0
- package/lib/esm/types/di/container/container_snapshot.d.ts +10 -0
- package/lib/esm/types/di/container/lookup.d.ts +16 -0
- package/lib/esm/types/di/container/module_activation_store.d.ts +10 -0
- package/lib/esm/types/di/container-introspection.d.ts +25 -0
- package/lib/esm/types/di/interfaces/interfaces.d.ts +300 -0
- package/lib/esm/types/di/inversify.d.ts +54 -0
- package/lib/esm/types/di/planning/context.d.ts +11 -0
- package/lib/esm/types/di/planning/metadata.d.ts +8 -0
- package/lib/esm/types/di/planning/metadata_reader.d.ts +6 -0
- package/lib/esm/types/di/planning/plan.d.ts +7 -0
- package/lib/esm/types/di/planning/planner.d.ts +5 -0
- package/lib/esm/types/di/planning/queryable_string.d.ts +11 -0
- package/lib/esm/types/di/planning/reflection_utils.d.ts +5 -0
- package/lib/esm/types/di/planning/request.d.ts +14 -0
- package/lib/esm/types/di/planning/target.d.ts +23 -0
- package/lib/esm/types/di/resolution/instantiation.d.ts +3 -0
- package/lib/esm/types/di/resolution/resolver.d.ts +3 -0
- package/lib/esm/types/di/scope/scope-registry.d.ts +91 -0
- package/lib/esm/types/di/scope/scope.d.ts +3 -0
- package/lib/esm/types/di/syntax/binding_in_syntax.d.ts +10 -0
- package/lib/esm/types/di/syntax/binding_in_when_on_syntax.d.ts +30 -0
- package/lib/esm/types/di/syntax/binding_on_syntax.d.ts +8 -0
- package/lib/esm/types/di/syntax/binding_to_syntax.d.ts +18 -0
- package/lib/esm/types/di/syntax/binding_when_on_syntax.d.ts +25 -0
- package/lib/esm/types/di/syntax/binding_when_syntax.d.ts +21 -0
- package/lib/esm/types/di/syntax/constraint_helpers.d.ts +6 -0
- package/lib/esm/types/di/utils/async.d.ts +3 -0
- package/lib/esm/types/di/utils/binding_utils.d.ts +4 -0
- package/lib/esm/types/di/utils/clonable.d.ts +3 -0
- package/lib/esm/types/di/utils/exceptions.d.ts +2 -0
- package/lib/esm/types/di/utils/factory_type.d.ts +5 -0
- package/lib/esm/types/di/utils/id.d.ts +2 -0
- package/lib/esm/types/di/utils/js.d.ts +1 -0
- package/lib/esm/types/di/utils/serialization.d.ts +10 -0
- package/lib/esm/types/error/app-error.d.ts +177 -0
- package/lib/esm/types/error/base-exception-filter.d.ts +73 -0
- package/lib/esm/types/error/error-handler-middleware.d.ts +11 -0
- package/lib/esm/types/error/exception-filter-constants.d.ts +9 -0
- package/lib/esm/types/error/exception-filter-decorators.d.ts +126 -0
- package/lib/esm/types/error/exception-filter-registry.d.ts +38 -0
- package/lib/esm/types/error/exception-filter.interface.d.ts +82 -0
- package/lib/esm/types/error/exception-handler-middleware.d.ts +35 -0
- package/lib/esm/types/error/filters/app-error.filter.d.ts +10 -0
- package/lib/esm/types/error/filters/global-exception.filter.d.ts +9 -0
- package/lib/esm/types/error/filters/not-found.filter.d.ts +10 -0
- package/lib/esm/types/error/filters/validation-error.filter.d.ts +10 -0
- package/lib/esm/types/error/index.d.ts +14 -0
- package/lib/esm/types/error/not-found.error.d.ts +7 -0
- package/lib/esm/types/error/report.d.ts +105 -0
- package/lib/esm/types/error/status-code.d.ts +156 -0
- package/lib/esm/types/error/utils.d.ts +17 -0
- package/lib/esm/types/error/validation.error.d.ts +8 -0
- package/lib/esm/types/event/event-decorators.d.ts +199 -0
- package/lib/esm/types/event/event-emitter.d.ts +109 -0
- package/lib/esm/types/event/event-flow-tracker.d.ts +88 -0
- package/lib/esm/types/event/event-recorder.d.ts +121 -0
- package/lib/esm/types/event/event-registry.d.ts +84 -0
- package/lib/esm/types/event/event.interfaces.d.ts +528 -0
- package/lib/esm/types/event/index.d.ts +55 -0
- package/lib/esm/types/framework-version.d.ts +7 -0
- package/lib/esm/types/index.d.ts +27 -0
- package/lib/esm/types/interceptor/conditional-interceptor.d.ts +91 -0
- package/lib/esm/types/interceptor/execution-context.d.ts +41 -0
- package/lib/esm/types/interceptor/index.d.ts +41 -0
- package/lib/esm/types/interceptor/interceptor-composition.d.ts +115 -0
- package/lib/esm/types/interceptor/interceptor-constants.d.ts +17 -0
- package/lib/esm/types/interceptor/interceptor-decorators.d.ts +124 -0
- package/lib/esm/types/interceptor/interceptor-executor.d.ts +46 -0
- package/lib/esm/types/interceptor/interceptor-registry.d.ts +65 -0
- package/lib/esm/types/interceptor/interceptor.interface.d.ts +281 -0
- package/lib/esm/types/interceptor/interceptors/index.d.ts +6 -0
- package/lib/esm/types/interceptor/interceptors/logging.interceptor.d.ts +28 -0
- package/lib/esm/types/interceptor/interceptors/performance.interceptor.d.ts +197 -0
- package/lib/esm/types/interceptor/interceptors/timeout.interceptor.d.ts +42 -0
- package/lib/esm/types/lazy-loading/index.d.ts +43 -0
- package/lib/esm/types/lazy-loading/lazy-load-metrics.d.ts +139 -0
- package/lib/esm/types/lazy-loading/lazy-module-helpers.d.ts +42 -0
- package/lib/esm/types/lazy-loading/lazy-module-loader.d.ts +169 -0
- package/lib/esm/types/lazy-loading/lazy-module-manager.d.ts +148 -0
- package/lib/esm/types/lazy-loading/lazy-module-warmup.d.ts +130 -0
- package/lib/esm/types/lazy-loading/lazy-module.d.ts +168 -0
- package/lib/esm/types/lazy-loading/lazy.interfaces.d.ts +480 -0
- package/lib/esm/types/lifecycle/index.d.ts +9 -0
- package/lib/esm/types/lifecycle/lifecycle-registry.d.ts +213 -0
- package/lib/esm/types/lifecycle/lifecycle.interface.d.ts +191 -0
- package/lib/esm/types/middleware/content-negotiation/accept-header-parser.d.ts +26 -0
- package/lib/esm/types/middleware/content-negotiation/content-negotiation-service.d.ts +64 -0
- package/lib/esm/types/middleware/content-negotiation/formatter-registry.d.ts +60 -0
- package/lib/esm/types/middleware/content-negotiation/formatters/csv-formatter.d.ts +34 -0
- package/lib/esm/types/middleware/content-negotiation/formatters/index.d.ts +8 -0
- package/lib/esm/types/middleware/content-negotiation/formatters/json-formatter.d.ts +14 -0
- package/lib/esm/types/middleware/content-negotiation/formatters/plain-text-formatter.d.ts +12 -0
- package/lib/esm/types/middleware/content-negotiation/formatters/xml-formatter.d.ts +26 -0
- package/lib/esm/types/middleware/content-negotiation/formatters/yaml-formatter.d.ts +26 -0
- package/lib/esm/types/middleware/content-negotiation/index.d.ts +7 -0
- package/lib/esm/types/middleware/index.d.ts +25 -0
- package/lib/esm/types/middleware/interfaces/body-parser.interface.d.ts +31 -0
- package/lib/esm/types/middleware/interfaces/compression.interface.d.ts +98 -0
- package/lib/esm/types/middleware/interfaces/content-negotiation.interface.d.ts +142 -0
- package/lib/esm/types/middleware/interfaces/cookie-parser.interface.d.ts +9 -0
- package/lib/esm/types/middleware/interfaces/cookie-session/cookie-session.interface.d.ts +57 -0
- package/lib/esm/types/middleware/interfaces/cookie-session/keygrip.interface.d.ts +27 -0
- package/lib/esm/types/middleware/interfaces/cors.interface.d.ts +57 -0
- package/lib/esm/types/middleware/interfaces/express-rate-limit.interface.d.ts +292 -0
- package/lib/esm/types/middleware/interfaces/express-session.interface.d.ts +207 -0
- package/lib/esm/types/middleware/interfaces/helmet.interface.d.ts +210 -0
- package/lib/esm/types/middleware/interfaces/morgan.interface.d.ts +39 -0
- package/lib/esm/types/middleware/interfaces/multer.interface.d.ts +253 -0
- package/lib/esm/types/middleware/interfaces/serve-favicon.interface.d.ts +11 -0
- package/lib/esm/types/middleware/interfaces/serve-static.interface.d.ts +69 -0
- package/lib/esm/types/middleware/interfaces/url-encoded.interface.d.ts +37 -0
- package/lib/esm/types/middleware/middleware-config.d.ts +574 -0
- package/lib/esm/types/middleware/middleware-interface.d.ts +691 -0
- package/lib/esm/types/middleware/middleware-profiler.d.ts +199 -0
- package/lib/esm/types/middleware/middleware-registry.d.ts +103 -0
- package/lib/esm/types/middleware/middleware-resolver.d.ts +159 -0
- package/lib/esm/types/middleware/middleware-service.d.ts +788 -0
- package/lib/esm/types/middleware/middleware-utils.d.ts +145 -0
- package/lib/esm/types/middleware/presets-standalone.d.ts +75 -0
- package/lib/esm/types/middleware/upload-registry.d.ts +50 -0
- package/lib/esm/types/path-resolver/index.d.ts +80 -0
- package/lib/esm/types/provider/db-in-memory/adapter/adapter.interface.d.ts +222 -0
- package/lib/esm/types/provider/db-in-memory/adapter/in-memory.adapter.d.ts +241 -0
- package/lib/esm/types/provider/db-in-memory/adapter/index.d.ts +6 -0
- package/lib/esm/types/provider/db-in-memory/base-repo.repository.d.ts +18 -0
- package/lib/esm/types/provider/db-in-memory/db-in-memory.interface.d.ts +43 -0
- package/lib/esm/types/provider/db-in-memory/db-in-memory.provider.d.ts +39 -0
- package/lib/esm/types/provider/db-in-memory/db-in-memory.types.d.ts +14 -0
- package/lib/esm/types/provider/db-in-memory/db.provider.d.ts +281 -0
- package/lib/esm/types/provider/db-in-memory/index.d.ts +71 -0
- package/lib/esm/types/provider/db-in-memory/query/index.d.ts +6 -0
- package/lib/esm/types/provider/db-in-memory/query/query-engine.d.ts +114 -0
- package/lib/esm/types/provider/db-in-memory/query/query.types.d.ts +318 -0
- package/lib/esm/types/provider/db-in-memory/schema/decorators.d.ts +328 -0
- package/lib/esm/types/provider/db-in-memory/schema/entity.interface.d.ts +60 -0
- package/lib/esm/types/provider/db-in-memory/schema/index.d.ts +6 -0
- package/lib/esm/types/provider/db-in-memory/storage/index.d.ts +5 -0
- package/lib/esm/types/provider/db-in-memory/storage/memory-store.d.ts +360 -0
- package/lib/esm/types/provider/dto-validator/dto-validator.provider.d.ts +10 -0
- package/lib/esm/types/provider/dto-validator/package-resolver.d.ts +7 -0
- package/lib/esm/types/provider/index.d.ts +7 -0
- package/lib/esm/types/provider/logger/decorators/index.d.ts +1 -0
- package/lib/esm/types/provider/logger/decorators/log-performance.decorator.d.ts +49 -0
- package/lib/esm/types/provider/logger/index.d.ts +17 -0
- package/lib/esm/types/provider/logger/logger.banner.d.ts +94 -0
- package/lib/esm/types/provider/logger/logger.config.d.ts +62 -0
- package/lib/esm/types/provider/logger/logger.context.d.ts +189 -0
- package/lib/esm/types/provider/logger/logger.flow.d.ts +165 -0
- package/lib/esm/types/provider/logger/logger.formatter.d.ts +54 -0
- package/lib/esm/types/provider/logger/logger.grouping.d.ts +124 -0
- package/lib/esm/types/provider/logger/logger.health.d.ts +123 -0
- package/lib/esm/types/provider/logger/logger.metrics-collector.d.ts +44 -0
- package/lib/esm/types/provider/logger/logger.metrics.d.ts +162 -0
- package/lib/esm/types/provider/logger/logger.performance.d.ts +179 -0
- package/lib/esm/types/provider/logger/logger.provider.d.ts +363 -0
- package/lib/esm/types/provider/logger/logger.query.d.ts +232 -0
- package/lib/esm/types/provider/logger/logger.redaction.d.ts +169 -0
- package/lib/esm/types/provider/logger/logger.suggestions.d.ts +124 -0
- package/lib/esm/types/provider/logger/transports/console.transport.d.ts +56 -0
- package/lib/esm/types/provider/logger/transports/file.transport.d.ts +87 -0
- package/lib/esm/types/provider/logger/transports/http-server.d.ts +88 -0
- package/lib/esm/types/provider/logger/transports/http.transport.d.ts +74 -0
- package/lib/esm/types/provider/logger/transports/index.d.ts +5 -0
- package/lib/esm/types/provider/logger/transports/transport.interface.d.ts +31 -0
- package/lib/esm/types/provider/logger/utils/index.d.ts +2 -0
- package/lib/esm/types/provider/logger/utils/log-entry.d.ts +82 -0
- package/lib/esm/types/provider/logger/utils/log-levels.d.ts +53 -0
- package/lib/esm/types/provider/provider-manager.d.ts +208 -0
- package/lib/esm/types/provider/provider-registry.d.ts +192 -0
- package/lib/esm/types/provider/provider.interface.d.ts +337 -0
- package/lib/esm/types/provider/validation/adapters/class-validator.adapter.d.ts +68 -0
- package/lib/esm/types/provider/validation/adapters/index.d.ts +13 -0
- package/lib/esm/types/provider/validation/adapters/yup.adapter.d.ts +65 -0
- package/lib/esm/types/provider/validation/adapters/zod.adapter.d.ts +84 -0
- package/lib/esm/types/provider/validation/helpful-error-formatter.d.ts +110 -0
- package/lib/esm/types/provider/validation/index.d.ts +19 -0
- package/lib/esm/types/provider/validation/smart-field-detector.d.ts +91 -0
- package/lib/esm/types/provider/validation/type-inference.d.ts +81 -0
- package/lib/esm/types/provider/validation/validation-registry.d.ts +105 -0
- package/lib/esm/types/provider/validation/validation.interface.d.ts +178 -0
- package/lib/esm/types/render/adapters/base-adapter.d.ts +95 -0
- package/lib/esm/types/render/adapters/ejs-adapter.d.ts +57 -0
- package/lib/esm/types/render/adapters/handlebars-adapter.d.ts +74 -0
- package/lib/esm/types/render/adapters/index.d.ts +12 -0
- package/lib/esm/types/render/adapters/pug-adapter.d.ts +57 -0
- package/lib/esm/types/render/adapters/react-adapter.d.ts +99 -0
- package/lib/esm/types/render/features/auto-detection.d.ts +58 -0
- package/lib/esm/types/render/features/hot-reload.d.ts +65 -0
- package/lib/esm/types/render/features/index.d.ts +12 -0
- package/lib/esm/types/render/features/streaming.d.ts +39 -0
- package/lib/esm/types/render/features/type-generator.d.ts +64 -0
- package/lib/esm/types/render/features/view-debugger.d.ts +52 -0
- package/lib/esm/types/render/index.d.ts +50 -0
- package/lib/esm/types/render/presets/index.d.ts +119 -0
- package/lib/esm/types/render/render-config.d.ts +213 -0
- package/lib/esm/types/render/render-interface.d.ts +126 -0
- package/lib/esm/types/render/render-registry.d.ts +86 -0
- package/lib/esm/types/render/render-service.d.ts +157 -0
- package/lib/esm/types/render/utils/cache-manager.d.ts +106 -0
- package/lib/esm/types/render/utils/index.d.ts +11 -0
- package/lib/esm/types/render/utils/package-resolver.d.ts +57 -0
- package/lib/esm/types/render/utils/view-scanner.d.ts +74 -0
- package/lib/esm/types/testing/create-test-app.d.ts +71 -0
- package/lib/esm/types/testing/create-test-database.d.ts +100 -0
- package/lib/esm/types/testing/fluent-request.d.ts +37 -0
- package/lib/esm/types/testing/index.d.ts +93 -0
- package/lib/esm/types/testing/load-test.d.ts +139 -0
- package/lib/esm/types/testing/matchers.d.ts +184 -0
- package/lib/esm/types/testing/mock-context.d.ts +117 -0
- package/lib/esm/types/testing/mock-provider.d.ts +93 -0
- package/lib/esm/types/testing/snapshot-request.d.ts +46 -0
- package/lib/esm/types/testing/testing.interfaces.d.ts +973 -0
- package/lib/esm/types/utils/node-require.d.ts +11 -0
- package/lib/esm/utils/node-require.js +56 -0
- package/lib/package.json +167 -151
- package/package.json +167 -151
- package/lib/cjs/provider/environment/env-validator.provider.js +0 -100
- package/lib/cjs/types/provider/environment/env-validator.provider.d.ts +0 -39
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { ErrorRequestHandler, NextFunction, Request, RequestHandler, RequestParamHandler, Response } from "express";
|
|
2
|
-
import { ErrorHandlerOptions, IMiddleware } from "./middleware-interface";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { SessionOptions } from "./interfaces/express-session.interface";
|
|
10
|
-
import { OptionsHelmet } from "./interfaces/helmet.interface";
|
|
11
|
-
import { FormatFn, OptionsMorgan } from "./interfaces/morgan.interface";
|
|
12
|
-
import { multer } from "./interfaces/multer.interface";
|
|
13
|
-
import { ServeFaviconOptions } from "./interfaces/serve-favicon.interface";
|
|
14
|
-
import { ServeStaticOptions } from "./interfaces/serve-static.interface";
|
|
15
|
-
import { OptionsUrlencoded } from "./interfaces/url-encoded.interface";
|
|
2
|
+
import { ErrorHandlerOptions, IMiddleware } from "./middleware-interface.js";
|
|
3
|
+
import { MiddlewareEntry as RegistryEntry } from "./middleware-registry.js";
|
|
4
|
+
import type { ParseOptions, MiddlewareLoggerConfig, SecurityConfig, SecurityPreset, CompressConfig, SessionConfig as V4SessionConfig, UploadConfig, UploadHandler, StaticConfig, MiddlewareConfig as V4MiddlewareConfig, OptimizationConfig, PipelineAnalysis, Recommendation } from "./middleware-config.js";
|
|
5
|
+
import { ContentNegotiationService } from "./content-negotiation/content-negotiation-service.js";
|
|
6
|
+
import { ContentNegotiationOptions } from "./interfaces/content-negotiation.interface.js";
|
|
7
|
+
import type { ValidationConfig } from "../provider/validation/validation.interface.js";
|
|
8
|
+
import { MiddlewareProfiler, MiddlewareMetrics, ProfilerStats } from "./middleware-profiler.js";
|
|
16
9
|
/**
|
|
17
10
|
* ExpressHandler Type
|
|
18
11
|
*
|
|
@@ -32,8 +25,42 @@ interface IExpressoMiddleware {
|
|
|
32
25
|
}
|
|
33
26
|
/**
|
|
34
27
|
* Abstract class for creating custom Expresso middleware.
|
|
35
|
-
* Custom middleware classes should extend this class and implement the use method.
|
|
36
28
|
*
|
|
29
|
+
* @layer public
|
|
30
|
+
* @audience application-developers
|
|
31
|
+
* @concept custom-middleware
|
|
32
|
+
* @difficulty intermediate
|
|
33
|
+
*
|
|
34
|
+
* @summary Quick Start
|
|
35
|
+
* Create custom middleware classes by extending this abstract class.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* class AuthMiddleware extends ExpressoMiddleware {
|
|
40
|
+
* use(req: Request, res: Response, next: NextFunction): void {
|
|
41
|
+
* const token = req.headers.authorization;
|
|
42
|
+
* if (!token) {
|
|
43
|
+
* return res.status(401).json({ error: "Unauthorized" });
|
|
44
|
+
* }
|
|
45
|
+
* next();
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
*
|
|
49
|
+
* // Use in application
|
|
50
|
+
* services.Middleware.addMiddleware(new AuthMiddleware());
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @layer internal
|
|
54
|
+
* @audience framework-developers
|
|
55
|
+
*
|
|
56
|
+
* **Internal Behavior**
|
|
57
|
+
* - Provides `name` getter (returns constructor name)
|
|
58
|
+
* - Abstract `use()` method must be implemented
|
|
59
|
+
* - Compatible with Express middleware signature
|
|
60
|
+
*
|
|
61
|
+
* @see {@link IMiddleware.addMiddleware} for adding middleware
|
|
62
|
+
*
|
|
63
|
+
* @public API
|
|
37
64
|
*/
|
|
38
65
|
export declare abstract class ExpressoMiddleware implements IExpressoMiddleware {
|
|
39
66
|
get name(): string;
|
|
@@ -57,29 +84,197 @@ type MiddlewareConfig = {
|
|
|
57
84
|
path?: string;
|
|
58
85
|
middlewares: Array<ExpressHandler | IExpressoMiddleware>;
|
|
59
86
|
};
|
|
87
|
+
/**
|
|
88
|
+
* Middleware category for banner display and organization.
|
|
89
|
+
* @public API
|
|
90
|
+
*/
|
|
91
|
+
export type MiddlewareCategory = "parser" | "security" | "logging" | "validation" | "error" | "session" | "static" | "other";
|
|
92
|
+
/**
|
|
93
|
+
* Enhanced middleware entry with metadata for introspection.
|
|
94
|
+
* @public API
|
|
95
|
+
*/
|
|
96
|
+
export interface MiddlewareEntry {
|
|
97
|
+
/** Display name of the middleware */
|
|
98
|
+
name: string;
|
|
99
|
+
/** Whether this is a built-in or custom middleware */
|
|
100
|
+
type: "built-in" | "custom";
|
|
101
|
+
/** Category for organization */
|
|
102
|
+
category: MiddlewareCategory;
|
|
103
|
+
/** Order in the pipeline (0-based) */
|
|
104
|
+
order: number;
|
|
105
|
+
/** Route path (or "Global" for global middleware) */
|
|
106
|
+
path: string;
|
|
107
|
+
/** The actual middleware */
|
|
108
|
+
middleware: ExpressHandler | MiddlewareConfig | IExpressoMiddleware;
|
|
109
|
+
}
|
|
60
110
|
/**
|
|
61
111
|
* MiddlewarePipeline Interface
|
|
62
112
|
*
|
|
63
113
|
* The MiddlewarePipeline interface represents the metadata and actual middleware to be executed in a middleware pipeline.
|
|
64
|
-
* -
|
|
114
|
+
* - order: The insertion order of the middleware (for stable sorting).
|
|
65
115
|
* - middleware: Can be either an ExpressHandler function or a MiddlewareConfig object defining a more complex middleware setup.
|
|
66
116
|
*/
|
|
67
117
|
interface MiddlewarePipeline {
|
|
68
|
-
|
|
118
|
+
/** Insertion order for stable sorting */
|
|
119
|
+
order: number;
|
|
120
|
+
/** The middleware handler or config */
|
|
69
121
|
middleware: ExpressHandler | MiddlewareConfig | IExpressoMiddleware;
|
|
122
|
+
/** Middleware name for lookup */
|
|
123
|
+
name?: string;
|
|
124
|
+
/** Middleware category */
|
|
125
|
+
category?: MiddlewareCategory;
|
|
126
|
+
/** Whether this is built-in */
|
|
127
|
+
isBuiltIn?: boolean;
|
|
128
|
+
/** Condition function for conditional middleware */
|
|
129
|
+
condition?: (req: Request) => boolean;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Middleware pipeline info for banner display.
|
|
133
|
+
* @public API
|
|
134
|
+
*/
|
|
135
|
+
export interface MiddlewarePipelineInfo {
|
|
136
|
+
/** Total middleware count */
|
|
137
|
+
total: number;
|
|
138
|
+
/** Middleware entries */
|
|
139
|
+
entries: Array<MiddlewareEntry>;
|
|
140
|
+
/** Middleware count by category */
|
|
141
|
+
byCategory: Record<MiddlewareCategory, number>;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Conditional middleware configuration.
|
|
145
|
+
* @public API
|
|
146
|
+
*/
|
|
147
|
+
export interface ConditionalMiddlewareConfig {
|
|
148
|
+
/** The middleware handler */
|
|
149
|
+
middleware: ExpressHandler;
|
|
150
|
+
/** Condition function - middleware runs only if this returns true */
|
|
151
|
+
condition: (req: Request) => boolean;
|
|
152
|
+
/** Optional name for the middleware */
|
|
153
|
+
name?: string;
|
|
154
|
+
/** Optional category */
|
|
155
|
+
category?: MiddlewareCategory;
|
|
70
156
|
}
|
|
71
157
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
158
|
+
* Middleware service for managing Express middleware pipeline.
|
|
159
|
+
*
|
|
160
|
+
* @layer public
|
|
161
|
+
* @audience application-developers
|
|
162
|
+
* @concept middleware-management
|
|
163
|
+
* @difficulty beginner
|
|
164
|
+
*
|
|
165
|
+
* @summary Quick Start
|
|
166
|
+
* Configure and manage middleware for your ExpressoTS application.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* @provide(App)
|
|
171
|
+
* export class App extends AppFactory {
|
|
172
|
+
* configureServices(services: IService): void {
|
|
173
|
+
* // Add built-in middleware
|
|
174
|
+
* services.Middleware.addCors();
|
|
175
|
+
* services.Middleware.addBodyParser();
|
|
176
|
+
* services.Middleware.addHelmet();
|
|
177
|
+
*
|
|
178
|
+
* // Add custom middleware
|
|
179
|
+
* services.Middleware.addMiddleware((req, res, next) => {
|
|
180
|
+
* // Custom logic
|
|
181
|
+
* next();
|
|
182
|
+
* });
|
|
183
|
+
* }
|
|
184
|
+
* }
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* **Features:**
|
|
188
|
+
* - Built-in middleware helpers (CORS, Helmet, Body Parser, etc.)
|
|
189
|
+
* - Custom middleware support
|
|
190
|
+
* - Middleware presets for common configurations
|
|
191
|
+
* - Conditional middleware execution
|
|
192
|
+
* - Content negotiation
|
|
193
|
+
* - Request validation
|
|
194
|
+
* - Performance profiling
|
|
195
|
+
*
|
|
196
|
+
* @layer internal
|
|
197
|
+
* @audience framework-developers
|
|
198
|
+
*
|
|
199
|
+
* **Internal Architecture**
|
|
200
|
+
*
|
|
201
|
+
* Middleware service:
|
|
202
|
+
* - Maintains ordered pipeline array
|
|
203
|
+
* - Uses Map for O(1) middleware lookup
|
|
204
|
+
* - Caches sorted pipeline for performance
|
|
205
|
+
* - Supports conditional middleware execution
|
|
206
|
+
* - Integrates with middleware resolver for auto-discovery
|
|
207
|
+
*
|
|
208
|
+
* **Design Decisions**
|
|
209
|
+
* - Singleton pattern (one instance per app)
|
|
210
|
+
* - Ordered pipeline (insertion order preserved)
|
|
211
|
+
* - Cached sorting (invalidated on changes)
|
|
212
|
+
* - Built-in middleware auto-discovery
|
|
213
|
+
*
|
|
214
|
+
* @see {@link IMiddleware} for interface definition
|
|
215
|
+
* @see {@link middlewareResolver} for middleware resolution
|
|
216
|
+
*
|
|
217
|
+
* @layer advanced
|
|
218
|
+
* @audience power-users
|
|
219
|
+
*
|
|
220
|
+
* **Advanced Usage**
|
|
221
|
+
*
|
|
222
|
+
* Conditional middleware:
|
|
223
|
+
* ```typescript
|
|
224
|
+
* services.Middleware.addConditional({
|
|
225
|
+
* middleware: rateLimiter,
|
|
226
|
+
* condition: (req) => !req.headers["x-internal-service"],
|
|
227
|
+
* name: "conditional-rate-limit"
|
|
228
|
+
* });
|
|
229
|
+
* ```
|
|
230
|
+
*
|
|
231
|
+
* Middleware presets:
|
|
232
|
+
* ```typescript
|
|
233
|
+
* services.Middleware.usePreset("api", {
|
|
234
|
+
* overrides: {
|
|
235
|
+
* Cors: { origin: "https://myapp.com" }
|
|
236
|
+
* }
|
|
237
|
+
* });
|
|
238
|
+
* ```
|
|
75
239
|
*
|
|
76
|
-
* @see IConfigure
|
|
77
240
|
* @public API
|
|
78
241
|
*/
|
|
79
242
|
export declare class Middleware implements IMiddleware {
|
|
243
|
+
private middlewareMap;
|
|
80
244
|
private middlewarePipeline;
|
|
245
|
+
private insertionOrder;
|
|
246
|
+
private sortedPipelineCache;
|
|
81
247
|
private errorHandler;
|
|
82
|
-
private
|
|
248
|
+
private _logger;
|
|
249
|
+
private contentNegotiationService;
|
|
250
|
+
private profiler;
|
|
251
|
+
private profilingEnabled;
|
|
252
|
+
private customPresets;
|
|
253
|
+
private _lastPreset;
|
|
254
|
+
private registry;
|
|
255
|
+
private startupLogs;
|
|
256
|
+
private registeredMiddlewareNames;
|
|
257
|
+
constructor();
|
|
258
|
+
/**
|
|
259
|
+
* Buffer a startup log message to be displayed after the banner.
|
|
260
|
+
* Only buffers in development mode.
|
|
261
|
+
* @param message - The message to buffer
|
|
262
|
+
* @param type - Log type: "info" or "warn"
|
|
263
|
+
*/
|
|
264
|
+
private bufferStartupLog;
|
|
265
|
+
/**
|
|
266
|
+
* Get all buffered startup logs for display after the banner.
|
|
267
|
+
* Includes warnings from the middleware resolver (e.g., missing packages).
|
|
268
|
+
* @returns Array of startup log entries
|
|
269
|
+
*/
|
|
270
|
+
getStartupLogs(): Array<{
|
|
271
|
+
message: string;
|
|
272
|
+
type: "info" | "warn";
|
|
273
|
+
}>;
|
|
274
|
+
/**
|
|
275
|
+
* Clear all buffered startup logs.
|
|
276
|
+
*/
|
|
277
|
+
clearStartupLogs(): void;
|
|
83
278
|
/**
|
|
84
279
|
* Retrieves the type of the middleware.
|
|
85
280
|
*
|
|
@@ -89,157 +284,505 @@ export declare class Middleware implements IMiddleware {
|
|
|
89
284
|
private getMiddlewareType;
|
|
90
285
|
/**
|
|
91
286
|
* Checks if a middleware with the given name exists in the middleware collection.
|
|
287
|
+
* Uses O(1) Map lookup instead of O(n) array scan.
|
|
92
288
|
*
|
|
93
289
|
* @param middlewareName - The name of the middleware to be checked.
|
|
94
290
|
* @returns A boolean value indicating whether the middleware exists or not.
|
|
95
291
|
*/
|
|
96
292
|
private middlewareExists;
|
|
97
293
|
/**
|
|
98
|
-
*
|
|
99
|
-
|
|
294
|
+
* Invalidate the sorted pipeline cache.
|
|
295
|
+
*/
|
|
296
|
+
private invalidateCache;
|
|
297
|
+
/**
|
|
298
|
+
* Generic method to add built-in middleware with consistent pattern.
|
|
299
|
+
*
|
|
300
|
+
* @param name - Middleware name for lookup
|
|
301
|
+
* @param category - Middleware category
|
|
302
|
+
* @param middlewareFactory - Factory function that creates the middleware
|
|
303
|
+
* @returns True if middleware was added, false if skipped
|
|
304
|
+
*/
|
|
305
|
+
private addBuiltInMiddleware;
|
|
306
|
+
/**
|
|
307
|
+
* Get middleware name from a pipeline entry.
|
|
308
|
+
*/
|
|
309
|
+
private getMiddlewareName;
|
|
310
|
+
/**
|
|
311
|
+
* Get the category of a middleware.
|
|
312
|
+
*/
|
|
313
|
+
private getMiddlewareCategory;
|
|
314
|
+
/**
|
|
315
|
+
* Get the path for a middleware.
|
|
316
|
+
*/
|
|
317
|
+
private getMiddlewarePath;
|
|
318
|
+
/**
|
|
319
|
+
* Internal: Sets up Multer middleware for handling multipart/form-data.
|
|
320
|
+
* Used by upload() method.
|
|
321
|
+
* @internal
|
|
322
|
+
*/
|
|
323
|
+
private setupMulter;
|
|
324
|
+
/**
|
|
325
|
+
* Internal: Adds a middleware to serve static files.
|
|
326
|
+
* Used by static() method.
|
|
327
|
+
* @internal
|
|
328
|
+
*/
|
|
329
|
+
private serveStatic;
|
|
330
|
+
/**
|
|
331
|
+
* Helper method to add middleware configuration objects.
|
|
332
|
+
*/
|
|
333
|
+
private addConfigMiddleware;
|
|
334
|
+
/**
|
|
335
|
+
* Helper method to add express request handler functions.
|
|
336
|
+
*/
|
|
337
|
+
private addExpressHandlerMiddleware;
|
|
338
|
+
/**
|
|
339
|
+
* Helper method to add custom Expresso middleware.
|
|
340
|
+
*/
|
|
341
|
+
private addIExpressoMiddleware;
|
|
342
|
+
/**
|
|
343
|
+
* Adds a middleware to the middleware collection.
|
|
344
|
+
*
|
|
345
|
+
* @param options - The Express request handler function, middleware configuration object,
|
|
346
|
+
* or a custom Expresso middleware.
|
|
347
|
+
*
|
|
348
|
+
* @example Express Handler
|
|
349
|
+
* ```typescript
|
|
350
|
+
* const middleware = (req, res, next) => {
|
|
351
|
+
* // Your middleware logic here
|
|
352
|
+
* next();
|
|
353
|
+
* }
|
|
354
|
+
* ```
|
|
355
|
+
*
|
|
356
|
+
* @example Middleware Configuration Object
|
|
357
|
+
* ```typescript
|
|
358
|
+
* const middleware = {
|
|
359
|
+
* path: "/",
|
|
360
|
+
* middlewares: [] // Array of Express Handlers
|
|
361
|
+
* }
|
|
362
|
+
* ```
|
|
363
|
+
*
|
|
364
|
+
* @example Expresso Middleware
|
|
365
|
+
* ```typescript
|
|
366
|
+
* class CustomMiddleware implements IExpressoMiddleware {
|
|
367
|
+
* use(req: Request, res: Response, next: NextFunction): Promise<void> | void {
|
|
368
|
+
* // Your middleware logic here
|
|
369
|
+
* next();
|
|
370
|
+
* }
|
|
371
|
+
* }
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
addMiddleware(options: MiddlewareOptions): void;
|
|
375
|
+
/**
|
|
376
|
+
* Add middleware that only executes when a condition is met.
|
|
377
|
+
*
|
|
378
|
+
* @param config - Conditional middleware configuration
|
|
379
|
+
*
|
|
380
|
+
* @example
|
|
381
|
+
* ```typescript
|
|
382
|
+
* // Only apply rate limiting for non-internal requests
|
|
383
|
+
* middleware.addConditional({
|
|
384
|
+
* middleware: rateLimiter,
|
|
385
|
+
* condition: (req) => !req.headers["x-internal-service"],
|
|
386
|
+
* name: "conditional-rate-limit"
|
|
387
|
+
* });
|
|
100
388
|
*
|
|
101
|
-
*
|
|
389
|
+
* // Only apply auth for non-public routes
|
|
390
|
+
* middleware.addConditional({
|
|
391
|
+
* middleware: authMiddleware,
|
|
392
|
+
* condition: (req) => !req.path.startsWith("/public"),
|
|
393
|
+
* name: "conditional-auth"
|
|
394
|
+
* });
|
|
395
|
+
* ```
|
|
396
|
+
*
|
|
397
|
+
* @public API
|
|
102
398
|
*/
|
|
103
|
-
|
|
104
|
-
addRateLimiter(options?: RateLimitOptions): void;
|
|
399
|
+
addConditional(config: ConditionalMiddlewareConfig): void;
|
|
105
400
|
/**
|
|
106
|
-
*
|
|
401
|
+
* Configures the error handling middleware for the application.
|
|
107
402
|
*
|
|
108
|
-
* @param options -
|
|
403
|
+
* @param options - The object containing the configuration options for the error handler middleware.
|
|
109
404
|
*/
|
|
110
|
-
|
|
405
|
+
setErrorHandler(options?: ErrorHandlerOptions): void;
|
|
111
406
|
/**
|
|
112
|
-
*
|
|
407
|
+
* Gets the configured error handler middleware.
|
|
113
408
|
*
|
|
114
|
-
* @
|
|
409
|
+
* @returns The error handler middleware.
|
|
115
410
|
*/
|
|
116
|
-
|
|
411
|
+
getErrorHandler(): ExpressHandler;
|
|
117
412
|
/**
|
|
118
|
-
*
|
|
413
|
+
* Configures content negotiation middleware for automatic response format selection.
|
|
119
414
|
*
|
|
120
|
-
* @param options -
|
|
415
|
+
* @param options - Configuration options for content negotiation
|
|
416
|
+
* @public API
|
|
417
|
+
*/
|
|
418
|
+
addContentNegotiation(options?: ContentNegotiationOptions): void;
|
|
419
|
+
/**
|
|
420
|
+
* Gets the content negotiation service instance.
|
|
421
|
+
* @returns Content negotiation service or undefined if not configured
|
|
422
|
+
* @internal
|
|
121
423
|
*/
|
|
122
|
-
|
|
424
|
+
getContentNegotiationService(): ContentNegotiationService | undefined;
|
|
425
|
+
private validationServiceFactory?;
|
|
123
426
|
/**
|
|
124
|
-
*
|
|
427
|
+
* Configures validation for automatic request parameter validation.
|
|
125
428
|
*
|
|
126
|
-
* @param
|
|
127
|
-
* @
|
|
429
|
+
* @param options - Configuration options for validation
|
|
430
|
+
* @public API
|
|
431
|
+
*/
|
|
432
|
+
addValidation(options?: ValidationConfig): void;
|
|
433
|
+
/**
|
|
434
|
+
* Gets the validation configuration.
|
|
435
|
+
* @internal
|
|
436
|
+
*/
|
|
437
|
+
getValidationConfig(): ValidationConfig | undefined;
|
|
438
|
+
/**
|
|
439
|
+
* Sets the validation service factory (called by adapter-express).
|
|
440
|
+
* @internal
|
|
441
|
+
*/
|
|
442
|
+
setValidationServiceFactory(factory: () => unknown): void;
|
|
443
|
+
/**
|
|
444
|
+
* Gets the validation service instance.
|
|
445
|
+
* @internal
|
|
128
446
|
*/
|
|
129
|
-
|
|
447
|
+
getValidationService(): unknown;
|
|
130
448
|
/**
|
|
131
|
-
*
|
|
449
|
+
* Enable middleware profiling to track execution times.
|
|
132
450
|
*
|
|
133
|
-
* @param
|
|
134
|
-
* @
|
|
451
|
+
* @param options - Profiler options
|
|
452
|
+
* @returns The profiler instance
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* ```typescript
|
|
456
|
+
* const profiler = middleware.enableProfiling();
|
|
457
|
+
*
|
|
458
|
+
* // Later, get metrics
|
|
459
|
+
* const stats = profiler.getStats();
|
|
460
|
+
* console.log(stats.metrics);
|
|
461
|
+
* ```
|
|
462
|
+
*
|
|
463
|
+
* @public API
|
|
464
|
+
*/
|
|
465
|
+
enableProfiling(options?: {
|
|
466
|
+
maxSamples?: number;
|
|
467
|
+
}): MiddlewareProfiler;
|
|
468
|
+
/**
|
|
469
|
+
* Disable middleware profiling.
|
|
470
|
+
* @public API
|
|
471
|
+
*/
|
|
472
|
+
disableProfiling(): void;
|
|
473
|
+
/**
|
|
474
|
+
* Get the profiler instance.
|
|
475
|
+
* @returns The profiler or null if not enabled
|
|
476
|
+
* @public API
|
|
135
477
|
*/
|
|
136
|
-
|
|
478
|
+
getProfiler(): MiddlewareProfiler | null;
|
|
137
479
|
/**
|
|
138
|
-
*
|
|
480
|
+
* Get profiling metrics for all middleware.
|
|
139
481
|
*
|
|
140
|
-
* @
|
|
482
|
+
* @returns Array of middleware metrics or empty array if profiling is disabled
|
|
483
|
+
* @public API
|
|
141
484
|
*/
|
|
142
|
-
|
|
485
|
+
getProfilingMetrics(): Array<MiddlewareMetrics>;
|
|
143
486
|
/**
|
|
144
|
-
*
|
|
145
|
-
* The favicon is the icon that is displayed in the browser tab for the application.
|
|
487
|
+
* Get profiling statistics.
|
|
146
488
|
*
|
|
147
|
-
* @
|
|
148
|
-
* @
|
|
489
|
+
* @returns Profiler statistics or null if profiling is disabled
|
|
490
|
+
* @public API
|
|
149
491
|
*/
|
|
150
|
-
|
|
151
|
-
setupMulter(options?: multer.Options): multer.Multer;
|
|
492
|
+
getProfilingStats(): ProfilerStats | null;
|
|
152
493
|
/**
|
|
153
|
-
*
|
|
494
|
+
* Add a health check endpoint that reports middleware status.
|
|
495
|
+
*
|
|
496
|
+
* @param options - Health check options
|
|
497
|
+
*
|
|
498
|
+
* @example
|
|
499
|
+
* ```typescript
|
|
500
|
+
* middleware.addHealthCheck({
|
|
501
|
+
* path: "/health/middleware",
|
|
502
|
+
* includeMetrics: true
|
|
503
|
+
* });
|
|
504
|
+
* ```
|
|
154
505
|
*
|
|
155
|
-
* @
|
|
506
|
+
* @public API
|
|
507
|
+
*/
|
|
508
|
+
addHealthCheck(options?: {
|
|
509
|
+
path?: string;
|
|
510
|
+
includeMetrics?: boolean;
|
|
511
|
+
detailed?: boolean;
|
|
512
|
+
}): void;
|
|
513
|
+
/**
|
|
514
|
+
* Retrieves middleware pipeline in the order they were added.
|
|
515
|
+
* Uses cached sorting for performance.
|
|
156
516
|
*
|
|
517
|
+
* @returns An array of middleware pipeline entries.
|
|
157
518
|
*/
|
|
158
|
-
|
|
519
|
+
getMiddlewarePipeline(): Array<MiddlewarePipeline>;
|
|
520
|
+
/**
|
|
521
|
+
* View middleware pipeline formatted as a table.
|
|
522
|
+
*/
|
|
523
|
+
viewMiddlewarePipeline(): void;
|
|
159
524
|
/**
|
|
160
|
-
*
|
|
525
|
+
* Get a visual ASCII representation of the middleware pipeline.
|
|
526
|
+
*
|
|
527
|
+
* @returns ASCII art diagram of the pipeline
|
|
161
528
|
*
|
|
162
|
-
* @
|
|
529
|
+
* @example
|
|
530
|
+
* ```typescript
|
|
531
|
+
* console.log(middleware.visualizePipeline());
|
|
532
|
+
* // ╔══════════════════════════════════════════════════════════════╗
|
|
533
|
+
* // ║ MIDDLEWARE PIPELINE ║
|
|
534
|
+
* // ╠══════════════════════════════════════════════════════════════╣
|
|
535
|
+
* // ║ 📦 jsonParser [parser] ║
|
|
536
|
+
* // ║ ↓ ║
|
|
537
|
+
* // ║ 🔒 cors [security] ║
|
|
538
|
+
* // ║ ↓ ║
|
|
539
|
+
* // ║ 🔒 helmet [security] ║
|
|
540
|
+
* // ╚══════════════════════════════════════════════════════════════╝
|
|
541
|
+
* ```
|
|
163
542
|
*
|
|
543
|
+
* @public API
|
|
164
544
|
*/
|
|
165
|
-
|
|
545
|
+
visualizePipeline(): string;
|
|
166
546
|
/**
|
|
167
|
-
*
|
|
547
|
+
* Get a compact summary of the middleware pipeline.
|
|
168
548
|
*
|
|
169
|
-
* @
|
|
170
|
-
* @
|
|
171
|
-
* @param showStackTrace - A boolean value indicating whether to show the stack trace in the response.
|
|
549
|
+
* @returns Single-line summary
|
|
550
|
+
* @public API
|
|
172
551
|
*/
|
|
173
|
-
|
|
552
|
+
getPipelineSummary(): string;
|
|
553
|
+
/**
|
|
554
|
+
* Get structured pipeline info for banner display and introspection.
|
|
555
|
+
* @returns Middleware pipeline information
|
|
556
|
+
* @public API
|
|
557
|
+
*/
|
|
558
|
+
getPipelineInfo(): MiddlewarePipelineInfo;
|
|
559
|
+
/**
|
|
560
|
+
* Get a formatted view for banner display.
|
|
561
|
+
* @param maxDisplay - Maximum number of middleware to show
|
|
562
|
+
* @returns Formatted middleware view
|
|
563
|
+
* @public API
|
|
564
|
+
*/
|
|
565
|
+
getFormattedView(maxDisplay?: number): {
|
|
566
|
+
entries: Array<{
|
|
567
|
+
name: string;
|
|
568
|
+
category: MiddlewareCategory;
|
|
569
|
+
type: "built-in" | "custom";
|
|
570
|
+
}>;
|
|
571
|
+
total: number;
|
|
572
|
+
remaining: number;
|
|
573
|
+
};
|
|
174
574
|
/**
|
|
175
|
-
*
|
|
176
|
-
*
|
|
575
|
+
* Get middleware count by category.
|
|
576
|
+
* @returns Record of category to count
|
|
577
|
+
* @public API
|
|
578
|
+
*/
|
|
579
|
+
getCountByCategory(): Record<MiddlewareCategory, number>;
|
|
580
|
+
/**
|
|
581
|
+
* Get middleware by name.
|
|
582
|
+
* @param name - The middleware name
|
|
583
|
+
* @returns The middleware entry or undefined
|
|
584
|
+
* @public API
|
|
585
|
+
*/
|
|
586
|
+
getByName(name: string): MiddlewareEntry | undefined;
|
|
587
|
+
/**
|
|
588
|
+
* Remove a middleware from the pipeline by name.
|
|
177
589
|
*
|
|
178
|
-
* @param
|
|
179
|
-
* @
|
|
590
|
+
* @param name - The middleware name to remove
|
|
591
|
+
* @returns True if removed, false if not found
|
|
592
|
+
* @public API
|
|
180
593
|
*/
|
|
181
|
-
|
|
594
|
+
remove(name: string): boolean;
|
|
182
595
|
/**
|
|
183
|
-
*
|
|
184
|
-
* @
|
|
185
|
-
* @returns void
|
|
596
|
+
* Clear all middleware from the pipeline.
|
|
597
|
+
* @public API
|
|
186
598
|
*/
|
|
187
|
-
|
|
599
|
+
clear(): void;
|
|
188
600
|
/**
|
|
189
|
-
*
|
|
190
|
-
* @
|
|
191
|
-
* @
|
|
601
|
+
* Get the total number of middleware in the pipeline.
|
|
602
|
+
* @returns Number of middleware
|
|
603
|
+
* @public API
|
|
192
604
|
*/
|
|
193
|
-
|
|
605
|
+
count(): number;
|
|
194
606
|
/**
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
* @returns void
|
|
607
|
+
* Configure request parsing (unified method).
|
|
608
|
+
* Replaces: addBodyParser, addUrlEncodedParser, addCookieParser
|
|
198
609
|
*/
|
|
199
|
-
|
|
610
|
+
parse(options?: ParseOptions): void;
|
|
200
611
|
/**
|
|
201
|
-
*
|
|
612
|
+
* Configure logging with any implementation.
|
|
613
|
+
* Replaces: addMorgan
|
|
614
|
+
*/
|
|
615
|
+
logger(config?: MiddlewareLoggerConfig): void;
|
|
616
|
+
private get loggerInstance();
|
|
617
|
+
/**
|
|
618
|
+
* Detect the best available logger.
|
|
619
|
+
*/
|
|
620
|
+
private detectBestLogger;
|
|
621
|
+
/**
|
|
622
|
+
* Resolve logger implementation.
|
|
623
|
+
*/
|
|
624
|
+
private resolveLoggerImplementation;
|
|
625
|
+
/**
|
|
626
|
+
* Unified security configuration.
|
|
627
|
+
* Replaces: addHelmet, addCors, addRateLimiter
|
|
628
|
+
*/
|
|
629
|
+
security(config?: SecurityConfig | SecurityPreset): void;
|
|
630
|
+
/**
|
|
631
|
+
* Get security preset configuration.
|
|
632
|
+
*/
|
|
633
|
+
private getSecurityPreset;
|
|
634
|
+
/**
|
|
635
|
+
* Configure compression.
|
|
636
|
+
* Replaces: addCompression
|
|
637
|
+
*/
|
|
638
|
+
compress(config?: CompressConfig): void;
|
|
639
|
+
/**
|
|
640
|
+
* Unified session management.
|
|
641
|
+
* Replaces: addSession, addCookieSession
|
|
642
|
+
*/
|
|
643
|
+
session(config: V4SessionConfig): void;
|
|
644
|
+
/**
|
|
645
|
+
* Enhanced file upload handling.
|
|
646
|
+
* Configures global upload settings and returns upload handlers.
|
|
202
647
|
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
648
|
+
* When called, this stores the configuration globally so that
|
|
649
|
+
* @FileUpload decorators can use these settings as defaults.
|
|
205
650
|
*
|
|
206
|
-
* @
|
|
207
|
-
*
|
|
208
|
-
* // Your middleware logic here
|
|
209
|
-
* next();
|
|
210
|
-
* }
|
|
651
|
+
* @param config - Upload configuration
|
|
652
|
+
* @returns Upload handler with single, array, fields, any, none methods
|
|
211
653
|
*
|
|
212
|
-
* @example
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
654
|
+
* @example
|
|
655
|
+
* ```typescript
|
|
656
|
+
* // In app.ts - configure globally
|
|
657
|
+
* this.Middleware.upload({
|
|
658
|
+
* destination: './uploads',
|
|
659
|
+
* limits: { fileSize: 10 * 1024 * 1024 }
|
|
660
|
+
* });
|
|
217
661
|
*
|
|
218
|
-
* @
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* }
|
|
662
|
+
* // In controller - @FileUpload uses global config
|
|
663
|
+
* @FileUpload({ fieldName: 'avatar' })
|
|
664
|
+
* uploadAvatar(req: Request) { }
|
|
665
|
+
* ```
|
|
666
|
+
*
|
|
667
|
+
* @public API
|
|
225
668
|
*/
|
|
226
|
-
|
|
669
|
+
upload(config?: UploadConfig): UploadHandler;
|
|
227
670
|
/**
|
|
228
|
-
*
|
|
671
|
+
* Enhanced static file serving.
|
|
672
|
+
* Replaces: serveStatic, addServeFavicon
|
|
673
|
+
*/
|
|
674
|
+
static(config: StaticConfig | string | Array<StaticConfig | string>): void;
|
|
675
|
+
/**
|
|
676
|
+
* Register a named middleware for use in routes.
|
|
677
|
+
*/
|
|
678
|
+
register(name: string, handler: RequestHandler | Array<RequestHandler> | RegistryEntry): void;
|
|
679
|
+
/**
|
|
680
|
+
* Get a registered middleware by name.
|
|
681
|
+
*/
|
|
682
|
+
get(name: string): RequestHandler | Array<RequestHandler> | undefined;
|
|
683
|
+
/**
|
|
684
|
+
* Check if a middleware is registered.
|
|
685
|
+
*/
|
|
686
|
+
has(name: string): boolean;
|
|
687
|
+
/**
|
|
688
|
+
* Get all registered middleware names.
|
|
689
|
+
*/
|
|
690
|
+
getRegisteredNames(): Array<string>;
|
|
691
|
+
/**
|
|
692
|
+
* Define a custom reusable preset.
|
|
693
|
+
*/
|
|
694
|
+
definePreset(name: string, config: V4MiddlewareConfig): void;
|
|
695
|
+
/**
|
|
696
|
+
* Apply a preset configuration.
|
|
697
|
+
*/
|
|
698
|
+
applyPreset(preset: string, overrides?: Partial<V4MiddlewareConfig>): void;
|
|
699
|
+
/**
|
|
700
|
+
* Get all available presets.
|
|
701
|
+
*/
|
|
702
|
+
getAllPresets(): Record<string, V4MiddlewareConfig>;
|
|
703
|
+
/**
|
|
704
|
+
* Returns info about the last applied preset (name, whether overrides
|
|
705
|
+
* were used, and the effective merged config). Used by the adapter to
|
|
706
|
+
* forward preset metadata to Studio.
|
|
707
|
+
*/
|
|
708
|
+
getLastAppliedPreset(): {
|
|
709
|
+
name: string;
|
|
710
|
+
hasOverrides: boolean;
|
|
711
|
+
config: V4MiddlewareConfig;
|
|
712
|
+
} | null;
|
|
713
|
+
/**
|
|
714
|
+
* Get built-in presets.
|
|
229
715
|
*
|
|
230
|
-
*
|
|
716
|
+
* Each preset is tuned for a specific workload:
|
|
717
|
+
* - api: REST APIs (large payloads, rate-limited, strict CORS)
|
|
718
|
+
* - web: traditional server-rendered apps (cookies, sessions, relaxed CORS)
|
|
719
|
+
* - spa: single-page apps served with static fallback
|
|
720
|
+
* - microservice: internal service-to-service (minimal surface, no security)
|
|
721
|
+
* - graphql: single endpoint with large JSON payloads
|
|
722
|
+
* - minimal: parsing only, no security or compression
|
|
723
|
+
* - development: relaxed for local iteration, verbose logging
|
|
724
|
+
* - production: hardened defaults for shipped deployments
|
|
231
725
|
*/
|
|
232
|
-
|
|
726
|
+
private getBuiltInPresets;
|
|
233
727
|
/**
|
|
234
|
-
*
|
|
235
|
-
* @returns void
|
|
728
|
+
* Get preset config by name.
|
|
236
729
|
*/
|
|
237
|
-
|
|
730
|
+
private getPresetConfig;
|
|
238
731
|
/**
|
|
239
|
-
*
|
|
732
|
+
* Get available preset names.
|
|
733
|
+
*/
|
|
734
|
+
private getAvailablePresetNames;
|
|
735
|
+
/**
|
|
736
|
+
* Merge two configs.
|
|
737
|
+
*/
|
|
738
|
+
private mergeConfigs;
|
|
739
|
+
/**
|
|
740
|
+
* Conditional middleware application.
|
|
741
|
+
*/
|
|
742
|
+
when(condition: boolean | (() => boolean), handler: RequestHandler | (() => void)): void;
|
|
743
|
+
/**
|
|
744
|
+
* Auto-optimize middleware pipeline.
|
|
745
|
+
*/
|
|
746
|
+
optimize(config?: OptimizationConfig): void;
|
|
747
|
+
/**
|
|
748
|
+
* Reorder middleware for optimal performance.
|
|
749
|
+
*/
|
|
750
|
+
private reorderForPerformance;
|
|
751
|
+
/**
|
|
752
|
+
* Analyze middleware pipeline.
|
|
753
|
+
*/
|
|
754
|
+
analyze(): PipelineAnalysis;
|
|
755
|
+
/**
|
|
756
|
+
* Get recommendations for improvement.
|
|
757
|
+
*/
|
|
758
|
+
getRecommendations(): Array<Recommendation>;
|
|
759
|
+
/**
|
|
760
|
+
* Add custom middleware to global pipeline.
|
|
761
|
+
* Alias for addMiddleware() with shorter name.
|
|
762
|
+
*/
|
|
763
|
+
add(middleware: MiddlewareOptions): void;
|
|
764
|
+
/** Render service instance (lazy initialized) */
|
|
765
|
+
private renderService;
|
|
766
|
+
/** Express app reference for render service */
|
|
767
|
+
private expressApp;
|
|
768
|
+
/**
|
|
769
|
+
* Set the Express app reference for render service initialization.
|
|
770
|
+
* Called internally by AppExpress.
|
|
771
|
+
* @internal
|
|
772
|
+
*/
|
|
773
|
+
setExpressApp(app: import("express").Application): void;
|
|
774
|
+
/**
|
|
775
|
+
* Configure view rendering with unified API.
|
|
776
|
+
* Supports traditional engines (EJS, Pug, Handlebars) and modern frameworks (React, Vue, Svelte).
|
|
240
777
|
*
|
|
241
|
-
* @
|
|
778
|
+
* @param config - Render configuration or preset name
|
|
242
779
|
*/
|
|
243
|
-
|
|
780
|
+
render(config?: import("../render/render-config.js").RenderConfig | import("../render/render-config.js").PresetName): Promise<void>;
|
|
781
|
+
/**
|
|
782
|
+
* Get the render service instance.
|
|
783
|
+
*
|
|
784
|
+
* @returns Render service or null if not configured
|
|
785
|
+
*/
|
|
786
|
+
getRenderService(): import("../render/render-service.js").RenderService | null;
|
|
244
787
|
}
|
|
245
788
|
export {};
|