@elsikora/cladi 2.0.2-dev.1 → 2.1.0-dev.1
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/README.md +598 -211
- package/dist/cjs/application/utility/safe-deep-clone.utility.d.ts.map +1 -1
- package/dist/cjs/application/utility/safe-deep-clone.utility.js +104 -10
- package/dist/cjs/application/utility/safe-deep-clone.utility.js.map +1 -1
- package/dist/cjs/domain/enum/captive-dependency-policy.enum.d.ts +6 -0
- package/dist/cjs/domain/enum/captive-dependency-policy.enum.d.ts.map +1 -0
- package/dist/cjs/domain/enum/captive-dependency-policy.enum.js +9 -0
- package/dist/cjs/domain/enum/captive-dependency-policy.enum.js.map +1 -0
- package/dist/cjs/domain/enum/dependency-lifecycle.enum.d.ts +6 -0
- package/dist/cjs/domain/enum/dependency-lifecycle.enum.d.ts.map +1 -0
- package/dist/cjs/domain/enum/dependency-lifecycle.enum.js +9 -0
- package/dist/cjs/domain/enum/dependency-lifecycle.enum.js.map +1 -0
- package/dist/cjs/domain/enum/di-container-duplicate-provider-policy.enum.d.ts +6 -0
- package/dist/cjs/domain/enum/di-container-duplicate-provider-policy.enum.d.ts.map +1 -0
- package/dist/cjs/domain/enum/di-container-duplicate-provider-policy.enum.js +9 -0
- package/dist/cjs/domain/enum/di-container-duplicate-provider-policy.enum.js.map +1 -0
- package/dist/cjs/domain/enum/index.d.ts +4 -0
- package/dist/cjs/domain/enum/index.d.ts.map +1 -1
- package/dist/cjs/domain/enum/logger-log-level.enum.js.map +1 -1
- package/dist/cjs/domain/enum/provider-type.enum.d.ts +8 -0
- package/dist/cjs/domain/enum/provider-type.enum.d.ts.map +1 -0
- package/dist/cjs/domain/enum/provider-type.enum.js +11 -0
- package/dist/cjs/domain/enum/provider-type.enum.js.map +1 -0
- package/dist/cjs/domain/index.d.ts +1 -0
- package/dist/cjs/domain/index.d.ts.map +1 -1
- package/dist/cjs/domain/interface/di/alias-provider.interface.d.ts +6 -0
- package/dist/cjs/domain/interface/di/alias-provider.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/class-provider.interface.d.ts +9 -0
- package/dist/cjs/domain/interface/di/class-provider.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/container-snapshot.interface.d.ts +19 -0
- package/dist/cjs/domain/interface/di/container-snapshot.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/dependency-graph.interface.d.ts +19 -0
- package/dist/cjs/domain/interface/di/dependency-graph.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/factory-provider.interface.d.ts +9 -0
- package/dist/cjs/domain/interface/di/factory-provider.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/index.d.ts +15 -0
- package/dist/cjs/domain/interface/di/index.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/lazy-provider.interface.d.ts +6 -0
- package/dist/cjs/domain/interface/di/lazy-provider.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/module.interface.d.ts +8 -0
- package/dist/cjs/domain/interface/di/module.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/provider-base.interface.d.ts +11 -0
- package/dist/cjs/domain/interface/di/provider-base.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/resolution-explanation.interface.d.ts +14 -0
- package/dist/cjs/domain/interface/di/resolution-explanation.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/resolve-interceptor.interface.d.ts +26 -0
- package/dist/cjs/domain/interface/di/resolve-interceptor.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/resolver.interface.d.ts +10 -0
- package/dist/cjs/domain/interface/di/resolver.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/scope-create-options.interface.d.ts +9 -0
- package/dist/cjs/domain/interface/di/scope-create-options.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/scope.interface.d.ts +23 -0
- package/dist/cjs/domain/interface/di/scope.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/di/value-provider.interface.d.ts +5 -0
- package/dist/cjs/domain/interface/di/value-provider.interface.d.ts.map +1 -0
- package/dist/cjs/domain/interface/error.interface.d.ts +6 -2
- package/dist/cjs/domain/interface/error.interface.d.ts.map +1 -1
- package/dist/cjs/domain/interface/index.d.ts +1 -3
- package/dist/cjs/domain/interface/index.d.ts.map +1 -1
- package/dist/cjs/domain/interface/logger/index.d.ts +2 -2
- package/dist/cjs/domain/interface/logger/index.d.ts.map +1 -1
- package/dist/cjs/domain/type/di/constructor.type.d.ts +2 -0
- package/dist/cjs/domain/type/di/constructor.type.d.ts.map +1 -0
- package/dist/cjs/domain/type/di/di-container.type.d.ts +3 -0
- package/dist/cjs/domain/type/di/di-container.type.d.ts.map +1 -0
- package/dist/cjs/domain/type/di/index.d.ts +5 -0
- package/dist/cjs/domain/type/di/index.d.ts.map +1 -0
- package/dist/cjs/domain/type/di/provider.type.d.ts +7 -0
- package/dist/cjs/domain/type/di/provider.type.d.ts.map +1 -0
- package/dist/cjs/domain/type/di/token.type.d.ts +4 -0
- package/dist/cjs/domain/type/di/token.type.d.ts.map +1 -0
- package/dist/cjs/domain/type/index.d.ts +2 -0
- package/dist/cjs/domain/type/index.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +60 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infrastructure/class/base/error.class.d.ts +7 -4
- package/dist/cjs/infrastructure/class/base/error.class.d.ts.map +1 -1
- package/dist/cjs/infrastructure/class/base/error.class.js +13 -3
- package/dist/cjs/infrastructure/class/base/error.class.js.map +1 -1
- package/dist/cjs/infrastructure/class/base/index.d.ts +0 -3
- package/dist/cjs/infrastructure/class/base/index.d.ts.map +1 -1
- package/dist/cjs/infrastructure/class/di/cache/coordinator.class.d.ts +14 -0
- package/dist/cjs/infrastructure/class/di/cache/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/cache/coordinator.class.js +126 -0
- package/dist/cjs/infrastructure/class/di/cache/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/captive/coordinator.class.d.ts +17 -0
- package/dist/cjs/infrastructure/class/di/captive/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/captive/coordinator.class.js +62 -0
- package/dist/cjs/infrastructure/class/di/captive/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/container.class.d.ts +75 -0
- package/dist/cjs/infrastructure/class/di/container.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/container.class.js +632 -0
- package/dist/cjs/infrastructure/class/di/container.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/disposal/coordinator.class.d.ts +34 -0
- package/dist/cjs/infrastructure/class/di/disposal/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/disposal/coordinator.class.js +93 -0
- package/dist/cjs/infrastructure/class/di/disposal/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/disposal/manager.class.d.ts +28 -0
- package/dist/cjs/infrastructure/class/di/disposal/manager.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/disposal/manager.class.js +104 -0
- package/dist/cjs/infrastructure/class/di/disposal/manager.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/disposer/coordinator.class.d.ts +41 -0
- package/dist/cjs/infrastructure/class/di/disposer/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/disposer/coordinator.class.js +140 -0
- package/dist/cjs/infrastructure/class/di/disposer/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/engine/resolution.class.d.ts +38 -0
- package/dist/cjs/infrastructure/class/di/engine/resolution.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/engine/resolution.class.js +153 -0
- package/dist/cjs/infrastructure/class/di/engine/resolution.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/graph/coordinator.class.d.ts +42 -0
- package/dist/cjs/infrastructure/class/di/graph/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/graph/coordinator.class.js +121 -0
- package/dist/cjs/infrastructure/class/di/graph/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/index.d.ts +3 -0
- package/dist/cjs/infrastructure/class/di/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/interceptor/dispatcher.class.d.ts +17 -0
- package/dist/cjs/infrastructure/class/di/interceptor/dispatcher.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/interceptor/dispatcher.class.js +91 -0
- package/dist/cjs/infrastructure/class/di/interceptor/dispatcher.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/interface/index.d.ts +3 -0
- package/dist/cjs/infrastructure/class/di/interface/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/interface/internal-container-options.interface.d.ts +7 -0
- package/dist/cjs/infrastructure/class/di/interface/internal-container-options.interface.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/interface/provider/index.d.ts +3 -0
- package/dist/cjs/infrastructure/class/di/interface/provider/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/interface/provider/lookup.interface.d.ts +8 -0
- package/dist/cjs/infrastructure/class/di/interface/provider/lookup.interface.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/interface/provider/registration.interface.d.ts +11 -0
- package/dist/cjs/infrastructure/class/di/interface/provider/registration.interface.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/lookup/coordinator.class.d.ts +10 -0
- package/dist/cjs/infrastructure/class/di/lookup/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/lookup/coordinator.class.js +78 -0
- package/dist/cjs/infrastructure/class/di/lookup/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/registration/coordinator.class.d.ts +41 -0
- package/dist/cjs/infrastructure/class/di/registration/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/registration/coordinator.class.js +251 -0
- package/dist/cjs/infrastructure/class/di/registration/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/class/di/resolution/coordinator.class.d.ts +62 -0
- package/dist/cjs/infrastructure/class/di/resolution/coordinator.class.d.ts.map +1 -0
- package/dist/cjs/infrastructure/class/di/resolution/coordinator.class.js +599 -0
- package/dist/cjs/infrastructure/class/di/resolution/coordinator.class.js.map +1 -0
- package/dist/cjs/infrastructure/constant/console-logger-default-options.constant.js +4 -0
- package/dist/cjs/infrastructure/constant/console-logger-default-options.constant.js.map +1 -1
- package/dist/cjs/infrastructure/factory/core.factory.d.ts +11 -31
- package/dist/cjs/infrastructure/factory/core.factory.d.ts.map +1 -1
- package/dist/cjs/infrastructure/factory/core.factory.js +13 -47
- package/dist/cjs/infrastructure/factory/core.factory.js.map +1 -1
- package/dist/cjs/infrastructure/index.d.ts +1 -0
- package/dist/cjs/infrastructure/index.d.ts.map +1 -1
- package/dist/cjs/infrastructure/interface/base/error-options.interface.d.ts +1 -1
- package/dist/cjs/infrastructure/interface/base/index.d.ts +0 -3
- package/dist/cjs/infrastructure/interface/base/index.d.ts.map +1 -1
- package/dist/cjs/infrastructure/interface/console-logger-options.interface.d.ts +1 -1
- package/dist/cjs/infrastructure/interface/core-factory-options.interface.d.ts +1 -1
- package/dist/cjs/infrastructure/interface/di-container-options.interface.d.ts +12 -0
- package/dist/cjs/infrastructure/interface/di-container-options.interface.d.ts.map +1 -0
- package/dist/cjs/infrastructure/interface/index.d.ts +1 -0
- package/dist/cjs/infrastructure/interface/index.d.ts.map +1 -1
- package/dist/cjs/infrastructure/service/console-logger.service.d.ts.map +1 -1
- package/dist/cjs/infrastructure/service/console-logger.service.js +10 -6
- package/dist/cjs/infrastructure/service/console-logger.service.js.map +1 -1
- package/dist/cjs/infrastructure/utility/to-error.utility.d.ts +7 -0
- package/dist/cjs/infrastructure/utility/to-error.utility.d.ts.map +1 -0
- package/dist/cjs/infrastructure/utility/to-error.utility.js +22 -0
- package/dist/cjs/infrastructure/utility/to-error.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/constant/injectable-metadata-key.constant.d.ts +2 -0
- package/dist/cjs/presentation/ergonomics/constant/injectable-metadata-key.constant.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/constant/injectable-metadata-key.constant.js +6 -0
- package/dist/cjs/presentation/ergonomics/constant/injectable-metadata-key.constant.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/constant/module-metadata-key.constant.d.ts +2 -0
- package/dist/cjs/presentation/ergonomics/constant/module-metadata-key.constant.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/constant/module-metadata-key.constant.js +6 -0
- package/dist/cjs/presentation/ergonomics/constant/module-metadata-key.constant.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/after-resolve.decorator.d.ts +6 -0
- package/dist/cjs/presentation/ergonomics/decorator/after-resolve.decorator.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/after-resolve.decorator.js +41 -0
- package/dist/cjs/presentation/ergonomics/decorator/after-resolve.decorator.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/index.d.ts +7 -0
- package/dist/cjs/presentation/ergonomics/decorator/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/inject.decorator.d.ts +8 -0
- package/dist/cjs/presentation/ergonomics/decorator/inject.decorator.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/inject.decorator.js +35 -0
- package/dist/cjs/presentation/ergonomics/decorator/inject.decorator.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/injectable.decorator.d.ts +8 -0
- package/dist/cjs/presentation/ergonomics/decorator/injectable.decorator.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/injectable.decorator.js +89 -0
- package/dist/cjs/presentation/ergonomics/decorator/injectable.decorator.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/module.decorator.d.ts +8 -0
- package/dist/cjs/presentation/ergonomics/decorator/module.decorator.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/module.decorator.js +143 -0
- package/dist/cjs/presentation/ergonomics/decorator/module.decorator.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-dispose.decorator.d.ts +6 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-dispose.decorator.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-dispose.decorator.js +41 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-dispose.decorator.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-init.decorator.d.ts +6 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-init.decorator.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-init.decorator.js +41 -0
- package/dist/cjs/presentation/ergonomics/decorator/on-init.decorator.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/index.d.ts +4 -0
- package/dist/cjs/presentation/ergonomics/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/create/autowire-provider-options.interface.d.ts +12 -0
- package/dist/cjs/presentation/ergonomics/interface/create/autowire-provider-options.interface.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/create/index.d.ts +3 -0
- package/dist/cjs/presentation/ergonomics/interface/create/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/create/module-options.interface.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/interface/create/module-options.interface.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/decorator/index.d.ts +2 -0
- package/dist/cjs/presentation/ergonomics/interface/decorator/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/decorator/module-options.interface.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/interface/decorator/module-options.interface.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/index.d.ts +4 -0
- package/dist/cjs/presentation/ergonomics/interface/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/injectable/index.d.ts +3 -0
- package/dist/cjs/presentation/ergonomics/interface/injectable/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/injectable/metadata.interface.d.ts +12 -0
- package/dist/cjs/presentation/ergonomics/interface/injectable/metadata.interface.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/interface/injectable/options.interface.d.ts +4 -0
- package/dist/cjs/presentation/ergonomics/interface/injectable/options.interface.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-decorated-modules.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-decorated-modules.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-decorated-modules.utility.js +63 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-decorated-modules.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-modules.utility.d.ts +10 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-modules.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-modules.utility.js +188 -0
- package/dist/cjs/presentation/ergonomics/utility/compose-modules.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire-provider.utility.d.ts +14 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire-provider.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire-provider.utility.js +110 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire-provider.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire.utility.d.ts +15 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire.utility.js +34 -0
- package/dist/cjs/presentation/ergonomics/utility/create/autowire.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/index.d.ts +5 -0
- package/dist/cjs/presentation/ergonomics/utility/create/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module-from-decorator.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module-from-decorator.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module-from-decorator.utility.js +135 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module-from-decorator.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module.utility.js +19 -0
- package/dist/cjs/presentation/ergonomics/utility/create/module.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/index.d.ts +6 -0
- package/dist/cjs/presentation/ergonomics/utility/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/get.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/get.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/get.utility.js +20 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/get.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/index.d.ts +3 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/set.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/set.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/set.utility.js +15 -0
- package/dist/cjs/presentation/ergonomics/utility/injectable-metadata/set.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/get.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/get.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/get.utility.js +20 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/get.utility.js.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/index.d.ts +3 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/index.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/set.utility.d.ts +9 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/set.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/set.utility.js +15 -0
- package/dist/cjs/presentation/ergonomics/utility/module-metadata/set.utility.js.map +1 -0
- package/dist/cjs/presentation/utility/create/di-container.utility.d.ts +9 -0
- package/dist/cjs/presentation/utility/create/di-container.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/utility/create/di-container.utility.js +15 -0
- package/dist/cjs/presentation/utility/create/di-container.utility.js.map +1 -0
- package/dist/cjs/presentation/utility/create/index.d.ts +3 -3
- package/dist/cjs/presentation/utility/create/index.d.ts.map +1 -1
- package/dist/cjs/presentation/utility/create/lazy-provider.utility.d.ts +24 -0
- package/dist/cjs/presentation/utility/create/lazy-provider.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/utility/create/lazy-provider.utility.js +29 -0
- package/dist/cjs/presentation/utility/create/lazy-provider.utility.js.map +1 -0
- package/dist/cjs/presentation/utility/create/logger.utility.d.ts +1 -1
- package/dist/cjs/presentation/utility/create/logger.utility.js +1 -1
- package/dist/cjs/presentation/utility/create/logger.utility.js.map +1 -1
- package/dist/cjs/presentation/utility/create/token.utility.d.ts +9 -0
- package/dist/cjs/presentation/utility/create/token.utility.d.ts.map +1 -0
- package/dist/cjs/presentation/utility/create/token.utility.js +14 -0
- package/dist/cjs/presentation/utility/create/token.utility.js.map +1 -0
- package/dist/esm/application/utility/safe-deep-clone.utility.d.ts.map +1 -1
- package/dist/esm/application/utility/safe-deep-clone.utility.js +104 -10
- package/dist/esm/application/utility/safe-deep-clone.utility.js.map +1 -1
- package/dist/esm/domain/enum/captive-dependency-policy.enum.d.ts +6 -0
- package/dist/esm/domain/enum/captive-dependency-policy.enum.d.ts.map +1 -0
- package/dist/esm/domain/enum/captive-dependency-policy.enum.js +9 -0
- package/dist/esm/domain/enum/captive-dependency-policy.enum.js.map +1 -0
- package/dist/esm/domain/enum/dependency-lifecycle.enum.d.ts +6 -0
- package/dist/esm/domain/enum/dependency-lifecycle.enum.d.ts.map +1 -0
- package/dist/esm/domain/enum/dependency-lifecycle.enum.js +9 -0
- package/dist/esm/domain/enum/dependency-lifecycle.enum.js.map +1 -0
- package/dist/esm/domain/enum/di-container-duplicate-provider-policy.enum.d.ts +6 -0
- package/dist/esm/domain/enum/di-container-duplicate-provider-policy.enum.d.ts.map +1 -0
- package/dist/esm/domain/enum/di-container-duplicate-provider-policy.enum.js +9 -0
- package/dist/esm/domain/enum/di-container-duplicate-provider-policy.enum.js.map +1 -0
- package/dist/esm/domain/enum/index.d.ts +4 -0
- package/dist/esm/domain/enum/index.d.ts.map +1 -1
- package/dist/esm/domain/enum/logger-log-level.enum.js.map +1 -1
- package/dist/esm/domain/enum/provider-type.enum.d.ts +8 -0
- package/dist/esm/domain/enum/provider-type.enum.d.ts.map +1 -0
- package/dist/esm/domain/enum/provider-type.enum.js +11 -0
- package/dist/esm/domain/enum/provider-type.enum.js.map +1 -0
- package/dist/esm/domain/index.d.ts +1 -0
- package/dist/esm/domain/index.d.ts.map +1 -1
- package/dist/esm/domain/interface/di/alias-provider.interface.d.ts +6 -0
- package/dist/esm/domain/interface/di/alias-provider.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/class-provider.interface.d.ts +9 -0
- package/dist/esm/domain/interface/di/class-provider.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/container-snapshot.interface.d.ts +19 -0
- package/dist/esm/domain/interface/di/container-snapshot.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/dependency-graph.interface.d.ts +19 -0
- package/dist/esm/domain/interface/di/dependency-graph.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/factory-provider.interface.d.ts +9 -0
- package/dist/esm/domain/interface/di/factory-provider.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/index.d.ts +15 -0
- package/dist/esm/domain/interface/di/index.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/lazy-provider.interface.d.ts +6 -0
- package/dist/esm/domain/interface/di/lazy-provider.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/module.interface.d.ts +8 -0
- package/dist/esm/domain/interface/di/module.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/provider-base.interface.d.ts +11 -0
- package/dist/esm/domain/interface/di/provider-base.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/resolution-explanation.interface.d.ts +14 -0
- package/dist/esm/domain/interface/di/resolution-explanation.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/resolve-interceptor.interface.d.ts +26 -0
- package/dist/esm/domain/interface/di/resolve-interceptor.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/resolver.interface.d.ts +10 -0
- package/dist/esm/domain/interface/di/resolver.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/scope-create-options.interface.d.ts +9 -0
- package/dist/esm/domain/interface/di/scope-create-options.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/scope.interface.d.ts +23 -0
- package/dist/esm/domain/interface/di/scope.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/di/value-provider.interface.d.ts +5 -0
- package/dist/esm/domain/interface/di/value-provider.interface.d.ts.map +1 -0
- package/dist/esm/domain/interface/error.interface.d.ts +6 -2
- package/dist/esm/domain/interface/error.interface.d.ts.map +1 -1
- package/dist/esm/domain/interface/index.d.ts +1 -3
- package/dist/esm/domain/interface/index.d.ts.map +1 -1
- package/dist/esm/domain/interface/logger/index.d.ts +2 -2
- package/dist/esm/domain/interface/logger/index.d.ts.map +1 -1
- package/dist/esm/domain/type/di/constructor.type.d.ts +2 -0
- package/dist/esm/domain/type/di/constructor.type.d.ts.map +1 -0
- package/dist/esm/domain/type/di/di-container.type.d.ts +3 -0
- package/dist/esm/domain/type/di/di-container.type.d.ts.map +1 -0
- package/dist/esm/domain/type/di/index.d.ts +5 -0
- package/dist/esm/domain/type/di/index.d.ts.map +1 -0
- package/dist/esm/domain/type/di/provider.type.d.ts +7 -0
- package/dist/esm/domain/type/di/provider.type.d.ts.map +1 -0
- package/dist/esm/domain/type/di/token.type.d.ts +4 -0
- package/dist/esm/domain/type/di/token.type.d.ts.map +1 -0
- package/dist/esm/domain/type/index.d.ts +2 -0
- package/dist/esm/domain/type/index.d.ts.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +24 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infrastructure/class/base/error.class.d.ts +7 -4
- package/dist/esm/infrastructure/class/base/error.class.d.ts.map +1 -1
- package/dist/esm/infrastructure/class/base/error.class.js +13 -3
- package/dist/esm/infrastructure/class/base/error.class.js.map +1 -1
- package/dist/esm/infrastructure/class/base/index.d.ts +0 -3
- package/dist/esm/infrastructure/class/base/index.d.ts.map +1 -1
- package/dist/esm/infrastructure/class/di/cache/coordinator.class.d.ts +14 -0
- package/dist/esm/infrastructure/class/di/cache/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/cache/coordinator.class.js +124 -0
- package/dist/esm/infrastructure/class/di/cache/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/captive/coordinator.class.d.ts +17 -0
- package/dist/esm/infrastructure/class/di/captive/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/captive/coordinator.class.js +60 -0
- package/dist/esm/infrastructure/class/di/captive/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/container.class.d.ts +75 -0
- package/dist/esm/infrastructure/class/di/container.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/container.class.js +630 -0
- package/dist/esm/infrastructure/class/di/container.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/disposal/coordinator.class.d.ts +34 -0
- package/dist/esm/infrastructure/class/di/disposal/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/disposal/coordinator.class.js +91 -0
- package/dist/esm/infrastructure/class/di/disposal/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/disposal/manager.class.d.ts +28 -0
- package/dist/esm/infrastructure/class/di/disposal/manager.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/disposal/manager.class.js +102 -0
- package/dist/esm/infrastructure/class/di/disposal/manager.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/disposer/coordinator.class.d.ts +41 -0
- package/dist/esm/infrastructure/class/di/disposer/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/disposer/coordinator.class.js +138 -0
- package/dist/esm/infrastructure/class/di/disposer/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/engine/resolution.class.d.ts +38 -0
- package/dist/esm/infrastructure/class/di/engine/resolution.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/engine/resolution.class.js +151 -0
- package/dist/esm/infrastructure/class/di/engine/resolution.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/graph/coordinator.class.d.ts +42 -0
- package/dist/esm/infrastructure/class/di/graph/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/graph/coordinator.class.js +119 -0
- package/dist/esm/infrastructure/class/di/graph/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/index.d.ts +3 -0
- package/dist/esm/infrastructure/class/di/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/interceptor/dispatcher.class.d.ts +17 -0
- package/dist/esm/infrastructure/class/di/interceptor/dispatcher.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/interceptor/dispatcher.class.js +89 -0
- package/dist/esm/infrastructure/class/di/interceptor/dispatcher.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/interface/index.d.ts +3 -0
- package/dist/esm/infrastructure/class/di/interface/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/interface/internal-container-options.interface.d.ts +7 -0
- package/dist/esm/infrastructure/class/di/interface/internal-container-options.interface.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/interface/provider/index.d.ts +3 -0
- package/dist/esm/infrastructure/class/di/interface/provider/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/interface/provider/lookup.interface.d.ts +8 -0
- package/dist/esm/infrastructure/class/di/interface/provider/lookup.interface.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/interface/provider/registration.interface.d.ts +11 -0
- package/dist/esm/infrastructure/class/di/interface/provider/registration.interface.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/lookup/coordinator.class.d.ts +10 -0
- package/dist/esm/infrastructure/class/di/lookup/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/lookup/coordinator.class.js +76 -0
- package/dist/esm/infrastructure/class/di/lookup/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/registration/coordinator.class.d.ts +41 -0
- package/dist/esm/infrastructure/class/di/registration/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/registration/coordinator.class.js +249 -0
- package/dist/esm/infrastructure/class/di/registration/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/class/di/resolution/coordinator.class.d.ts +62 -0
- package/dist/esm/infrastructure/class/di/resolution/coordinator.class.d.ts.map +1 -0
- package/dist/esm/infrastructure/class/di/resolution/coordinator.class.js +597 -0
- package/dist/esm/infrastructure/class/di/resolution/coordinator.class.js.map +1 -0
- package/dist/esm/infrastructure/constant/console-logger-default-options.constant.js +4 -0
- package/dist/esm/infrastructure/constant/console-logger-default-options.constant.js.map +1 -1
- package/dist/esm/infrastructure/factory/core.factory.d.ts +11 -31
- package/dist/esm/infrastructure/factory/core.factory.d.ts.map +1 -1
- package/dist/esm/infrastructure/factory/core.factory.js +13 -47
- package/dist/esm/infrastructure/factory/core.factory.js.map +1 -1
- package/dist/esm/infrastructure/index.d.ts +1 -0
- package/dist/esm/infrastructure/index.d.ts.map +1 -1
- package/dist/esm/infrastructure/interface/base/error-options.interface.d.ts +1 -1
- package/dist/esm/infrastructure/interface/base/index.d.ts +0 -3
- package/dist/esm/infrastructure/interface/base/index.d.ts.map +1 -1
- package/dist/esm/infrastructure/interface/console-logger-options.interface.d.ts +1 -1
- package/dist/esm/infrastructure/interface/core-factory-options.interface.d.ts +1 -1
- package/dist/esm/infrastructure/interface/di-container-options.interface.d.ts +12 -0
- package/dist/esm/infrastructure/interface/di-container-options.interface.d.ts.map +1 -0
- package/dist/esm/infrastructure/interface/index.d.ts +1 -0
- package/dist/esm/infrastructure/interface/index.d.ts.map +1 -1
- package/dist/esm/infrastructure/service/console-logger.service.d.ts.map +1 -1
- package/dist/esm/infrastructure/service/console-logger.service.js +10 -6
- package/dist/esm/infrastructure/service/console-logger.service.js.map +1 -1
- package/dist/esm/infrastructure/utility/to-error.utility.d.ts +7 -0
- package/dist/esm/infrastructure/utility/to-error.utility.d.ts.map +1 -0
- package/dist/esm/infrastructure/utility/to-error.utility.js +20 -0
- package/dist/esm/infrastructure/utility/to-error.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/constant/injectable-metadata-key.constant.d.ts +2 -0
- package/dist/esm/presentation/ergonomics/constant/injectable-metadata-key.constant.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/constant/injectable-metadata-key.constant.js +4 -0
- package/dist/esm/presentation/ergonomics/constant/injectable-metadata-key.constant.js.map +1 -0
- package/dist/esm/presentation/ergonomics/constant/module-metadata-key.constant.d.ts +2 -0
- package/dist/esm/presentation/ergonomics/constant/module-metadata-key.constant.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/constant/module-metadata-key.constant.js +4 -0
- package/dist/esm/presentation/ergonomics/constant/module-metadata-key.constant.js.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/after-resolve.decorator.d.ts +6 -0
- package/dist/esm/presentation/ergonomics/decorator/after-resolve.decorator.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/after-resolve.decorator.js +39 -0
- package/dist/esm/presentation/ergonomics/decorator/after-resolve.decorator.js.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/index.d.ts +7 -0
- package/dist/esm/presentation/ergonomics/decorator/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/inject.decorator.d.ts +8 -0
- package/dist/esm/presentation/ergonomics/decorator/inject.decorator.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/inject.decorator.js +33 -0
- package/dist/esm/presentation/ergonomics/decorator/inject.decorator.js.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/injectable.decorator.d.ts +8 -0
- package/dist/esm/presentation/ergonomics/decorator/injectable.decorator.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/injectable.decorator.js +87 -0
- package/dist/esm/presentation/ergonomics/decorator/injectable.decorator.js.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/module.decorator.d.ts +8 -0
- package/dist/esm/presentation/ergonomics/decorator/module.decorator.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/module.decorator.js +141 -0
- package/dist/esm/presentation/ergonomics/decorator/module.decorator.js.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/on-dispose.decorator.d.ts +6 -0
- package/dist/esm/presentation/ergonomics/decorator/on-dispose.decorator.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/on-dispose.decorator.js +39 -0
- package/dist/esm/presentation/ergonomics/decorator/on-dispose.decorator.js.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/on-init.decorator.d.ts +6 -0
- package/dist/esm/presentation/ergonomics/decorator/on-init.decorator.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/decorator/on-init.decorator.js +39 -0
- package/dist/esm/presentation/ergonomics/decorator/on-init.decorator.js.map +1 -0
- package/dist/esm/presentation/ergonomics/index.d.ts +4 -0
- package/dist/esm/presentation/ergonomics/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/create/autowire-provider-options.interface.d.ts +12 -0
- package/dist/esm/presentation/ergonomics/interface/create/autowire-provider-options.interface.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/create/index.d.ts +3 -0
- package/dist/esm/presentation/ergonomics/interface/create/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/create/module-options.interface.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/interface/create/module-options.interface.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/decorator/index.d.ts +2 -0
- package/dist/esm/presentation/ergonomics/interface/decorator/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/decorator/module-options.interface.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/interface/decorator/module-options.interface.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/index.d.ts +4 -0
- package/dist/esm/presentation/ergonomics/interface/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/injectable/index.d.ts +3 -0
- package/dist/esm/presentation/ergonomics/interface/injectable/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/injectable/metadata.interface.d.ts +12 -0
- package/dist/esm/presentation/ergonomics/interface/injectable/metadata.interface.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/interface/injectable/options.interface.d.ts +4 -0
- package/dist/esm/presentation/ergonomics/interface/injectable/options.interface.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/compose-decorated-modules.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/compose-decorated-modules.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/compose-decorated-modules.utility.js +61 -0
- package/dist/esm/presentation/ergonomics/utility/compose-decorated-modules.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/compose-modules.utility.d.ts +10 -0
- package/dist/esm/presentation/ergonomics/utility/compose-modules.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/compose-modules.utility.js +186 -0
- package/dist/esm/presentation/ergonomics/utility/compose-modules.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire-provider.utility.d.ts +14 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire-provider.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire-provider.utility.js +108 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire-provider.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire.utility.d.ts +15 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire.utility.js +32 -0
- package/dist/esm/presentation/ergonomics/utility/create/autowire.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/index.d.ts +5 -0
- package/dist/esm/presentation/ergonomics/utility/create/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/module-from-decorator.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/create/module-from-decorator.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/module-from-decorator.utility.js +133 -0
- package/dist/esm/presentation/ergonomics/utility/create/module-from-decorator.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/module.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/create/module.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/create/module.utility.js +17 -0
- package/dist/esm/presentation/ergonomics/utility/create/module.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/index.d.ts +6 -0
- package/dist/esm/presentation/ergonomics/utility/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/get.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/get.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/get.utility.js +18 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/get.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/index.d.ts +3 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/set.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/set.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/set.utility.js +13 -0
- package/dist/esm/presentation/ergonomics/utility/injectable-metadata/set.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/get.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/get.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/get.utility.js +18 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/get.utility.js.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/index.d.ts +3 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/index.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/set.utility.d.ts +9 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/set.utility.d.ts.map +1 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/set.utility.js +13 -0
- package/dist/esm/presentation/ergonomics/utility/module-metadata/set.utility.js.map +1 -0
- package/dist/esm/presentation/utility/create/di-container.utility.d.ts +9 -0
- package/dist/esm/presentation/utility/create/di-container.utility.d.ts.map +1 -0
- package/dist/esm/presentation/utility/create/di-container.utility.js +13 -0
- package/dist/esm/presentation/utility/create/di-container.utility.js.map +1 -0
- package/dist/esm/presentation/utility/create/index.d.ts +3 -3
- package/dist/esm/presentation/utility/create/index.d.ts.map +1 -1
- package/dist/esm/presentation/utility/create/lazy-provider.utility.d.ts +24 -0
- package/dist/esm/presentation/utility/create/lazy-provider.utility.d.ts.map +1 -0
- package/dist/esm/presentation/utility/create/lazy-provider.utility.js +27 -0
- package/dist/esm/presentation/utility/create/lazy-provider.utility.js.map +1 -0
- package/dist/esm/presentation/utility/create/logger.utility.d.ts +1 -1
- package/dist/esm/presentation/utility/create/logger.utility.js +1 -1
- package/dist/esm/presentation/utility/create/logger.utility.js.map +1 -1
- package/dist/esm/presentation/utility/create/token.utility.d.ts +9 -0
- package/dist/esm/presentation/utility/create/token.utility.d.ts.map +1 -0
- package/dist/esm/presentation/utility/create/token.utility.js +12 -0
- package/dist/esm/presentation/utility/create/token.utility.js.map +1 -0
- package/package.json +37 -29
- package/dist/cjs/domain/interface/container.interface.d.ts +0 -56
- package/dist/cjs/domain/interface/container.interface.d.ts.map +0 -1
- package/dist/cjs/domain/interface/factory.interface.d.ts +0 -20
- package/dist/cjs/domain/interface/factory.interface.d.ts.map +0 -1
- package/dist/cjs/domain/interface/registry.interface.d.ts +0 -55
- package/dist/cjs/domain/interface/registry.interface.d.ts.map +0 -1
- package/dist/cjs/infrastructure/class/base/container.class.d.ts +0 -68
- package/dist/cjs/infrastructure/class/base/container.class.d.ts.map +0 -1
- package/dist/cjs/infrastructure/class/base/container.class.js +0 -194
- package/dist/cjs/infrastructure/class/base/container.class.js.map +0 -1
- package/dist/cjs/infrastructure/class/base/factory.class.d.ts +0 -49
- package/dist/cjs/infrastructure/class/base/factory.class.d.ts.map +0 -1
- package/dist/cjs/infrastructure/class/base/factory.class.js +0 -88
- package/dist/cjs/infrastructure/class/base/factory.class.js.map +0 -1
- package/dist/cjs/infrastructure/class/base/registry.class.d.ts +0 -74
- package/dist/cjs/infrastructure/class/base/registry.class.d.ts.map +0 -1
- package/dist/cjs/infrastructure/class/base/registry.class.js +0 -222
- package/dist/cjs/infrastructure/class/base/registry.class.js.map +0 -1
- package/dist/cjs/infrastructure/interface/base/container-options.interface.d.ts +0 -13
- package/dist/cjs/infrastructure/interface/base/container-options.interface.d.ts.map +0 -1
- package/dist/cjs/infrastructure/interface/base/factory-options.interface.d.ts +0 -22
- package/dist/cjs/infrastructure/interface/base/factory-options.interface.d.ts.map +0 -1
- package/dist/cjs/infrastructure/interface/base/registry-options.interface.d.ts +0 -13
- package/dist/cjs/infrastructure/interface/base/registry-options.interface.d.ts.map +0 -1
- package/dist/cjs/presentation/utility/create/container.utility.d.ts +0 -10
- package/dist/cjs/presentation/utility/create/container.utility.d.ts.map +0 -1
- package/dist/cjs/presentation/utility/create/container.utility.js +0 -18
- package/dist/cjs/presentation/utility/create/container.utility.js.map +0 -1
- package/dist/cjs/presentation/utility/create/factory.utility.d.ts +0 -11
- package/dist/cjs/presentation/utility/create/factory.utility.d.ts.map +0 -1
- package/dist/cjs/presentation/utility/create/factory.utility.js +0 -19
- package/dist/cjs/presentation/utility/create/factory.utility.js.map +0 -1
- package/dist/cjs/presentation/utility/create/registry.utility.d.ts +0 -13
- package/dist/cjs/presentation/utility/create/registry.utility.d.ts.map +0 -1
- package/dist/cjs/presentation/utility/create/registry.utility.js +0 -19
- package/dist/cjs/presentation/utility/create/registry.utility.js.map +0 -1
- package/dist/esm/domain/interface/container.interface.d.ts +0 -56
- package/dist/esm/domain/interface/container.interface.d.ts.map +0 -1
- package/dist/esm/domain/interface/factory.interface.d.ts +0 -20
- package/dist/esm/domain/interface/factory.interface.d.ts.map +0 -1
- package/dist/esm/domain/interface/registry.interface.d.ts +0 -55
- package/dist/esm/domain/interface/registry.interface.d.ts.map +0 -1
- package/dist/esm/infrastructure/class/base/container.class.d.ts +0 -68
- package/dist/esm/infrastructure/class/base/container.class.d.ts.map +0 -1
- package/dist/esm/infrastructure/class/base/container.class.js +0 -192
- package/dist/esm/infrastructure/class/base/container.class.js.map +0 -1
- package/dist/esm/infrastructure/class/base/factory.class.d.ts +0 -49
- package/dist/esm/infrastructure/class/base/factory.class.d.ts.map +0 -1
- package/dist/esm/infrastructure/class/base/factory.class.js +0 -86
- package/dist/esm/infrastructure/class/base/factory.class.js.map +0 -1
- package/dist/esm/infrastructure/class/base/registry.class.d.ts +0 -74
- package/dist/esm/infrastructure/class/base/registry.class.d.ts.map +0 -1
- package/dist/esm/infrastructure/class/base/registry.class.js +0 -220
- package/dist/esm/infrastructure/class/base/registry.class.js.map +0 -1
- package/dist/esm/infrastructure/interface/base/container-options.interface.d.ts +0 -13
- package/dist/esm/infrastructure/interface/base/container-options.interface.d.ts.map +0 -1
- package/dist/esm/infrastructure/interface/base/factory-options.interface.d.ts +0 -22
- package/dist/esm/infrastructure/interface/base/factory-options.interface.d.ts.map +0 -1
- package/dist/esm/infrastructure/interface/base/registry-options.interface.d.ts +0 -13
- package/dist/esm/infrastructure/interface/base/registry-options.interface.d.ts.map +0 -1
- package/dist/esm/presentation/utility/create/container.utility.d.ts +0 -10
- package/dist/esm/presentation/utility/create/container.utility.d.ts.map +0 -1
- package/dist/esm/presentation/utility/create/container.utility.js +0 -16
- package/dist/esm/presentation/utility/create/container.utility.js.map +0 -1
- package/dist/esm/presentation/utility/create/factory.utility.d.ts +0 -11
- package/dist/esm/presentation/utility/create/factory.utility.d.ts.map +0 -1
- package/dist/esm/presentation/utility/create/factory.utility.js +0 -17
- package/dist/esm/presentation/utility/create/factory.utility.js.map +0 -1
- package/dist/esm/presentation/utility/create/registry.utility.d.ts +0 -13
- package/dist/esm/presentation/utility/create/registry.utility.d.ts.map +0 -1
- package/dist/esm/presentation/utility/create/registry.utility.js +0 -17
- package/dist/esm/presentation/utility/create/registry.utility.js.map +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../../../domain/enum/captive-dependency-policy.enum.js');
|
|
4
|
+
var dependencyLifecycle_enum = require('../../../domain/enum/dependency-lifecycle.enum.js');
|
|
5
|
+
require('../../../domain/enum/di-container-duplicate-provider-policy.enum.js');
|
|
6
|
+
require('../../../domain/enum/logger-log-level.enum.js');
|
|
7
|
+
require('../../../domain/enum/provider-type.enum.js');
|
|
8
|
+
var error_class = require('../../../infrastructure/class/base/error.class.js');
|
|
9
|
+
var get_utility = require('../utility/injectable-metadata/get.utility.js');
|
|
10
|
+
var set_utility = require('../utility/injectable-metadata/set.utility.js');
|
|
11
|
+
|
|
12
|
+
const DEPENDENCY_LIFECYCLE_VALUES = new Set(Object.values(dependencyLifecycle_enum.EDependencyLifecycle));
|
|
13
|
+
/**
|
|
14
|
+
* Class decorator that stores DI metadata without reflection dependencies.
|
|
15
|
+
* @param {IInjectableOptions} [options] Injectable metadata options.
|
|
16
|
+
* @returns {ClassDecorator} Class decorator.
|
|
17
|
+
*/
|
|
18
|
+
function Injectable(options = {}) {
|
|
19
|
+
validateInjectableOptions(options);
|
|
20
|
+
const decorator = (target) => {
|
|
21
|
+
const currentMetadata = get_utility.getInjectableMetadata(target) ?? {};
|
|
22
|
+
const mergedMetadata = {
|
|
23
|
+
afterResolveMethod: options.afterResolveMethod ?? currentMetadata.afterResolveMethod,
|
|
24
|
+
deps: options.deps ?? currentMetadata.deps,
|
|
25
|
+
isMultiBinding: options.isMultiBinding ?? currentMetadata.isMultiBinding,
|
|
26
|
+
lifecycle: options.lifecycle ?? currentMetadata.lifecycle,
|
|
27
|
+
onDisposeMethod: options.onDisposeMethod ?? currentMetadata.onDisposeMethod,
|
|
28
|
+
onInitMethod: options.onInitMethod ?? currentMetadata.onInitMethod,
|
|
29
|
+
token: options.token ?? currentMetadata.token,
|
|
30
|
+
};
|
|
31
|
+
set_utility.setInjectableMetadata(target, mergedMetadata);
|
|
32
|
+
};
|
|
33
|
+
return decorator;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Validates injectable decorator options.
|
|
37
|
+
* @param {IInjectableOptions} options Injectable decorator options.
|
|
38
|
+
* @returns {void}
|
|
39
|
+
*/
|
|
40
|
+
function validateInjectableOptions(options) {
|
|
41
|
+
const dependencies = options.deps;
|
|
42
|
+
if (dependencies !== undefined) {
|
|
43
|
+
if (!Array.isArray(dependencies)) {
|
|
44
|
+
throw new error_class.BaseError("Injectable options deps must be an array", {
|
|
45
|
+
code: "INJECTABLE_OPTIONS_DEPS_NOT_ARRAY",
|
|
46
|
+
source: "Injectable",
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
for (let dependencyIndex = 0; dependencyIndex < dependencies.length; dependencyIndex += 1) {
|
|
50
|
+
const hasDependencyAtIndex = Object.prototype.hasOwnProperty.call(dependencies, dependencyIndex);
|
|
51
|
+
if (!hasDependencyAtIndex) {
|
|
52
|
+
throw new error_class.BaseError("Injectable options deps has sparse dependency indexes", {
|
|
53
|
+
code: "INJECTABLE_OPTIONS_DEPS_SPARSE",
|
|
54
|
+
context: { index: dependencyIndex },
|
|
55
|
+
source: "Injectable",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (typeof dependencies[dependencyIndex] !== "symbol") {
|
|
59
|
+
throw new error_class.BaseError("Injectable options dependency token must be a symbol", {
|
|
60
|
+
code: "INJECTABLE_OPTIONS_DEPS_TOKEN_INVALID",
|
|
61
|
+
context: { index: dependencyIndex },
|
|
62
|
+
source: "Injectable",
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (options.lifecycle !== undefined && !DEPENDENCY_LIFECYCLE_VALUES.has(options.lifecycle)) {
|
|
68
|
+
throw new error_class.BaseError("Injectable options lifecycle is invalid", {
|
|
69
|
+
code: "INJECTABLE_OPTIONS_LIFECYCLE_INVALID",
|
|
70
|
+
context: { lifecycle: options.lifecycle },
|
|
71
|
+
source: "Injectable",
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (options.token !== undefined && typeof options.token !== "symbol") {
|
|
75
|
+
throw new error_class.BaseError("Injectable options token must be a symbol", {
|
|
76
|
+
code: "INJECTABLE_OPTIONS_TOKEN_INVALID",
|
|
77
|
+
source: "Injectable",
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (options.isMultiBinding !== undefined && typeof options.isMultiBinding !== "boolean") {
|
|
81
|
+
throw new error_class.BaseError("Injectable options isMultiBinding must be a boolean", {
|
|
82
|
+
code: "INJECTABLE_OPTIONS_MULTI_BINDING_INVALID",
|
|
83
|
+
source: "Injectable",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
exports.Injectable = Injectable;
|
|
89
|
+
//# sourceMappingURL=injectable.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectable.decorator.js","sources":["../../../../../../src/presentation/ergonomics/decorator/injectable.decorator.ts"],"sourcesContent":[null],"names":["EDependencyLifecycle","getInjectableMetadata","setInjectableMetadata","BaseError"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IModuleDecoratorOptions } from '../interface/index';
|
|
2
|
+
/**
|
|
3
|
+
* Class decorator that stores module composition metadata.
|
|
4
|
+
* @param {IModuleDecoratorOptions} [options] Module metadata options.
|
|
5
|
+
* @returns {ClassDecorator} Class decorator.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Module(options?: IModuleDecoratorOptions): ClassDecorator;
|
|
8
|
+
//# sourceMappingURL=module.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/ergonomics/decorator/module.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAKlF;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,uBAA4B,GAAG,cAAc,CAgB5E"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var error_class = require('../../../infrastructure/class/base/error.class.js');
|
|
4
|
+
var get_utility = require('../utility/module-metadata/get.utility.js');
|
|
5
|
+
var set_utility = require('../utility/module-metadata/set.utility.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Class decorator that stores module composition metadata.
|
|
9
|
+
* @param {IModuleDecoratorOptions} [options] Module metadata options.
|
|
10
|
+
* @returns {ClassDecorator} Class decorator.
|
|
11
|
+
*/
|
|
12
|
+
function Module(options = {}) {
|
|
13
|
+
validateModuleDecoratorOptions(options);
|
|
14
|
+
const decorator = (target) => {
|
|
15
|
+
const currentMetadata = get_utility.getModuleMetadata(target) ?? {};
|
|
16
|
+
const mergedMetadata = {
|
|
17
|
+
exports: options.exports ?? currentMetadata.exports,
|
|
18
|
+
imports: options.imports ?? currentMetadata.imports,
|
|
19
|
+
name: options.name ?? currentMetadata.name,
|
|
20
|
+
providers: options.providers ?? currentMetadata.providers,
|
|
21
|
+
};
|
|
22
|
+
set_utility.setModuleMetadata(target, mergedMetadata);
|
|
23
|
+
};
|
|
24
|
+
return decorator;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Checks whether input is constructable class constructor.
|
|
28
|
+
* @param {unknown} candidate Candidate value.
|
|
29
|
+
* @returns {boolean} True when value is a constructable class.
|
|
30
|
+
*/
|
|
31
|
+
function isConstructable(candidate) {
|
|
32
|
+
if (typeof candidate !== "function") {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const candidateAsConstructor = candidate;
|
|
36
|
+
const prototype = candidateAsConstructor.prototype;
|
|
37
|
+
return !!prototype && prototype.constructor === candidate;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Checks whether input is module definition shape.
|
|
41
|
+
* @param {unknown} candidate Candidate value.
|
|
42
|
+
* @returns {boolean} True when candidate is module definition-like.
|
|
43
|
+
*/
|
|
44
|
+
function isModuleDefinition(candidate) {
|
|
45
|
+
if (typeof candidate !== "object" || candidate === null) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const moduleCandidate = candidate;
|
|
49
|
+
return Array.isArray(moduleCandidate.exports) && Array.isArray(moduleCandidate.imports) && Array.isArray(moduleCandidate.providers);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Checks whether input is provider definition shape.
|
|
53
|
+
* @param {unknown} candidate Candidate value.
|
|
54
|
+
* @returns {boolean} True when candidate is provider-like object.
|
|
55
|
+
*/
|
|
56
|
+
function isProviderDefinition(candidate) {
|
|
57
|
+
if (typeof candidate !== "object" || candidate === null) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
const providerCandidate = candidate;
|
|
61
|
+
return typeof providerCandidate.provide === "symbol";
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Validates module decorator options.
|
|
65
|
+
* @param {IModuleDecoratorOptions} options Module decorator options.
|
|
66
|
+
*/
|
|
67
|
+
function validateModuleDecoratorOptions(options) {
|
|
68
|
+
validateModuleExports(options.exports);
|
|
69
|
+
validateModuleImports(options.imports);
|
|
70
|
+
validateModuleProviders(options.providers);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Validates module exports list.
|
|
74
|
+
* @param {ReadonlyArray<Token<unknown>> | undefined} exportTokens Export token list.
|
|
75
|
+
*/
|
|
76
|
+
function validateModuleExports(exportTokens) {
|
|
77
|
+
if (exportTokens === undefined) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (!Array.isArray(exportTokens)) {
|
|
81
|
+
throw new error_class.BaseError("Module options exports must be an array", {
|
|
82
|
+
code: "MODULE_OPTIONS_EXPORTS_NOT_ARRAY",
|
|
83
|
+
source: "Module",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
for (const exportToken of exportTokens) {
|
|
87
|
+
if (typeof exportToken !== "symbol") {
|
|
88
|
+
throw new error_class.BaseError("Module export token must be a symbol", {
|
|
89
|
+
code: "MODULE_OPTIONS_EXPORT_TOKEN_INVALID",
|
|
90
|
+
source: "Module",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Validates module imports list.
|
|
97
|
+
* @param {ReadonlyArray<Constructor<unknown> | IDIModule> | undefined} importEntries Import entry list.
|
|
98
|
+
*/
|
|
99
|
+
function validateModuleImports(importEntries) {
|
|
100
|
+
if (importEntries === undefined) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (!Array.isArray(importEntries)) {
|
|
104
|
+
throw new error_class.BaseError("Module options imports must be an array", {
|
|
105
|
+
code: "MODULE_OPTIONS_IMPORTS_NOT_ARRAY",
|
|
106
|
+
source: "Module",
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
for (const importEntry of importEntries) {
|
|
110
|
+
if (!isConstructable(importEntry) && !isModuleDefinition(importEntry)) {
|
|
111
|
+
throw new error_class.BaseError("Module import must be a decorated module class or module definition", {
|
|
112
|
+
code: "MODULE_OPTIONS_IMPORT_INVALID",
|
|
113
|
+
source: "Module",
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Validates module providers list.
|
|
120
|
+
* @param {ReadonlyArray<Constructor<unknown> | Provider> | undefined} providers Provider entry list.
|
|
121
|
+
*/
|
|
122
|
+
function validateModuleProviders(providers) {
|
|
123
|
+
if (providers === undefined) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (!Array.isArray(providers)) {
|
|
127
|
+
throw new error_class.BaseError("Module options providers must be an array", {
|
|
128
|
+
code: "MODULE_OPTIONS_PROVIDERS_NOT_ARRAY",
|
|
129
|
+
source: "Module",
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
for (const providerEntry of providers) {
|
|
133
|
+
if (!isConstructable(providerEntry) && !isProviderDefinition(providerEntry)) {
|
|
134
|
+
throw new error_class.BaseError("Module provider must be a decorated class or provider definition", {
|
|
135
|
+
code: "MODULE_OPTIONS_PROVIDER_INVALID",
|
|
136
|
+
source: "Module",
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
exports.Module = Module;
|
|
143
|
+
//# sourceMappingURL=module.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.decorator.js","sources":["../../../../../../src/presentation/ergonomics/decorator/module.decorator.ts"],"sourcesContent":[null],"names":["getModuleMetadata","setModuleMetadata","BaseError"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-dispose.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/ergonomics/decorator/on-dispose.decorator.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,SAAS,IAAI,eAAe,CA+B3C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var error_class = require('../../../infrastructure/class/base/error.class.js');
|
|
4
|
+
var get_utility = require('../utility/injectable-metadata/get.utility.js');
|
|
5
|
+
var set_utility = require('../utility/injectable-metadata/set.utility.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Method decorator that marks a class lifecycle onDispose hook.
|
|
9
|
+
* @returns {MethodDecorator} Method decorator.
|
|
10
|
+
*/
|
|
11
|
+
function OnDispose() {
|
|
12
|
+
return (target, propertyKey, descriptor) => {
|
|
13
|
+
if (typeof propertyKey !== "string") {
|
|
14
|
+
throw new error_class.BaseError("OnDispose must target a named class method", {
|
|
15
|
+
code: "ON_DISPOSE_METHOD_NAME_INVALID",
|
|
16
|
+
source: "OnDispose",
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (!descriptor || typeof descriptor.value !== "function") {
|
|
20
|
+
throw new error_class.BaseError("OnDispose can only be applied to methods", {
|
|
21
|
+
code: "ON_DISPOSE_TARGET_INVALID",
|
|
22
|
+
source: "OnDispose",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const targetConstructor = target.constructor;
|
|
26
|
+
const metadata = get_utility.getInjectableMetadata(targetConstructor) ?? {};
|
|
27
|
+
if (metadata.onDisposeMethod !== undefined && metadata.onDisposeMethod !== propertyKey) {
|
|
28
|
+
throw new error_class.BaseError("OnDispose lifecycle hook is already defined for this class", {
|
|
29
|
+
code: "ON_DISPOSE_METHOD_DUPLICATE",
|
|
30
|
+
source: "OnDispose",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
set_utility.setInjectableMetadata(targetConstructor, {
|
|
34
|
+
...metadata,
|
|
35
|
+
onDisposeMethod: propertyKey,
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
exports.OnDispose = OnDispose;
|
|
41
|
+
//# sourceMappingURL=on-dispose.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-dispose.decorator.js","sources":["../../../../../../src/presentation/ergonomics/decorator/on-dispose.decorator.ts"],"sourcesContent":[null],"names":["BaseError","getInjectableMetadata","setInjectableMetadata"],"mappings":";;;;;;AAMA;;;AAGG;SACa,SAAS,GAAA;AACxB,IAAA,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,KAAU;AAC7F,QAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACpC,YAAA,MAAM,IAAIA,qBAAS,CAAC,4CAA4C,EAAE;AACjE,gBAAA,IAAI,EAAE,gCAAgC;AACtC,gBAAA,MAAM,EAAE,WAAW;AACnB,aAAA,CAAC;QACH;QAEA,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;AAC1D,YAAA,MAAM,IAAIA,qBAAS,CAAC,0CAA0C,EAAE;AAC/D,gBAAA,IAAI,EAAE,2BAA2B;AACjC,gBAAA,MAAM,EAAE,WAAW;AACnB,aAAA,CAAC;QACH;AAEA,QAAA,MAAM,iBAAiB,GAAyB,MAAM,CAAC,WAAmC;QAC1F,MAAM,QAAQ,GAAwBC,iCAAqB,CAAC,iBAAiB,CAAC,IAAI,EAAE;AAEpF,QAAA,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,eAAe,KAAK,WAAW,EAAE;AACvF,YAAA,MAAM,IAAID,qBAAS,CAAC,4DAA4D,EAAE;AACjF,gBAAA,IAAI,EAAE,6BAA6B;AACnC,gBAAA,MAAM,EAAE,WAAW;AACnB,aAAA,CAAC;QACH;QAEAE,iCAAqB,CAAC,iBAAiB,EAAE;AACxC,YAAA,GAAG,QAAQ;AACX,YAAA,eAAe,EAAE,WAAW;AAC5B,SAAA,CAAC;AACH,IAAA,CAAC;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-init.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/ergonomics/decorator/on-init.decorator.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,MAAM,IAAI,eAAe,CA+BxC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var error_class = require('../../../infrastructure/class/base/error.class.js');
|
|
4
|
+
var get_utility = require('../utility/injectable-metadata/get.utility.js');
|
|
5
|
+
var set_utility = require('../utility/injectable-metadata/set.utility.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Method decorator that marks a class lifecycle onInit hook.
|
|
9
|
+
* @returns {MethodDecorator} Method decorator.
|
|
10
|
+
*/
|
|
11
|
+
function OnInit() {
|
|
12
|
+
return (target, propertyKey, descriptor) => {
|
|
13
|
+
if (typeof propertyKey !== "string") {
|
|
14
|
+
throw new error_class.BaseError("OnInit must target a named class method", {
|
|
15
|
+
code: "ON_INIT_METHOD_NAME_INVALID",
|
|
16
|
+
source: "OnInit",
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (!descriptor || typeof descriptor.value !== "function") {
|
|
20
|
+
throw new error_class.BaseError("OnInit can only be applied to methods", {
|
|
21
|
+
code: "ON_INIT_TARGET_INVALID",
|
|
22
|
+
source: "OnInit",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const targetConstructor = target.constructor;
|
|
26
|
+
const metadata = get_utility.getInjectableMetadata(targetConstructor) ?? {};
|
|
27
|
+
if (metadata.onInitMethod !== undefined && metadata.onInitMethod !== propertyKey) {
|
|
28
|
+
throw new error_class.BaseError("OnInit lifecycle hook is already defined for this class", {
|
|
29
|
+
code: "ON_INIT_METHOD_DUPLICATE",
|
|
30
|
+
source: "OnInit",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
set_utility.setInjectableMetadata(targetConstructor, {
|
|
34
|
+
...metadata,
|
|
35
|
+
onInitMethod: propertyKey,
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
exports.OnInit = OnInit;
|
|
41
|
+
//# sourceMappingURL=on-init.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-init.decorator.js","sources":["../../../../../../src/presentation/ergonomics/decorator/on-init.decorator.ts"],"sourcesContent":[null],"names":["BaseError","getInjectableMetadata","setInjectableMetadata"],"mappings":";;;;;;AAMA;;;AAGG;SACa,MAAM,GAAA;AACrB,IAAA,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,KAAU;AAC7F,QAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACpC,YAAA,MAAM,IAAIA,qBAAS,CAAC,yCAAyC,EAAE;AAC9D,gBAAA,IAAI,EAAE,6BAA6B;AACnC,gBAAA,MAAM,EAAE,QAAQ;AAChB,aAAA,CAAC;QACH;QAEA,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;AAC1D,YAAA,MAAM,IAAIA,qBAAS,CAAC,uCAAuC,EAAE;AAC5D,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,aAAA,CAAC;QACH;AAEA,QAAA,MAAM,iBAAiB,GAAyB,MAAM,CAAC,WAAmC;QAC1F,MAAM,QAAQ,GAAwBC,iCAAqB,CAAC,iBAAiB,CAAC,IAAI,EAAE;AAEpF,QAAA,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE;AACjF,YAAA,MAAM,IAAID,qBAAS,CAAC,yDAAyD,EAAE;AAC9E,gBAAA,IAAI,EAAE,0BAA0B;AAChC,gBAAA,MAAM,EAAE,QAAQ;AAChB,aAAA,CAAC;QACH;QAEAE,iCAAqB,CAAC,iBAAiB,EAAE;AACxC,YAAA,GAAG,QAAQ;AACX,YAAA,YAAY,EAAE,WAAW;AACzB,SAAA,CAAC;AACH,IAAA,CAAC;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/presentation/ergonomics/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,mBAAmB,aAAa,CAAC;AACjC,cAAc,WAAW,CAAC"}
|
package/dist/cjs/presentation/ergonomics/interface/create/autowire-provider-options.interface.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { EDependencyLifecycle } from '../../../../domain/enum/index';
|
|
2
|
+
import type { Token } from '../../../../domain/type/index';
|
|
3
|
+
export interface ICreateAutowireProviderOptions<T, TDependencies extends ReadonlyArray<Token<unknown>> = ReadonlyArray<Token<unknown>>> {
|
|
4
|
+
afterResolve?(instance: T): Promise<void> | void;
|
|
5
|
+
deps?: TDependencies;
|
|
6
|
+
isMultiBinding?: boolean;
|
|
7
|
+
lifecycle?: EDependencyLifecycle;
|
|
8
|
+
onDispose?(instance: T): Promise<void> | void;
|
|
9
|
+
onInit?(instance: T): Promise<void> | void;
|
|
10
|
+
token: Token<T>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=autowire-provider-options.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autowire-provider-options.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/create/autowire-provider-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,8BAA8B,CAAC,CAAC,EAAE,aAAa,SAAS,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrI,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/create/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAC5F,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IDIModule } from '../../../../domain/interface/index';
|
|
2
|
+
import type { Provider, Token } from '../../../../domain/type/index';
|
|
3
|
+
export interface ICreateModuleOptions {
|
|
4
|
+
exports?: ReadonlyArray<Token<unknown>>;
|
|
5
|
+
imports?: ReadonlyArray<IDIModule>;
|
|
6
|
+
name?: string;
|
|
7
|
+
providers?: ReadonlyArray<Provider>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=module-options.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-options.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/create/module-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/decorator/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IDIModule } from '../../../../domain/interface/index';
|
|
2
|
+
import type { Constructor, Provider, Token } from '../../../../domain/type/index';
|
|
3
|
+
export interface IModuleDecoratorOptions {
|
|
4
|
+
exports?: ReadonlyArray<Token<unknown>>;
|
|
5
|
+
imports?: ReadonlyArray<Constructor<unknown> | IDIModule>;
|
|
6
|
+
name?: string;
|
|
7
|
+
providers?: ReadonlyArray<Constructor<unknown> | Provider>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=module-options.interface.d.ts.map
|
package/dist/cjs/presentation/ergonomics/interface/decorator/module-options.interface.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-options.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/decorator/module-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;CAC3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/ergonomics/interface/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/injectable/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { EDependencyLifecycle } from '../../../../domain/enum/index';
|
|
2
|
+
import type { Token } from '../../../../domain/type/index';
|
|
3
|
+
export interface IInjectableMetadata {
|
|
4
|
+
afterResolveMethod?: string;
|
|
5
|
+
deps?: ReadonlyArray<Token<unknown>>;
|
|
6
|
+
isMultiBinding?: boolean;
|
|
7
|
+
lifecycle?: EDependencyLifecycle;
|
|
8
|
+
onDisposeMethod?: string;
|
|
9
|
+
onInitMethod?: string;
|
|
10
|
+
token?: Token<unknown>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=metadata.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/injectable/metadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/ergonomics/interface/injectable/options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,kBAAkB,GAAG,mBAAmB,CAAC;AAE9C,YAAY,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IDIModule } from '../../../domain/interface/index';
|
|
2
|
+
import type { Constructor, IDIContainer } from '../../../domain/type/index';
|
|
3
|
+
/**
|
|
4
|
+
* Composes module graph from mixed decorated module classes and plain module definitions.
|
|
5
|
+
* @param {IDIContainer} container Target container.
|
|
6
|
+
* @param {Array<Constructor<unknown> | IDIModule>} modules Decorated module classes or plain module definitions.
|
|
7
|
+
*/
|
|
8
|
+
export declare function composeDecoratedModules(container: IDIContainer, modules: Array<Constructor<unknown> | IDIModule>): void;
|
|
9
|
+
//# sourceMappingURL=compose-decorated-modules.utility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-decorated-modules.utility.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/ergonomics/utility/compose-decorated-modules.utility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAO9D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAGvH"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var error_class = require('../../../infrastructure/class/base/error.class.js');
|
|
4
|
+
var composeModules_utility = require('./compose-modules.utility.js');
|
|
5
|
+
var moduleFromDecorator_utility = require('./create/module-from-decorator.utility.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Composes module graph from mixed decorated module classes and plain module definitions.
|
|
9
|
+
* @param {IDIContainer} container Target container.
|
|
10
|
+
* @param {Array<Constructor<unknown> | IDIModule>} modules Decorated module classes or plain module definitions.
|
|
11
|
+
*/
|
|
12
|
+
function composeDecoratedModules(container, modules) {
|
|
13
|
+
const resolvedModules = modules.map((moduleEntry) => resolveModuleDefinition(moduleEntry));
|
|
14
|
+
composeModules_utility.composeModules(container, resolvedModules);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Checks whether input is constructable class constructor.
|
|
18
|
+
* @param {unknown} candidate Candidate value.
|
|
19
|
+
* @returns {boolean} True when value is a constructable class.
|
|
20
|
+
*/
|
|
21
|
+
function isConstructable(candidate) {
|
|
22
|
+
if (typeof candidate !== "function") {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const candidateAsConstructor = candidate;
|
|
26
|
+
const prototype = candidateAsConstructor.prototype;
|
|
27
|
+
return !!prototype && prototype.constructor === candidate;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Checks whether input is module definition shape.
|
|
31
|
+
* @param {unknown} candidate Candidate value.
|
|
32
|
+
* @returns {boolean} True when candidate is module definition-like.
|
|
33
|
+
*/
|
|
34
|
+
function isModuleDefinition(candidate) {
|
|
35
|
+
if (typeof candidate !== "object" || candidate === null) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
const moduleCandidate = candidate;
|
|
39
|
+
return Array.isArray(moduleCandidate.exports) && Array.isArray(moduleCandidate.imports) && Array.isArray(moduleCandidate.providers);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Resolves a module entry to plain module definition.
|
|
43
|
+
* @param {Constructor<unknown> | IDIModule} moduleEntry Module entry.
|
|
44
|
+
* @returns {IDIModule} Plain module definition.
|
|
45
|
+
*/
|
|
46
|
+
function resolveModuleDefinition(moduleEntry) {
|
|
47
|
+
if (isModuleDefinition(moduleEntry)) {
|
|
48
|
+
return moduleEntry;
|
|
49
|
+
}
|
|
50
|
+
if (isConstructable(moduleEntry)) {
|
|
51
|
+
return moduleFromDecorator_utility.createModuleFromDecorator(moduleEntry);
|
|
52
|
+
}
|
|
53
|
+
throw new error_class.BaseError("Module entry must be a decorated module class or module definition", {
|
|
54
|
+
code: "MODULE_ENTRY_INVALID",
|
|
55
|
+
context: {
|
|
56
|
+
entryType: typeof moduleEntry,
|
|
57
|
+
},
|
|
58
|
+
source: "composeDecoratedModules",
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.composeDecoratedModules = composeDecoratedModules;
|
|
63
|
+
//# sourceMappingURL=compose-decorated-modules.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-decorated-modules.utility.js","sources":["../../../../../../src/presentation/ergonomics/utility/compose-decorated-modules.utility.ts"],"sourcesContent":[null],"names":["composeModules","createModuleFromDecorator","BaseError"],"mappings":";;;;;;AAQA;;;;AAIG;AACG,SAAU,uBAAuB,CAAC,SAAuB,EAAE,OAAgD,EAAA;AAChH,IAAA,MAAM,eAAe,GAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,WAA6C,KAAK,uBAAuB,CAAC,WAAW,CAAC,CAAC;AAC9I,IAAAA,qCAAc,CAAC,SAAS,EAAE,eAAe,CAAC;AAC3C;AAEA;;;;AAIG;AACH,SAAS,eAAe,CAAC,SAAkB,EAAA;AAC1C,IAAA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;AACpC,QAAA,OAAO,KAAK;IACb;IAEA,MAAM,sBAAsB,GAA8C,SAAsD;AAChI,IAAA,MAAM,SAAS,GAA0C,sBAAsB,CAAC,SAAS;IAEzF,OAAO,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS;AAC1D;AAEA;;;;AAIG;AACH,SAAS,kBAAkB,CAAC,SAAkB,EAAA;IAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;AACxD,QAAA,OAAO,KAAK;IACb;IAEA,MAAM,eAAe,GAIjB,SAIH;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC;AACpI;AAEA;;;;AAIG;AACH,SAAS,uBAAuB,CAAC,WAA6C,EAAA;AAC7E,IAAA,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE;AACpC,QAAA,OAAO,WAAW;IACnB;AAEA,IAAA,IAAI,eAAe,CAAC,WAAW,CAAC,EAAE;AACjC,QAAA,OAAOC,qDAAyB,CAAC,WAAW,CAAC;IAC9C;AAEA,IAAA,MAAM,IAAIC,qBAAS,CAAC,oEAAoE,EAAE;AACzF,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,OAAO,EAAE;YACR,SAAS,EAAE,OAAO,WAAW;AAC7B,SAAA;AACD,QAAA,MAAM,EAAE,yBAAyB;AACjC,KAAA,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IDIModule } from '../../../domain/interface/index';
|
|
2
|
+
import type { IDIContainer } from '../../../domain/type/index';
|
|
3
|
+
/**
|
|
4
|
+
* Registers module trees in deterministic order (imports first, then local providers).
|
|
5
|
+
* Imported modules expose providers through the `exports` contract.
|
|
6
|
+
* @param {IDIContainer} container Target container.
|
|
7
|
+
* @param {Array<IDIModule>} modules Module list to compose.
|
|
8
|
+
*/
|
|
9
|
+
export declare function composeModules(container: IDIContainer, modules: Array<IDIModule>): void;
|
|
10
|
+
//# sourceMappingURL=compose-modules.utility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-modules.utility.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/ergonomics/utility/compose-modules.utility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAalE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CA6DvF"}
|