@zudojs/core 0.0.1 → 1.0.0
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 +21 -0
- package/README.md +141 -7
- package/dist/application/application.d.ts +43 -2
- package/dist/application/application.js +111 -13
- package/dist/application/applicationContext.context.d.ts +15 -0
- package/dist/application/applicationContext.context.js +12 -0
- package/dist/application/createApplication.d.ts +78 -0
- package/dist/application/createApplication.js +104 -0
- package/dist/application/index.d.ts +2 -1
- package/dist/application/index.js +2 -1
- package/dist/configuration/configurationManager.manager.d.ts +32 -0
- package/dist/configuration/configurationManager.manager.js +86 -7
- package/dist/configuration/core/configuration.d.ts +60 -15
- package/dist/configuration/core/configuration.js +248 -51
- package/dist/configuration/core/configurationKey.key.d.ts +4 -2
- package/dist/configuration/core/configurationKey.key.js +2 -13
- package/dist/configuration/core/configurationPath.path.d.ts +17 -0
- package/dist/configuration/core/configurationPath.path.js +33 -0
- package/dist/configuration/core/index.d.ts +7 -1
- package/dist/configuration/core/index.js +1 -0
- package/dist/configuration/error/configurationError.error.d.ts +11 -0
- package/dist/configuration/error/configurationError.error.js +29 -1
- package/dist/configuration/error/configurationRedactor.redactor.d.ts +16 -0
- package/dist/configuration/error/configurationRedactor.redactor.js +83 -5
- package/dist/configuration/error/index.d.ts +2 -1
- package/dist/configuration/error/index.js +2 -1
- package/dist/configuration/index.d.ts +1 -1
- package/dist/configuration/loader/configurationLoader.loader.d.ts +47 -9
- package/dist/configuration/loader/configurationLoader.loader.js +107 -26
- package/dist/configuration/loader/index.d.ts +1 -1
- package/dist/configuration/loader/index.js +1 -1
- package/dist/configuration/registry/configurationProvider.provider.d.ts +26 -1
- package/dist/configuration/registry/configurationProvider.provider.js +33 -7
- package/dist/configuration/registry/configurationRegistry.registry.js +2 -1
- package/dist/configuration/schema/configurationSchema.schema.d.ts +0 -4
- package/dist/configuration/schema/configurationSchema.schema.js +11 -32
- package/dist/configuration/schema/configurationValidation.validator.d.ts +14 -2
- package/dist/configuration/schema/configurationValidation.validator.js +55 -7
- package/dist/configuration/schema/index.d.ts +1 -1
- package/dist/configuration/schema/index.js +1 -1
- package/dist/container/container.d.ts +52 -5
- package/dist/container/container.js +110 -33
- package/dist/container/index.d.ts +1 -1
- package/dist/container/index.js +1 -1
- package/dist/container/scope.d.ts +7 -6
- package/dist/context/core/contextAliases.deprecated.d.ts +32 -0
- package/dist/context/core/contextAliases.deprecated.js +6 -0
- package/dist/context/core/executionContext.context.d.ts +8 -0
- package/dist/context/core/executionContext.context.js +38 -15
- package/dist/context/core/index.d.ts +2 -2
- package/dist/context/core/index.js +2 -2
- package/dist/context/index.d.ts +20 -0
- package/dist/context/index.js +20 -0
- package/dist/context/provider/contextProvider.provider.d.ts +7 -4
- package/dist/context/provider/contextProvider.provider.js +9 -6
- package/dist/context/provider/contextStorage.storage.d.ts +47 -7
- package/dist/context/provider/contextStorage.storage.js +54 -12
- package/dist/context/provider/defaultContextStorage.storage.d.ts +18 -0
- package/dist/context/provider/defaultContextStorage.storage.js +20 -0
- package/dist/context/provider/index.d.ts +2 -1
- package/dist/context/provider/index.js +1 -0
- package/dist/errors/exceptions.d.ts +22 -0
- package/dist/errors/exceptions.js +38 -1
- package/dist/errors/frameworkError.error.d.ts +6 -9
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +14 -0
- package/dist/lifecycle/core/index.d.ts +1 -1
- package/dist/lifecycle/core/index.js +1 -1
- package/dist/lifecycle/core/lifecycle.d.ts +47 -2
- package/dist/lifecycle/core/lifecycle.js +251 -85
- package/dist/lifecycle/core/lifecycleRegistry.registry.d.ts +8 -0
- package/dist/lifecycle/core/lifecycleRegistry.registry.js +20 -1
- package/dist/lifecycle/manager/lifecycleManager.manager.d.ts +21 -2
- package/dist/lifecycle/manager/lifecycleManager.manager.js +62 -99
- package/dist/lifecycle/scope/lifecycleScope.scope.d.ts +22 -1
- package/dist/lifecycle/scope/lifecycleScope.scope.js +85 -17
- package/dist/logging/console/consoleLogger.logger.d.ts +20 -1
- package/dist/logging/console/consoleLogger.logger.js +77 -11
- package/dist/logging/console/loggerFactory.factory.d.ts +6 -5
- package/dist/logging/console/loggerFactory.factory.js +1 -7
- package/dist/logging/core/index.d.ts +4 -3
- package/dist/logging/core/index.js +4 -3
- package/dist/logging/core/logEntry.entry.d.ts +41 -3
- package/dist/logging/core/logEntry.entry.js +114 -4
- package/dist/logging/core/logLevel.level.d.ts +18 -0
- package/dist/logging/core/logLevel.level.js +25 -1
- package/dist/logging/core/logRedaction.redaction.d.ts +38 -0
- package/dist/logging/core/logRedaction.redaction.js +19 -0
- package/dist/logging/core/logger.d.ts +14 -11
- package/dist/logging/core/logger.js +31 -6
- package/dist/logging/core/loggerContext.context.d.ts +12 -0
- package/dist/logging/core/loggerContext.context.js +19 -0
- package/dist/logging/core/loggerOptions.options.d.ts +17 -0
- package/dist/modules/index.d.ts +0 -1
- package/dist/modules/index.js +0 -6
- package/dist/modules/module.d.ts +7 -1
- package/dist/modules/moduleContext.context.d.ts +41 -7
- package/dist/modules/moduleContext.context.js +31 -8
- package/dist/modules/moduleDefinition.definition.d.ts +11 -7
- package/dist/modules/moduleDefinition.definition.js +41 -8
- package/dist/modules/moduleDependency/index.d.ts +2 -2
- package/dist/modules/moduleDependency/index.js +1 -1
- package/dist/modules/moduleDependency/moduleDependency.graph.d.ts +19 -2
- package/dist/modules/moduleDependency/moduleDependency.graph.js +122 -8
- package/dist/modules/moduleDependency/moduleDependency.ordering.d.ts +8 -0
- package/dist/modules/moduleDependency/moduleDependency.ordering.js +85 -57
- package/dist/modules/moduleDependency/moduleDependency.type.d.ts +28 -1
- package/dist/modules/moduleError/index.d.ts +1 -1
- package/dist/modules/moduleError/index.js +1 -1
- package/dist/modules/moduleError/moduleError.dependency.d.ts +11 -0
- package/dist/modules/moduleError/moduleError.dependency.js +15 -0
- package/dist/modules/moduleLifecycle/index.d.ts +5 -2
- package/dist/modules/moduleLifecycle/index.js +4 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.d.ts +44 -6
- package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.js +153 -9
- package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.d.ts +30 -5
- package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.js +130 -10
- package/dist/modules/moduleLifecycle/moduleLifecycle.type.d.ts +65 -28
- package/dist/modules/moduleLifecycle/moduleLifecycle.type.js +15 -4
- package/dist/modules/moduleLoader/moduleLoader.loader.d.ts +39 -5
- package/dist/modules/moduleLoader/moduleLoader.loader.js +123 -50
- package/dist/modules/moduleLoader/moduleLoader.type.d.ts +4 -2
- package/dist/modules/moduleLoader/moduleLoader.type.js +10 -3
- package/dist/modules/moduleMetadata.metadata.js +15 -5
- package/dist/modules/moduleRegistry/index.d.ts +1 -1
- package/dist/modules/moduleRegistry/moduleRegistry.registry.d.ts +2 -2
- package/dist/modules/moduleRegistry/moduleRegistry.registry.js +38 -6
- package/dist/modules/moduleRegistry/moduleRegistry.type.d.ts +18 -1
- package/dist/runtime/index.d.ts +17 -15
- package/dist/runtime/index.js +14 -10
- package/dist/runtime/runtime.d.ts +135 -33
- package/dist/runtime/runtime.js +344 -114
- package/dist/runtime/runtimeBootstrap/index.d.ts +2 -1
- package/dist/runtime/runtimeBootstrap/index.js +1 -1
- package/dist/runtime/runtimeBootstrap/pipeline/index.d.ts +2 -2
- package/dist/runtime/runtimeBootstrap/pipeline/index.js +1 -2
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.d.ts +41 -15
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.js +98 -76
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.d.ts +7 -4
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.js +87 -59
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.type.d.ts +10 -4
- package/dist/runtime/runtimeContext/index.d.ts +3 -5
- package/dist/runtime/runtimeContext/index.js +2 -4
- package/dist/runtime/runtimeContext/runtimeContext.factory.d.ts +10 -4
- package/dist/runtime/runtimeContext/runtimeContext.factory.js +30 -7
- package/dist/runtime/runtimeContext/runtimeContext.type.d.ts +36 -47
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.d.ts +5 -0
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.js +6 -4
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.d.ts +4 -0
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.js +7 -9
- package/dist/runtime/runtimeEnvironment/index.d.ts +2 -2
- package/dist/runtime/runtimeEnvironment/index.js +1 -1
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.d.ts +20 -17
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.js +20 -13
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.type.d.ts +12 -1
- package/dist/runtime/runtimeError/index.d.ts +3 -3
- package/dist/runtime/runtimeError/index.js +1 -1
- package/dist/runtime/runtimeError/runtimeError.base.d.ts +15 -18
- package/dist/runtime/runtimeError/runtimeError.base.js +38 -36
- package/dist/runtime/runtimeError/runtimeError.lifecycle.d.ts +23 -8
- package/dist/runtime/runtimeError/runtimeError.lifecycle.js +31 -7
- package/dist/runtime/runtimeError/runtimeError.specialized.d.ts +1 -1
- package/dist/runtime/runtimeError/runtimeError.specialized.js +1 -1
- package/dist/runtime/runtimeError/runtimeError.type.d.ts +5 -9
- package/dist/runtime/runtimeLogger.d.ts +2 -2
- package/dist/runtime/runtimeLogger.js +3 -3
- package/dist/runtime/runtimeOptions/index.d.ts +1 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.defaults.d.ts +1 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.defaults.js +2 -0
- package/dist/runtime/runtimeOptions/runtimeOptions.resolver.js +5 -2
- package/dist/runtime/runtimeOptions/runtimeOptions.type.d.ts +45 -16
- package/dist/runtime/runtimeOptions/runtimeOptions.validation.js +0 -1
- package/dist/runtime/runtimeShutdown/index.d.ts +3 -2
- package/dist/runtime/runtimeShutdown/index.js +2 -2
- package/dist/runtime/runtimeShutdown/pipeline/index.d.ts +2 -1
- package/dist/runtime/runtimeShutdown/pipeline/index.js +1 -1
- package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.d.ts +37 -7
- package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.js +77 -51
- package/dist/runtime/runtimeShutdown/runtimeShutdown.core.d.ts +8 -16
- package/dist/runtime/runtimeShutdown/runtimeShutdown.core.js +85 -87
- package/dist/runtime/runtimeShutdown/runtimeShutdown.type.d.ts +9 -5
- package/dist/runtime/runtimeSignals/index.d.ts +8 -0
- package/dist/runtime/runtimeSignals/index.js +7 -0
- package/dist/runtime/runtimeSignals/runtimeSignals.d.ts +93 -0
- package/dist/runtime/runtimeSignals/runtimeSignals.js +149 -0
- package/dist/runtime/runtimeState.state.d.ts +32 -14
- package/dist/runtime/runtimeState.state.js +34 -27
- package/dist/runtime/runtimeTimeout.d.ts +40 -0
- package/dist/runtime/runtimeTimeout.js +42 -0
- package/package.json +21 -15
- package/dist/.tsbuildinfo +0 -1
- package/dist/application/application.d.ts.map +0 -1
- package/dist/application/application.js.map +0 -1
- package/dist/application/applicationContext.context.d.ts.map +0 -1
- package/dist/application/applicationContext.context.js.map +0 -1
- package/dist/application/applicationState.state.d.ts.map +0 -1
- package/dist/application/applicationState.state.js.map +0 -1
- package/dist/application/index.d.ts.map +0 -1
- package/dist/application/index.js.map +0 -1
- package/dist/configuration/configurationManager.manager.d.ts.map +0 -1
- package/dist/configuration/configurationManager.manager.js.map +0 -1
- package/dist/configuration/core/configuration.d.ts.map +0 -1
- package/dist/configuration/core/configuration.js.map +0 -1
- package/dist/configuration/core/configurationKey.key.d.ts.map +0 -1
- package/dist/configuration/core/configurationKey.key.js.map +0 -1
- package/dist/configuration/core/configurationSource.source.d.ts.map +0 -1
- package/dist/configuration/core/configurationSource.source.js.map +0 -1
- package/dist/configuration/core/index.d.ts.map +0 -1
- package/dist/configuration/core/index.js.map +0 -1
- package/dist/configuration/error/configurationError.error.d.ts.map +0 -1
- package/dist/configuration/error/configurationError.error.js.map +0 -1
- package/dist/configuration/error/configurationRedactor.redactor.d.ts.map +0 -1
- package/dist/configuration/error/configurationRedactor.redactor.js.map +0 -1
- package/dist/configuration/error/index.d.ts.map +0 -1
- package/dist/configuration/error/index.js.map +0 -1
- package/dist/configuration/events/configurationEvents.events.d.ts.map +0 -1
- package/dist/configuration/events/configurationEvents.events.js.map +0 -1
- package/dist/configuration/events/index.d.ts.map +0 -1
- package/dist/configuration/events/index.js.map +0 -1
- package/dist/configuration/index.d.ts.map +0 -1
- package/dist/configuration/index.js.map +0 -1
- package/dist/configuration/loader/configurationLoader.loader.d.ts.map +0 -1
- package/dist/configuration/loader/configurationLoader.loader.js.map +0 -1
- package/dist/configuration/loader/index.d.ts.map +0 -1
- package/dist/configuration/loader/index.js.map +0 -1
- package/dist/configuration/registry/configurationProvider.provider.d.ts.map +0 -1
- package/dist/configuration/registry/configurationProvider.provider.js.map +0 -1
- package/dist/configuration/registry/configurationRegistry.registry.d.ts.map +0 -1
- package/dist/configuration/registry/configurationRegistry.registry.js.map +0 -1
- package/dist/configuration/registry/index.d.ts.map +0 -1
- package/dist/configuration/registry/index.js.map +0 -1
- package/dist/configuration/schema/configurationSchema.schema.d.ts.map +0 -1
- package/dist/configuration/schema/configurationSchema.schema.js.map +0 -1
- package/dist/configuration/schema/configurationValidation.validator.d.ts.map +0 -1
- package/dist/configuration/schema/configurationValidation.validator.js.map +0 -1
- package/dist/configuration/schema/index.d.ts.map +0 -1
- package/dist/configuration/schema/index.js.map +0 -1
- package/dist/container/container.d.ts.map +0 -1
- package/dist/container/container.js.map +0 -1
- package/dist/container/index.d.ts.map +0 -1
- package/dist/container/index.js.map +0 -1
- package/dist/container/provider.d.ts.map +0 -1
- package/dist/container/provider.js.map +0 -1
- package/dist/container/scope.d.ts.map +0 -1
- package/dist/container/scope.js.map +0 -1
- package/dist/container/token.d.ts.map +0 -1
- package/dist/container/token.js.map +0 -1
- package/dist/context/core/context.d.ts +0 -95
- package/dist/context/core/context.d.ts.map +0 -1
- package/dist/context/core/context.js +0 -103
- package/dist/context/core/context.js.map +0 -1
- package/dist/context/core/contextKey.key.d.ts.map +0 -1
- package/dist/context/core/contextKey.key.js.map +0 -1
- package/dist/context/core/executionContext.context.d.ts.map +0 -1
- package/dist/context/core/executionContext.context.js.map +0 -1
- package/dist/context/core/index.d.ts.map +0 -1
- package/dist/context/core/index.js.map +0 -1
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js.map +0 -1
- package/dist/context/provider/contextProvider.provider.d.ts.map +0 -1
- package/dist/context/provider/contextProvider.provider.js.map +0 -1
- package/dist/context/provider/contextStorage.storage.d.ts.map +0 -1
- package/dist/context/provider/contextStorage.storage.js.map +0 -1
- package/dist/context/provider/index.d.ts.map +0 -1
- package/dist/context/provider/index.js.map +0 -1
- package/dist/context/snapshot/contextSnapshot.snapshot.d.ts.map +0 -1
- package/dist/context/snapshot/contextSnapshot.snapshot.js.map +0 -1
- package/dist/context/snapshot/index.d.ts.map +0 -1
- package/dist/context/snapshot/index.js.map +0 -1
- package/dist/context/values/contextValues.values.d.ts.map +0 -1
- package/dist/context/values/contextValues.values.js.map +0 -1
- package/dist/context/values/index.d.ts.map +0 -1
- package/dist/context/values/index.js.map +0 -1
- package/dist/contracts/adapter.d.ts.map +0 -1
- package/dist/contracts/adapter.js.map +0 -1
- package/dist/contracts/disposable.d.ts.map +0 -1
- package/dist/contracts/disposable.js.map +0 -1
- package/dist/contracts/handler.d.ts.map +0 -1
- package/dist/contracts/handler.js.map +0 -1
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/index.js.map +0 -1
- package/dist/errors/errorCode.code.d.ts.map +0 -1
- package/dist/errors/errorCode.code.js.map +0 -1
- package/dist/errors/exceptions.d.ts.map +0 -1
- package/dist/errors/exceptions.js.map +0 -1
- package/dist/errors/frameworkError.error.d.ts.map +0 -1
- package/dist/errors/frameworkError.error.js.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lifecycle/core/index.d.ts.map +0 -1
- package/dist/lifecycle/core/index.js.map +0 -1
- package/dist/lifecycle/core/lifecycle.d.ts.map +0 -1
- package/dist/lifecycle/core/lifecycle.js.map +0 -1
- package/dist/lifecycle/core/lifecycleHook.hook.d.ts.map +0 -1
- package/dist/lifecycle/core/lifecycleHook.hook.js.map +0 -1
- package/dist/lifecycle/core/lifecycleRegistry.registry.d.ts.map +0 -1
- package/dist/lifecycle/core/lifecycleRegistry.registry.js.map +0 -1
- package/dist/lifecycle/core/lifecycleState.state.d.ts +0 -2
- package/dist/lifecycle/core/lifecycleState.state.d.ts.map +0 -1
- package/dist/lifecycle/core/lifecycleState.state.js +0 -2
- package/dist/lifecycle/core/lifecycleState.state.js.map +0 -1
- package/dist/lifecycle/index.d.ts.map +0 -1
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/lifecycle/manager/index.d.ts.map +0 -1
- package/dist/lifecycle/manager/index.js.map +0 -1
- package/dist/lifecycle/manager/lifecycleManager.manager.d.ts.map +0 -1
- package/dist/lifecycle/manager/lifecycleManager.manager.js.map +0 -1
- package/dist/lifecycle/scope/index.d.ts.map +0 -1
- package/dist/lifecycle/scope/index.js.map +0 -1
- package/dist/lifecycle/scope/lifecycleScope.scope.d.ts.map +0 -1
- package/dist/lifecycle/scope/lifecycleScope.scope.js.map +0 -1
- package/dist/logging/console/consoleLogger.logger.d.ts.map +0 -1
- package/dist/logging/console/consoleLogger.logger.js.map +0 -1
- package/dist/logging/console/index.d.ts.map +0 -1
- package/dist/logging/console/index.js.map +0 -1
- package/dist/logging/console/loggerFactory.factory.d.ts.map +0 -1
- package/dist/logging/console/loggerFactory.factory.js.map +0 -1
- package/dist/logging/core/index.d.ts.map +0 -1
- package/dist/logging/core/index.js.map +0 -1
- package/dist/logging/core/logEntry.entry.d.ts.map +0 -1
- package/dist/logging/core/logEntry.entry.js.map +0 -1
- package/dist/logging/core/logLevel.level.d.ts.map +0 -1
- package/dist/logging/core/logLevel.level.js.map +0 -1
- package/dist/logging/core/logger.d.ts.map +0 -1
- package/dist/logging/core/logger.js.map +0 -1
- package/dist/logging/core/loggerContext.context.d.ts.map +0 -1
- package/dist/logging/core/loggerContext.context.js.map +0 -1
- package/dist/logging/core/loggerOptions.options.d.ts.map +0 -1
- package/dist/logging/core/loggerOptions.options.js.map +0 -1
- package/dist/logging/index.d.ts.map +0 -1
- package/dist/logging/index.js.map +0 -1
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/index.js.map +0 -1
- package/dist/modules/module.d.ts.map +0 -1
- package/dist/modules/module.js.map +0 -1
- package/dist/modules/moduleContext.context.d.ts.map +0 -1
- package/dist/modules/moduleContext.context.js.map +0 -1
- package/dist/modules/moduleDefinition.definition.d.ts.map +0 -1
- package/dist/modules/moduleDefinition.definition.js.map +0 -1
- package/dist/modules/moduleDependency/index.d.ts.map +0 -1
- package/dist/modules/moduleDependency/index.js.map +0 -1
- package/dist/modules/moduleDependency/moduleDependency.graph.d.ts.map +0 -1
- package/dist/modules/moduleDependency/moduleDependency.graph.js.map +0 -1
- package/dist/modules/moduleDependency/moduleDependency.ordering.d.ts.map +0 -1
- package/dist/modules/moduleDependency/moduleDependency.ordering.js.map +0 -1
- package/dist/modules/moduleDependency/moduleDependency.type.d.ts.map +0 -1
- package/dist/modules/moduleDependency/moduleDependency.type.js.map +0 -1
- package/dist/modules/moduleError/index.d.ts.map +0 -1
- package/dist/modules/moduleError/index.js.map +0 -1
- package/dist/modules/moduleError/moduleError.base.d.ts.map +0 -1
- package/dist/modules/moduleError/moduleError.base.js.map +0 -1
- package/dist/modules/moduleError/moduleError.dependency.d.ts.map +0 -1
- package/dist/modules/moduleError/moduleError.dependency.js.map +0 -1
- package/dist/modules/moduleError/moduleError.helpers.d.ts.map +0 -1
- package/dist/modules/moduleError/moduleError.helpers.js.map +0 -1
- package/dist/modules/moduleError/moduleError.lifecycle.d.ts.map +0 -1
- package/dist/modules/moduleError/moduleError.lifecycle.js.map +0 -1
- package/dist/modules/moduleError/moduleError.registration.d.ts.map +0 -1
- package/dist/modules/moduleError/moduleError.registration.js.map +0 -1
- package/dist/modules/moduleLifecycle/index.d.ts.map +0 -1
- package/dist/modules/moduleLifecycle/index.js.map +0 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.d.ts.map +0 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.js.map +0 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.d.ts.map +0 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.js.map +0 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.type.d.ts.map +0 -1
- package/dist/modules/moduleLifecycle/moduleLifecycle.type.js.map +0 -1
- package/dist/modules/moduleLoader/index.d.ts.map +0 -1
- package/dist/modules/moduleLoader/index.js.map +0 -1
- package/dist/modules/moduleLoader/moduleLoader.loader.d.ts.map +0 -1
- package/dist/modules/moduleLoader/moduleLoader.loader.js.map +0 -1
- package/dist/modules/moduleLoader/moduleLoader.type.d.ts.map +0 -1
- package/dist/modules/moduleLoader/moduleLoader.type.js.map +0 -1
- package/dist/modules/moduleMetadata.metadata.d.ts.map +0 -1
- package/dist/modules/moduleMetadata.metadata.js.map +0 -1
- package/dist/modules/moduleRegistry/index.d.ts.map +0 -1
- package/dist/modules/moduleRegistry/index.js.map +0 -1
- package/dist/modules/moduleRegistry/moduleRegistry.registry.d.ts.map +0 -1
- package/dist/modules/moduleRegistry/moduleRegistry.registry.js.map +0 -1
- package/dist/modules/moduleRegistry/moduleRegistry.type.d.ts.map +0 -1
- package/dist/modules/moduleRegistry/moduleRegistry.type.js.map +0 -1
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/runtime.js.map +0 -1
- package/dist/runtime/runtimeBootstrap/index.d.ts.map +0 -1
- package/dist/runtime/runtimeBootstrap/index.js.map +0 -1
- package/dist/runtime/runtimeBootstrap/pipeline/index.d.ts.map +0 -1
- package/dist/runtime/runtimeBootstrap/pipeline/index.js.map +0 -1
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.d.ts +0 -6
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.d.ts.map +0 -1
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.js +0 -27
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.js.map +0 -1
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.d.ts.map +0 -1
- package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.js.map +0 -1
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.d.ts.map +0 -1
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.js.map +0 -1
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.type.d.ts.map +0 -1
- package/dist/runtime/runtimeBootstrap/runtimeBootstrap.type.js.map +0 -1
- package/dist/runtime/runtimeContext/index.d.ts.map +0 -1
- package/dist/runtime/runtimeContext/index.js.map +0 -1
- package/dist/runtime/runtimeContext/runtimeContext.core.d.ts +0 -38
- package/dist/runtime/runtimeContext/runtimeContext.core.d.ts.map +0 -1
- package/dist/runtime/runtimeContext/runtimeContext.core.js +0 -99
- package/dist/runtime/runtimeContext/runtimeContext.core.js.map +0 -1
- package/dist/runtime/runtimeContext/runtimeContext.factory.d.ts.map +0 -1
- package/dist/runtime/runtimeContext/runtimeContext.factory.js.map +0 -1
- package/dist/runtime/runtimeContext/runtimeContext.type.d.ts.map +0 -1
- package/dist/runtime/runtimeContext/runtimeContext.type.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/index.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/index.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.detection.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.detection.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/index.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/index.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.js.map +0 -1
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.type.d.ts.map +0 -1
- package/dist/runtime/runtimeEnvironment/runtimeEnvironment.type.js.map +0 -1
- package/dist/runtime/runtimeError/index.d.ts.map +0 -1
- package/dist/runtime/runtimeError/index.js.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.base.d.ts.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.base.js.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.lifecycle.d.ts.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.lifecycle.js.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.specialized.d.ts.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.specialized.js.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.type.d.ts.map +0 -1
- package/dist/runtime/runtimeError/runtimeError.type.js.map +0 -1
- package/dist/runtime/runtimeLogger.d.ts.map +0 -1
- package/dist/runtime/runtimeLogger.js.map +0 -1
- package/dist/runtime/runtimeManager/index.d.ts +0 -12
- package/dist/runtime/runtimeManager/index.d.ts.map +0 -1
- package/dist/runtime/runtimeManager/index.js +0 -11
- package/dist/runtime/runtimeManager/index.js.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.core.d.ts +0 -31
- package/dist/runtime/runtimeManager/runtimeManager.core.d.ts.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.core.js +0 -136
- package/dist/runtime/runtimeManager/runtimeManager.core.js.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.error.d.ts +0 -14
- package/dist/runtime/runtimeManager/runtimeManager.error.d.ts.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.error.js +0 -21
- package/dist/runtime/runtimeManager/runtimeManager.error.js.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.factory.d.ts +0 -7
- package/dist/runtime/runtimeManager/runtimeManager.factory.d.ts.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.factory.js +0 -8
- package/dist/runtime/runtimeManager/runtimeManager.factory.js.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.lifecycle.d.ts +0 -16
- package/dist/runtime/runtimeManager/runtimeManager.lifecycle.d.ts.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.lifecycle.js +0 -49
- package/dist/runtime/runtimeManager/runtimeManager.lifecycle.js.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.type.d.ts +0 -54
- package/dist/runtime/runtimeManager/runtimeManager.type.d.ts.map +0 -1
- package/dist/runtime/runtimeManager/runtimeManager.type.js +0 -2
- package/dist/runtime/runtimeManager/runtimeManager.type.js.map +0 -1
- package/dist/runtime/runtimeOptions/index.d.ts.map +0 -1
- package/dist/runtime/runtimeOptions/index.js.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.defaults.d.ts.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.defaults.js.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.resolver.d.ts.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.resolver.js.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.type.d.ts.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.type.js.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.validation.d.ts.map +0 -1
- package/dist/runtime/runtimeOptions/runtimeOptions.validation.js.map +0 -1
- package/dist/runtime/runtimeShutdown/index.d.ts.map +0 -1
- package/dist/runtime/runtimeShutdown/index.js.map +0 -1
- package/dist/runtime/runtimeShutdown/pipeline/index.d.ts.map +0 -1
- package/dist/runtime/runtimeShutdown/pipeline/index.js.map +0 -1
- package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.d.ts.map +0 -1
- package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.js.map +0 -1
- package/dist/runtime/runtimeShutdown/runtimeShutdown.core.d.ts.map +0 -1
- package/dist/runtime/runtimeShutdown/runtimeShutdown.core.js.map +0 -1
- package/dist/runtime/runtimeShutdown/runtimeShutdown.type.d.ts.map +0 -1
- package/dist/runtime/runtimeShutdown/runtimeShutdown.type.js.map +0 -1
- package/dist/runtime/runtimeState.state.d.ts.map +0 -1
- package/dist/runtime/runtimeState.state.js.map +0 -1
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* Application bootstrap and context management.
|
|
3
3
|
*
|
|
4
4
|
* Provides the main Application class, its context,
|
|
5
|
-
*
|
|
5
|
+
* application state types, and the createApplication factory.
|
|
6
6
|
*/
|
|
7
7
|
export * from "./application.js";
|
|
8
8
|
export * from "./applicationContext.context.js";
|
|
9
9
|
export * from "./applicationState.state.js";
|
|
10
|
+
export * from "./createApplication.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* Application bootstrap and context management.
|
|
3
3
|
*
|
|
4
4
|
* Provides the main Application class, its context,
|
|
5
|
-
*
|
|
5
|
+
* application state types, and the createApplication factory.
|
|
6
6
|
*/
|
|
7
7
|
export * from "./application.js";
|
|
8
8
|
export * from "./applicationContext.context.js";
|
|
9
9
|
export * from "./applicationState.state.js";
|
|
10
|
+
export * from "./createApplication.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -7,6 +7,7 @@ import { ConfigurationSchemaRegistry } from "./schema/configurationSchema.schema
|
|
|
7
7
|
import type { ConfigurationValidationOptions, ConfigurationValidationReport } from "./schema/configurationValidation.validator.js";
|
|
8
8
|
import { ConfigurationRedactor } from "./error/configurationRedactor.redactor.js";
|
|
9
9
|
import type { ConfigurationRedactorOptions, RedactedConfiguration } from "./error/configurationRedactor.redactor.js";
|
|
10
|
+
import type { ConfigurationEventListener, ConfigurationEventTypeValue } from "./events/configurationEvents.events.js";
|
|
10
11
|
/** Lifecycle state of the configuration manager. */
|
|
11
12
|
export declare enum ConfigurationManagerState {
|
|
12
13
|
CREATED = "created",
|
|
@@ -32,6 +33,12 @@ export interface ConfigurationManagerResult {
|
|
|
32
33
|
readonly load: ConfigurationLoadResult;
|
|
33
34
|
readonly validation: ConfigurationValidationReport;
|
|
34
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Event type accepted when subscribing to the manager.
|
|
38
|
+
*
|
|
39
|
+
* "*" subscribes to every configuration lifecycle event.
|
|
40
|
+
*/
|
|
41
|
+
export type ConfigurationEventSubscription = ConfigurationEventTypeValue | "*";
|
|
35
42
|
/** Coordinates the complete configuration lifecycle. */
|
|
36
43
|
export declare class ConfigurationManager {
|
|
37
44
|
private readonly loader;
|
|
@@ -40,17 +47,41 @@ export declare class ConfigurationManager {
|
|
|
40
47
|
private readonly schemas;
|
|
41
48
|
private readonly redactor;
|
|
42
49
|
private readonly validationOptions;
|
|
50
|
+
private readonly listeners;
|
|
51
|
+
private readonly listenerErrors;
|
|
43
52
|
private configuration;
|
|
44
53
|
private loadResult;
|
|
45
54
|
private validationReport;
|
|
55
|
+
private missingSetConfigurationWarned;
|
|
46
56
|
private stateValue;
|
|
47
57
|
constructor(options?: ConfigurationManagerOptions);
|
|
58
|
+
/**
|
|
59
|
+
* Subscribes to configuration lifecycle events.
|
|
60
|
+
*
|
|
61
|
+
* Pass "*" to receive every event. Returns an unsubscribe
|
|
62
|
+
* function.
|
|
63
|
+
*/
|
|
64
|
+
on(type: ConfigurationEventSubscription, listener: ConfigurationEventListener): () => void;
|
|
65
|
+
/** Removes a previously registered event listener. */
|
|
66
|
+
off(type: ConfigurationEventSubscription, listener: ConfigurationEventListener): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Returns errors thrown by event listeners.
|
|
69
|
+
*
|
|
70
|
+
* Listener failures never interrupt configuration loading;
|
|
71
|
+
* they are collected here for diagnostics.
|
|
72
|
+
*/
|
|
73
|
+
getListenerErrors(): readonly unknown[];
|
|
48
74
|
initialize(): Promise<ConfigurationManagerResult>;
|
|
49
75
|
reload(): Promise<ConfigurationManagerResult>;
|
|
50
76
|
getConfiguration(): Configuration;
|
|
51
77
|
getProvider(): ConfigurationProvider;
|
|
52
78
|
getRegistry(): ConfigurationRegistry;
|
|
53
79
|
getSchemaRegistry(): ConfigurationSchemaRegistry;
|
|
80
|
+
/**
|
|
81
|
+
* Returns the active configuration scoped to a section
|
|
82
|
+
* registered with the manager's registry.
|
|
83
|
+
*/
|
|
84
|
+
getSection(name: string): Configuration;
|
|
54
85
|
getLoader(): ConfigurationLoader;
|
|
55
86
|
getRedactor(): ConfigurationRedactor;
|
|
56
87
|
getState(): ConfigurationManagerState;
|
|
@@ -61,6 +92,7 @@ export declare class ConfigurationManager {
|
|
|
61
92
|
get<T = unknown>(path: string): T | undefined;
|
|
62
93
|
require<T = unknown>(path: string): T;
|
|
63
94
|
private providerConfiguration;
|
|
95
|
+
private emit;
|
|
64
96
|
private ensureReady;
|
|
65
97
|
}
|
|
66
98
|
/** Creates a ConfigurationManager. */
|
|
@@ -2,10 +2,12 @@ import { Configuration } from "./core/configuration.js";
|
|
|
2
2
|
import { ConfigurationLoader } from "./loader/configurationLoader.loader.js";
|
|
3
3
|
import { DefaultConfigurationProvider } from "./registry/configurationProvider.provider.js";
|
|
4
4
|
import { ConfigurationRegistry } from "./registry/configurationRegistry.registry.js";
|
|
5
|
+
import { InvalidStateError } from "../errors/exceptions.js";
|
|
5
6
|
import { ConfigurationSchemaRegistry } from "./schema/configurationSchema.schema.js";
|
|
6
|
-
import { validateConfiguration } from "./schema/configurationValidation.validator.js";
|
|
7
|
+
import { applyConfigurationSchemaDefaults, validateConfiguration, } from "./schema/configurationValidation.validator.js";
|
|
7
8
|
import { ConfigurationValidationError } from "./schema/configurationValidation.validator.js";
|
|
8
9
|
import { ConfigurationRedactor } from "./error/configurationRedactor.redactor.js";
|
|
10
|
+
import { createConfigurationFailedEvent, createConfigurationInitializingEvent, createConfigurationLoadedEvent, createConfigurationReadyEvent, createConfigurationReloadedEvent, createConfigurationReloadingEvent, createConfigurationValidatedEvent, } from "./events/configurationEvents.events.js";
|
|
9
11
|
/** Lifecycle state of the configuration manager. */
|
|
10
12
|
export var ConfigurationManagerState;
|
|
11
13
|
(function (ConfigurationManagerState) {
|
|
@@ -23,9 +25,12 @@ export class ConfigurationManager {
|
|
|
23
25
|
schemas;
|
|
24
26
|
redactor;
|
|
25
27
|
validationOptions;
|
|
28
|
+
listeners = new Map();
|
|
29
|
+
listenerErrors = [];
|
|
26
30
|
configuration;
|
|
27
31
|
loadResult;
|
|
28
32
|
validationReport;
|
|
33
|
+
missingSetConfigurationWarned = false;
|
|
29
34
|
stateValue = ConfigurationManagerState.CREATED;
|
|
30
35
|
constructor(options = {}) {
|
|
31
36
|
this.loader =
|
|
@@ -37,23 +42,56 @@ export class ConfigurationManager {
|
|
|
37
42
|
options.redactor ?? new ConfigurationRedactor(options.redactorOptions);
|
|
38
43
|
this.validationOptions = options.validationOptions ?? {};
|
|
39
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Subscribes to configuration lifecycle events.
|
|
47
|
+
*
|
|
48
|
+
* Pass "*" to receive every event. Returns an unsubscribe
|
|
49
|
+
* function.
|
|
50
|
+
*/
|
|
51
|
+
on(type, listener) {
|
|
52
|
+
let listeners = this.listeners.get(type);
|
|
53
|
+
if (!listeners) {
|
|
54
|
+
listeners = new Set();
|
|
55
|
+
this.listeners.set(type, listeners);
|
|
56
|
+
}
|
|
57
|
+
listeners.add(listener);
|
|
58
|
+
return () => this.off(type, listener);
|
|
59
|
+
}
|
|
60
|
+
/** Removes a previously registered event listener. */
|
|
61
|
+
off(type, listener) {
|
|
62
|
+
return this.listeners.get(type)?.delete(listener) ?? false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Returns errors thrown by event listeners.
|
|
66
|
+
*
|
|
67
|
+
* Listener failures never interrupt configuration loading;
|
|
68
|
+
* they are collected here for diagnostics.
|
|
69
|
+
*/
|
|
70
|
+
getListenerErrors() {
|
|
71
|
+
return [...this.listenerErrors];
|
|
72
|
+
}
|
|
40
73
|
async initialize() {
|
|
41
74
|
if (this.stateValue === ConfigurationManagerState.LOADING)
|
|
42
|
-
throw new
|
|
75
|
+
throw new InvalidStateError("Configuration initialization is already in progress.", { state: this.stateValue });
|
|
43
76
|
this.stateValue = ConfigurationManagerState.LOADING;
|
|
77
|
+
this.emit(createConfigurationInitializingEvent(this.stateValue));
|
|
44
78
|
try {
|
|
45
|
-
const loadResult = await this.loader.load();
|
|
79
|
+
const loadResult = await this.loader.load(this.registry.getSources());
|
|
46
80
|
this.loadResult = loadResult;
|
|
47
81
|
this.configuration = loadResult.configuration;
|
|
48
82
|
this.stateValue = ConfigurationManagerState.LOADED;
|
|
83
|
+
this.emit(createConfigurationLoadedEvent(this.stateValue, loadResult));
|
|
49
84
|
const validation = await validateConfiguration(this.configuration, this.schemas, this.validationOptions);
|
|
50
85
|
this.validationReport = validation;
|
|
51
86
|
if (!validation.valid) {
|
|
52
87
|
this.stateValue = ConfigurationManagerState.FAILED;
|
|
53
88
|
throw new ConfigurationValidationError(validation.issues, validation.schemaCount, validation.invalidSchemaCount);
|
|
54
89
|
}
|
|
90
|
+
this.configuration = applyConfigurationSchemaDefaults(this.configuration, this.schemas);
|
|
91
|
+
this.emit(createConfigurationValidatedEvent(this.stateValue, this.configuration, validation));
|
|
55
92
|
this.providerConfiguration(this.configuration);
|
|
56
93
|
this.stateValue = ConfigurationManagerState.READY;
|
|
94
|
+
this.emit(createConfigurationReadyEvent(this.stateValue, this.configuration, validation));
|
|
57
95
|
return {
|
|
58
96
|
configuration: this.configuration,
|
|
59
97
|
load: loadResult,
|
|
@@ -62,6 +100,7 @@ export class ConfigurationManager {
|
|
|
62
100
|
}
|
|
63
101
|
catch (error) {
|
|
64
102
|
this.stateValue = ConfigurationManagerState.FAILED;
|
|
103
|
+
this.emit(createConfigurationFailedEvent(this.stateValue, error));
|
|
65
104
|
throw error;
|
|
66
105
|
}
|
|
67
106
|
}
|
|
@@ -72,9 +111,10 @@ export class ConfigurationManager {
|
|
|
72
111
|
const previousLoadResult = this.loadResult;
|
|
73
112
|
const previousValidation = this.validationReport;
|
|
74
113
|
this.stateValue = ConfigurationManagerState.LOADING;
|
|
114
|
+
this.emit(createConfigurationReloadingEvent(this.stateValue, previousConfiguration));
|
|
75
115
|
try {
|
|
76
|
-
const loadResult = await this.loader.load();
|
|
77
|
-
|
|
116
|
+
const loadResult = await this.loader.load(this.registry.getSources());
|
|
117
|
+
let configuration = loadResult.configuration;
|
|
78
118
|
const validation = await validateConfiguration(configuration, this.schemas, this.validationOptions);
|
|
79
119
|
if (!validation.valid) {
|
|
80
120
|
this.configuration = previousConfiguration;
|
|
@@ -83,11 +123,13 @@ export class ConfigurationManager {
|
|
|
83
123
|
this.stateValue = ConfigurationManagerState.READY;
|
|
84
124
|
throw new ConfigurationValidationError(validation.issues, validation.schemaCount, validation.invalidSchemaCount);
|
|
85
125
|
}
|
|
126
|
+
configuration = applyConfigurationSchemaDefaults(configuration, this.schemas);
|
|
86
127
|
this.configuration = configuration;
|
|
87
128
|
this.loadResult = loadResult;
|
|
88
129
|
this.validationReport = validation;
|
|
89
130
|
this.providerConfiguration(configuration);
|
|
90
131
|
this.stateValue = ConfigurationManagerState.READY;
|
|
132
|
+
this.emit(createConfigurationReloadedEvent(this.stateValue, previousConfiguration, configuration, loadResult, validation));
|
|
91
133
|
return { configuration, load: loadResult, validation };
|
|
92
134
|
}
|
|
93
135
|
catch (error) {
|
|
@@ -96,6 +138,7 @@ export class ConfigurationManager {
|
|
|
96
138
|
this.stateValue = previousConfiguration
|
|
97
139
|
? ConfigurationManagerState.READY
|
|
98
140
|
: ConfigurationManagerState.FAILED;
|
|
141
|
+
this.emit(createConfigurationFailedEvent(this.stateValue, error, previousConfiguration));
|
|
99
142
|
throw error;
|
|
100
143
|
}
|
|
101
144
|
}
|
|
@@ -112,6 +155,14 @@ export class ConfigurationManager {
|
|
|
112
155
|
getSchemaRegistry() {
|
|
113
156
|
return this.schemas;
|
|
114
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Returns the active configuration scoped to a section
|
|
160
|
+
* registered with the manager's registry.
|
|
161
|
+
*/
|
|
162
|
+
getSection(name) {
|
|
163
|
+
this.ensureReady();
|
|
164
|
+
return this.registry.getConfigurationSection(this.configuration, name);
|
|
165
|
+
}
|
|
115
166
|
getLoader() {
|
|
116
167
|
return this.loader;
|
|
117
168
|
}
|
|
@@ -136,18 +187,46 @@ export class ConfigurationManager {
|
|
|
136
187
|
: undefined;
|
|
137
188
|
}
|
|
138
189
|
get(path) {
|
|
190
|
+
this.ensureReady();
|
|
139
191
|
return this.getProvider().get(path);
|
|
140
192
|
}
|
|
141
193
|
require(path) {
|
|
194
|
+
this.ensureReady();
|
|
142
195
|
return this.getProvider().require(path);
|
|
143
196
|
}
|
|
144
197
|
providerConfiguration(configuration) {
|
|
145
|
-
if (this.provider
|
|
198
|
+
if (typeof this.provider.setConfiguration === "function") {
|
|
146
199
|
this.provider.setConfiguration(configuration);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (!this.missingSetConfigurationWarned) {
|
|
203
|
+
this.missingSetConfigurationWarned = true;
|
|
204
|
+
console.warn("ConfigurationManager: the configured ConfigurationProvider does not implement setConfiguration(); loaded configuration will not be pushed into the provider.");
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
emit(event) {
|
|
208
|
+
const listeners = [
|
|
209
|
+
...(this.listeners.get(event.type) ?? []),
|
|
210
|
+
...(this.listeners.get("*") ?? []),
|
|
211
|
+
];
|
|
212
|
+
for (const listener of listeners) {
|
|
213
|
+
try {
|
|
214
|
+
const result = listener(event);
|
|
215
|
+
if (result instanceof Promise) {
|
|
216
|
+
void result.catch((error) => {
|
|
217
|
+
this.listenerErrors.push(error);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
/* Listener failures must never break configuration loading. */
|
|
223
|
+
this.listenerErrors.push(error);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
147
226
|
}
|
|
148
227
|
ensureReady() {
|
|
149
228
|
if (this.stateValue !== ConfigurationManagerState.READY)
|
|
150
|
-
throw new
|
|
229
|
+
throw new InvalidStateError(`Configuration is not ready. Current state: ${this.stateValue}.`, { state: this.stateValue });
|
|
151
230
|
}
|
|
152
231
|
}
|
|
153
232
|
/** Creates a ConfigurationManager. */
|
|
@@ -1,34 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { ConfigurationSourceType } from "./configurationSource.source.js";
|
|
2
|
+
import type { ConfigurationKey } from "./configurationKey.key.js";
|
|
3
3
|
/** Configuration value types supported by the core configuration system. */
|
|
4
4
|
export type ConfigurationValue = string | number | boolean | null | undefined | ConfigurationValue[] | {
|
|
5
5
|
readonly [key: string]: ConfigurationValue;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Source attribution for a configuration entry.
|
|
9
|
+
*
|
|
10
|
+
* "mixed" is reported when the values under a path originate
|
|
11
|
+
* from more than one source type.
|
|
12
|
+
*/
|
|
13
|
+
export type ConfigurationEntrySource = ConfigurationSourceType | "mixed";
|
|
7
14
|
/** Options used to create a Configuration instance. */
|
|
8
15
|
export interface ConfigurationOptions {
|
|
9
16
|
readonly values?: Record<string, ConfigurationValue>;
|
|
10
|
-
readonly source?:
|
|
17
|
+
readonly source?: ConfigurationSourceType;
|
|
11
18
|
readonly namespace?: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Per-path source attribution.
|
|
21
|
+
*
|
|
22
|
+
* Used internally when deriving configurations so entry-level
|
|
23
|
+
* source information survives `with()`, `merge()`, and `scope()`.
|
|
24
|
+
*/
|
|
25
|
+
readonly sources?: ReadonlyMap<string, ConfigurationSourceType>;
|
|
17
26
|
}
|
|
18
27
|
/** Represents a configuration entry. */
|
|
19
28
|
export interface ConfigurationEntry<T = ConfigurationValue> {
|
|
20
29
|
readonly path: string;
|
|
21
30
|
readonly value: T;
|
|
22
|
-
readonly source:
|
|
31
|
+
readonly source: ConfigurationEntrySource;
|
|
23
32
|
}
|
|
24
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Immutable configuration container.
|
|
35
|
+
*
|
|
36
|
+
* The values tree is deep-frozen at construction, so accessors can
|
|
37
|
+
* safely hand out internal references. Callers should treat any
|
|
38
|
+
* object passed into the constructor (or `with()`) as owned by the
|
|
39
|
+
* configuration afterwards: it becomes frozen.
|
|
40
|
+
*/
|
|
25
41
|
export declare class Configuration {
|
|
26
42
|
private readonly values;
|
|
27
43
|
private readonly source;
|
|
28
44
|
private readonly namespace?;
|
|
45
|
+
private readonly pathSources;
|
|
29
46
|
constructor(options?: ConfigurationOptions);
|
|
30
47
|
getNamespace(): string | undefined;
|
|
31
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Returns the source of a configuration path, or of the whole
|
|
50
|
+
* configuration when no path is supplied.
|
|
51
|
+
*
|
|
52
|
+
* When entries originate from multiple source types, "mixed"
|
|
53
|
+
* is returned.
|
|
54
|
+
*/
|
|
55
|
+
getSource(path?: string): ConfigurationEntrySource;
|
|
32
56
|
get<T = ConfigurationValue>(path: string): T | undefined;
|
|
33
57
|
require<T = ConfigurationValue>(path: string): T;
|
|
34
58
|
getByKey<T>(key: ConfigurationKey<T>): T | undefined;
|
|
@@ -37,17 +61,38 @@ export declare class Configuration {
|
|
|
37
61
|
getBoolean(path: string, defaultValue?: boolean): boolean | undefined;
|
|
38
62
|
getNumber(path: string, defaultValue?: number): number | undefined;
|
|
39
63
|
getString(path: string, defaultValue?: string): string | undefined;
|
|
40
|
-
createKey<T>(path: string): ConfigurationKey<T>;
|
|
41
64
|
scope(namespace: string): Configuration;
|
|
42
65
|
entries(): readonly ConfigurationEntry[];
|
|
43
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Returns a deep copy of the complete values tree.
|
|
68
|
+
*
|
|
69
|
+
* The copy is unfrozen and independent of the configuration, so
|
|
70
|
+
* callers may mutate it freely without affecting this instance
|
|
71
|
+
* or anything derived from it.
|
|
72
|
+
*/
|
|
73
|
+
toObject(): Record<string, ConfigurationValue>;
|
|
74
|
+
/**
|
|
75
|
+
* Deeply merges another configuration on top of this one.
|
|
76
|
+
*
|
|
77
|
+
* Objects are merged recursively, arrays and primitives are
|
|
78
|
+
* replaced. Per-path source attribution from both configurations
|
|
79
|
+
* is preserved; the other configuration wins on conflicts.
|
|
80
|
+
*/
|
|
44
81
|
merge(other: Configuration): Configuration;
|
|
45
|
-
with<T extends ConfigurationValue>(path: string, value: T, source?:
|
|
82
|
+
with<T extends ConfigurationValue>(path: string, value: T, source?: ConfigurationSourceType): Configuration;
|
|
46
83
|
without(path: string): Configuration;
|
|
47
84
|
private normalizePath;
|
|
85
|
+
private hasSourceRecordFor;
|
|
86
|
+
private resolveAncestorSource;
|
|
87
|
+
private resolvePathSource;
|
|
88
|
+
private deepMergeValues;
|
|
48
89
|
private setNestedValue;
|
|
90
|
+
/**
|
|
91
|
+
* Removes a nested value by shallow-cloning only the objects
|
|
92
|
+
* along the path, mirroring the strategy used by setNestedValue.
|
|
93
|
+
*/
|
|
49
94
|
private deleteNestedValue;
|
|
50
95
|
}
|
|
51
|
-
/** Creates
|
|
96
|
+
/** Creates a Configuration instance. */
|
|
52
97
|
export declare function createConfiguration(options?: ConfigurationOptions): Configuration;
|
|
53
98
|
//# sourceMappingURL=configuration.d.ts.map
|