@lakutata/core 1.0.60 → 3.0.0-beta.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/README.md +173 -23
- package/THIRD_PARTY_NOTICES.md +320 -0
- package/dist/cjs/components/ConsoleLogger.d.ts +62 -0
- package/dist/cjs/components/ConsoleLogger.js +99 -0
- package/dist/cjs/constants/DIMetadataKey.d.ts +10 -0
- package/dist/cjs/constants/DIMetadataKey.js +13 -0
- package/dist/cjs/constants/DTOMetadataKey.d.ts +5 -0
- package/dist/cjs/constants/DTOMetadataKey.js +8 -0
- package/dist/cjs/decorators/asst/After.d.ts +29 -0
- package/dist/cjs/decorators/asst/After.js +33 -0
- package/dist/cjs/decorators/asst/Before.d.ts +28 -0
- package/dist/cjs/decorators/asst/Before.js +32 -0
- package/dist/cjs/decorators/di/Autoload.d.ts +33 -0
- package/dist/cjs/decorators/di/Autoload.js +37 -0
- package/dist/cjs/decorators/di/Configurable.d.ts +51 -0
- package/dist/cjs/decorators/di/Configurable.js +60 -0
- package/dist/cjs/decorators/di/Inject.d.ts +85 -0
- package/dist/cjs/decorators/di/Inject.js +36 -0
- package/dist/cjs/decorators/di/Lifetime.d.ts +94 -0
- package/dist/cjs/decorators/di/Lifetime.js +106 -0
- package/dist/cjs/decorators/dto/Accept.d.ts +38 -0
- package/dist/cjs/decorators/dto/Accept.js +41 -0
- package/dist/cjs/decorators/dto/Expect.d.ts +38 -0
- package/dist/cjs/decorators/dto/Expect.js +41 -0
- package/dist/cjs/decorators/dto/IndexSignature.d.ts +30 -0
- package/dist/cjs/decorators/dto/IndexSignature.js +33 -0
- package/dist/cjs/decorators/dto/Return.d.ts +39 -0
- package/dist/cjs/decorators/dto/Return.js +42 -0
- package/dist/cjs/dto/PaginationResultDTO.d.ts +33 -0
- package/dist/cjs/dto/PaginationResultDTO.js +50 -0
- package/dist/cjs/dto/PaginationSearchDTO.d.ts +33 -0
- package/dist/cjs/dto/PaginationSearchDTO.js +45 -0
- package/dist/cjs/dto/Paginator.d.ts +54 -0
- package/dist/cjs/dto/Paginator.js +53 -0
- package/dist/cjs/exceptions/DestroyRuntimeContainerException.d.ts +10 -0
- package/dist/cjs/exceptions/DestroyRuntimeContainerException.js +17 -0
- package/dist/cjs/exceptions/InvalidActionPatternDepthException.d.ts +8 -0
- package/dist/cjs/exceptions/InvalidActionPatternDepthException.js +15 -0
- package/dist/cjs/exceptions/InvalidAssistantFunctionTypeException.d.ts +9 -0
- package/dist/cjs/exceptions/InvalidAssistantFunctionTypeException.js +16 -0
- package/dist/cjs/exceptions/InvalidObjectTypeException.d.ts +9 -0
- package/dist/cjs/exceptions/InvalidObjectTypeException.js +16 -0
- package/dist/cjs/exceptions/MethodNotFoundException.d.ts +8 -0
- package/dist/cjs/exceptions/MethodNotFoundException.js +15 -0
- package/dist/cjs/exceptions/ObjectDestroyedException.d.ts +9 -0
- package/dist/cjs/exceptions/ObjectDestroyedException.js +16 -0
- package/dist/cjs/exceptions/alias/AliasExistsException.d.ts +8 -0
- package/dist/cjs/exceptions/alias/AliasExistsException.js +15 -0
- package/dist/cjs/exceptions/alias/AliasNotFoundException.d.ts +8 -0
- package/dist/cjs/exceptions/alias/AliasNotFoundException.js +15 -0
- package/dist/cjs/exceptions/alias/InvalidAliasNameException.d.ts +8 -0
- package/dist/cjs/exceptions/alias/InvalidAliasNameException.js +15 -0
- package/dist/cjs/exceptions/di/DependencyInjectionException.d.ts +9 -0
- package/dist/cjs/exceptions/di/DependencyInjectionException.js +16 -0
- package/dist/cjs/exceptions/di/InvalidObjectOptionsException.d.ts +9 -0
- package/dist/cjs/exceptions/di/InvalidObjectOptionsException.js +16 -0
- package/dist/cjs/exceptions/di/LifetimeLockedException.d.ts +9 -0
- package/dist/cjs/exceptions/di/LifetimeLockedException.js +16 -0
- package/dist/cjs/exceptions/di/OverridableObjectTargetConfigNotFoundException.d.ts +9 -0
- package/dist/cjs/exceptions/di/OverridableObjectTargetConfigNotFoundException.js +16 -0
- package/dist/cjs/exceptions/dto/InvalidMethodAcceptException.d.ts +9 -0
- package/dist/cjs/exceptions/dto/InvalidMethodAcceptException.js +16 -0
- package/dist/cjs/exceptions/dto/InvalidMethodReturnException.d.ts +9 -0
- package/dist/cjs/exceptions/dto/InvalidMethodReturnException.js +16 -0
- package/dist/cjs/exceptions/dto/InvalidValueException.d.ts +11 -0
- package/dist/cjs/exceptions/dto/InvalidValueException.js +18 -0
- package/dist/cjs/exports/ASSTDecorators.d.ts +3 -0
- package/dist/cjs/exports/ASSTDecorators.js +11 -0
- package/dist/cjs/exports/Core.d.ts +93 -0
- package/dist/cjs/exports/Core.js +127 -0
- package/dist/cjs/exports/DIDecorators.d.ts +5 -0
- package/dist/cjs/exports/DIDecorators.js +18 -0
- package/dist/cjs/exports/DTODecorators.d.ts +6 -0
- package/dist/cjs/exports/DTODecorators.js +17 -0
- package/dist/cjs/exports/DTOs.d.ts +17 -0
- package/dist/cjs/exports/DTOs.js +35 -0
- package/dist/cjs/exports/LoggerComponent.d.ts +3 -0
- package/dist/cjs/exports/LoggerComponent.js +22 -0
- package/dist/cjs/interfaces/IBaseObjectConstructor.d.ts +10 -0
- package/dist/cjs/interfaces/IBaseObjectConstructor.js +2 -0
- package/dist/cjs/interfaces/IConstructor.d.ts +6 -0
- package/dist/cjs/interfaces/IConstructor.js +2 -0
- package/dist/cjs/interfaces/ILogger.d.ts +35 -0
- package/dist/cjs/interfaces/ILogger.js +2 -0
- package/dist/cjs/lib/app/Application.d.ts +346 -0
- package/dist/cjs/lib/app/Application.js +613 -0
- package/dist/cjs/lib/app/ApplicationConfigLoader.d.ts +17 -0
- package/dist/cjs/lib/app/ApplicationConfigLoader.js +30 -0
- package/dist/cjs/lib/app/MigrationCommand.d.ts +31 -0
- package/dist/cjs/lib/app/MigrationCommand.js +31 -0
- package/dist/cjs/lib/base/BaseObject.d.ts +343 -0
- package/dist/cjs/lib/base/BaseObject.js +608 -0
- package/dist/cjs/lib/base/EventEmitter.d.ts +37 -0
- package/dist/cjs/lib/base/EventEmitter.js +152 -0
- package/dist/cjs/lib/base/async-constructor/Append.d.ts +1 -0
- package/dist/cjs/lib/base/async-constructor/Append.js +21 -0
- package/dist/cjs/lib/base/async-constructor/AsyncConstructor.d.ts +3 -0
- package/dist/cjs/lib/base/async-constructor/AsyncConstructor.js +11 -0
- package/dist/cjs/lib/base/internal/ApplicationLaunch.d.ts +16 -0
- package/dist/cjs/lib/base/internal/ApplicationLaunch.js +58 -0
- package/dist/cjs/lib/base/internal/ConfigurableRecordsInjection.d.ts +47 -0
- package/dist/cjs/lib/base/internal/ConfigurableRecordsInjection.js +85 -0
- package/dist/cjs/lib/base/internal/EventEmitter2.d.ts +184 -0
- package/dist/cjs/lib/base/internal/EventEmitter2.js +715 -0
- package/dist/cjs/lib/base/internal/MemberDeclarations.d.ts +23 -0
- package/dist/cjs/lib/base/internal/MemberDeclarations.js +45 -0
- package/dist/cjs/lib/base/internal/MethodAssistantFunction.d.ts +20 -0
- package/dist/cjs/lib/base/internal/MethodAssistantFunction.js +110 -0
- package/dist/cjs/lib/base/internal/ModuleConfigLoader.d.ts +46 -0
- package/dist/cjs/lib/base/internal/ModuleConfigLoader.js +113 -0
- package/dist/cjs/lib/base/internal/ModuleInitialization.d.ts +5 -0
- package/dist/cjs/lib/base/internal/ModuleInitialization.js +8 -0
- package/dist/cjs/lib/base/internal/ObjectConfiguration.d.ts +29 -0
- package/dist/cjs/lib/base/internal/ObjectConfiguration.js +41 -0
- package/dist/cjs/lib/base/internal/ObjectContainer.d.ts +15 -0
- package/dist/cjs/lib/base/internal/ObjectContainer.js +23 -0
- package/dist/cjs/lib/base/internal/ObjectInjection.d.ts +43 -0
- package/dist/cjs/lib/base/internal/ObjectInjection.js +60 -0
- package/dist/cjs/lib/base/internal/ObjectOptionsCheck.d.ts +12 -0
- package/dist/cjs/lib/base/internal/ObjectOptionsCheck.js +70 -0
- package/dist/cjs/lib/base/internal/ObjectStartup.d.ts +31 -0
- package/dist/cjs/lib/base/internal/ObjectStartup.js +75 -0
- package/dist/cjs/lib/base/internal/ObjectType.d.ts +37 -0
- package/dist/cjs/lib/base/internal/ObjectType.js +75 -0
- package/dist/cjs/lib/core/Alias.d.ts +48 -0
- package/dist/cjs/lib/core/Alias.js +100 -0
- package/dist/cjs/lib/core/Component.d.ts +267 -0
- package/dist/cjs/lib/core/Component.js +362 -0
- package/dist/cjs/lib/core/Container.d.ts +341 -0
- package/dist/cjs/lib/core/Container.js +667 -0
- package/dist/cjs/lib/core/Module.d.ts +165 -0
- package/dist/cjs/lib/core/Module.js +268 -0
- package/dist/cjs/lib/core/Provider.d.ts +52 -0
- package/dist/cjs/lib/core/Provider.js +57 -0
- package/dist/cjs/lib/dto/CachedSchema.d.ts +7 -0
- package/dist/cjs/lib/dto/CachedSchema.js +2 -0
- package/dist/cjs/lib/dto/DTO.d.ts +278 -0
- package/dist/cjs/lib/dto/DTO.js +461 -0
- package/dist/cjs/lib/dto/DataValidator.d.ts +166 -0
- package/dist/cjs/lib/dto/DataValidator.js +247 -0
- package/dist/cjs/lib/dto/FlexibleDTO.d.ts +23 -0
- package/dist/cjs/lib/dto/FlexibleDTO.js +36 -0
- package/dist/cjs/lib/dto/MethodValidation.d.ts +44 -0
- package/dist/cjs/lib/dto/MethodValidation.js +141 -0
- package/dist/cjs/lib/dto/ObjectSchemaValidation.d.ts +86 -0
- package/dist/cjs/lib/dto/ObjectSchemaValidation.js +181 -0
- package/dist/cjs/lib/dto/internal/CronValidator.d.ts +8 -0
- package/dist/cjs/lib/dto/internal/CronValidator.js +128 -0
- package/dist/cjs/lib/foundation/BasicInfo.d.ts +46 -0
- package/dist/cjs/lib/foundation/BasicInfo.js +115 -0
- package/dist/cjs/lib/foundation/EndProcess.d.ts +14 -0
- package/dist/cjs/lib/foundation/EndProcess.js +30 -0
- package/dist/cjs/lib/foundation/Exception.d.ts +88 -0
- package/dist/cjs/lib/foundation/Exception.js +165 -0
- package/dist/cjs/lib/foundation/LifecycleErrorReporter.d.ts +26 -0
- package/dist/cjs/lib/foundation/LifecycleErrorReporter.js +64 -0
- package/dist/cjs/lib/foundation/Packaging.d.ts +29 -0
- package/dist/cjs/lib/foundation/Packaging.js +42 -0
- package/dist/cjs/lib/foundation/ThrowWarning.d.ts +6 -0
- package/dist/cjs/lib/foundation/ThrowWarning.js +16 -0
- package/dist/cjs/lib/helpers/internal/WithCause.d.ts +6 -0
- package/dist/cjs/lib/helpers/internal/WithCause.js +12 -0
- package/dist/cjs/lib/ioc/ConstructorSymbol.d.ts +3 -0
- package/dist/cjs/lib/ioc/ConstructorSymbol.js +21 -0
- package/dist/cjs/lib/ioc/DependencyInjectionContainer.d.ts +178 -0
- package/dist/cjs/lib/ioc/DependencyInjectionContainer.js +445 -0
- package/dist/cjs/lib/ioc/Errors.d.ts +59 -0
- package/dist/cjs/lib/ioc/Errors.js +115 -0
- package/dist/cjs/lib/ioc/Lifetime.d.ts +12 -0
- package/dist/cjs/lib/ioc/Lifetime.js +31 -0
- package/dist/cjs/lib/ioc/ListModules.d.ts +42 -0
- package/dist/cjs/lib/ioc/ListModules.js +104 -0
- package/dist/cjs/lib/ioc/LoadModuleNative.d.ts +1 -0
- package/dist/cjs/lib/ioc/LoadModuleNative.js +41 -0
- package/dist/cjs/lib/ioc/LoadModules.d.ts +49 -0
- package/dist/cjs/lib/ioc/LoadModules.js +167 -0
- package/dist/cjs/lib/ioc/ObjectLifetime.d.ts +22 -0
- package/dist/cjs/lib/ioc/ObjectLifetime.js +39 -0
- package/dist/cjs/lib/ioc/ObjectWeakRefs.d.ts +19 -0
- package/dist/cjs/lib/ioc/ObjectWeakRefs.js +47 -0
- package/dist/cjs/lib/ioc/Resolvers.d.ts +136 -0
- package/dist/cjs/lib/ioc/Resolvers.js +248 -0
- package/dist/cjs/lib/ioc/Utils.d.ts +33 -0
- package/dist/cjs/lib/ioc/Utils.js +73 -0
- package/dist/cjs/lib/validation/JsonSchema.d.ts +127 -0
- package/dist/cjs/lib/validation/JsonSchema.js +85 -0
- package/dist/cjs/lib/validation/VLD.d.ts +275 -0
- package/dist/cjs/lib/validation/VLD.js +216 -0
- package/dist/cjs/lib/validation/ValidationLanguage.d.ts +42 -0
- package/dist/cjs/lib/validation/ValidationLanguage.js +55 -0
- package/dist/cjs/lib/validation/ValidationMessages.d.ts +92 -0
- package/dist/cjs/lib/validation/ValidationMessages.js +192 -0
- package/dist/cjs/lib/validation/engine/address/decode.d.ts +8 -0
- package/dist/cjs/lib/validation/engine/address/decode.js +104 -0
- package/dist/cjs/lib/validation/engine/address/domain.d.ts +74 -0
- package/dist/cjs/lib/validation/engine/address/domain.js +181 -0
- package/dist/cjs/lib/validation/engine/address/email.d.ts +27 -0
- package/dist/cjs/lib/validation/engine/address/email.js +182 -0
- package/dist/cjs/lib/validation/engine/address/errors.d.ts +48 -0
- package/dist/cjs/lib/validation/engine/address/errors.js +31 -0
- package/dist/cjs/lib/validation/engine/address/index.d.ts +9 -0
- package/dist/cjs/lib/validation/engine/address/index.js +30 -0
- package/dist/cjs/lib/validation/engine/address/ip.d.ts +35 -0
- package/dist/cjs/lib/validation/engine/address/ip.js +49 -0
- package/dist/cjs/lib/validation/engine/address/uri.d.ts +55 -0
- package/dist/cjs/lib/validation/engine/address/uri.js +218 -0
- package/dist/cjs/lib/validation/engine/expression/index.d.ts +70 -0
- package/dist/cjs/lib/validation/engine/expression/index.js +356 -0
- package/dist/cjs/lib/validation/engine/json-schema/combinations.d.ts +11 -0
- package/dist/cjs/lib/validation/engine/json-schema/combinations.js +33 -0
- package/dist/cjs/lib/validation/engine/json-schema/helpers.d.ts +76 -0
- package/dist/cjs/lib/validation/engine/json-schema/helpers.js +380 -0
- package/dist/cjs/lib/validation/engine/json-schema/import.d.ts +56 -0
- package/dist/cjs/lib/validation/engine/json-schema/import.js +872 -0
- package/dist/cjs/lib/validation/engine/json-schema/index.d.ts +20 -0
- package/dist/cjs/lib/validation/engine/json-schema/index.js +45 -0
- package/dist/cjs/lib/validation/engine/json-schema/model.d.ts +124 -0
- package/dist/cjs/lib/validation/engine/json-schema/model.js +5 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json-2020-12.d.ts +9 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json-2020-12.js +56 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-04.d.ts +17 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-04.js +93 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-2019-09.d.ts +13 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json-draft-2019-09.js +69 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json.d.ts +245 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/json.js +1497 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api-3.1.d.ts +13 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api-3.1.js +71 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api.d.ts +24 -0
- package/dist/cjs/lib/validation/engine/json-schema/parsers/open-api.js +207 -0
- package/dist/cjs/lib/validation/engine/location/index.d.ts +18 -0
- package/dist/cjs/lib/validation/engine/location/index.js +23 -0
- package/dist/cjs/lib/validation/engine/schema/annotate.d.ts +13 -0
- package/dist/cjs/lib/validation/engine/schema/annotate.js +162 -0
- package/dist/cjs/lib/validation/engine/schema/assert.d.ts +25 -0
- package/dist/cjs/lib/validation/engine/schema/assert.js +66 -0
- package/dist/cjs/lib/validation/engine/schema/base.d.ts +194 -0
- package/dist/cjs/lib/validation/engine/schema/base.js +834 -0
- package/dist/cjs/lib/validation/engine/schema/cache.d.ts +41 -0
- package/dist/cjs/lib/validation/engine/schema/cache.js +131 -0
- package/dist/cjs/lib/validation/engine/schema/common.d.ts +79 -0
- package/dist/cjs/lib/validation/engine/schema/common.js +220 -0
- package/dist/cjs/lib/validation/engine/schema/compile.d.ts +81 -0
- package/dist/cjs/lib/validation/engine/schema/compile.js +242 -0
- package/dist/cjs/lib/validation/engine/schema/errors.d.ts +94 -0
- package/dist/cjs/lib/validation/engine/schema/errors.js +230 -0
- package/dist/cjs/lib/validation/engine/schema/extend.d.ts +122 -0
- package/dist/cjs/lib/validation/engine/schema/extend.js +235 -0
- package/dist/cjs/lib/validation/engine/schema/extensions/bigint.d.ts +33 -0
- package/dist/cjs/lib/validation/engine/schema/extensions/bigint.js +175 -0
- package/dist/cjs/lib/validation/engine/schema/fastpath.d.ts +35 -0
- package/dist/cjs/lib/validation/engine/schema/fastpath.js +661 -0
- package/dist/cjs/lib/validation/engine/schema/formats.d.ts +8 -0
- package/dist/cjs/lib/validation/engine/schema/formats.js +105 -0
- package/dist/cjs/lib/validation/engine/schema/index.d.ts +95 -0
- package/dist/cjs/lib/validation/engine/schema/index.js +237 -0
- package/dist/cjs/lib/validation/engine/schema/lazy.d.ts +21 -0
- package/dist/cjs/lib/validation/engine/schema/lazy.js +8 -0
- package/dist/cjs/lib/validation/engine/schema/manifest.d.ts +52 -0
- package/dist/cjs/lib/validation/engine/schema/manifest.js +364 -0
- package/dist/cjs/lib/validation/engine/schema/messages.d.ts +37 -0
- package/dist/cjs/lib/validation/engine/schema/messages.js +136 -0
- package/dist/cjs/lib/validation/engine/schema/model.d.ts +196 -0
- package/dist/cjs/lib/validation/engine/schema/model.js +2 -0
- package/dist/cjs/lib/validation/engine/schema/modify.d.ts +58 -0
- package/dist/cjs/lib/validation/engine/schema/modify.js +223 -0
- package/dist/cjs/lib/validation/engine/schema/ref.d.ts +116 -0
- package/dist/cjs/lib/validation/engine/schema/ref.js +318 -0
- package/dist/cjs/lib/validation/engine/schema/schemas.d.ts +6 -0
- package/dist/cjs/lib/validation/engine/schema/schemas.js +268 -0
- package/dist/cjs/lib/validation/engine/schema/state.d.ts +48 -0
- package/dist/cjs/lib/validation/engine/schema/state.js +148 -0
- package/dist/cjs/lib/validation/engine/schema/template.d.ts +72 -0
- package/dist/cjs/lib/validation/engine/schema/template.js +331 -0
- package/dist/cjs/lib/validation/engine/schema/trace.d.ts +121 -0
- package/dist/cjs/lib/validation/engine/schema/trace.js +280 -0
- package/dist/cjs/lib/validation/engine/schema/types/alternatives.d.ts +36 -0
- package/dist/cjs/lib/validation/engine/schema/types/alternatives.js +332 -0
- package/dist/cjs/lib/validation/engine/schema/types/any.d.ts +37 -0
- package/dist/cjs/lib/validation/engine/schema/types/any.js +198 -0
- package/dist/cjs/lib/validation/engine/schema/types/array.d.ts +46 -0
- package/dist/cjs/lib/validation/engine/schema/types/array.js +668 -0
- package/dist/cjs/lib/validation/engine/schema/types/binary.d.ts +20 -0
- package/dist/cjs/lib/validation/engine/schema/types/binary.js +116 -0
- package/dist/cjs/lib/validation/engine/schema/types/boolean.d.ts +29 -0
- package/dist/cjs/lib/validation/engine/schema/types/boolean.js +142 -0
- package/dist/cjs/lib/validation/engine/schema/types/date.d.ts +27 -0
- package/dist/cjs/lib/validation/engine/schema/types/date.js +197 -0
- package/dist/cjs/lib/validation/engine/schema/types/function.d.ts +12 -0
- package/dist/cjs/lib/validation/engine/schema/types/function.js +68 -0
- package/dist/cjs/lib/validation/engine/schema/types/keys.d.ts +119 -0
- package/dist/cjs/lib/validation/engine/schema/types/keys.js +911 -0
- package/dist/cjs/lib/validation/engine/schema/types/link.d.ts +21 -0
- package/dist/cjs/lib/validation/engine/schema/types/link.js +160 -0
- package/dist/cjs/lib/validation/engine/schema/types/number.d.ts +46 -0
- package/dist/cjs/lib/validation/engine/schema/types/number.js +385 -0
- package/dist/cjs/lib/validation/engine/schema/types/object.d.ts +10 -0
- package/dist/cjs/lib/validation/engine/schema/types/object.js +21 -0
- package/dist/cjs/lib/validation/engine/schema/types/string.d.ts +115 -0
- package/dist/cjs/lib/validation/engine/schema/types/string.js +767 -0
- package/dist/cjs/lib/validation/engine/schema/types/symbol.d.ts +23 -0
- package/dist/cjs/lib/validation/engine/schema/types/symbol.js +75 -0
- package/dist/cjs/lib/validation/engine/schema/validator.d.ts +114 -0
- package/dist/cjs/lib/validation/engine/schema/validator.js +680 -0
- package/dist/cjs/lib/validation/engine/schema/values.d.ts +51 -0
- package/dist/cjs/lib/validation/engine/schema/values.js +201 -0
- package/dist/cjs/lib/validation/engine/sorter/index.d.ts +54 -0
- package/dist/cjs/lib/validation/engine/sorter/index.js +180 -0
- package/dist/cjs/lib/validation/engine/tlds/index.d.ts +1 -0
- package/dist/cjs/lib/validation/engine/tlds/index.js +8 -0
- package/dist/cjs/lib/validation/engine/tlds/tlds.d.ts +4 -0
- package/dist/cjs/lib/validation/engine/tlds/tlds.js +1448 -0
- package/dist/cjs/lib/validation/engine/utils/applyToDefaults.d.ts +17 -0
- package/dist/cjs/lib/validation/engine/utils/applyToDefaults.js +89 -0
- package/dist/cjs/lib/validation/engine/utils/assert.d.ts +6 -0
- package/dist/cjs/lib/validation/engine/utils/assert.js +23 -0
- package/dist/cjs/lib/validation/engine/utils/assertError.d.ts +10 -0
- package/dist/cjs/lib/validation/engine/utils/assertError.js +18 -0
- package/dist/cjs/lib/validation/engine/utils/clone.d.ts +25 -0
- package/dist/cjs/lib/validation/engine/utils/clone.js +160 -0
- package/dist/cjs/lib/validation/engine/utils/deepEqual.d.ts +29 -0
- package/dist/cjs/lib/validation/engine/utils/deepEqual.js +265 -0
- package/dist/cjs/lib/validation/engine/utils/escapeHtml.d.ts +8 -0
- package/dist/cjs/lib/validation/engine/utils/escapeHtml.js +62 -0
- package/dist/cjs/lib/validation/engine/utils/escapeRegex.d.ts +8 -0
- package/dist/cjs/lib/validation/engine/utils/escapeRegex.js +13 -0
- package/dist/cjs/lib/validation/engine/utils/ignore.d.ts +8 -0
- package/dist/cjs/lib/validation/engine/utils/ignore.js +12 -0
- package/dist/cjs/lib/validation/engine/utils/index.d.ts +16 -0
- package/dist/cjs/lib/validation/engine/utils/index.js +34 -0
- package/dist/cjs/lib/validation/engine/utils/merge.d.ts +21 -0
- package/dist/cjs/lib/validation/engine/utils/merge.js +67 -0
- package/dist/cjs/lib/validation/engine/utils/reach.d.ts +30 -0
- package/dist/cjs/lib/validation/engine/utils/reach.js +62 -0
- package/dist/cjs/lib/validation/engine/utils/stringify.d.ts +8 -0
- package/dist/cjs/lib/validation/engine/utils/stringify.js +18 -0
- package/dist/cjs/lib/validation/engine/utils/types.d.ts +26 -0
- package/dist/cjs/lib/validation/engine/utils/types.js +51 -0
- package/dist/cjs/lib/validation/engine/utils/utils.d.ts +24 -0
- package/dist/cjs/lib/validation/engine/utils/utils.js +22 -0
- package/dist/cjs/lib/validation/exceptions/SchemaConversionException.d.ts +7 -0
- package/dist/cjs/lib/validation/exceptions/SchemaConversionException.js +14 -0
- package/dist/cjs/lib/validation/exceptions/SchemaDefinitionException.d.ts +7 -0
- package/dist/cjs/lib/validation/exceptions/SchemaDefinitionException.js +14 -0
- package/dist/cjs/lib/validation/exceptions/SchemaException.d.ts +6 -0
- package/dist/cjs/lib/validation/exceptions/SchemaException.js +10 -0
- package/dist/cjs/lib/validation/exceptions/SchemaValidationException.d.ts +36 -0
- package/dist/cjs/lib/validation/exceptions/SchemaValidationException.js +43 -0
- package/dist/cjs/lib/validation/interfaces/AlternativesSchema.d.ts +45 -0
- package/dist/cjs/lib/validation/interfaces/AlternativesSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/AnySchema.d.ts +399 -0
- package/dist/cjs/lib/validation/interfaces/AnySchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ArraySchema.d.ts +106 -0
- package/dist/cjs/lib/validation/interfaces/ArraySchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ArraySortOptions.d.ts +8 -0
- package/dist/cjs/lib/validation/interfaces/ArraySortOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ArrayUniqueOptions.d.ts +9 -0
- package/dist/cjs/lib/validation/interfaces/ArrayUniqueOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/Base64Options.d.ts +9 -0
- package/dist/cjs/lib/validation/interfaces/Base64Options.js +2 -0
- package/dist/cjs/lib/validation/interfaces/BaseValidationOptions.d.ts +97 -0
- package/dist/cjs/lib/validation/interfaces/BaseValidationOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/BigIntSchema.d.ts +67 -0
- package/dist/cjs/lib/validation/interfaces/BigIntSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/BinarySchema.d.ts +33 -0
- package/dist/cjs/lib/validation/interfaces/BinarySchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/BooleanSchema.d.ts +29 -0
- package/dist/cjs/lib/validation/interfaces/BooleanSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/Cache.d.ts +14 -0
- package/dist/cjs/lib/validation/interfaces/Cache.js +2 -0
- package/dist/cjs/lib/validation/interfaces/CacheConfiguration.d.ts +15 -0
- package/dist/cjs/lib/validation/interfaces/CacheConfiguration.js +2 -0
- package/dist/cjs/lib/validation/interfaces/CompileOptions.d.ts +9 -0
- package/dist/cjs/lib/validation/interfaces/CompileOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/Context.d.ts +9 -0
- package/dist/cjs/lib/validation/interfaces/Context.js +2 -0
- package/dist/cjs/lib/validation/interfaces/CustomHelpers.d.ts +15 -0
- package/dist/cjs/lib/validation/interfaces/CustomHelpers.js +2 -0
- package/dist/cjs/lib/validation/interfaces/DataUriOptions.d.ts +8 -0
- package/dist/cjs/lib/validation/interfaces/DataUriOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/DateSchema.d.ts +48 -0
- package/dist/cjs/lib/validation/interfaces/DateSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/DependencyOptions.d.ts +9 -0
- package/dist/cjs/lib/validation/interfaces/DependencyOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/Description.d.ts +20 -0
- package/dist/cjs/lib/validation/interfaces/Description.js +2 -0
- package/dist/cjs/lib/validation/interfaces/DomainOptions.d.ts +33 -0
- package/dist/cjs/lib/validation/interfaces/DomainOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/EmailOptions.d.ts +51 -0
- package/dist/cjs/lib/validation/interfaces/EmailOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ErrorFormattingOptions.d.ts +60 -0
- package/dist/cjs/lib/validation/interfaces/ErrorFormattingOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ErrorReport.d.ts +14 -0
- package/dist/cjs/lib/validation/interfaces/ErrorReport.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ErrorValidationOptions.d.ts +5 -0
- package/dist/cjs/lib/validation/interfaces/ErrorValidationOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/Extension.d.ts +100 -0
- package/dist/cjs/lib/validation/interfaces/Extension.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ExtensionFlag.d.ts +4 -0
- package/dist/cjs/lib/validation/interfaces/ExtensionFlag.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ExternalHelpers.d.ts +16 -0
- package/dist/cjs/lib/validation/interfaces/ExternalHelpers.js +2 -0
- package/dist/cjs/lib/validation/interfaces/FunctionSchema.d.ts +31 -0
- package/dist/cjs/lib/validation/interfaces/FunctionSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/GuidOptions.d.ts +6 -0
- package/dist/cjs/lib/validation/interfaces/GuidOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/HexOptions.d.ts +16 -0
- package/dist/cjs/lib/validation/interfaces/HexOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/HierarchySeparatorOptions.d.ts +7 -0
- package/dist/cjs/lib/validation/interfaces/HierarchySeparatorOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/IpOptions.d.ts +11 -0
- package/dist/cjs/lib/validation/interfaces/IpOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/LanguageMessageTemplate.d.ts +4 -0
- package/dist/cjs/lib/validation/interfaces/LanguageMessageTemplate.js +2 -0
- package/dist/cjs/lib/validation/interfaces/LinkSchema.d.ts +26 -0
- package/dist/cjs/lib/validation/interfaces/LinkSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/NumberSchema.d.ts +134 -0
- package/dist/cjs/lib/validation/interfaces/NumberSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ObjectPatternOptions.d.ts +6 -0
- package/dist/cjs/lib/validation/interfaces/ObjectPatternOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ObjectSchema.d.ts +173 -0
- package/dist/cjs/lib/validation/interfaces/ObjectSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/Reference.d.ts +38 -0
- package/dist/cjs/lib/validation/interfaces/Reference.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ReferenceOptions.d.ts +59 -0
- package/dist/cjs/lib/validation/interfaces/ReferenceOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/RenameOptions.d.ts +26 -0
- package/dist/cjs/lib/validation/interfaces/RenameOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/RuleOptions.d.ts +22 -0
- package/dist/cjs/lib/validation/interfaces/RuleOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/SchemaInternals.d.ts +103 -0
- package/dist/cjs/lib/validation/interfaces/SchemaInternals.js +2 -0
- package/dist/cjs/lib/validation/interfaces/State.d.ts +8 -0
- package/dist/cjs/lib/validation/interfaces/State.js +2 -0
- package/dist/cjs/lib/validation/interfaces/StringRegexOptions.d.ts +12 -0
- package/dist/cjs/lib/validation/interfaces/StringRegexOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/StringSchema.d.ts +220 -0
- package/dist/cjs/lib/validation/interfaces/StringSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/SwitchCases.d.ts +11 -0
- package/dist/cjs/lib/validation/interfaces/SwitchCases.js +2 -0
- package/dist/cjs/lib/validation/interfaces/SwitchDefault.d.ts +8 -0
- package/dist/cjs/lib/validation/interfaces/SwitchDefault.js +2 -0
- package/dist/cjs/lib/validation/interfaces/SymbolSchema.d.ts +16 -0
- package/dist/cjs/lib/validation/interfaces/SymbolSchema.js +2 -0
- package/dist/cjs/lib/validation/interfaces/TopLevelDomainOptions.d.ts +12 -0
- package/dist/cjs/lib/validation/interfaces/TopLevelDomainOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/UriOptions.d.ts +31 -0
- package/dist/cjs/lib/validation/interfaces/UriOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ValidationErrorItem.d.ts +7 -0
- package/dist/cjs/lib/validation/interfaces/ValidationErrorItem.js +2 -0
- package/dist/cjs/lib/validation/interfaces/ValidationOptions.d.ts +21 -0
- package/dist/cjs/lib/validation/interfaces/ValidationOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/WhenOptions.d.ts +30 -0
- package/dist/cjs/lib/validation/interfaces/WhenOptions.js +2 -0
- package/dist/cjs/lib/validation/interfaces/WhenSchemaOptions.d.ts +11 -0
- package/dist/cjs/lib/validation/interfaces/WhenSchemaOptions.js +2 -0
- package/dist/cjs/lib/validation/messages/ar.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/ar.js +145 -0
- package/dist/cjs/lib/validation/messages/de.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/de.js +145 -0
- package/dist/cjs/lib/validation/messages/es.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/es.js +145 -0
- package/dist/cjs/lib/validation/messages/fr.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/fr.js +145 -0
- package/dist/cjs/lib/validation/messages/hi.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/hi.js +145 -0
- package/dist/cjs/lib/validation/messages/id.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/id.js +145 -0
- package/dist/cjs/lib/validation/messages/it.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/it.js +145 -0
- package/dist/cjs/lib/validation/messages/ja.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/ja.js +145 -0
- package/dist/cjs/lib/validation/messages/ko.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/ko.js +145 -0
- package/dist/cjs/lib/validation/messages/nl.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/nl.js +145 -0
- package/dist/cjs/lib/validation/messages/pl.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/pl.js +145 -0
- package/dist/cjs/lib/validation/messages/pt-BR.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/pt-BR.js +145 -0
- package/dist/cjs/lib/validation/messages/ru.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/ru.js +145 -0
- package/dist/cjs/lib/validation/messages/th.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/th.js +145 -0
- package/dist/cjs/lib/validation/messages/tr.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/tr.js +145 -0
- package/dist/cjs/lib/validation/messages/uk.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/uk.js +145 -0
- package/dist/cjs/lib/validation/messages/vi.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/vi.js +145 -0
- package/dist/cjs/lib/validation/messages/zh-CN.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/zh-CN.js +145 -0
- package/dist/cjs/lib/validation/messages/zh-TW.d.ts +5 -0
- package/dist/cjs/lib/validation/messages/zh-TW.js +145 -0
- package/dist/cjs/lib/validation/types/BasicType.d.ts +4 -0
- package/dist/cjs/lib/validation/types/BasicType.js +2 -0
- package/dist/cjs/lib/validation/types/ComparatorFunction.d.ts +4 -0
- package/dist/cjs/lib/validation/types/ComparatorFunction.js +2 -0
- package/dist/cjs/lib/validation/types/CustomValidator.d.ts +9 -0
- package/dist/cjs/lib/validation/types/CustomValidator.js +2 -0
- package/dist/cjs/lib/validation/types/ExtensionBoundSchema.d.ts +2 -0
- package/dist/cjs/lib/validation/types/ExtensionBoundSchema.js +2 -0
- package/dist/cjs/lib/validation/types/ExternalValidationFunction.d.ts +8 -0
- package/dist/cjs/lib/validation/types/ExternalValidationFunction.js +2 -0
- package/dist/cjs/lib/validation/types/IsNonPrimitiveSubsetUnion.d.ts +3 -0
- package/dist/cjs/lib/validation/types/IsNonPrimitiveSubsetUnion.js +2 -0
- package/dist/cjs/lib/validation/types/IsPrimitiveSubset.d.ts +3 -0
- package/dist/cjs/lib/validation/types/IsPrimitiveSubset.js +2 -0
- package/dist/cjs/lib/validation/types/IsUnion.d.ts +1 -0
- package/dist/cjs/lib/validation/types/IsUnion.js +2 -0
- package/dist/cjs/lib/validation/types/LanguageMessages.d.ts +5 -0
- package/dist/cjs/lib/validation/types/LanguageMessages.js +2 -0
- package/dist/cjs/lib/validation/types/NoNestedArrays.d.ts +5 -0
- package/dist/cjs/lib/validation/types/NoNestedArrays.js +2 -0
- package/dist/cjs/lib/validation/types/NullableType.d.ts +1 -0
- package/dist/cjs/lib/validation/types/NullableType.js +2 -0
- package/dist/cjs/lib/validation/types/ObjectPropertiesSchema.d.ts +12 -0
- package/dist/cjs/lib/validation/types/ObjectPropertiesSchema.js +2 -0
- package/dist/cjs/lib/validation/types/PartialSchemaMap.d.ts +4 -0
- package/dist/cjs/lib/validation/types/PartialSchemaMap.js +2 -0
- package/dist/cjs/lib/validation/types/PresenceMode.d.ts +4 -0
- package/dist/cjs/lib/validation/types/PresenceMode.js +2 -0
- package/dist/cjs/lib/validation/types/Primitives.d.ts +4 -0
- package/dist/cjs/lib/validation/types/Primitives.js +2 -0
- package/dist/cjs/lib/validation/types/Schema.d.ts +17 -0
- package/dist/cjs/lib/validation/types/Schema.js +2 -0
- package/dist/cjs/lib/validation/types/SchemaFunction.d.ts +6 -0
- package/dist/cjs/lib/validation/types/SchemaFunction.js +2 -0
- package/dist/cjs/lib/validation/types/SchemaLike.d.ts +6 -0
- package/dist/cjs/lib/validation/types/SchemaLike.js +2 -0
- package/dist/cjs/lib/validation/types/SchemaLikeWithoutArray.d.ts +7 -0
- package/dist/cjs/lib/validation/types/SchemaLikeWithoutArray.js +2 -0
- package/dist/cjs/lib/validation/types/SchemaMap.d.ts +7 -0
- package/dist/cjs/lib/validation/types/SchemaMap.js +2 -0
- package/dist/cjs/lib/validation/types/StrictSchemaMap.d.ts +4 -0
- package/dist/cjs/lib/validation/types/StrictSchemaMap.js +2 -0
- package/dist/cjs/lib/validation/types/Types.d.ts +4 -0
- package/dist/cjs/lib/validation/types/Types.js +2 -0
- package/dist/cjs/lib/validation/types/UnwrapSchemaLikeWithoutArray.d.ts +5 -0
- package/dist/cjs/lib/validation/types/UnwrapSchemaLikeWithoutArray.js +2 -0
- package/dist/cjs/lib/validation/types/ValidationErrorFunction.d.ts +7 -0
- package/dist/cjs/lib/validation/types/ValidationErrorFunction.js +2 -0
- package/dist/cjs/options/ApplicationOptions.d.ts +60 -0
- package/dist/cjs/options/ApplicationOptions.js +75 -0
- package/dist/cjs/options/LoadAnonymousObjectOptions.d.ts +33 -0
- package/dist/cjs/options/LoadAnonymousObjectOptions.js +51 -0
- package/dist/cjs/options/LoadNamedObjectOptions.d.ts +29 -0
- package/dist/cjs/options/LoadNamedObjectOptions.js +42 -0
- package/dist/cjs/options/LoadObjectOptions.d.ts +30 -0
- package/dist/cjs/options/LoadObjectOptions.js +53 -0
- package/dist/cjs/options/ModuleLoadObjectsOptions.d.ts +44 -0
- package/dist/cjs/options/ModuleLoadObjectsOptions.js +61 -0
- package/dist/cjs/options/ModuleOptions.d.ts +74 -0
- package/dist/cjs/options/ModuleOptions.js +86 -0
- package/dist/cjs/options/OverridableNamedObjectOptions.d.ts +26 -0
- package/dist/cjs/options/OverridableNamedObjectOptions.js +37 -0
- package/dist/cjs/options/OverridableObjectOptions.d.ts +34 -0
- package/dist/cjs/options/OverridableObjectOptions.js +52 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/types/ActionPattern.d.ts +6 -0
- package/dist/cjs/types/ActionPattern.js +2 -0
- package/dist/cjs/types/ApplicationExitReason.d.ts +13 -0
- package/dist/cjs/types/ApplicationExitReason.js +2 -0
- package/dist/cjs/types/ClassDecorator.d.ts +6 -0
- package/dist/cjs/types/ClassDecorator.js +2 -0
- package/dist/cjs/types/ComponentOptions.d.ts +20 -0
- package/dist/cjs/types/ComponentOptions.js +2 -0
- package/dist/cjs/types/CronOptions.d.ts +25 -0
- package/dist/cjs/types/CronOptions.js +2 -0
- package/dist/cjs/types/JSONSchema.d.ts +284 -0
- package/dist/cjs/types/JSONSchema.js +2 -0
- package/dist/cjs/types/MethodDecorator.d.ts +5 -0
- package/dist/cjs/types/MethodDecorator.js +2 -0
- package/dist/cjs/types/ModuleOptions.d.ts +20 -0
- package/dist/cjs/types/ModuleOptions.js +2 -0
- package/dist/cjs/types/ObjectOptions.d.ts +20 -0
- package/dist/cjs/types/ObjectOptions.js +2 -0
- package/dist/cjs/types/PaginationMeta.d.ts +21 -0
- package/dist/cjs/types/PaginationMeta.js +2 -0
- package/dist/cjs/types/ParameterDecorator.d.ts +5 -0
- package/dist/cjs/types/ParameterDecorator.js +2 -0
- package/dist/cjs/types/PropertyDecorator.d.ts +4 -0
- package/dist/cjs/types/PropertyDecorator.js +2 -0
- package/dist/cjs/types/ProviderOptions.d.ts +20 -0
- package/dist/cjs/types/ProviderOptions.js +2 -0
- package/dist/esm/components/ConsoleLogger.js +96 -0
- package/dist/esm/constants/DIMetadataKey.js +10 -0
- package/dist/esm/constants/DTOMetadataKey.js +5 -0
- package/dist/esm/decorators/asst/After.js +30 -0
- package/dist/esm/decorators/asst/Before.js +29 -0
- package/dist/esm/decorators/di/Autoload.js +34 -0
- package/dist/esm/decorators/di/Configurable.js +57 -0
- package/dist/esm/decorators/di/Inject.js +33 -0
- package/dist/esm/decorators/di/Lifetime.js +100 -0
- package/dist/esm/decorators/dto/Accept.js +38 -0
- package/dist/esm/decorators/dto/Expect.js +38 -0
- package/dist/esm/decorators/dto/IndexSignature.js +30 -0
- package/dist/esm/decorators/dto/Return.js +39 -0
- package/dist/esm/dto/PaginationResultDTO.js +46 -0
- package/dist/esm/dto/PaginationSearchDTO.js +41 -0
- package/dist/esm/dto/Paginator.js +50 -0
- package/dist/esm/exceptions/DestroyRuntimeContainerException.js +13 -0
- package/dist/esm/exceptions/InvalidActionPatternDepthException.js +11 -0
- package/dist/esm/exceptions/InvalidAssistantFunctionTypeException.js +12 -0
- package/dist/esm/exceptions/InvalidObjectTypeException.js +12 -0
- package/dist/esm/exceptions/MethodNotFoundException.js +11 -0
- package/dist/esm/exceptions/ObjectDestroyedException.js +12 -0
- package/dist/esm/exceptions/alias/AliasExistsException.js +11 -0
- package/dist/esm/exceptions/alias/AliasNotFoundException.js +11 -0
- package/dist/esm/exceptions/alias/InvalidAliasNameException.js +11 -0
- package/dist/esm/exceptions/di/DependencyInjectionException.js +12 -0
- package/dist/esm/exceptions/di/InvalidObjectOptionsException.js +12 -0
- package/dist/esm/exceptions/di/LifetimeLockedException.js +12 -0
- package/dist/esm/exceptions/di/OverridableObjectTargetConfigNotFoundException.js +12 -0
- package/dist/esm/exceptions/dto/InvalidMethodAcceptException.js +12 -0
- package/dist/esm/exceptions/dto/InvalidMethodReturnException.js +12 -0
- package/dist/esm/exceptions/dto/InvalidValueException.js +14 -0
- package/dist/esm/exports/ASSTDecorators.js +3 -0
- package/dist/esm/exports/Core.js +64 -0
- package/dist/esm/exports/DIDecorators.js +5 -0
- package/dist/esm/exports/DTODecorators.js +6 -0
- package/dist/esm/exports/DTOs.js +16 -0
- package/dist/esm/exports/LoggerComponent.js +3 -0
- package/dist/esm/interfaces/IBaseObjectConstructor.js +1 -0
- package/dist/esm/interfaces/IConstructor.js +1 -0
- package/dist/esm/interfaces/ILogger.js +1 -0
- package/dist/esm/lib/app/Application.js +606 -0
- package/dist/esm/lib/app/ApplicationConfigLoader.js +26 -0
- package/dist/esm/lib/app/MigrationCommand.js +28 -0
- package/dist/esm/lib/base/BaseObject.js +605 -0
- package/dist/esm/lib/base/EventEmitter.js +147 -0
- package/dist/esm/lib/base/async-constructor/Append.js +18 -0
- package/dist/esm/lib/base/async-constructor/AsyncConstructor.js +7 -0
- package/dist/esm/lib/base/internal/ApplicationLaunch.js +53 -0
- package/dist/esm/lib/base/internal/ConfigurableRecordsInjection.js +76 -0
- package/dist/esm/lib/base/internal/EventEmitter2.js +711 -0
- package/dist/esm/lib/base/internal/MemberDeclarations.js +40 -0
- package/dist/esm/lib/base/internal/MethodAssistantFunction.js +106 -0
- package/dist/esm/lib/base/internal/ModuleConfigLoader.js +109 -0
- package/dist/esm/lib/base/internal/ModuleInitialization.js +5 -0
- package/dist/esm/lib/base/internal/ObjectConfiguration.js +36 -0
- package/dist/esm/lib/base/internal/ObjectContainer.js +19 -0
- package/dist/esm/lib/base/internal/ObjectInjection.js +53 -0
- package/dist/esm/lib/base/internal/ObjectOptionsCheck.js +67 -0
- package/dist/esm/lib/base/internal/ObjectStartup.js +69 -0
- package/dist/esm/lib/base/internal/ObjectType.js +68 -0
- package/dist/esm/lib/core/Alias.js +93 -0
- package/dist/esm/lib/core/Component.js +359 -0
- package/dist/esm/lib/core/Container.js +629 -0
- package/dist/esm/lib/core/Module.js +265 -0
- package/dist/esm/lib/core/Provider.js +54 -0
- package/dist/esm/lib/dto/CachedSchema.js +1 -0
- package/dist/esm/lib/dto/DTO.js +458 -0
- package/dist/esm/lib/dto/DataValidator.js +243 -0
- package/dist/esm/lib/dto/FlexibleDTO.js +33 -0
- package/dist/esm/lib/dto/MethodValidation.js +136 -0
- package/dist/esm/lib/dto/ObjectSchemaValidation.js +167 -0
- package/dist/esm/lib/dto/internal/CronValidator.js +125 -0
- package/dist/esm/lib/foundation/BasicInfo.js +106 -0
- package/dist/esm/lib/foundation/EndProcess.js +26 -0
- package/dist/esm/lib/foundation/Exception.js +160 -0
- package/dist/esm/lib/foundation/LifecycleErrorReporter.js +59 -0
- package/dist/esm/lib/foundation/Packaging.js +38 -0
- package/dist/esm/lib/foundation/ThrowWarning.js +13 -0
- package/dist/esm/lib/helpers/internal/WithCause.js +9 -0
- package/dist/esm/lib/ioc/ConstructorSymbol.js +17 -0
- package/dist/esm/lib/ioc/DependencyInjectionContainer.js +409 -0
- package/dist/esm/lib/ioc/Errors.js +108 -0
- package/dist/esm/lib/ioc/Lifetime.js +27 -0
- package/dist/esm/lib/ioc/ListModules.js +68 -0
- package/dist/esm/lib/ioc/LoadModuleNative.js +5 -0
- package/dist/esm/lib/ioc/LoadModules.js +164 -0
- package/dist/esm/lib/ioc/ObjectLifetime.js +34 -0
- package/dist/esm/lib/ioc/ObjectWeakRefs.js +42 -0
- package/dist/esm/lib/ioc/Resolvers.js +242 -0
- package/dist/esm/lib/ioc/Utils.js +65 -0
- package/dist/esm/lib/validation/JsonSchema.js +81 -0
- package/dist/esm/lib/validation/VLD.js +210 -0
- package/dist/esm/lib/validation/ValidationLanguage.js +51 -0
- package/dist/esm/lib/validation/ValidationMessages.js +151 -0
- package/dist/esm/lib/validation/engine/address/decode.js +101 -0
- package/dist/esm/lib/validation/engine/address/domain.js +143 -0
- package/dist/esm/lib/validation/engine/address/email.js +145 -0
- package/dist/esm/lib/validation/engine/address/errors.js +27 -0
- package/dist/esm/lib/validation/engine/address/index.js +9 -0
- package/dist/esm/lib/validation/engine/address/ip.js +46 -0
- package/dist/esm/lib/validation/engine/address/uri.js +214 -0
- package/dist/esm/lib/validation/engine/expression/index.js +352 -0
- package/dist/esm/lib/validation/engine/json-schema/combinations.js +30 -0
- package/dist/esm/lib/validation/engine/json-schema/helpers.js +366 -0
- package/dist/esm/lib/validation/engine/json-schema/import.js +865 -0
- package/dist/esm/lib/validation/engine/json-schema/index.js +36 -0
- package/dist/esm/lib/validation/engine/json-schema/model.js +4 -0
- package/dist/esm/lib/validation/engine/json-schema/parsers/json-2020-12.js +19 -0
- package/dist/esm/lib/validation/engine/json-schema/parsers/json-draft-04.js +56 -0
- package/dist/esm/lib/validation/engine/json-schema/parsers/json-draft-2019-09.js +32 -0
- package/dist/esm/lib/validation/engine/json-schema/parsers/json.js +1460 -0
- package/dist/esm/lib/validation/engine/json-schema/parsers/open-api-3.1.js +34 -0
- package/dist/esm/lib/validation/engine/json-schema/parsers/open-api.js +169 -0
- package/dist/esm/lib/validation/engine/location/index.js +20 -0
- package/dist/esm/lib/validation/engine/schema/annotate.js +126 -0
- package/dist/esm/lib/validation/engine/schema/assert.js +60 -0
- package/dist/esm/lib/validation/engine/schema/base.js +797 -0
- package/dist/esm/lib/validation/engine/schema/cache.js +94 -0
- package/dist/esm/lib/validation/engine/schema/common.js +203 -0
- package/dist/esm/lib/validation/engine/schema/compile.js +203 -0
- package/dist/esm/lib/validation/engine/schema/errors.js +189 -0
- package/dist/esm/lib/validation/engine/schema/extend.js +199 -0
- package/dist/esm/lib/validation/engine/schema/extensions/bigint.js +170 -0
- package/dist/esm/lib/validation/engine/schema/fastpath.js +622 -0
- package/dist/esm/lib/validation/engine/schema/formats.js +102 -0
- package/dist/esm/lib/validation/engine/schema/index.js +199 -0
- package/dist/esm/lib/validation/engine/schema/lazy.js +5 -0
- package/dist/esm/lib/validation/engine/schema/manifest.js +325 -0
- package/dist/esm/lib/validation/engine/schema/messages.js +131 -0
- package/dist/esm/lib/validation/engine/schema/model.js +1 -0
- package/dist/esm/lib/validation/engine/schema/modify.js +186 -0
- package/dist/esm/lib/validation/engine/schema/ref.js +277 -0
- package/dist/esm/lib/validation/engine/schema/schemas.js +262 -0
- package/dist/esm/lib/validation/engine/schema/state.js +110 -0
- package/dist/esm/lib/validation/engine/schema/template.js +294 -0
- package/dist/esm/lib/validation/engine/schema/trace.js +240 -0
- package/dist/esm/lib/validation/engine/schema/types/alternatives.js +294 -0
- package/dist/esm/lib/validation/engine/schema/types/any.js +160 -0
- package/dist/esm/lib/validation/engine/schema/types/array.js +630 -0
- package/dist/esm/lib/validation/engine/schema/types/binary.js +78 -0
- package/dist/esm/lib/validation/engine/schema/types/boolean.js +104 -0
- package/dist/esm/lib/validation/engine/schema/types/date.js +159 -0
- package/dist/esm/lib/validation/engine/schema/types/function.js +63 -0
- package/dist/esm/lib/validation/engine/schema/types/keys.js +873 -0
- package/dist/esm/lib/validation/engine/schema/types/link.js +122 -0
- package/dist/esm/lib/validation/engine/schema/types/number.js +346 -0
- package/dist/esm/lib/validation/engine/schema/types/object.js +16 -0
- package/dist/esm/lib/validation/engine/schema/types/string.js +728 -0
- package/dist/esm/lib/validation/engine/schema/types/symbol.js +70 -0
- package/dist/esm/lib/validation/engine/schema/validator.js +638 -0
- package/dist/esm/lib/validation/engine/schema/values.js +164 -0
- package/dist/esm/lib/validation/engine/sorter/index.js +176 -0
- package/dist/esm/lib/validation/engine/tlds/index.js +5 -0
- package/dist/esm/lib/validation/engine/tlds/tlds.js +1445 -0
- package/dist/esm/lib/validation/engine/utils/applyToDefaults.js +86 -0
- package/dist/esm/lib/validation/engine/utils/assert.js +20 -0
- package/dist/esm/lib/validation/engine/utils/assertError.js +14 -0
- package/dist/esm/lib/validation/engine/utils/clone.js +157 -0
- package/dist/esm/lib/validation/engine/utils/deepEqual.js +262 -0
- package/dist/esm/lib/validation/engine/utils/escapeHtml.js +59 -0
- package/dist/esm/lib/validation/engine/utils/escapeRegex.js +10 -0
- package/dist/esm/lib/validation/engine/utils/ignore.js +9 -0
- package/dist/esm/lib/validation/engine/utils/index.js +16 -0
- package/dist/esm/lib/validation/engine/utils/merge.js +64 -0
- package/dist/esm/lib/validation/engine/utils/reach.js +59 -0
- package/dist/esm/lib/validation/engine/utils/stringify.js +15 -0
- package/dist/esm/lib/validation/engine/utils/types.js +47 -0
- package/dist/esm/lib/validation/engine/utils/utils.js +18 -0
- package/dist/esm/lib/validation/exceptions/SchemaConversionException.js +10 -0
- package/dist/esm/lib/validation/exceptions/SchemaDefinitionException.js +10 -0
- package/dist/esm/lib/validation/exceptions/SchemaException.js +6 -0
- package/dist/esm/lib/validation/exceptions/SchemaValidationException.js +39 -0
- package/dist/esm/lib/validation/interfaces/AlternativesSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/AnySchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/ArraySchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/ArraySortOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/ArrayUniqueOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/Base64Options.js +1 -0
- package/dist/esm/lib/validation/interfaces/BaseValidationOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/BigIntSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/BinarySchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/BooleanSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/Cache.js +1 -0
- package/dist/esm/lib/validation/interfaces/CacheConfiguration.js +1 -0
- package/dist/esm/lib/validation/interfaces/CompileOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/Context.js +1 -0
- package/dist/esm/lib/validation/interfaces/CustomHelpers.js +1 -0
- package/dist/esm/lib/validation/interfaces/DataUriOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/DateSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/DependencyOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/Description.js +1 -0
- package/dist/esm/lib/validation/interfaces/DomainOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/EmailOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/ErrorFormattingOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/ErrorReport.js +1 -0
- package/dist/esm/lib/validation/interfaces/ErrorValidationOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/Extension.js +1 -0
- package/dist/esm/lib/validation/interfaces/ExtensionFlag.js +1 -0
- package/dist/esm/lib/validation/interfaces/ExternalHelpers.js +1 -0
- package/dist/esm/lib/validation/interfaces/FunctionSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/GuidOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/HexOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/HierarchySeparatorOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/IpOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/LanguageMessageTemplate.js +1 -0
- package/dist/esm/lib/validation/interfaces/LinkSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/NumberSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/ObjectPatternOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/ObjectSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/Reference.js +1 -0
- package/dist/esm/lib/validation/interfaces/ReferenceOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/RenameOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/RuleOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/SchemaInternals.js +1 -0
- package/dist/esm/lib/validation/interfaces/State.js +1 -0
- package/dist/esm/lib/validation/interfaces/StringRegexOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/StringSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/SwitchCases.js +1 -0
- package/dist/esm/lib/validation/interfaces/SwitchDefault.js +1 -0
- package/dist/esm/lib/validation/interfaces/SymbolSchema.js +1 -0
- package/dist/esm/lib/validation/interfaces/TopLevelDomainOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/UriOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/ValidationErrorItem.js +1 -0
- package/dist/esm/lib/validation/interfaces/ValidationOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/WhenOptions.js +1 -0
- package/dist/esm/lib/validation/interfaces/WhenSchemaOptions.js +1 -0
- package/dist/esm/lib/validation/messages/ar.js +143 -0
- package/dist/esm/lib/validation/messages/de.js +143 -0
- package/dist/esm/lib/validation/messages/es.js +143 -0
- package/dist/esm/lib/validation/messages/fr.js +143 -0
- package/dist/esm/lib/validation/messages/hi.js +143 -0
- package/dist/esm/lib/validation/messages/id.js +143 -0
- package/dist/esm/lib/validation/messages/it.js +143 -0
- package/dist/esm/lib/validation/messages/ja.js +143 -0
- package/dist/esm/lib/validation/messages/ko.js +143 -0
- package/dist/esm/lib/validation/messages/nl.js +143 -0
- package/dist/esm/lib/validation/messages/pl.js +143 -0
- package/dist/esm/lib/validation/messages/pt-BR.js +143 -0
- package/dist/esm/lib/validation/messages/ru.js +143 -0
- package/dist/esm/lib/validation/messages/th.js +143 -0
- package/dist/esm/lib/validation/messages/tr.js +143 -0
- package/dist/esm/lib/validation/messages/uk.js +143 -0
- package/dist/esm/lib/validation/messages/vi.js +143 -0
- package/dist/esm/lib/validation/messages/zh-CN.js +143 -0
- package/dist/esm/lib/validation/messages/zh-TW.js +143 -0
- package/dist/esm/lib/validation/types/BasicType.js +1 -0
- package/dist/esm/lib/validation/types/ComparatorFunction.js +1 -0
- package/dist/esm/lib/validation/types/CustomValidator.js +1 -0
- package/dist/esm/lib/validation/types/ExtensionBoundSchema.js +1 -0
- package/dist/esm/lib/validation/types/ExternalValidationFunction.js +1 -0
- package/dist/esm/lib/validation/types/IsNonPrimitiveSubsetUnion.js +1 -0
- package/dist/esm/lib/validation/types/IsPrimitiveSubset.js +1 -0
- package/dist/esm/lib/validation/types/IsUnion.js +1 -0
- package/dist/esm/lib/validation/types/LanguageMessages.js +1 -0
- package/dist/esm/lib/validation/types/NoNestedArrays.js +1 -0
- package/dist/esm/lib/validation/types/NullableType.js +1 -0
- package/dist/esm/lib/validation/types/ObjectPropertiesSchema.js +1 -0
- package/dist/esm/lib/validation/types/PartialSchemaMap.js +1 -0
- package/dist/esm/lib/validation/types/PresenceMode.js +1 -0
- package/dist/esm/lib/validation/types/Primitives.js +1 -0
- package/dist/esm/lib/validation/types/Schema.js +1 -0
- package/dist/esm/lib/validation/types/SchemaFunction.js +1 -0
- package/dist/esm/lib/validation/types/SchemaLike.js +1 -0
- package/dist/esm/lib/validation/types/SchemaLikeWithoutArray.js +1 -0
- package/dist/esm/lib/validation/types/SchemaMap.js +1 -0
- package/dist/esm/lib/validation/types/StrictSchemaMap.js +1 -0
- package/dist/esm/lib/validation/types/Types.js +1 -0
- package/dist/esm/lib/validation/types/UnwrapSchemaLikeWithoutArray.js +1 -0
- package/dist/esm/lib/validation/types/ValidationErrorFunction.js +1 -0
- package/dist/esm/options/ApplicationOptions.js +71 -0
- package/dist/esm/options/LoadAnonymousObjectOptions.js +48 -0
- package/dist/esm/options/LoadNamedObjectOptions.js +39 -0
- package/dist/esm/options/LoadObjectOptions.js +50 -0
- package/dist/esm/options/ModuleLoadObjectsOptions.js +57 -0
- package/dist/esm/options/ModuleOptions.js +82 -0
- package/dist/esm/options/OverridableNamedObjectOptions.js +34 -0
- package/dist/esm/options/OverridableObjectOptions.js +49 -0
- package/dist/esm/types/ActionPattern.js +1 -0
- package/dist/esm/types/ApplicationExitReason.js +1 -0
- package/dist/esm/types/ClassDecorator.js +1 -0
- package/dist/esm/types/ComponentOptions.js +1 -0
- package/dist/esm/types/CronOptions.js +1 -0
- package/dist/esm/types/JSONSchema.js +1 -0
- package/dist/esm/types/MethodDecorator.js +1 -0
- package/dist/esm/types/ModuleOptions.js +1 -0
- package/dist/esm/types/ObjectOptions.js +1 -0
- package/dist/esm/types/PaginationMeta.js +1 -0
- package/dist/esm/types/ParameterDecorator.js +1 -0
- package/dist/esm/types/PropertyDecorator.js +1 -0
- package/dist/esm/types/ProviderOptions.js +1 -0
- package/dist/types/components/ConsoleLogger.d.ts +62 -0
- package/dist/types/constants/DIMetadataKey.d.ts +10 -0
- package/dist/types/constants/DTOMetadataKey.d.ts +5 -0
- package/dist/types/decorators/asst/After.d.ts +29 -0
- package/dist/types/decorators/asst/Before.d.ts +28 -0
- package/dist/types/decorators/di/Autoload.d.ts +33 -0
- package/dist/types/decorators/di/Configurable.d.ts +51 -0
- package/dist/types/decorators/di/Inject.d.ts +85 -0
- package/dist/types/decorators/di/Lifetime.d.ts +94 -0
- package/dist/types/decorators/dto/Accept.d.ts +38 -0
- package/dist/types/decorators/dto/Expect.d.ts +38 -0
- package/dist/types/decorators/dto/IndexSignature.d.ts +30 -0
- package/dist/types/decorators/dto/Return.d.ts +39 -0
- package/dist/types/dto/PaginationResultDTO.d.ts +33 -0
- package/dist/types/dto/PaginationSearchDTO.d.ts +33 -0
- package/dist/types/dto/Paginator.d.ts +54 -0
- package/dist/types/exceptions/DestroyRuntimeContainerException.d.ts +10 -0
- package/dist/types/exceptions/InvalidActionPatternDepthException.d.ts +8 -0
- package/dist/types/exceptions/InvalidAssistantFunctionTypeException.d.ts +9 -0
- package/dist/types/exceptions/InvalidObjectTypeException.d.ts +9 -0
- package/dist/types/exceptions/MethodNotFoundException.d.ts +8 -0
- package/dist/types/exceptions/ObjectDestroyedException.d.ts +9 -0
- package/dist/types/exceptions/alias/AliasExistsException.d.ts +8 -0
- package/dist/types/exceptions/alias/AliasNotFoundException.d.ts +8 -0
- package/dist/types/exceptions/alias/InvalidAliasNameException.d.ts +8 -0
- package/dist/types/exceptions/di/DependencyInjectionException.d.ts +9 -0
- package/dist/types/exceptions/di/InvalidObjectOptionsException.d.ts +9 -0
- package/dist/types/exceptions/di/LifetimeLockedException.d.ts +9 -0
- package/dist/types/exceptions/di/OverridableObjectTargetConfigNotFoundException.d.ts +9 -0
- package/dist/types/exceptions/dto/InvalidMethodAcceptException.d.ts +9 -0
- package/dist/types/exceptions/dto/InvalidMethodReturnException.d.ts +9 -0
- package/dist/types/exceptions/dto/InvalidValueException.d.ts +11 -0
- package/dist/types/exports/ASSTDecorators.d.ts +3 -0
- package/dist/types/exports/Core.d.ts +93 -0
- package/dist/types/exports/DIDecorators.d.ts +5 -0
- package/dist/types/exports/DTODecorators.d.ts +6 -0
- package/dist/types/exports/DTOs.d.ts +17 -0
- package/dist/types/exports/LoggerComponent.d.ts +3 -0
- package/dist/types/interfaces/IBaseObjectConstructor.d.ts +10 -0
- package/dist/types/interfaces/IConstructor.d.ts +6 -0
- package/dist/types/interfaces/ILogger.d.ts +35 -0
- package/dist/types/lib/app/Application.d.ts +346 -0
- package/dist/types/lib/app/ApplicationConfigLoader.d.ts +17 -0
- package/dist/types/lib/app/MigrationCommand.d.ts +31 -0
- package/dist/types/lib/base/BaseObject.d.ts +343 -0
- package/dist/types/lib/base/EventEmitter.d.ts +37 -0
- package/dist/types/lib/base/async-constructor/Append.d.ts +1 -0
- package/dist/types/lib/base/async-constructor/AsyncConstructor.d.ts +3 -0
- package/dist/types/lib/base/internal/ApplicationLaunch.d.ts +16 -0
- package/dist/types/lib/base/internal/ConfigurableRecordsInjection.d.ts +47 -0
- package/dist/types/lib/base/internal/EventEmitter2.d.ts +184 -0
- package/dist/types/lib/base/internal/MemberDeclarations.d.ts +23 -0
- package/dist/types/lib/base/internal/MethodAssistantFunction.d.ts +20 -0
- package/dist/types/lib/base/internal/ModuleConfigLoader.d.ts +46 -0
- package/dist/types/lib/base/internal/ModuleInitialization.d.ts +5 -0
- package/dist/types/lib/base/internal/ObjectConfiguration.d.ts +29 -0
- package/dist/types/lib/base/internal/ObjectContainer.d.ts +15 -0
- package/dist/types/lib/base/internal/ObjectInjection.d.ts +43 -0
- package/dist/types/lib/base/internal/ObjectOptionsCheck.d.ts +12 -0
- package/dist/types/lib/base/internal/ObjectStartup.d.ts +31 -0
- package/dist/types/lib/base/internal/ObjectType.d.ts +37 -0
- package/dist/types/lib/core/Alias.d.ts +48 -0
- package/dist/types/lib/core/Component.d.ts +267 -0
- package/dist/types/lib/core/Container.d.ts +341 -0
- package/dist/types/lib/core/Module.d.ts +165 -0
- package/dist/types/lib/core/Provider.d.ts +52 -0
- package/dist/types/lib/dto/CachedSchema.d.ts +7 -0
- package/dist/types/lib/dto/DTO.d.ts +278 -0
- package/dist/types/lib/dto/DataValidator.d.ts +166 -0
- package/dist/types/lib/dto/FlexibleDTO.d.ts +23 -0
- package/dist/types/lib/dto/MethodValidation.d.ts +44 -0
- package/dist/types/lib/dto/ObjectSchemaValidation.d.ts +86 -0
- package/dist/types/lib/dto/internal/CronValidator.d.ts +8 -0
- package/dist/types/lib/foundation/BasicInfo.d.ts +46 -0
- package/dist/types/lib/foundation/EndProcess.d.ts +14 -0
- package/dist/types/lib/foundation/Exception.d.ts +88 -0
- package/dist/types/lib/foundation/LifecycleErrorReporter.d.ts +26 -0
- package/dist/types/lib/foundation/Packaging.d.ts +29 -0
- package/dist/types/lib/foundation/ThrowWarning.d.ts +6 -0
- package/dist/types/lib/helpers/internal/WithCause.d.ts +6 -0
- package/dist/types/lib/ioc/ConstructorSymbol.d.ts +3 -0
- package/dist/types/lib/ioc/DependencyInjectionContainer.d.ts +178 -0
- package/dist/types/lib/ioc/Errors.d.ts +59 -0
- package/dist/types/lib/ioc/Lifetime.d.ts +12 -0
- package/dist/types/lib/ioc/ListModules.d.ts +42 -0
- package/dist/types/lib/ioc/LoadModuleNative.d.ts +1 -0
- package/dist/types/lib/ioc/LoadModules.d.ts +49 -0
- package/dist/types/lib/ioc/ObjectLifetime.d.ts +22 -0
- package/dist/types/lib/ioc/ObjectWeakRefs.d.ts +19 -0
- package/dist/types/lib/ioc/Resolvers.d.ts +136 -0
- package/dist/types/lib/ioc/Utils.d.ts +33 -0
- package/dist/types/lib/validation/JsonSchema.d.ts +127 -0
- package/dist/types/lib/validation/VLD.d.ts +275 -0
- package/dist/types/lib/validation/ValidationLanguage.d.ts +42 -0
- package/dist/types/lib/validation/ValidationMessages.d.ts +92 -0
- package/dist/types/lib/validation/engine/address/decode.d.ts +8 -0
- package/dist/types/lib/validation/engine/address/domain.d.ts +74 -0
- package/dist/types/lib/validation/engine/address/email.d.ts +27 -0
- package/dist/types/lib/validation/engine/address/errors.d.ts +48 -0
- package/dist/types/lib/validation/engine/address/index.d.ts +9 -0
- package/dist/types/lib/validation/engine/address/ip.d.ts +35 -0
- package/dist/types/lib/validation/engine/address/uri.d.ts +55 -0
- package/dist/types/lib/validation/engine/expression/index.d.ts +70 -0
- package/dist/types/lib/validation/engine/json-schema/combinations.d.ts +11 -0
- package/dist/types/lib/validation/engine/json-schema/helpers.d.ts +76 -0
- package/dist/types/lib/validation/engine/json-schema/import.d.ts +56 -0
- package/dist/types/lib/validation/engine/json-schema/index.d.ts +20 -0
- package/dist/types/lib/validation/engine/json-schema/model.d.ts +124 -0
- package/dist/types/lib/validation/engine/json-schema/parsers/json-2020-12.d.ts +9 -0
- package/dist/types/lib/validation/engine/json-schema/parsers/json-draft-04.d.ts +17 -0
- package/dist/types/lib/validation/engine/json-schema/parsers/json-draft-2019-09.d.ts +13 -0
- package/dist/types/lib/validation/engine/json-schema/parsers/json.d.ts +245 -0
- package/dist/types/lib/validation/engine/json-schema/parsers/open-api-3.1.d.ts +13 -0
- package/dist/types/lib/validation/engine/json-schema/parsers/open-api.d.ts +24 -0
- package/dist/types/lib/validation/engine/location/index.d.ts +18 -0
- package/dist/types/lib/validation/engine/schema/annotate.d.ts +13 -0
- package/dist/types/lib/validation/engine/schema/assert.d.ts +25 -0
- package/dist/types/lib/validation/engine/schema/base.d.ts +194 -0
- package/dist/types/lib/validation/engine/schema/cache.d.ts +41 -0
- package/dist/types/lib/validation/engine/schema/common.d.ts +79 -0
- package/dist/types/lib/validation/engine/schema/compile.d.ts +81 -0
- package/dist/types/lib/validation/engine/schema/errors.d.ts +94 -0
- package/dist/types/lib/validation/engine/schema/extend.d.ts +122 -0
- package/dist/types/lib/validation/engine/schema/extensions/bigint.d.ts +33 -0
- package/dist/types/lib/validation/engine/schema/fastpath.d.ts +35 -0
- package/dist/types/lib/validation/engine/schema/formats.d.ts +8 -0
- package/dist/types/lib/validation/engine/schema/index.d.ts +95 -0
- package/dist/types/lib/validation/engine/schema/lazy.d.ts +21 -0
- package/dist/types/lib/validation/engine/schema/manifest.d.ts +52 -0
- package/dist/types/lib/validation/engine/schema/messages.d.ts +37 -0
- package/dist/types/lib/validation/engine/schema/model.d.ts +196 -0
- package/dist/types/lib/validation/engine/schema/modify.d.ts +58 -0
- package/dist/types/lib/validation/engine/schema/ref.d.ts +116 -0
- package/dist/types/lib/validation/engine/schema/schemas.d.ts +6 -0
- package/dist/types/lib/validation/engine/schema/state.d.ts +48 -0
- package/dist/types/lib/validation/engine/schema/template.d.ts +72 -0
- package/dist/types/lib/validation/engine/schema/trace.d.ts +121 -0
- package/dist/types/lib/validation/engine/schema/types/alternatives.d.ts +36 -0
- package/dist/types/lib/validation/engine/schema/types/any.d.ts +37 -0
- package/dist/types/lib/validation/engine/schema/types/array.d.ts +46 -0
- package/dist/types/lib/validation/engine/schema/types/binary.d.ts +20 -0
- package/dist/types/lib/validation/engine/schema/types/boolean.d.ts +29 -0
- package/dist/types/lib/validation/engine/schema/types/date.d.ts +27 -0
- package/dist/types/lib/validation/engine/schema/types/function.d.ts +12 -0
- package/dist/types/lib/validation/engine/schema/types/keys.d.ts +119 -0
- package/dist/types/lib/validation/engine/schema/types/link.d.ts +21 -0
- package/dist/types/lib/validation/engine/schema/types/number.d.ts +46 -0
- package/dist/types/lib/validation/engine/schema/types/object.d.ts +10 -0
- package/dist/types/lib/validation/engine/schema/types/string.d.ts +115 -0
- package/dist/types/lib/validation/engine/schema/types/symbol.d.ts +23 -0
- package/dist/types/lib/validation/engine/schema/validator.d.ts +114 -0
- package/dist/types/lib/validation/engine/schema/values.d.ts +51 -0
- package/dist/types/lib/validation/engine/sorter/index.d.ts +54 -0
- package/dist/types/lib/validation/engine/tlds/index.d.ts +1 -0
- package/dist/types/lib/validation/engine/tlds/tlds.d.ts +4 -0
- package/dist/types/lib/validation/engine/utils/applyToDefaults.d.ts +17 -0
- package/dist/types/lib/validation/engine/utils/assert.d.ts +6 -0
- package/dist/types/lib/validation/engine/utils/assertError.d.ts +10 -0
- package/dist/types/lib/validation/engine/utils/clone.d.ts +25 -0
- package/dist/types/lib/validation/engine/utils/deepEqual.d.ts +29 -0
- package/dist/types/lib/validation/engine/utils/escapeHtml.d.ts +8 -0
- package/dist/types/lib/validation/engine/utils/escapeRegex.d.ts +8 -0
- package/dist/types/lib/validation/engine/utils/ignore.d.ts +8 -0
- package/dist/types/lib/validation/engine/utils/index.d.ts +16 -0
- package/dist/types/lib/validation/engine/utils/merge.d.ts +21 -0
- package/dist/types/lib/validation/engine/utils/reach.d.ts +30 -0
- package/dist/types/lib/validation/engine/utils/stringify.d.ts +8 -0
- package/dist/types/lib/validation/engine/utils/types.d.ts +26 -0
- package/dist/types/lib/validation/engine/utils/utils.d.ts +24 -0
- package/dist/types/lib/validation/exceptions/SchemaConversionException.d.ts +7 -0
- package/dist/types/lib/validation/exceptions/SchemaDefinitionException.d.ts +7 -0
- package/dist/types/lib/validation/exceptions/SchemaException.d.ts +6 -0
- package/dist/types/lib/validation/exceptions/SchemaValidationException.d.ts +36 -0
- package/dist/types/lib/validation/interfaces/AlternativesSchema.d.ts +45 -0
- package/dist/types/lib/validation/interfaces/AnySchema.d.ts +399 -0
- package/dist/types/lib/validation/interfaces/ArraySchema.d.ts +106 -0
- package/dist/types/lib/validation/interfaces/ArraySortOptions.d.ts +8 -0
- package/dist/types/lib/validation/interfaces/ArrayUniqueOptions.d.ts +9 -0
- package/dist/types/lib/validation/interfaces/Base64Options.d.ts +9 -0
- package/dist/types/lib/validation/interfaces/BaseValidationOptions.d.ts +97 -0
- package/dist/types/lib/validation/interfaces/BigIntSchema.d.ts +67 -0
- package/dist/types/lib/validation/interfaces/BinarySchema.d.ts +33 -0
- package/dist/types/lib/validation/interfaces/BooleanSchema.d.ts +29 -0
- package/dist/types/lib/validation/interfaces/Cache.d.ts +14 -0
- package/dist/types/lib/validation/interfaces/CacheConfiguration.d.ts +15 -0
- package/dist/types/lib/validation/interfaces/CompileOptions.d.ts +9 -0
- package/dist/types/lib/validation/interfaces/Context.d.ts +9 -0
- package/dist/types/lib/validation/interfaces/CustomHelpers.d.ts +15 -0
- package/dist/types/lib/validation/interfaces/DataUriOptions.d.ts +8 -0
- package/dist/types/lib/validation/interfaces/DateSchema.d.ts +48 -0
- package/dist/types/lib/validation/interfaces/DependencyOptions.d.ts +9 -0
- package/dist/types/lib/validation/interfaces/Description.d.ts +20 -0
- package/dist/types/lib/validation/interfaces/DomainOptions.d.ts +33 -0
- package/dist/types/lib/validation/interfaces/EmailOptions.d.ts +51 -0
- package/dist/types/lib/validation/interfaces/ErrorFormattingOptions.d.ts +60 -0
- package/dist/types/lib/validation/interfaces/ErrorReport.d.ts +14 -0
- package/dist/types/lib/validation/interfaces/ErrorValidationOptions.d.ts +5 -0
- package/dist/types/lib/validation/interfaces/Extension.d.ts +100 -0
- package/dist/types/lib/validation/interfaces/ExtensionFlag.d.ts +4 -0
- package/dist/types/lib/validation/interfaces/ExternalHelpers.d.ts +16 -0
- package/dist/types/lib/validation/interfaces/FunctionSchema.d.ts +31 -0
- package/dist/types/lib/validation/interfaces/GuidOptions.d.ts +6 -0
- package/dist/types/lib/validation/interfaces/HexOptions.d.ts +16 -0
- package/dist/types/lib/validation/interfaces/HierarchySeparatorOptions.d.ts +7 -0
- package/dist/types/lib/validation/interfaces/IpOptions.d.ts +11 -0
- package/dist/types/lib/validation/interfaces/LanguageMessageTemplate.d.ts +4 -0
- package/dist/types/lib/validation/interfaces/LinkSchema.d.ts +26 -0
- package/dist/types/lib/validation/interfaces/NumberSchema.d.ts +134 -0
- package/dist/types/lib/validation/interfaces/ObjectPatternOptions.d.ts +6 -0
- package/dist/types/lib/validation/interfaces/ObjectSchema.d.ts +173 -0
- package/dist/types/lib/validation/interfaces/Reference.d.ts +38 -0
- package/dist/types/lib/validation/interfaces/ReferenceOptions.d.ts +59 -0
- package/dist/types/lib/validation/interfaces/RenameOptions.d.ts +26 -0
- package/dist/types/lib/validation/interfaces/RuleOptions.d.ts +22 -0
- package/dist/types/lib/validation/interfaces/SchemaInternals.d.ts +103 -0
- package/dist/types/lib/validation/interfaces/State.d.ts +8 -0
- package/dist/types/lib/validation/interfaces/StringRegexOptions.d.ts +12 -0
- package/dist/types/lib/validation/interfaces/StringSchema.d.ts +220 -0
- package/dist/types/lib/validation/interfaces/SwitchCases.d.ts +11 -0
- package/dist/types/lib/validation/interfaces/SwitchDefault.d.ts +8 -0
- package/dist/types/lib/validation/interfaces/SymbolSchema.d.ts +16 -0
- package/dist/types/lib/validation/interfaces/TopLevelDomainOptions.d.ts +12 -0
- package/dist/types/lib/validation/interfaces/UriOptions.d.ts +31 -0
- package/dist/types/lib/validation/interfaces/ValidationErrorItem.d.ts +7 -0
- package/dist/types/lib/validation/interfaces/ValidationOptions.d.ts +21 -0
- package/dist/types/lib/validation/interfaces/WhenOptions.d.ts +30 -0
- package/dist/types/lib/validation/interfaces/WhenSchemaOptions.d.ts +11 -0
- package/dist/types/lib/validation/messages/ar.d.ts +5 -0
- package/dist/types/lib/validation/messages/de.d.ts +5 -0
- package/dist/types/lib/validation/messages/es.d.ts +5 -0
- package/dist/types/lib/validation/messages/fr.d.ts +5 -0
- package/dist/types/lib/validation/messages/hi.d.ts +5 -0
- package/dist/types/lib/validation/messages/id.d.ts +5 -0
- package/dist/types/lib/validation/messages/it.d.ts +5 -0
- package/dist/types/lib/validation/messages/ja.d.ts +5 -0
- package/dist/types/lib/validation/messages/ko.d.ts +5 -0
- package/dist/types/lib/validation/messages/nl.d.ts +5 -0
- package/dist/types/lib/validation/messages/pl.d.ts +5 -0
- package/dist/types/lib/validation/messages/pt-BR.d.ts +5 -0
- package/dist/types/lib/validation/messages/ru.d.ts +5 -0
- package/dist/types/lib/validation/messages/th.d.ts +5 -0
- package/dist/types/lib/validation/messages/tr.d.ts +5 -0
- package/dist/types/lib/validation/messages/uk.d.ts +5 -0
- package/dist/types/lib/validation/messages/vi.d.ts +5 -0
- package/dist/types/lib/validation/messages/zh-CN.d.ts +5 -0
- package/dist/types/lib/validation/messages/zh-TW.d.ts +5 -0
- package/dist/types/lib/validation/types/BasicType.d.ts +4 -0
- package/dist/types/lib/validation/types/ComparatorFunction.d.ts +4 -0
- package/dist/types/lib/validation/types/CustomValidator.d.ts +9 -0
- package/dist/types/lib/validation/types/ExtensionBoundSchema.d.ts +2 -0
- package/dist/types/lib/validation/types/ExternalValidationFunction.d.ts +8 -0
- package/dist/types/lib/validation/types/IsNonPrimitiveSubsetUnion.d.ts +3 -0
- package/dist/types/lib/validation/types/IsPrimitiveSubset.d.ts +3 -0
- package/dist/types/lib/validation/types/IsUnion.d.ts +1 -0
- package/dist/types/lib/validation/types/LanguageMessages.d.ts +5 -0
- package/dist/types/lib/validation/types/NoNestedArrays.d.ts +5 -0
- package/dist/types/lib/validation/types/NullableType.d.ts +1 -0
- package/dist/types/lib/validation/types/ObjectPropertiesSchema.d.ts +12 -0
- package/dist/types/lib/validation/types/PartialSchemaMap.d.ts +4 -0
- package/dist/types/lib/validation/types/PresenceMode.d.ts +4 -0
- package/dist/types/lib/validation/types/Primitives.d.ts +4 -0
- package/dist/types/lib/validation/types/Schema.d.ts +17 -0
- package/dist/types/lib/validation/types/SchemaFunction.d.ts +6 -0
- package/dist/types/lib/validation/types/SchemaLike.d.ts +6 -0
- package/dist/types/lib/validation/types/SchemaLikeWithoutArray.d.ts +7 -0
- package/dist/types/lib/validation/types/SchemaMap.d.ts +7 -0
- package/dist/types/lib/validation/types/StrictSchemaMap.d.ts +4 -0
- package/dist/types/lib/validation/types/Types.d.ts +4 -0
- package/dist/types/lib/validation/types/UnwrapSchemaLikeWithoutArray.d.ts +5 -0
- package/dist/types/lib/validation/types/ValidationErrorFunction.d.ts +7 -0
- package/dist/types/options/ApplicationOptions.d.ts +60 -0
- package/dist/types/options/LoadAnonymousObjectOptions.d.ts +33 -0
- package/dist/types/options/LoadNamedObjectOptions.d.ts +29 -0
- package/dist/types/options/LoadObjectOptions.d.ts +30 -0
- package/dist/types/options/ModuleLoadObjectsOptions.d.ts +44 -0
- package/dist/types/options/ModuleOptions.d.ts +74 -0
- package/dist/types/options/OverridableNamedObjectOptions.d.ts +26 -0
- package/dist/types/options/OverridableObjectOptions.d.ts +34 -0
- package/dist/types/types/ActionPattern.d.ts +6 -0
- package/dist/types/types/ApplicationExitReason.d.ts +13 -0
- package/dist/types/types/ClassDecorator.d.ts +6 -0
- package/dist/types/types/ComponentOptions.d.ts +20 -0
- package/dist/types/types/CronOptions.d.ts +25 -0
- package/dist/types/types/JSONSchema.d.ts +284 -0
- package/dist/types/types/MethodDecorator.d.ts +5 -0
- package/dist/types/types/ModuleOptions.d.ts +20 -0
- package/dist/types/types/ObjectOptions.d.ts +20 -0
- package/dist/types/types/PaginationMeta.d.ts +21 -0
- package/dist/types/types/ParameterDecorator.d.ts +5 -0
- package/dist/types/types/PropertyDecorator.d.ts +4 -0
- package/dist/types/types/ProviderOptions.d.ts +20 -0
- package/package.json +93 -95
- package/tsconfig.base.json +32 -0
- package/.eslintrc.json +0 -47
- package/.idea/codeStyles/Project.xml +0 -41
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -10
- package/.idea/lakutata-core.iml +0 -13
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/LICENSE +0 -21
- package/assets/lakutata-banner.png +0 -0
- package/assets/lakutata_logo.jpg +0 -0
- package/build/Application.d.ts +0 -33
- package/build/Application.js +0 -89
- package/build/Application.js.map +0 -1
- package/build/ApplicationManagement.d.ts +0 -4
- package/build/ApplicationManagement.js +0 -46
- package/build/ApplicationManagement.js.map +0 -1
- package/build/Core.d.ts +0 -46
- package/build/Core.js +0 -80
- package/build/Core.js.map +0 -1
- package/build/base/BaseObject.d.ts +0 -14
- package/build/base/BaseObject.js +0 -114
- package/build/base/BaseObject.js.map +0 -1
- package/build/base/Container.d.ts +0 -43
- package/build/base/Container.js +0 -269
- package/build/base/Container.js.map +0 -1
- package/build/base/MetadataReader.d.ts +0 -6
- package/build/base/MetadataReader.js +0 -14
- package/build/base/MetadataReader.js.map +0 -1
- package/build/base/Plugin.d.ts +0 -4
- package/build/base/Plugin.js +0 -10
- package/build/base/Plugin.js.map +0 -1
- package/build/base/ValidatorClass.d.ts +0 -305
- package/build/base/ValidatorClass.js +0 -514
- package/build/base/ValidatorClass.js.map +0 -1
- package/build/base/abstracts/Component.d.ts +0 -4
- package/build/base/abstracts/Component.js +0 -8
- package/build/base/abstracts/Component.js.map +0 -1
- package/build/base/abstracts/Exception.d.ts +0 -11
- package/build/base/abstracts/Exception.js +0 -60
- package/build/base/abstracts/Exception.js.map +0 -1
- package/build/base/abstracts/Module.d.ts +0 -88
- package/build/base/abstracts/Module.js +0 -390
- package/build/base/abstracts/Module.js.map +0 -1
- package/build/base/abstracts/Workflow.d.ts +0 -9
- package/build/base/abstracts/Workflow.js +0 -17
- package/build/base/abstracts/Workflow.js.map +0 -1
- package/build/base/process/Process.d.ts +0 -6
- package/build/base/process/Process.js +0 -15
- package/build/base/process/Process.js.map +0 -1
- package/build/base/process/ProcessManager.d.ts +0 -10
- package/build/base/process/ProcessManager.js +0 -34
- package/build/base/process/ProcessManager.js.map +0 -1
- package/build/base/thread/Thread.d.ts +0 -6
- package/build/base/thread/Thread.js +0 -14
- package/build/base/thread/Thread.js.map +0 -1
- package/build/base/thread/ThreadManager.d.ts +0 -10
- package/build/base/thread/ThreadManager.js +0 -34
- package/build/base/thread/ThreadManager.js.map +0 -1
- package/build/constants/MetadataKeys.d.ts +0 -2
- package/build/constants/MetadataKeys.js +0 -6
- package/build/constants/MetadataKeys.js.map +0 -1
- package/build/decorators/DependencyInjection.d.ts +0 -3
- package/build/decorators/DependencyInjection.js +0 -18
- package/build/decorators/DependencyInjection.js.map +0 -1
- package/build/decorators/MethodValidation.d.ts +0 -9
- package/build/decorators/MethodValidation.js +0 -75
- package/build/decorators/MethodValidation.js.map +0 -1
- package/build/exceptions/ComponentNotFoundException.d.ts +0 -6
- package/build/exceptions/ComponentNotFoundException.js +0 -17
- package/build/exceptions/ComponentNotFoundException.js.map +0 -1
- package/build/exceptions/CryptoException.d.ts +0 -5
- package/build/exceptions/CryptoException.js +0 -12
- package/build/exceptions/CryptoException.js.map +0 -1
- package/build/exceptions/FatalException.d.ts +0 -5
- package/build/exceptions/FatalException.js +0 -12
- package/build/exceptions/FatalException.js.map +0 -1
- package/build/exceptions/HttpRequestException.d.ts +0 -6
- package/build/exceptions/HttpRequestException.js +0 -20
- package/build/exceptions/HttpRequestException.js.map +0 -1
- package/build/exceptions/InvalidMethodAcceptException.d.ts +0 -5
- package/build/exceptions/InvalidMethodAcceptException.js +0 -12
- package/build/exceptions/InvalidMethodAcceptException.js.map +0 -1
- package/build/exceptions/InvalidMethodReturnException.d.ts +0 -5
- package/build/exceptions/InvalidMethodReturnException.js +0 -12
- package/build/exceptions/InvalidMethodReturnException.js.map +0 -1
- package/build/exceptions/ModuleNotFoundException.d.ts +0 -6
- package/build/exceptions/ModuleNotFoundException.js +0 -17
- package/build/exceptions/ModuleNotFoundException.js.map +0 -1
- package/build/exceptions/ProcessException.d.ts +0 -5
- package/build/exceptions/ProcessException.js +0 -12
- package/build/exceptions/ProcessException.js.map +0 -1
- package/build/exceptions/ThreadException.d.ts +0 -5
- package/build/exceptions/ThreadException.js +0 -12
- package/build/exceptions/ThreadException.js.map +0 -1
- package/build/exceptions/TimeoutException.d.ts +0 -5
- package/build/exceptions/TimeoutException.js +0 -12
- package/build/exceptions/TimeoutException.js.map +0 -1
- package/build/exceptions/ValidationException.d.ts +0 -5
- package/build/exceptions/ValidationException.js +0 -12
- package/build/exceptions/ValidationException.js.map +0 -1
- package/build/interfaces/IApplicationConfig.d.ts +0 -20
- package/build/interfaces/IApplicationConfig.js +0 -3
- package/build/interfaces/IApplicationConfig.js.map +0 -1
- package/build/interfaces/IComponentsConfig.d.ts +0 -8
- package/build/interfaces/IComponentsConfig.js +0 -3
- package/build/interfaces/IComponentsConfig.js.map +0 -1
- package/build/interfaces/IConstructor.d.ts +0 -4
- package/build/interfaces/IConstructor.js +0 -3
- package/build/interfaces/IConstructor.js.map +0 -1
- package/build/interfaces/IModulesConfig.d.ts +0 -17
- package/build/interfaces/IModulesConfig.js +0 -3
- package/build/interfaces/IModulesConfig.js.map +0 -1
- package/build/interfaces/IProcessConstructor.d.ts +0 -5
- package/build/interfaces/IProcessConstructor.js +0 -3
- package/build/interfaces/IProcessConstructor.js.map +0 -1
- package/build/interfaces/IThreadConstructor.d.ts +0 -5
- package/build/interfaces/IThreadConstructor.js +0 -3
- package/build/interfaces/IThreadConstructor.js.map +0 -1
- package/build/interfaces/ShellJsInterfaces.d.ts +0 -162
- package/build/interfaces/ShellJsInterfaces.js +0 -3
- package/build/interfaces/ShellJsInterfaces.js.map +0 -1
- package/build/lib/minified/ShellJs.d.ts +0 -2
- package/build/lib/minified/ShellJs.js +0 -3699
- package/build/lib/minified/ShellJs.js.map +0 -1
- package/build/lib/multipleRunner/constants/Channel.d.ts +0 -5
- package/build/lib/multipleRunner/constants/Channel.js +0 -9
- package/build/lib/multipleRunner/constants/Channel.js.map +0 -1
- package/build/lib/multipleRunner/constants/MetadataKey.d.ts +0 -2
- package/build/lib/multipleRunner/constants/MetadataKey.js +0 -6
- package/build/lib/multipleRunner/constants/MetadataKey.js.map +0 -1
- package/build/lib/multipleRunner/containers/ContainerVolume.d.ts +0 -4
- package/build/lib/multipleRunner/containers/ContainerVolume.js +0 -85
- package/build/lib/multipleRunner/containers/ContainerVolume.js.map +0 -1
- package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.d.ts +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js.map +0 -1
- package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.d.ts +0 -4
- package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js.map +0 -1
- package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.d.ts +0 -7
- package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js.map +0 -1
- package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.d.ts +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js.map +0 -1
- package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.d.ts +0 -7
- package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js +0 -3
- package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js.map +0 -1
- package/build/lib/multipleRunner/lib/Process.d.ts +0 -5
- package/build/lib/multipleRunner/lib/Process.js +0 -45
- package/build/lib/multipleRunner/lib/Process.js.map +0 -1
- package/build/lib/multipleRunner/lib/Thread.d.ts +0 -5
- package/build/lib/multipleRunner/lib/Thread.js +0 -52
- package/build/lib/multipleRunner/lib/Thread.js.map +0 -1
- package/build/lib/multipleRunner/lib/bridges/BaseBridge.d.ts +0 -32
- package/build/lib/multipleRunner/lib/bridges/BaseBridge.js +0 -107
- package/build/lib/multipleRunner/lib/bridges/BaseBridge.js.map +0 -1
- package/build/lib/multipleRunner/lib/bridges/ProcessBridge.d.ts +0 -5
- package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js +0 -23
- package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js.map +0 -1
- package/build/lib/multipleRunner/lib/bridges/ThreadBridge.d.ts +0 -5
- package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js +0 -22
- package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js.map +0 -1
- package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.d.ts +0 -2
- package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js +0 -35
- package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js.map +0 -1
- package/build/lib/multipleRunner/lib/cores/IsElectron.d.ts +0 -1
- package/build/lib/multipleRunner/lib/cores/IsElectron.js +0 -8
- package/build/lib/multipleRunner/lib/cores/IsElectron.js.map +0 -1
- package/build/lib/multipleRunner/lib/cores/ProcessClass.d.ts +0 -5
- package/build/lib/multipleRunner/lib/cores/ProcessClass.js +0 -12
- package/build/lib/multipleRunner/lib/cores/ProcessClass.js.map +0 -1
- package/build/lib/multipleRunner/lib/cores/ThreadClass.d.ts +0 -5
- package/build/lib/multipleRunner/lib/cores/ThreadClass.js +0 -12
- package/build/lib/multipleRunner/lib/cores/ThreadClass.js.map +0 -1
- package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.d.ts +0 -2
- package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js +0 -104
- package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js.map +0 -1
- package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.d.ts +0 -17
- package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js +0 -57
- package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js.map +0 -1
- package/build/plugins/Crypto.d.ts +0 -18
- package/build/plugins/Crypto.js +0 -131
- package/build/plugins/Crypto.js.map +0 -1
- package/build/plugins/Formatter.d.ts +0 -19
- package/build/plugins/Formatter.js +0 -53
- package/build/plugins/Formatter.js.map +0 -1
- package/build/plugins/HttpRequest.d.ts +0 -45
- package/build/plugins/HttpRequest.js +0 -171
- package/build/plugins/HttpRequest.js.map +0 -1
- package/build/plugins/JSON.d.ts +0 -10
- package/build/plugins/JSON.js +0 -71
- package/build/plugins/JSON.js.map +0 -1
- package/build/plugins/Logger.d.ts +0 -25
- package/build/plugins/Logger.js +0 -112
- package/build/plugins/Logger.js.map +0 -1
- package/build/plugins/MessagePack.d.ts +0 -12
- package/build/plugins/MessagePack.js +0 -20
- package/build/plugins/MessagePack.js.map +0 -1
- package/build/plugins/Security.d.ts +0 -32
- package/build/plugins/Security.js +0 -153
- package/build/plugins/Security.js.map +0 -1
- package/build/plugins/Shell.d.ts +0 -39
- package/build/plugins/Shell.js +0 -58
- package/build/plugins/Shell.js.map +0 -1
- package/build/types/TPluginsConfig.d.ts +0 -7
- package/build/types/TPluginsConfig.js +0 -3
- package/build/types/TPluginsConfig.js.map +0 -1
- package/build/types/TProcessesConfig.d.ts +0 -3
- package/build/types/TProcessesConfig.js +0 -3
- package/build/types/TProcessesConfig.js.map +0 -1
- package/build/types/TThreadsConfig.d.ts +0 -3
- package/build/types/TThreadsConfig.js +0 -3
- package/build/types/TThreadsConfig.js.map +0 -1
- package/build/types/TWorkflowsConfig.d.ts +0 -4
- package/build/types/TWorkflowsConfig.js +0 -3
- package/build/types/TWorkflowsConfig.js.map +0 -1
- package/build/utils/Delay.d.ts +0 -1
- package/build/utils/Delay.js +0 -13
- package/build/utils/Delay.js.map +0 -1
- package/build/utils/Timeout.d.ts +0 -2
- package/build/utils/Timeout.js +0 -27
- package/build/utils/Timeout.js.map +0 -1
- package/build/utils/ValidDataUrl.d.ts +0 -1
- package/build/utils/ValidDataUrl.js +0 -8
- package/build/utils/ValidDataUrl.js.map +0 -1
- package/build/utils/Validator.d.ts +0 -2
- package/build/utils/Validator.js +0 -6
- package/build/utils/Validator.js.map +0 -1
- package/docs/component.md +0 -1
- package/docs/exception.md +0 -1
- package/docs/faq.md +0 -1
- package/docs/introduction.md +0 -1
- package/docs/module.md +0 -1
- package/docs/plugin.md +0 -1
- package/docs/process.md +0 -1
- package/docs/thread.md +0 -1
- package/docs/utilities.md +0 -1
- package/docs/workflow.md +0 -1
- package/src/Application.ts +0 -178
- package/src/ApplicationManagement.ts +0 -48
- package/src/Core.ts +0 -83
- package/src/base/BaseObject.ts +0 -146
- package/src/base/Container.ts +0 -375
- package/src/base/MetadataReader.ts +0 -12
- package/src/base/Plugin.ts +0 -11
- package/src/base/ValidatorClass.ts +0 -707
- package/src/base/abstracts/Component.ts +0 -5
- package/src/base/abstracts/Exception.ts +0 -68
- package/src/base/abstracts/Module.ts +0 -528
- package/src/base/abstracts/Workflow.ts +0 -35
- package/src/base/process/Process.ts +0 -23
- package/src/base/process/ProcessManager.ts +0 -54
- package/src/base/thread/Thread.ts +0 -23
- package/src/base/thread/ThreadManager.ts +0 -54
- package/src/constants/MetadataKeys.ts +0 -2
- package/src/decorators/DependencyInjection.ts +0 -17
- package/src/decorators/MethodValidation.ts +0 -80
- package/src/exceptions/ComponentNotFoundException.ts +0 -12
- package/src/exceptions/CryptoException.ts +0 -6
- package/src/exceptions/FatalException.ts +0 -6
- package/src/exceptions/HttpRequestException.ts +0 -15
- package/src/exceptions/InvalidMethodAcceptException.ts +0 -6
- package/src/exceptions/InvalidMethodReturnException.ts +0 -6
- package/src/exceptions/ModuleNotFoundException.ts +0 -12
- package/src/exceptions/ProcessException.ts +0 -6
- package/src/exceptions/ThreadException.ts +0 -6
- package/src/exceptions/TimeoutException.ts +0 -6
- package/src/exceptions/ValidationException.ts +0 -6
- package/src/interfaces/IApplicationConfig.ts +0 -21
- package/src/interfaces/IComponentsConfig.ts +0 -9
- package/src/interfaces/IConstructor.ts +0 -5
- package/src/interfaces/IModulesConfig.ts +0 -18
- package/src/interfaces/IProcessConstructor.ts +0 -6
- package/src/interfaces/IThreadConstructor.ts +0 -6
- package/src/interfaces/ShellJsInterfaces.ts +0 -858
- package/src/lib/minified/ShellJs.js +0 -1
- package/src/lib/multipleRunner/constants/Channel.ts +0 -5
- package/src/lib/multipleRunner/constants/MetadataKey.ts +0 -2
- package/src/lib/multipleRunner/containers/ContainerVolume.ts +0 -83
- package/src/lib/multipleRunner/definitions/interfaces/ClassConstructor.ts +0 -3
- package/src/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.ts +0 -5
- package/src/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.ts +0 -10
- package/src/lib/multipleRunner/definitions/interfaces/ProxyClass.ts +0 -3
- package/src/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.ts +0 -10
- package/src/lib/multipleRunner/lib/Process.ts +0 -45
- package/src/lib/multipleRunner/lib/Thread.ts +0 -52
- package/src/lib/multipleRunner/lib/bridges/BaseBridge.ts +0 -118
- package/src/lib/multipleRunner/lib/bridges/ProcessBridge.ts +0 -22
- package/src/lib/multipleRunner/lib/bridges/ThreadBridge.ts +0 -20
- package/src/lib/multipleRunner/lib/cores/GenerateExecArgv.ts +0 -28
- package/src/lib/multipleRunner/lib/cores/IsElectron.ts +0 -3
- package/src/lib/multipleRunner/lib/cores/ProcessClass.ts +0 -8
- package/src/lib/multipleRunner/lib/cores/ThreadClass.ts +0 -8
- package/src/lib/multipleRunner/lib/cores/UniParentBridgeHandler.ts +0 -97
- package/src/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.ts +0 -70
- package/src/plugins/Crypto.ts +0 -140
- package/src/plugins/Formatter.ts +0 -83
- package/src/plugins/HttpRequest.ts +0 -241
- package/src/plugins/JSON.ts +0 -77
- package/src/plugins/Logger.ts +0 -154
- package/src/plugins/MessagePack.ts +0 -30
- package/src/plugins/Security.ts +0 -273
- package/src/plugins/Shell.ts +0 -371
- package/src/tests/Main.spec.ts +0 -175
- package/src/tests/components/TestComponent1.ts +0 -11
- package/src/tests/exceptions/TestException.ts +0 -6
- package/src/tests/modules/Test1.ts +0 -88
- package/src/tests/modules/Test2.ts +0 -65
- package/src/tests/modules/Test3.ts +0 -54
- package/src/tests/modules/Test4.ts +0 -28
- package/src/tests/plugins/TestPlugin1.ts +0 -22
- package/src/tests/processes/TestProcess.ts +0 -11
- package/src/tests/threads/TestThread.ts +0 -13
- package/src/tests/workflows/TestWorkflow.ts +0 -7
- package/src/types/TPluginsConfig.ts +0 -5
- package/src/types/TProcessesConfig.ts +0 -4
- package/src/types/TThreadsConfig.ts +0 -4
- package/src/types/TWorkflowsConfig.ts +0 -6
- package/src/utils/Delay.ts +0 -14
- package/src/utils/Timeout.ts +0 -27
- package/src/utils/ValidDataUrl.ts +0 -8
- package/src/utils/Validator.ts +0 -3
- package/tsconfig.json +0 -35
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import { type NameAndRegistrationPair } from '../ioc/DependencyInjectionContainer.js';
|
|
2
|
+
import { BaseObject } from '../base/BaseObject.js';
|
|
3
|
+
import { LoadObjectOptions } from '../../options/LoadObjectOptions.js';
|
|
4
|
+
import { type BuildResolverOptions } from '../ioc/Resolvers.js';
|
|
5
|
+
import { IBaseObjectConstructor } from '../../interfaces/IBaseObjectConstructor.js';
|
|
6
|
+
export declare const containerSymbol: symbol;
|
|
7
|
+
export declare const ownerSymbol: symbol;
|
|
8
|
+
/**
|
|
9
|
+
* Register a hook run when a container starts its teardown, before its scopes and objects are destroyed
|
|
10
|
+
* (an entrypoint stops receiving requests and waits for the requests in progress there), returns its unregistration
|
|
11
|
+
* @param container
|
|
12
|
+
* @param hook
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerTeardownHook(container: Container, hook: () => Promise<void>): () => void;
|
|
15
|
+
/**
|
|
16
|
+
* The dependency injection container: it registers the classes of the objects (components, providers, modules, any
|
|
17
|
+
* {@link BaseObject}), creates them on demand with their lifetime and destroys them with itself.
|
|
18
|
+
*
|
|
19
|
+
* An object is created asynchronously: its `@Inject` properties are resolved from the container, its `@Configurable`
|
|
20
|
+
* properties get their configured values (validated and transformed by their schemas), then its `init()` runs; the
|
|
21
|
+
* promise of `get()`, `set()` or `build()` settles once `init()` has completed. The lifetime of the class decides
|
|
22
|
+
* which instance is returned:
|
|
23
|
+
* - `@Singleton` (components, modules): one instance, held by the container which registered the class.
|
|
24
|
+
* - `@Scoped` (providers): one instance per scope (see {@link Container.createScope}), such as per request.
|
|
25
|
+
* - `@Transient` ({@link BaseObject}): a new instance on each request.
|
|
26
|
+
*
|
|
27
|
+
* The applications rarely create a container: the {@link Application} owns the root one, each object owns a child
|
|
28
|
+
* container tracking the objects it creates (destroyed with it), and the modules and components reach theirs through
|
|
29
|
+
* their protected `container` property. A container created with `new Container()` is a root container, to use the
|
|
30
|
+
* objects without an application (tests, scripts).
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import {Component, Container, DTO, Provider} from 'lakutata'
|
|
34
|
+
* import {Configurable, Inject} from 'lakutata/decorator/di'
|
|
35
|
+
*
|
|
36
|
+
* class Greeter extends Provider {
|
|
37
|
+
* //'Hello' unless configured
|
|
38
|
+
* @Configurable(DTO.String())
|
|
39
|
+
* protected readonly greeting: string = 'Hello'
|
|
40
|
+
*
|
|
41
|
+
* public greet(name: string): string {
|
|
42
|
+
* return `${this.greeting}, ${name}`
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* class Reception extends Component {
|
|
47
|
+
* @Inject('greeter')
|
|
48
|
+
* protected readonly greeter!: Greeter
|
|
49
|
+
*
|
|
50
|
+
* public welcome(name: string): string {
|
|
51
|
+
* return this.greeter.greet(name)
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
*
|
|
55
|
+
* const container: Container = new Container()
|
|
56
|
+
* await container.registerNamed('greeter', Greeter, {greeting: 'Welcome'})
|
|
57
|
+
* const reception: Reception = await container.set(Reception)
|
|
58
|
+
* console.log(reception.welcome('Ada')) //Welcome, Ada
|
|
59
|
+
* await container.destroy()
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare class Container {
|
|
63
|
+
#private;
|
|
64
|
+
/**
|
|
65
|
+
* The container this one was created from (the one of the object which created the owner, or the one a scope was
|
|
66
|
+
* created from); undefined for a root container.
|
|
67
|
+
*/
|
|
68
|
+
readonly parent?: Container;
|
|
69
|
+
/**
|
|
70
|
+
* Create a container. Without parent, a root container; with a parent, a container whose registrations fall back
|
|
71
|
+
* to the parent's, destroyed together with it.
|
|
72
|
+
* @param parent The parent container, none for a root container.
|
|
73
|
+
* @param owner The object owning the container (the framework gives each object its own container).
|
|
74
|
+
*/
|
|
75
|
+
constructor(parent?: Container, owner?: BaseObject);
|
|
76
|
+
/**
|
|
77
|
+
* Destroy an object of the container during its teardown: its `beforeDestroy()`, the objects it created, then its
|
|
78
|
+
* `destroy()`. Never throws: the errors are reported through the application's logger.
|
|
79
|
+
* @param instance The object to destroy.
|
|
80
|
+
* @returns Resolves once the object is destroyed.
|
|
81
|
+
* @protected
|
|
82
|
+
*/
|
|
83
|
+
protected disposer<T extends BaseObject>(instance: T): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* The options of the resolver of a class: the lifetime declared by its decorators (`@Singleton`, `@Scoped`,
|
|
86
|
+
* `@Transient`) and its disposer ({@link Container.disposer}).
|
|
87
|
+
* @param target The class to register or build.
|
|
88
|
+
* @returns The resolver options.
|
|
89
|
+
* @protected
|
|
90
|
+
*/
|
|
91
|
+
protected buildResolverOptions<T extends BaseObject>(target: IBaseObjectConstructor<T>): BuildResolverOptions<T>;
|
|
92
|
+
/**
|
|
93
|
+
* Give an object just created by the container its registration name and its options: the options it was
|
|
94
|
+
* registered with, overridden by the ones requested. An object already created (a cached singleton or scoped
|
|
95
|
+
* instance) is returned as it is, the options requested being ignored with a warning outside production.
|
|
96
|
+
* @param resolved The object, or the promise of its asynchronous construction.
|
|
97
|
+
* @param registrationName The name (or class symbol) the object was requested by.
|
|
98
|
+
* @param configurableRecords The options requested for the object.
|
|
99
|
+
* @returns The object, once constructed.
|
|
100
|
+
* @protected
|
|
101
|
+
*/
|
|
102
|
+
protected processResolved<T extends BaseObject>(resolved: T | Promise<T>, registrationName: string | symbol, configurableRecords?: Record<string, any>): Promise<T>;
|
|
103
|
+
/**
|
|
104
|
+
* Build the registration of an object declaration: its name is its id (the name it is declared under) or, without
|
|
105
|
+
* id, a symbol of its class; its other options are kept as the options it is created with.
|
|
106
|
+
* @param options The object declaration.
|
|
107
|
+
* @returns The registration, keyed by its name.
|
|
108
|
+
* @protected
|
|
109
|
+
*/
|
|
110
|
+
protected buildNameAndRegistrationPairFromOptions<T extends BaseObject>(options: LoadObjectOptions): NameAndRegistrationPair<T>;
|
|
111
|
+
/**
|
|
112
|
+
* Build the registrations of the classes found by a glob pattern: each file matched is imported, and each of its
|
|
113
|
+
* exports which is a {@link BaseObject} subclass is registered under the symbol of its class.
|
|
114
|
+
* @param glob The glob pattern of the files to import, relative to the working directory (the aliases are not
|
|
115
|
+
* replaced in it).
|
|
116
|
+
* @returns The registrations, keyed by their class symbols.
|
|
117
|
+
* @throws {Error} When a file matched fails to import (its error as the cause).
|
|
118
|
+
* @protected
|
|
119
|
+
*/
|
|
120
|
+
protected buildNameAndRegistrationPairFromGlob<T extends typeof BaseObject>(glob: string): Promise<NameAndRegistrationPair<T>>;
|
|
121
|
+
/**
|
|
122
|
+
* The object owning the container (the one whose container it is, or the owner of the container a scope was
|
|
123
|
+
* created from).
|
|
124
|
+
* @returns The owner, or undefined for a container without owner or whose owner was garbage collected.
|
|
125
|
+
*/
|
|
126
|
+
owner<Owner extends BaseObject = BaseObject>(): Owner | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* The names registered by this container itself (not by its parents); a singleton is resolved by the container
|
|
129
|
+
* which registered it, a scoped object by the nearest scope.
|
|
130
|
+
* @protected
|
|
131
|
+
*/
|
|
132
|
+
protected injectionNames: Set<string | symbol>;
|
|
133
|
+
/**
|
|
134
|
+
* Register objects in the container, without creating them: a class is registered under the symbol of its class
|
|
135
|
+
* (got by its class), a declaration with an id under its id (got by its name) with its options, a glob pattern
|
|
136
|
+
* registers the classes of the files it matches. A name registered again replaces the previous registration.
|
|
137
|
+
* @param options The classes, declarations (`{class, ...options}`) and glob patterns to register.
|
|
138
|
+
* @returns Resolves once registered (the glob patterns imported).
|
|
139
|
+
* @throws {InvalidMethodAcceptException} When an item is neither a class, a declaration nor a glob pattern.
|
|
140
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
141
|
+
* @throws {Error} When a file matched by a glob pattern fails to import.
|
|
142
|
+
*/
|
|
143
|
+
load<T extends typeof BaseObject>(options: (LoadObjectOptions | typeof BaseObject | string)[]): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Get an object registered by its class, creating it when the lifetime requires: a singleton is created once, a
|
|
146
|
+
* scoped object once per scope, a transient object on each call. A class marked `@Autoload` is registered on first
|
|
147
|
+
* request (its singleton in the root container, its scoped object in the nearest scope). A scoped object requested
|
|
148
|
+
* with options is a new instance owned by the caller, not the one shared within the scope (see
|
|
149
|
+
* {@link Container.getShared}).
|
|
150
|
+
* @param constructor The class the object was registered with (an object registered under a name is not found by
|
|
151
|
+
* its class).
|
|
152
|
+
* @param configurableRecords The options of the object (the values of its `@Configurable` properties and the options
|
|
153
|
+
* it reads), merged over the ones it was registered with; validated when the object is created. Ignored, with a
|
|
154
|
+
* warning outside production, when the cached singleton or scoped instance already exists.
|
|
155
|
+
* @returns The object, once its dependencies are injected, its options applied and its `init()` completed.
|
|
156
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
157
|
+
* @throws {Error} When the class is not registered here or in a parent container, or the object fails to be
|
|
158
|
+
* created (an injection failing with a {@link DependencyInjectionException}, an invalid option, an error of `init()`).
|
|
159
|
+
*/
|
|
160
|
+
get<T extends BaseObject>(constructor: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
161
|
+
/**
|
|
162
|
+
* Get an object registered under a name, as {@link Container.get} by class.
|
|
163
|
+
* @param name The name the object was registered under (its key in the module options).
|
|
164
|
+
* @param configurableRecords The options of the object (the values of its `@Configurable` properties and the options
|
|
165
|
+
* it reads), merged over the ones it was registered with; validated when the object is created. Ignored, with a
|
|
166
|
+
* warning outside production, when the cached singleton or scoped instance already exists.
|
|
167
|
+
* @returns The object, once created and initialized.
|
|
168
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
169
|
+
* @throws {Error} When the name is not registered, or the object fails to be created.
|
|
170
|
+
*/
|
|
171
|
+
get<T extends BaseObject>(name: string, configurableRecords?: Record<string, any>): Promise<T>;
|
|
172
|
+
/**
|
|
173
|
+
* Get an object registered under a symbol, as {@link Container.get} by class.
|
|
174
|
+
* @param name The symbol the object was registered under.
|
|
175
|
+
* @param configurableRecords The options of the object (the values of its `@Configurable` properties and the options
|
|
176
|
+
* it reads), merged over the ones it was registered with; validated when the object is created. Ignored, with a
|
|
177
|
+
* warning outside production, when the cached singleton or scoped instance already exists.
|
|
178
|
+
* @returns The object, once created and initialized.
|
|
179
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
180
|
+
* @throws {Error} When the symbol is not registered, or the object fails to be created.
|
|
181
|
+
*/
|
|
182
|
+
get<T extends BaseObject>(name: symbol, configurableRecords?: Record<string, any>): Promise<T>;
|
|
183
|
+
/**
|
|
184
|
+
* Get an object registered under a name or a symbol, as {@link Container.get} by class.
|
|
185
|
+
* @param name The name or symbol the object was registered under.
|
|
186
|
+
* @param configurableRecords The options of the object (the values of its `@Configurable` properties and the options
|
|
187
|
+
* it reads), merged over the ones it was registered with; validated when the object is created. Ignored, with a
|
|
188
|
+
* warning outside production, when the cached singleton or scoped instance already exists.
|
|
189
|
+
* @returns The object, once created and initialized.
|
|
190
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
191
|
+
* @throws {Error} When the name is not registered, or the object fails to be created.
|
|
192
|
+
*/
|
|
193
|
+
get<T extends BaseObject>(name: string | symbol, configurableRecords?: Record<string, any>): Promise<T>;
|
|
194
|
+
/**
|
|
195
|
+
* Get an object registered under a name, a symbol or by its class, as {@link Container.get} by class.
|
|
196
|
+
* @param nameOrConstructor The name, symbol or class the object was registered with.
|
|
197
|
+
* @param configurableRecords The options of the object (the values of its `@Configurable` properties and the options
|
|
198
|
+
* it reads), merged over the ones it was registered with; validated when the object is created. Ignored, with a
|
|
199
|
+
* warning outside production, when the cached singleton or scoped instance already exists.
|
|
200
|
+
* @returns The object, once created and initialized.
|
|
201
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
202
|
+
* @throws {Error} When it is not registered, or the object fails to be created.
|
|
203
|
+
*/
|
|
204
|
+
get<T extends BaseObject>(nameOrConstructor: string | symbol | IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
205
|
+
/**
|
|
206
|
+
* Get the shared instance of an object registered by its class (the container's instance, or the scope's instance
|
|
207
|
+
* for a scoped object), created with the options when it does not exist yet. Unlike {@link Container.get}, a scoped
|
|
208
|
+
* object requested with options is not a new instance owned by the caller: the creator of a scope uses it to provide
|
|
209
|
+
* an object configured for the request, which the request's objects then share.
|
|
210
|
+
* @param constructor The class the object was registered with.
|
|
211
|
+
* @param configurableRecords The options of the object, used only when the shared instance is created now; ignored,
|
|
212
|
+
* with a warning outside production, when it exists already.
|
|
213
|
+
* @returns The shared object, once created and initialized.
|
|
214
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
215
|
+
* @throws {Error} When the class is not registered, or the object fails to be created.
|
|
216
|
+
*/
|
|
217
|
+
getShared<T extends BaseObject>(constructor: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
218
|
+
/**
|
|
219
|
+
* Get the shared instance of an object registered under a name or a symbol, as {@link Container.getShared} by
|
|
220
|
+
* class.
|
|
221
|
+
* @param name The name or symbol the object was registered under.
|
|
222
|
+
* @param configurableRecords The options of the object, used only when the shared instance is created now.
|
|
223
|
+
* @returns The shared object, once created and initialized.
|
|
224
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
225
|
+
* @throws {Error} When the name is not registered, or the object fails to be created.
|
|
226
|
+
*/
|
|
227
|
+
getShared<T extends BaseObject>(name: string | symbol, configurableRecords?: Record<string, any>): Promise<T>;
|
|
228
|
+
/**
|
|
229
|
+
* Whether an object is registered under a symbol, in this container or one of its parents.
|
|
230
|
+
* @param symbol The registration symbol.
|
|
231
|
+
* @returns true when registered.
|
|
232
|
+
*/
|
|
233
|
+
has(symbol: symbol): boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Whether an object is registered under a name, in this container or one of its parents.
|
|
236
|
+
* @param name The registration name.
|
|
237
|
+
* @returns true when registered.
|
|
238
|
+
*/
|
|
239
|
+
has(name: string): boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Whether an object is registered under a name or a symbol, in this container or one of its parents.
|
|
242
|
+
* @param nameOrSymbol The registration name or symbol.
|
|
243
|
+
* @returns true when registered.
|
|
244
|
+
*/
|
|
245
|
+
has(nameOrSymbol: string | symbol): boolean;
|
|
246
|
+
/**
|
|
247
|
+
* Whether a class is registered by its class (not under a name), in this container or one of its parents; an
|
|
248
|
+
* `@Autoload` class not requested yet is not registered.
|
|
249
|
+
* @param constructor The class.
|
|
250
|
+
* @returns true when registered.
|
|
251
|
+
*/
|
|
252
|
+
has<ClassConstructor extends typeof BaseObject>(constructor: ClassConstructor): boolean;
|
|
253
|
+
/**
|
|
254
|
+
* Register a class (unless it is registered already) and get its object, as {@link Container.get}.
|
|
255
|
+
* @param target The class.
|
|
256
|
+
* @param configurableRecords The options of the object: registered with the class when it is registered now, and
|
|
257
|
+
* requested for the object.
|
|
258
|
+
* @returns The object, once created and initialized.
|
|
259
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
260
|
+
* @throws {Error} When the object fails to be created.
|
|
261
|
+
*/
|
|
262
|
+
set<T extends BaseObject>(target: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
263
|
+
/**
|
|
264
|
+
* Register a class under a name, replacing a previous registration of the name, and get its object.
|
|
265
|
+
* @param name The registration name or symbol.
|
|
266
|
+
* @param target The class.
|
|
267
|
+
* @param configurableRecords The options the object is registered with.
|
|
268
|
+
* @returns The object, once created and initialized.
|
|
269
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
270
|
+
* @throws {Error} When the object fails to be created.
|
|
271
|
+
*/
|
|
272
|
+
setNamed<T extends BaseObject>(name: string | symbol, target: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
273
|
+
/**
|
|
274
|
+
* Register a class by its class, without creating its object; a class registered again replaces its previous
|
|
275
|
+
* registration.
|
|
276
|
+
* @param target The class.
|
|
277
|
+
* @param configurableRecords The options its objects are created with.
|
|
278
|
+
* @returns Resolves once registered.
|
|
279
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
280
|
+
*/
|
|
281
|
+
register<T extends BaseObject>(target: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<void>;
|
|
282
|
+
/**
|
|
283
|
+
* Register a class under a name, without creating its object; a name registered again replaces its previous
|
|
284
|
+
* registration.
|
|
285
|
+
* @param name The registration name or symbol.
|
|
286
|
+
* @param target The class.
|
|
287
|
+
* @param configurableRecords The options its objects are created with.
|
|
288
|
+
* @returns Resolves once registered.
|
|
289
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
290
|
+
*/
|
|
291
|
+
registerNamed<T extends BaseObject>(name: string | symbol, target: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<void>;
|
|
292
|
+
/**
|
|
293
|
+
* Create a new object of a class without registering it, whatever its lifetime: its dependencies are injected
|
|
294
|
+
* from this container, and it is destroyed with this container (unless disposed before).
|
|
295
|
+
* @param target The class, registered or not.
|
|
296
|
+
* @param configurableRecords The options of the object.
|
|
297
|
+
* @returns The new object, once created and initialized.
|
|
298
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
299
|
+
* @throws {Error} When the object fails to be created.
|
|
300
|
+
*/
|
|
301
|
+
build<T extends BaseObject>(target: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
302
|
+
/**
|
|
303
|
+
* Create a scope: a child container holding its own instances of the scoped objects (one per scope, such as one per
|
|
304
|
+
* request), the singletons and registrations of this container being shared. The scope lives until it is destroyed
|
|
305
|
+
* explicitly, or together with this container.
|
|
306
|
+
* @returns The new scope.
|
|
307
|
+
* @throws {ObjectDestroyedException} When the container has been destroyed.
|
|
308
|
+
*/
|
|
309
|
+
createScope(): Container;
|
|
310
|
+
/**
|
|
311
|
+
* Track this container in its parent again, so it is destroyed together with the parent (used when its owner is
|
|
312
|
+
* initialized again).
|
|
313
|
+
*/
|
|
314
|
+
registerContainerToItsParent(): void;
|
|
315
|
+
/**
|
|
316
|
+
* Make a destroyed container usable again, when its owner is reloaded.
|
|
317
|
+
* @throws {ObjectDestroyedException} When the parent container has been destroyed (or is being destroyed).
|
|
318
|
+
*/
|
|
319
|
+
revive(): void;
|
|
320
|
+
/**
|
|
321
|
+
* Drop the cached instance of a registration, so the next request creates a new one; nothing happens when the
|
|
322
|
+
* cached instance is not the one given.
|
|
323
|
+
* @param name The registration name or symbol.
|
|
324
|
+
* @param instance The instance to drop.
|
|
325
|
+
*/
|
|
326
|
+
forget(name: string | symbol, instance: BaseObject): void;
|
|
327
|
+
/**
|
|
328
|
+
* Destroy the container's objects and scopes, the container remaining usable: the teardown hooks run (the
|
|
329
|
+
* entrypoints stop), then the scopes and the containers of the objects are destroyed, then the cached objects and
|
|
330
|
+
* the transient objects still alive. Never throws: the errors are reported through the application's logger, and a
|
|
331
|
+
* failing object does not stop the teardown of the others.
|
|
332
|
+
* @returns Resolves once everything is destroyed.
|
|
333
|
+
*/
|
|
334
|
+
clear(): Promise<void>;
|
|
335
|
+
/**
|
|
336
|
+
* Destroy the container: as {@link Container.clear}, then the container refuses any further request with an
|
|
337
|
+
* {@link ObjectDestroyedException}. A concurrent or repeated call waits for the same teardown.
|
|
338
|
+
* @returns Resolves once the container is destroyed.
|
|
339
|
+
*/
|
|
340
|
+
destroy(): Promise<void>;
|
|
341
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Component } from './Component.js';
|
|
2
|
+
import { __destroy, __init, type BaseObject } from '../base/BaseObject.js';
|
|
3
|
+
import { Container } from './Container.js';
|
|
4
|
+
import { ModuleOptions } from '../../options/ModuleOptions.js';
|
|
5
|
+
import { ModuleConfigLoader } from '../base/internal/ModuleConfigLoader.js';
|
|
6
|
+
import { IBaseObjectConstructor } from '../../interfaces/IBaseObjectConstructor.js';
|
|
7
|
+
import { MODULE_INITIALIZATION } from '../base/internal/ModuleInitialization.js';
|
|
8
|
+
export declare const MODULE_INITIALIZED: string;
|
|
9
|
+
export declare const MODULE_INITIALIZE_ERROR: string;
|
|
10
|
+
/**
|
|
11
|
+
* The base class of the modules: a component owning its own objects (components, providers, named and anonymous
|
|
12
|
+
* objects) declared by its options, the way the application declares its own. Its lifetime is `@Singleton`, locked.
|
|
13
|
+
* The objects of a module resolve their dependencies from the module first, then from the application; the objects
|
|
14
|
+
* of the application do not see the module's.
|
|
15
|
+
*
|
|
16
|
+
* Declare it in the `objects.named` of the application (or of a parent module) options, its options under `options`
|
|
17
|
+
* (they are merged over its `options` initializer), and list it in `bootstrap` to start it at launch. When a module is
|
|
18
|
+
* created, its options are checked (see `checkOptions`), its objects registered, then its `bootstrap` runs in order: a
|
|
19
|
+
* name or class is got from its container (creating it), an async function is called with the module. An object
|
|
20
|
+
* outside the module getting it (`getObject`, `@Inject`) receives it once these steps are complete, and receives the
|
|
21
|
+
* error of a step that fails; the module's own objects, created by these steps, receive it at once (they can inject
|
|
22
|
+
* the module they belong to).
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import {Application, Component, Module, type ModuleOptions} from 'lakutata'
|
|
26
|
+
*
|
|
27
|
+
* class Billing extends Component {
|
|
28
|
+
* public charge(amount: number): void {
|
|
29
|
+
* console.log(`Charged ${amount}`)
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* export class PaymentModule extends Module {
|
|
34
|
+
* protected options: ModuleOptions = {
|
|
35
|
+
* components: {
|
|
36
|
+
* billing: {class: Billing}
|
|
37
|
+
* },
|
|
38
|
+
* bootstrap: ['billing']
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* Application.run({
|
|
43
|
+
* id: 'shop.app',
|
|
44
|
+
* name: 'Shop',
|
|
45
|
+
* objects: {
|
|
46
|
+
* named: {
|
|
47
|
+
* payment: {class: PaymentModule}
|
|
48
|
+
* }
|
|
49
|
+
* },
|
|
50
|
+
* bootstrap: ['payment']
|
|
51
|
+
* })
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class Module extends Component {
|
|
55
|
+
#private;
|
|
56
|
+
[MODULE_INITIALIZATION]: () => Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* The class reading the module options into the declarations to register and the bootstrap steps (the
|
|
59
|
+
* application's reads its identity too).
|
|
60
|
+
* @protected
|
|
61
|
+
*/
|
|
62
|
+
protected readonly ConfigLoader: typeof ModuleConfigLoader;
|
|
63
|
+
/**
|
|
64
|
+
* The module's own declarations, given by the initializer of a subclass; the options configured for the module
|
|
65
|
+
* (its `options` option) are merged over them: a component, provider or named object of the same name is
|
|
66
|
+
* replaced, or completed when declared without its class, and the bootstrap steps are appended.
|
|
67
|
+
* @protected
|
|
68
|
+
*/
|
|
69
|
+
protected options: ModuleOptions;
|
|
70
|
+
/**
|
|
71
|
+
* The module's container, holding the objects it declares.
|
|
72
|
+
* @protected
|
|
73
|
+
*/
|
|
74
|
+
protected get container(): Container;
|
|
75
|
+
/**
|
|
76
|
+
* Called by the container only: a module is created through a container, never with `new`.
|
|
77
|
+
* @param cradleProxy The container's resolution proxy.
|
|
78
|
+
*/
|
|
79
|
+
constructor(cradleProxy: Record<string | symbol, any>);
|
|
80
|
+
/**
|
|
81
|
+
* The framework's initializer: schedules the initialization (injection, configured values, `init()`, the objects
|
|
82
|
+
* registered, the bootstrap) for a later turn of the event loop and returns at once; the completion or the failure
|
|
83
|
+
* is emitted as an internal event. Override `init()` instead.
|
|
84
|
+
* @param hooks The steps the framework's subclasses run before the objects are registered.
|
|
85
|
+
* @returns Resolves at once, before the initialization.
|
|
86
|
+
* @protected
|
|
87
|
+
*/
|
|
88
|
+
protected [__init](...hooks: (() => Promise<void>)[]): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* The framework's destroyer, see {@link Component}; override `beforeDestroy()` and `destroy()` instead.
|
|
91
|
+
* @param hooks The steps the framework's subclasses run before `destroy()`.
|
|
92
|
+
* @returns Resolves once the module and its objects are destroyed.
|
|
93
|
+
* @protected
|
|
94
|
+
*/
|
|
95
|
+
protected [__destroy](...hooks: (() => Promise<void>)[]): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* The mode the application runs in: the `MODE` environment variable, else `NODE_ENV`, when it is `development` or
|
|
98
|
+
* `production`; `development` otherwise.
|
|
99
|
+
* @returns The mode.
|
|
100
|
+
*/
|
|
101
|
+
mode(): 'development' | 'production';
|
|
102
|
+
/**
|
|
103
|
+
* Destroy the module with its objects and initialize it again (same instance): its objects are registered again
|
|
104
|
+
* and its bootstrap runs again.
|
|
105
|
+
* @returns Resolves once the module is initialized again.
|
|
106
|
+
* @throws {ObjectDestroyedException} When its parent has been destroyed.
|
|
107
|
+
* @throws {Error} The error of its teardown or of its initialization.
|
|
108
|
+
*/
|
|
109
|
+
reload(): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Get an object registered by its class, from the module's container or its parents, as {@link Container.get}.
|
|
112
|
+
* @param constructor The class the object was registered with (or an `@Autoload` class).
|
|
113
|
+
* @param configurableRecords The options of the object, merged over the ones it was declared with. Ignored, with a
|
|
114
|
+
* warning outside production, when the cached singleton or scoped instance already exists; a scoped object
|
|
115
|
+
* requested with options is a new instance owned by the module.
|
|
116
|
+
* @returns The object, once created and initialized.
|
|
117
|
+
* @throws {ObjectDestroyedException} When the module has been destroyed.
|
|
118
|
+
* @throws {Error} When nothing is registered under it, or the object fails to be created.
|
|
119
|
+
*/
|
|
120
|
+
getObject<T extends BaseObject>(constructor: IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
121
|
+
/**
|
|
122
|
+
* Get an object registered under a name (its key in the module options), as {@link Module.getObject} by class.
|
|
123
|
+
* @param name The registration name.
|
|
124
|
+
* @param configurableRecords The options of the object, merged over the ones it was declared with. Ignored, with a
|
|
125
|
+
* warning outside production, when the cached singleton or scoped instance already exists; a scoped object
|
|
126
|
+
* requested with options is a new instance owned by the module.
|
|
127
|
+
* @returns The object, once created and initialized.
|
|
128
|
+
* @throws {ObjectDestroyedException} When the module has been destroyed.
|
|
129
|
+
* @throws {Error} When nothing is registered under it, or the object fails to be created.
|
|
130
|
+
*/
|
|
131
|
+
getObject<T extends BaseObject>(name: string, configurableRecords?: Record<string, any>): Promise<T>;
|
|
132
|
+
/**
|
|
133
|
+
* Get an object registered under a symbol, as {@link Module.getObject} by class.
|
|
134
|
+
* @param name The registration symbol.
|
|
135
|
+
* @param configurableRecords The options of the object, merged over the ones it was declared with. Ignored, with a
|
|
136
|
+
* warning outside production, when the cached singleton or scoped instance already exists; a scoped object
|
|
137
|
+
* requested with options is a new instance owned by the module.
|
|
138
|
+
* @returns The object, once created and initialized.
|
|
139
|
+
* @throws {ObjectDestroyedException} When the module has been destroyed.
|
|
140
|
+
* @throws {Error} When nothing is registered under it, or the object fails to be created.
|
|
141
|
+
*/
|
|
142
|
+
getObject<T extends BaseObject>(name: symbol, configurableRecords?: Record<string, any>): Promise<T>;
|
|
143
|
+
/**
|
|
144
|
+
* Get an object registered under a name or a symbol, as {@link Module.getObject} by class.
|
|
145
|
+
* @param name The registration name or symbol.
|
|
146
|
+
* @param configurableRecords The options of the object, merged over the ones it was declared with. Ignored, with a
|
|
147
|
+
* warning outside production, when the cached singleton or scoped instance already exists; a scoped object
|
|
148
|
+
* requested with options is a new instance owned by the module.
|
|
149
|
+
* @returns The object, once created and initialized.
|
|
150
|
+
* @throws {ObjectDestroyedException} When the module has been destroyed.
|
|
151
|
+
* @throws {Error} When nothing is registered under it, or the object fails to be created.
|
|
152
|
+
*/
|
|
153
|
+
getObject<T extends BaseObject>(name: string | symbol, configurableRecords?: Record<string, any>): Promise<T>;
|
|
154
|
+
/**
|
|
155
|
+
* Get an object registered under a name, a symbol or by its class, as {@link Module.getObject} by class.
|
|
156
|
+
* @param nameOrConstructor The registration name, symbol or class.
|
|
157
|
+
* @param configurableRecords The options of the object, merged over the ones it was declared with. Ignored, with a
|
|
158
|
+
* warning outside production, when the cached singleton or scoped instance already exists; a scoped object
|
|
159
|
+
* requested with options is a new instance owned by the module.
|
|
160
|
+
* @returns The object, once created and initialized.
|
|
161
|
+
* @throws {ObjectDestroyedException} When the module has been destroyed.
|
|
162
|
+
* @throws {Error} When nothing is registered under it, or the object fails to be created.
|
|
163
|
+
*/
|
|
164
|
+
getObject<T extends BaseObject>(nameOrConstructor: string | symbol | IBaseObjectConstructor<T>, configurableRecords?: Record<string, any>): Promise<T>;
|
|
165
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseObject } from '../base/BaseObject.js';
|
|
2
|
+
/**
|
|
3
|
+
* The base class of the providers: the functional units living in a scope, such as a request (a repository, a
|
|
4
|
+
* password hasher, a client configured per request). Its lifetime is `@Scoped` by default: one instance per scope (the
|
|
5
|
+
* root container being a scope too). A provider may be declared `@Transient`, or `@Singleton` (one instance shared by
|
|
6
|
+
* the scopes, as in 2.x: a client of a remote service); a long-lived object owning resources (connections,
|
|
7
|
+
* subscriptions, servers) and emitting events is rather a {@link Component}. A singleton provider injecting a scoped
|
|
8
|
+
* object keeps the instance of the scope which created it.
|
|
9
|
+
*
|
|
10
|
+
* Declare it in the `providers` of the application or module options, under a name, with its options; get it with
|
|
11
|
+
* `@Inject` or `getObject()`. It is created on first request, with the async construction of {@link BaseObject}.
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import {Application, DTO, Provider} from 'lakutata'
|
|
15
|
+
* import {Configurable} from 'lakutata/decorator/di'
|
|
16
|
+
*
|
|
17
|
+
* export class PriceCalculator extends Provider {
|
|
18
|
+
* //The tax rate, 0.2 unless configured or set by the TAX_RATE environment variable
|
|
19
|
+
* @Configurable(DTO.Number().min(0).max(1))
|
|
20
|
+
* protected readonly taxRate: number = Number(this.getEnv('TAX_RATE', '0.2'))
|
|
21
|
+
*
|
|
22
|
+
* public withTax(price: number): number {
|
|
23
|
+
* return price * (1 + this.taxRate)
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* Application.run({
|
|
28
|
+
* id: 'shop.app',
|
|
29
|
+
* name: 'Shop',
|
|
30
|
+
* providers: {
|
|
31
|
+
* prices: {class: PriceCalculator, taxRate: 0.1}
|
|
32
|
+
* }
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class Provider extends BaseObject {
|
|
37
|
+
/**
|
|
38
|
+
* Read an environment variable (including the ones set by `Application.env()`).
|
|
39
|
+
* @param name The variable name.
|
|
40
|
+
* @returns The value, or undefined when the variable is not set.
|
|
41
|
+
* @protected
|
|
42
|
+
*/
|
|
43
|
+
protected getEnv(name: string): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Read an environment variable (including the ones set by `Application.env()`), with a default value.
|
|
46
|
+
* @param name The variable name.
|
|
47
|
+
* @param defaultValue The value returned when the variable is not set.
|
|
48
|
+
* @returns The value, or the default value.
|
|
49
|
+
* @protected
|
|
50
|
+
*/
|
|
51
|
+
protected getEnv(name: string, defaultValue: string): string;
|
|
52
|
+
}
|