@inversifyjs/core 1.3.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -8
- package/lib/cjs/binding/calculations/isScopedBinding.d.ts +3 -0
- package/lib/cjs/binding/calculations/isScopedBinding.d.ts.map +1 -0
- package/lib/cjs/binding/calculations/isScopedBinding.js +8 -0
- package/lib/cjs/binding/calculations/isScopedBinding.js.map +1 -0
- package/lib/cjs/binding/calculations/isScopedBinding.spec.d.ts +2 -0
- package/lib/cjs/binding/calculations/isScopedBinding.spec.d.ts.map +1 -0
- package/lib/cjs/binding/calculations/stringifyBinding.d.ts +3 -0
- package/lib/cjs/binding/calculations/stringifyBinding.d.ts.map +1 -0
- package/lib/cjs/binding/calculations/stringifyBinding.js +16 -0
- package/lib/cjs/binding/calculations/stringifyBinding.js.map +1 -0
- package/lib/cjs/binding/calculations/stringifyBinding.spec.d.ts +2 -0
- package/lib/cjs/binding/calculations/stringifyBinding.spec.d.ts.map +1 -0
- package/lib/cjs/binding/models/BaseBinding.d.ts +11 -0
- package/lib/cjs/binding/models/BaseBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/BaseBinding.js +3 -0
- package/lib/cjs/binding/models/BaseBinding.js.map +1 -0
- package/lib/cjs/binding/models/Binding.d.ts +10 -0
- package/lib/cjs/binding/models/Binding.d.ts.map +1 -0
- package/lib/cjs/binding/models/Binding.js +3 -0
- package/lib/cjs/binding/models/Binding.js.map +1 -0
- package/lib/cjs/binding/models/BindingActivation.d.ts +3 -0
- package/lib/cjs/binding/models/BindingActivation.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingActivation.js +3 -0
- package/lib/cjs/binding/models/BindingActivation.js.map +1 -0
- package/lib/cjs/binding/models/BindingDeactivation.d.ts +2 -0
- package/lib/cjs/binding/models/BindingDeactivation.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingDeactivation.js +3 -0
- package/lib/cjs/binding/models/BindingDeactivation.js.map +1 -0
- package/lib/cjs/binding/models/BindingMetadata.d.ts +10 -0
- package/lib/cjs/binding/models/BindingMetadata.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingMetadata.js +3 -0
- package/lib/cjs/binding/models/BindingMetadata.js.map +1 -0
- package/lib/cjs/binding/models/BindingMetadataImplementation.d.ts +19 -0
- package/lib/cjs/binding/models/BindingMetadataImplementation.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingMetadataImplementation.js +26 -0
- package/lib/cjs/binding/models/BindingMetadataImplementation.js.map +1 -0
- package/lib/cjs/binding/models/BindingMetadataImplementation.spec.d.ts +2 -0
- package/lib/cjs/binding/models/BindingMetadataImplementation.spec.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingScope.d.ts +5 -0
- package/lib/cjs/binding/models/BindingScope.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingScope.js +9 -0
- package/lib/cjs/binding/models/BindingScope.js.map +1 -0
- package/lib/cjs/binding/models/BindingType.d.ts +5 -0
- package/lib/cjs/binding/models/BindingType.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingType.js +12 -0
- package/lib/cjs/binding/models/BindingType.js.map +1 -0
- package/lib/cjs/binding/models/ConstantValueBinding.d.ts +8 -0
- package/lib/cjs/binding/models/ConstantValueBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ConstantValueBinding.js +3 -0
- package/lib/cjs/binding/models/ConstantValueBinding.js.map +1 -0
- package/lib/cjs/binding/models/DynamicValueBinding.d.ts +8 -0
- package/lib/cjs/binding/models/DynamicValueBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/DynamicValueBinding.js +3 -0
- package/lib/cjs/binding/models/DynamicValueBinding.js.map +1 -0
- package/lib/cjs/binding/models/DynamicValueBuilder.d.ts +4 -0
- package/lib/cjs/binding/models/DynamicValueBuilder.d.ts.map +1 -0
- package/lib/cjs/binding/models/DynamicValueBuilder.js +3 -0
- package/lib/cjs/binding/models/DynamicValueBuilder.js.map +1 -0
- package/lib/cjs/binding/models/Factory.d.ts +2 -0
- package/lib/cjs/binding/models/Factory.d.ts.map +1 -0
- package/lib/cjs/binding/models/Factory.js +3 -0
- package/lib/cjs/binding/models/Factory.js.map +1 -0
- package/lib/cjs/binding/models/FactoryBinding.d.ts +9 -0
- package/lib/cjs/binding/models/FactoryBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/FactoryBinding.js +3 -0
- package/lib/cjs/binding/models/FactoryBinding.js.map +1 -0
- package/lib/cjs/binding/models/InstanceBinding.d.ts +8 -0
- package/lib/cjs/binding/models/InstanceBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/InstanceBinding.js +3 -0
- package/lib/cjs/binding/models/InstanceBinding.js.map +1 -0
- package/lib/cjs/binding/models/Provider.d.ts +2 -0
- package/lib/cjs/binding/models/Provider.d.ts.map +1 -0
- package/lib/cjs/binding/models/Provider.js +3 -0
- package/lib/cjs/binding/models/Provider.js.map +1 -0
- package/lib/cjs/binding/models/ProviderBinding.d.ts +9 -0
- package/lib/cjs/binding/models/ProviderBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ProviderBinding.js +3 -0
- package/lib/cjs/binding/models/ProviderBinding.js.map +1 -0
- package/lib/cjs/binding/models/ScopedBinding.d.ts +14 -0
- package/lib/cjs/binding/models/ScopedBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ScopedBinding.js +3 -0
- package/lib/cjs/binding/models/ScopedBinding.js.map +1 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.d.ts +7 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.js +3 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.js.map +1 -0
- package/lib/cjs/binding/services/ActivationsService.d.ts +23 -0
- package/lib/cjs/binding/services/ActivationsService.d.ts.map +1 -0
- package/lib/cjs/binding/services/ActivationsService.js +60 -0
- package/lib/cjs/binding/services/ActivationsService.js.map +1 -0
- package/lib/cjs/binding/services/ActivationsService.spec.d.ts +2 -0
- package/lib/cjs/binding/services/ActivationsService.spec.d.ts.map +1 -0
- package/lib/cjs/binding/services/BindingService.d.ts +24 -0
- package/lib/cjs/binding/services/BindingService.d.ts.map +1 -0
- package/lib/cjs/binding/services/BindingService.js +57 -0
- package/lib/cjs/binding/services/BindingService.js.map +1 -0
- package/lib/cjs/binding/services/BindingService.spec.d.ts +2 -0
- package/lib/cjs/binding/services/BindingService.spec.d.ts.map +1 -0
- package/lib/cjs/binding/services/DeactivationsService.d.ts +23 -0
- package/lib/cjs/binding/services/DeactivationsService.d.ts.map +1 -0
- package/lib/cjs/binding/services/DeactivationsService.js +60 -0
- package/lib/cjs/binding/services/DeactivationsService.js.map +1 -0
- package/lib/cjs/binding/services/DeactivationsService.spec.d.ts +2 -0
- package/lib/cjs/binding/services/DeactivationsService.spec.d.ts.map +1 -0
- package/lib/cjs/common/calculations/chain.d.ts +2 -0
- package/lib/cjs/common/calculations/chain.d.ts.map +1 -0
- package/lib/cjs/common/calculations/chain.js +9 -0
- package/lib/cjs/common/calculations/chain.js.map +1 -0
- package/lib/cjs/common/calculations/chain.spec.d.ts +2 -0
- package/lib/cjs/common/calculations/chain.spec.d.ts.map +1 -0
- package/lib/cjs/common/calculations/getSelf.d.ts +2 -0
- package/lib/cjs/common/calculations/getSelf.d.ts.map +1 -0
- package/lib/cjs/common/calculations/getSelf.js +7 -0
- package/lib/cjs/common/calculations/getSelf.js.map +1 -0
- package/lib/cjs/common/calculations/getSelf.spec.d.ts +2 -0
- package/lib/cjs/common/calculations/getSelf.spec.d.ts.map +1 -0
- package/lib/cjs/common/models/Cloneable.d.ts +4 -0
- package/lib/cjs/common/models/Cloneable.d.ts.map +1 -0
- package/lib/cjs/common/models/Cloneable.js +3 -0
- package/lib/cjs/common/models/Cloneable.js.map +1 -0
- package/lib/cjs/common/models/OneToManyMapStar.d.ts +18 -0
- package/lib/cjs/common/models/OneToManyMapStar.d.ts.map +1 -0
- package/lib/cjs/common/models/OneToManyMapStar.js +80 -0
- package/lib/cjs/common/models/OneToManyMapStar.js.map +1 -0
- package/lib/cjs/common/models/OneToManyMapStar.spec.d.ts +2 -0
- package/lib/cjs/common/models/OneToManyMapStar.spec.d.ts.map +1 -0
- package/lib/cjs/common/models/SingleInmutableLinkedList.d.ts +11 -0
- package/lib/cjs/common/models/SingleInmutableLinkedList.d.ts.map +1 -0
- package/lib/cjs/common/models/SingleInmutableLinkedList.js +36 -0
- package/lib/cjs/common/models/SingleInmutableLinkedList.js.map +1 -0
- package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts +2 -0
- package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts.map +1 -0
- package/lib/cjs/common/models/Writable.d.ts +4 -0
- package/lib/cjs/common/models/Writable.d.ts.map +1 -0
- package/lib/cjs/common/models/Writable.js +3 -0
- package/lib/cjs/common/models/Writable.js.map +1 -0
- package/lib/cjs/common/models/__mocks__/OneToManyMapStar.d.ts +8 -0
- package/lib/cjs/common/models/__mocks__/OneToManyMapStar.d.ts.map +1 -0
- package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js +26 -0
- package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js.map +1 -0
- package/lib/cjs/decorator/actions/decorate.d.ts +4 -0
- package/lib/cjs/decorator/actions/decorate.d.ts.map +1 -0
- package/lib/cjs/decorator/actions/decorate.js +19 -0
- package/lib/cjs/decorator/actions/decorate.js.map +1 -0
- package/lib/cjs/decorator/actions/decorate.spec.d.ts +2 -0
- package/lib/cjs/decorator/actions/decorate.spec.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts +5 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.js +25 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.spec.d.ts +2 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.spec.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts +3 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js +13 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.spec.d.ts +2 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.spec.d.ts.map +1 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.d.ts +5 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfo.d.ts +4 -0
- package/lib/cjs/decorator/models/DecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/DecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts +5 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.js +9 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.js.map +1 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.d.ts +6 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.d.ts +6 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.js.map +1 -0
- package/lib/cjs/error/models/InversifyCoreErrorKind.d.ts +5 -2
- package/lib/cjs/error/models/InversifyCoreErrorKind.d.ts.map +1 -1
- package/lib/cjs/error/models/InversifyCoreErrorKind.js +5 -2
- package/lib/cjs/error/models/InversifyCoreErrorKind.js.map +1 -1
- package/lib/cjs/index.d.ts +56 -11
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +41 -9
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.d.ts +3 -0
- package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.js +16 -0
- package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.js.map +1 -0
- package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.d.ts +3 -0
- package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.js +14 -0
- package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.js.map +1 -0
- package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.js +26 -0
- package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.js.map +1 -0
- package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataConstructorArgument.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.d.ts +3 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js +15 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.d.ts +3 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js +15 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataProperty.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataName.d.ts +5 -0
- package/lib/cjs/metadata/actions/updateMetadataName.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataName.js +15 -0
- package/lib/cjs/metadata/actions/updateMetadataName.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataName.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataName.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.d.ts +4 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.js +13 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.d.ts +5 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.js +15 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.d.ts +5 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.js +15 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.d.ts +4 -0
- package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.js +13 -0
- package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.js.map +1 -0
- package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.d.ts +6 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.js +18 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.d.ts +4 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.js +16 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.d.ts +5 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.js +14 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.d.ts +3 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.js +14 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.d.ts +3 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.js +10 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.d.ts +6 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.js +8 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.d.ts +6 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.js +13 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.d.ts +5 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js +19 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.d.ts +4 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.js +8 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.d.ts +5 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.js +21 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getClassMetadata.d.ts.map +1 -1
- package/lib/cjs/metadata/calculations/getClassMetadata.js +14 -14
- package/lib/cjs/metadata/calculations/getClassMetadata.js.map +1 -1
- package/lib/cjs/metadata/calculations/getClassMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.d.ts.map +1 -1
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js +1 -0
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js.map +1 -1
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.js +7 -0
- package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.js.map +1 -0
- package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.d.ts +5 -0
- package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.js +20 -0
- package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.js.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedProperties.d.ts +5 -0
- package/lib/cjs/metadata/calculations/getExtendedProperties.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedProperties.js +16 -0
- package/lib/cjs/metadata/calculations/getExtendedProperties.js.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedProperties.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getExtendedProperties.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.d.ts +2 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.js +23 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.js.map +1 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/isPendingClassMetadata.d.ts +3 -0
- package/lib/cjs/metadata/calculations/isPendingClassMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/isPendingClassMetadata.js +10 -0
- package/lib/cjs/metadata/calculations/isPendingClassMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/isPendingClassMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/isPendingClassMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.d.ts +4 -0
- package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.js +34 -0
- package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.d.ts +4 -0
- package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.js +29 -0
- package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.js.map +1 -0
- package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/inject.d.ts +3 -0
- package/lib/cjs/metadata/decorators/inject.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/inject.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/inject.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/inject.js +25 -0
- package/lib/cjs/metadata/decorators/inject.js.map +1 -0
- package/lib/cjs/metadata/decorators/inject.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/inject.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectBase.d.ts +1 -2
- package/lib/cjs/metadata/decorators/injectBase.d.ts.map +1 -1
- package/lib/cjs/metadata/decorators/injectBase.js +18 -7
- package/lib/cjs/metadata/decorators/injectBase.js.map +1 -1
- package/lib/cjs/metadata/decorators/injectBase.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/injectFrom.d.ts +3 -0
- package/lib/cjs/metadata/decorators/injectFrom.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectFrom.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/injectFrom.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectFrom.js +27 -0
- package/lib/cjs/metadata/decorators/injectFrom.js.map +1 -0
- package/lib/cjs/metadata/decorators/injectFrom.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/injectFrom.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectFromBase.d.ts +3 -0
- package/lib/cjs/metadata/decorators/injectFromBase.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectFromBase.js +21 -0
- package/lib/cjs/metadata/decorators/injectFromBase.js.map +1 -0
- package/lib/cjs/metadata/decorators/injectFromBase.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/injectFromBase.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectable.d.ts +3 -0
- package/lib/cjs/metadata/decorators/injectable.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectable.js +20 -0
- package/lib/cjs/metadata/decorators/injectable.js.map +1 -0
- package/lib/cjs/metadata/decorators/injectable.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/injectable.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.d.ts +3 -0
- package/lib/cjs/metadata/decorators/multiInject.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/multiInject.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.js +25 -0
- package/lib/cjs/metadata/decorators/multiInject.js.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/multiInject.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/named.d.ts +3 -0
- package/lib/cjs/metadata/decorators/named.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/named.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/named.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/named.js +25 -0
- package/lib/cjs/metadata/decorators/named.js.map +1 -0
- package/lib/cjs/metadata/decorators/named.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/named.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/optional.d.ts +2 -0
- package/lib/cjs/metadata/decorators/optional.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/optional.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/optional.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/optional.js +25 -0
- package/lib/cjs/metadata/decorators/optional.js.map +1 -0
- package/lib/cjs/metadata/decorators/optional.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/optional.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.d.ts +2 -0
- package/lib/cjs/metadata/decorators/postConstruct.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/postConstruct.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.js +19 -0
- package/lib/cjs/metadata/decorators/postConstruct.js.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/postConstruct.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.d.ts +2 -0
- package/lib/cjs/metadata/decorators/preDestroy.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/preDestroy.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.js +19 -0
- package/lib/cjs/metadata/decorators/preDestroy.js.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/preDestroy.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.d.ts +3 -0
- package/lib/cjs/metadata/decorators/tagged.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/tagged.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.js +25 -0
- package/lib/cjs/metadata/decorators/tagged.js.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/tagged.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.d.ts +3 -0
- package/lib/cjs/metadata/decorators/targetName.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/targetName.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.js +25 -0
- package/lib/cjs/metadata/decorators/targetName.js.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/targetName.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.d.ts +2 -0
- package/lib/cjs/metadata/decorators/unmanaged.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/unmanaged.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.js +24 -0
- package/lib/cjs/metadata/decorators/unmanaged.js.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/unmanaged.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/models/ClassMetadata.d.ts +2 -0
- package/lib/cjs/metadata/models/ClassMetadata.d.ts.map +1 -1
- package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts +2 -2
- package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts.map +1 -1
- package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts +5 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts.map +1 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptions.js +3 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptions.js.map +1 -0
- package/lib/cjs/metadata/models/InjectFromOptions.d.ts +7 -0
- package/lib/cjs/metadata/models/InjectFromOptions.d.ts.map +1 -0
- package/lib/cjs/metadata/models/InjectFromOptions.js +3 -0
- package/lib/cjs/metadata/models/InjectFromOptions.js.map +1 -0
- package/lib/cjs/metadata/models/ManagedClassElementMetadata.d.ts +1 -0
- package/lib/cjs/metadata/models/ManagedClassElementMetadata.d.ts.map +1 -1
- package/lib/cjs/metadata/models/MaybeClassMetadata.d.ts +2 -0
- package/lib/cjs/metadata/models/MaybeClassMetadata.d.ts.map +1 -1
- package/lib/cjs/metadata/models/MaybeManagedClassElementMetadata.d.ts +1 -3
- package/lib/cjs/metadata/models/MaybeManagedClassElementMetadata.d.ts.map +1 -1
- package/lib/cjs/planning/actions/addBranchService.d.ts +4 -0
- package/lib/cjs/planning/actions/addBranchService.d.ts.map +1 -0
- package/lib/cjs/planning/actions/addBranchService.js +23 -0
- package/lib/cjs/planning/actions/addBranchService.js.map +1 -0
- package/lib/cjs/planning/actions/addBranchService.spec.d.ts +2 -0
- package/lib/cjs/planning/actions/addBranchService.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts +10 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js +13 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js.map +1 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts +3 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js +18 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js.map +1 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts +3 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js +20 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js.map +1 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.d.ts +5 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.js +8 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.js.map +1 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/plan.d.ts +4 -0
- package/lib/cjs/planning/calculations/plan.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/plan.int.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/plan.int.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/plan.js +141 -0
- package/lib/cjs/planning/calculations/plan.js.map +1 -0
- package/lib/cjs/planning/calculations/plan.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/plan.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts +4 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js +63 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js.map +1 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.spec.d.ts.map +1 -0
- package/lib/cjs/planning/models/BaseBindingNode.d.ts +7 -0
- package/lib/cjs/planning/models/BaseBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/BaseBindingNode.js +3 -0
- package/lib/cjs/planning/models/BaseBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/BasePlanParams.d.ts +9 -0
- package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -0
- package/lib/cjs/planning/models/BasePlanParams.js +3 -0
- package/lib/cjs/planning/models/BasePlanParams.js.map +1 -0
- package/lib/cjs/planning/models/BindingNodeParent.d.ts +4 -0
- package/lib/cjs/planning/models/BindingNodeParent.d.ts.map +1 -0
- package/lib/cjs/planning/models/BindingNodeParent.js +3 -0
- package/lib/cjs/planning/models/BindingNodeParent.js.map +1 -0
- package/lib/cjs/planning/models/InstanceBindingNode.d.ts +10 -0
- package/lib/cjs/planning/models/InstanceBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/InstanceBindingNode.js +3 -0
- package/lib/cjs/planning/models/InstanceBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/LeafBindingNode.d.ts +9 -0
- package/lib/cjs/planning/models/LeafBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/LeafBindingNode.js +3 -0
- package/lib/cjs/planning/models/LeafBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanBindingNode.d.ts +5 -0
- package/lib/cjs/planning/models/PlanBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanBindingNode.js +3 -0
- package/lib/cjs/planning/models/PlanBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanParams.d.ts +6 -0
- package/lib/cjs/planning/models/PlanParams.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanParams.js +3 -0
- package/lib/cjs/planning/models/PlanParams.js.map +1 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.d.ts +11 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.js +3 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.js.map +1 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.d.ts +6 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.js +3 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.js.map +1 -0
- package/lib/cjs/planning/models/PlanResult.d.ts +5 -0
- package/lib/cjs/planning/models/PlanResult.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanResult.js +3 -0
- package/lib/cjs/planning/models/PlanResult.js.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNode.d.ts +9 -0
- package/lib/cjs/planning/models/PlanServiceNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNode.js +3 -0
- package/lib/cjs/planning/models/PlanServiceNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts +4 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.js +3 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.js.map +1 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.d.ts +7 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.js +3 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanTree.d.ts +5 -0
- package/lib/cjs/planning/models/PlanTree.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanTree.js +3 -0
- package/lib/cjs/planning/models/PlanTree.js.map +1 -0
- package/lib/cjs/planning/models/SubplanParams.d.ts +6 -0
- package/lib/cjs/planning/models/SubplanParams.d.ts.map +1 -0
- package/lib/cjs/planning/models/SubplanParams.js +3 -0
- package/lib/cjs/planning/models/SubplanParams.js.map +1 -0
- package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.d.ts +2 -0
- package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.d.ts.map +1 -0
- package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.js +5 -0
- package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.js.map +1 -0
- package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.d.ts +2 -0
- package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.d.ts.map +1 -0
- package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.js +5 -0
- package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.js.map +1 -0
- package/lib/cjs/resolution/actions/resolve.d.ts +3 -0
- package/lib/cjs/resolution/actions/resolve.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolve.int.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolve.int.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolve.js +82 -0
- package/lib/cjs/resolution/actions/resolve.js.map +1 -0
- package/lib/cjs/resolution/actions/resolve.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolve.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingActivations.d.ts +7 -0
- package/lib/cjs/resolution/actions/resolveBindingActivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingActivations.js +19 -0
- package/lib/cjs/resolution/actions/resolveBindingActivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingActivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveBindingActivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingDeactivations.d.ts +14 -0
- package/lib/cjs/resolution/actions/resolveBindingDeactivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingDeactivations.js +35 -0
- package/lib/cjs/resolution/actions/resolveBindingDeactivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingDeactivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveBindingDeactivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.d.ts +14 -0
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js +26 -0
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceActivations.d.ts +5 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceActivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceActivations.js +39 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceActivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceActivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceActivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.d.ts +5 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.js +33 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingsDeactivations.d.ts +4 -0
- package/lib/cjs/resolution/actions/resolveBindingsDeactivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingsDeactivations.js +35 -0
- package/lib/cjs/resolution/actions/resolveBindingsDeactivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveBindingsDeactivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveBindingsDeactivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveConstantValueBinding.d.ts +5 -0
- package/lib/cjs/resolution/actions/resolveConstantValueBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveConstantValueBinding.js +7 -0
- package/lib/cjs/resolution/actions/resolveConstantValueBinding.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveDynamicValueBinding.d.ts +5 -0
- package/lib/cjs/resolution/actions/resolveDynamicValueBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveDynamicValueBinding.js +7 -0
- package/lib/cjs/resolution/actions/resolveDynamicValueBinding.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveFactoryBinding.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveFactoryBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveFactoryBinding.js +7 -0
- package/lib/cjs/resolution/actions/resolveFactoryBinding.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.js +21 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNode.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNode.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNode.js +14 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNode.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNode.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNode.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.js +10 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js +16 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveModuleDeactivations.d.ts +3 -0
- package/lib/cjs/resolution/actions/resolveModuleDeactivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveModuleDeactivations.js +9 -0
- package/lib/cjs/resolution/actions/resolveModuleDeactivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveModuleDeactivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveModuleDeactivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts +4 -0
- package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolvePostConstruct.js +52 -0
- package/lib/cjs/resolution/actions/resolvePostConstruct.js.map +1 -0
- package/lib/cjs/resolution/actions/resolvePostConstruct.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolvePostConstruct.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveProviderBinding.js +7 -0
- package/lib/cjs/resolution/actions/resolveProviderBinding.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveScoped.d.ts +7 -0
- package/lib/cjs/resolution/actions/resolveScoped.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveScoped.js +37 -0
- package/lib/cjs/resolution/actions/resolveScoped.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveScoped.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveScoped.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveScopedBinding.d.ts +7 -0
- package/lib/cjs/resolution/actions/resolveScopedBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveScopedBinding.js +8 -0
- package/lib/cjs/resolution/actions/resolveScopedBinding.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.js +8 -0
- package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveServiceDeactivations.d.ts +4 -0
- package/lib/cjs/resolution/actions/resolveServiceDeactivations.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveServiceDeactivations.js +9 -0
- package/lib/cjs/resolution/actions/resolveServiceDeactivations.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveServiceDeactivations.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveServiceDeactivations.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.d.ts +6 -0
- package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.js +20 -0
- package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.d.ts +7 -0
- package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.js +18 -0
- package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.js.map +1 -0
- package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/setInstanceProperties.d.ts +5 -0
- package/lib/cjs/resolution/actions/setInstanceProperties.d.ts.map +1 -0
- package/lib/cjs/resolution/actions/setInstanceProperties.js +31 -0
- package/lib/cjs/resolution/actions/setInstanceProperties.js.map +1 -0
- package/lib/cjs/resolution/actions/setInstanceProperties.spec.d.ts +2 -0
- package/lib/cjs/resolution/actions/setInstanceProperties.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/getInstanceNodeBinding.d.ts +4 -0
- package/lib/cjs/resolution/calculations/getInstanceNodeBinding.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/getInstanceNodeBinding.js +7 -0
- package/lib/cjs/resolution/calculations/getInstanceNodeBinding.js.map +1 -0
- package/lib/cjs/resolution/calculations/getInstanceNodeBinding.spec.d.ts +2 -0
- package/lib/cjs/resolution/calculations/getInstanceNodeBinding.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.d.ts +5 -0
- package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.js +7 -0
- package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.js.map +1 -0
- package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.spec.d.ts +2 -0
- package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.d.ts +5 -0
- package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.js +7 -0
- package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.js.map +1 -0
- package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.spec.d.ts +2 -0
- package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.d.ts +5 -0
- package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.js +7 -0
- package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.js.map +1 -0
- package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.spec.d.ts +2 -0
- package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.d.ts +5 -0
- package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.d.ts.map +1 -0
- package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.js +7 -0
- package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.js.map +1 -0
- package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.spec.d.ts +2 -0
- package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.spec.d.ts.map +1 -0
- package/lib/cjs/resolution/models/DeactivationParams.d.ts +11 -0
- package/lib/cjs/resolution/models/DeactivationParams.d.ts.map +1 -0
- package/lib/cjs/resolution/models/DeactivationParams.js +3 -0
- package/lib/cjs/resolution/models/DeactivationParams.js.map +1 -0
- package/lib/cjs/resolution/models/GetOptions.d.ts +8 -0
- package/lib/cjs/resolution/models/GetOptions.d.ts.map +1 -0
- package/lib/cjs/resolution/models/GetOptions.js +3 -0
- package/lib/cjs/resolution/models/GetOptions.js.map +1 -0
- package/lib/cjs/resolution/models/GetOptionsTagConstraint.d.ts +6 -0
- package/lib/cjs/resolution/models/GetOptionsTagConstraint.d.ts.map +1 -0
- package/lib/cjs/resolution/models/GetOptionsTagConstraint.js +3 -0
- package/lib/cjs/resolution/models/GetOptionsTagConstraint.js.map +1 -0
- package/lib/cjs/resolution/models/OptionalGetOptions.d.ts +5 -0
- package/lib/cjs/resolution/models/OptionalGetOptions.d.ts.map +1 -0
- package/lib/cjs/resolution/models/OptionalGetOptions.js +3 -0
- package/lib/cjs/resolution/models/OptionalGetOptions.js.map +1 -0
- package/lib/cjs/resolution/models/ResolutionContext.d.ts +12 -0
- package/lib/cjs/resolution/models/ResolutionContext.d.ts.map +1 -0
- package/lib/cjs/resolution/models/ResolutionContext.js +3 -0
- package/lib/cjs/resolution/models/ResolutionContext.js.map +1 -0
- package/lib/cjs/resolution/models/ResolutionParams.d.ts +11 -0
- package/lib/cjs/resolution/models/ResolutionParams.d.ts.map +1 -0
- package/lib/cjs/resolution/models/ResolutionParams.js +3 -0
- package/lib/cjs/resolution/models/ResolutionParams.js.map +1 -0
- package/lib/cjs/resolution/models/Resolved.d.ts +3 -0
- package/lib/cjs/resolution/models/Resolved.d.ts.map +1 -0
- package/lib/cjs/resolution/models/Resolved.js +3 -0
- package/lib/cjs/resolution/models/Resolved.js.map +1 -0
- package/lib/cjs/string/models/LegacyQueryableStringImpl.spec.d.ts +2 -0
- package/lib/cjs/symbol/calculations/getDescription.spec.d.ts +2 -0
- package/lib/esm/index.d.ts +314 -23
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -0
- package/package.json +19 -18
- package/.turbo/turbo-build.log +0 -313
- package/lib/cjs/legacyTarget/calculations/getTargetId.d.ts +0 -2
- package/lib/cjs/legacyTarget/calculations/getTargetId.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargetId.js +0 -16
- package/lib/cjs/legacyTarget/calculations/getTargetId.js.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargetId.spec.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargets.d.ts +0 -5
- package/lib/cjs/legacyTarget/calculations/getTargets.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargets.js +0 -19
- package/lib/cjs/legacyTarget/calculations/getTargets.js.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargets.spec.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts +0 -6
- package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.js +0 -36
- package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.js.map +0 -1
- package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.spec.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTarget.d.ts +0 -25
- package/lib/cjs/legacyTarget/models/LegacyTarget.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTarget.js +0 -3
- package/lib/cjs/legacyTarget/models/LegacyTarget.js.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTargetImpl.d.ts +0 -32
- package/lib/cjs/legacyTarget/models/LegacyTargetImpl.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTargetImpl.js +0 -95
- package/lib/cjs/legacyTarget/models/LegacyTargetImpl.js.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTargetImpl.spec.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTargetType.d.ts +0 -2
- package/lib/cjs/legacyTarget/models/LegacyTargetType.d.ts.map +0 -1
- package/lib/cjs/legacyTarget/models/LegacyTargetType.js +0 -3
- package/lib/cjs/legacyTarget/models/LegacyTargetType.js.map +0 -1
- package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts +0 -4
- package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.js +0 -23
- package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.js.map +0 -1
- package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts +0 -4
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.js +0 -48
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.d.ts +0 -4
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.js +0 -15
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.d.ts +0 -4
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.js +0 -32
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts +0 -5
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.js +0 -28
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.d.ts +0 -5
- package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.js +0 -21
- package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataProperties.d.ts +0 -4
- package/lib/cjs/metadata/calculations/getClassMetadataProperties.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataProperties.js +0 -18
- package/lib/cjs/metadata/calculations/getClassMetadataProperties.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataProperties.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts +0 -5
- package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.js +0 -14
- package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.js.map +0 -1
- package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts +0 -5
- package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.js +0 -20
- package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.js.map +0 -1
- package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getLegacyMetadata.d.ts +0 -4
- package/lib/cjs/metadata/calculations/getLegacyMetadata.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getLegacyMetadata.js +0 -70
- package/lib/cjs/metadata/calculations/getLegacyMetadata.js.map +0 -1
- package/lib/cjs/metadata/calculations/getLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts +0 -5
- package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.js +0 -20
- package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.js.map +0 -1
- package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/cjs/metadata/models/LegacyConstructorMetadata.d.ts +0 -6
- package/lib/cjs/metadata/models/LegacyConstructorMetadata.d.ts.map +0 -1
- package/lib/cjs/metadata/models/LegacyConstructorMetadata.js +0 -3
- package/lib/cjs/metadata/models/LegacyConstructorMetadata.js.map +0 -1
- package/lib/cjs/metadata/models/LegacyMetadata.d.ts +0 -5
- package/lib/cjs/metadata/models/LegacyMetadata.d.ts.map +0 -1
- package/lib/cjs/metadata/models/LegacyMetadata.js +0 -3
- package/lib/cjs/metadata/models/LegacyMetadata.js.map +0 -1
- package/lib/cjs/metadata/models/LegacyMetadataMap.d.ts +0 -5
- package/lib/cjs/metadata/models/LegacyMetadataMap.d.ts.map +0 -1
- package/lib/cjs/metadata/models/LegacyMetadataMap.js +0 -3
- package/lib/cjs/metadata/models/LegacyMetadataMap.js.map +0 -1
- package/lib/cjs/metadata/models/LegacyMetadataReader.d.ts +0 -7
- package/lib/cjs/metadata/models/LegacyMetadataReader.d.ts.map +0 -1
- package/lib/cjs/metadata/models/LegacyMetadataReader.js +0 -3
- package/lib/cjs/metadata/models/LegacyMetadataReader.js.map +0 -1
- package/lib/cjs/prototype/calculations/getBaseType.d.ts +0 -3
- package/lib/cjs/prototype/calculations/getBaseType.d.ts.map +0 -1
- package/lib/cjs/prototype/calculations/getBaseType.js +0 -9
- package/lib/cjs/prototype/calculations/getBaseType.js.map +0 -1
- package/lib/cjs/prototype/calculations/getBaseType.spec.d.ts.map +0 -1
- package/lib/cjs/prototype/models/Prototype.d.ts +0 -5
- package/lib/cjs/prototype/models/Prototype.d.ts.map +0 -1
- package/lib/cjs/prototype/models/Prototype.js +0 -3
- package/lib/cjs/prototype/models/Prototype.js.map +0 -1
- package/lib/cjs/reflectMetadata/data/keys.d.ts +0 -14
- package/lib/cjs/reflectMetadata/data/keys.d.ts.map +0 -1
- package/lib/cjs/reflectMetadata/data/keys.js +0 -38
- package/lib/cjs/reflectMetadata/data/keys.js.map +0 -1
- package/lib/esm/error/models/InversifyCoreError.d.ts +0 -10
- package/lib/esm/error/models/InversifyCoreError.d.ts.map +0 -1
- package/lib/esm/error/models/InversifyCoreErrorKind.d.ts +0 -5
- package/lib/esm/error/models/InversifyCoreErrorKind.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetId.d.ts +0 -2
- package/lib/esm/legacyTarget/calculations/getTargetId.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetId.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargets.d.ts +0 -5
- package/lib/esm/legacyTarget/calculations/getTargets.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargets.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts +0 -6
- package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTarget.d.ts +0 -25
- package/lib/esm/legacyTarget/models/LegacyTarget.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTargetImpl.d.ts +0 -32
- package/lib/esm/legacyTarget/models/LegacyTargetImpl.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTargetImpl.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTargetType.d.ts +0 -2
- package/lib/esm/legacyTarget/models/LegacyTargetType.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.d.ts +0 -4
- package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.spec.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.d.ts +0 -4
- package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts +0 -4
- package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadata.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts +0 -5
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.d.ts +0 -5
- package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataProperties.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassMetadataProperties.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataProperties.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts +0 -5
- package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts +0 -5
- package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getDefaultClassMetadata.d.ts +0 -3
- package/lib/esm/metadata/calculations/getDefaultClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getDefaultClassMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getLegacyMetadata.d.ts +0 -4
- package/lib/esm/metadata/calculations/getLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts +0 -5
- package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/decorators/injectBase.d.ts +0 -4
- package/lib/esm/metadata/decorators/injectBase.d.ts.map +0 -1
- package/lib/esm/metadata/decorators/injectBase.spec.d.ts.map +0 -1
- package/lib/esm/metadata/models/BaseClassElementMetadata.d.ts +0 -4
- package/lib/esm/metadata/models/BaseClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassElementMetadata.d.ts +0 -4
- package/lib/esm/metadata/models/ClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassElementMetadataKind.d.ts +0 -6
- package/lib/esm/metadata/models/ClassElementMetadataKind.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassMetadata.d.ts +0 -8
- package/lib/esm/metadata/models/ClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassMetadataLifecycle.d.ts +0 -5
- package/lib/esm/metadata/models/ClassMetadataLifecycle.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyConstructorMetadata.d.ts +0 -6
- package/lib/esm/metadata/models/LegacyConstructorMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyMetadata.d.ts +0 -5
- package/lib/esm/metadata/models/LegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyMetadataMap.d.ts +0 -5
- package/lib/esm/metadata/models/LegacyMetadataMap.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyMetadataReader.d.ts +0 -7
- package/lib/esm/metadata/models/LegacyMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/models/ManagedClassElementMetadata.d.ts +0 -14
- package/lib/esm/metadata/models/ManagedClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeClassElementMetadata.d.ts +0 -5
- package/lib/esm/metadata/models/MaybeClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeClassElementMetadataKind.d.ts +0 -4
- package/lib/esm/metadata/models/MaybeClassElementMetadataKind.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeClassMetadata.d.ts +0 -8
- package/lib/esm/metadata/models/MaybeClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeManagedClassElementMetadata.d.ts +0 -14
- package/lib/esm/metadata/models/MaybeManagedClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MetadataName.d.ts +0 -2
- package/lib/esm/metadata/models/MetadataName.d.ts.map +0 -1
- package/lib/esm/metadata/models/MetadataTag.d.ts +0 -2
- package/lib/esm/metadata/models/MetadataTag.d.ts.map +0 -1
- package/lib/esm/metadata/models/MetadataTargetName.d.ts +0 -2
- package/lib/esm/metadata/models/MetadataTargetName.d.ts.map +0 -1
- package/lib/esm/metadata/models/UnmanagedClassElementMetadata.d.ts +0 -4
- package/lib/esm/metadata/models/UnmanagedClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/prototype/calculations/getBaseType.d.ts +0 -3
- package/lib/esm/prototype/calculations/getBaseType.d.ts.map +0 -1
- package/lib/esm/prototype/calculations/getBaseType.spec.d.ts.map +0 -1
- package/lib/esm/prototype/models/Prototype.d.ts +0 -5
- package/lib/esm/prototype/models/Prototype.d.ts.map +0 -1
- package/lib/esm/reflectMetadata/data/classMetadataReflectKey.d.ts +0 -2
- package/lib/esm/reflectMetadata/data/classMetadataReflectKey.d.ts.map +0 -1
- package/lib/esm/reflectMetadata/data/keys.d.ts +0 -14
- package/lib/esm/reflectMetadata/data/keys.d.ts.map +0 -1
- package/lib/esm/string/models/LegacyQueryableString.d.ts +0 -8
- package/lib/esm/string/models/LegacyQueryableString.d.ts.map +0 -1
- package/lib/esm/string/models/LegacyQueryableStringImpl.d.ts +0 -11
- package/lib/esm/string/models/LegacyQueryableStringImpl.d.ts.map +0 -1
- package/lib/esm/string/models/LegacyQueryableStringImpl.spec.d.ts.map +0 -1
- package/lib/esm/symbol/calculations/getDescription.d.ts +0 -2
- package/lib/esm/symbol/calculations/getDescription.d.ts.map +0 -1
- package/lib/esm/symbol/calculations/getDescription.spec.d.ts.map +0 -1
- package/tsconfig.cjs.tsbuildinfo +0 -1
- package/webpack.config.mjs +0 -13
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,23 +1,314 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
import { ServiceIdentifier, Either, Newable, LazyServiceIdentifier } from '@inversifyjs/common';
|
|
2
|
+
|
|
3
|
+
type MetadataName = number | string | symbol;
|
|
4
|
+
|
|
5
|
+
type MetadataTag = number | string | symbol;
|
|
6
|
+
|
|
7
|
+
interface BindingMetadata {
|
|
8
|
+
readonly name: MetadataName | undefined;
|
|
9
|
+
readonly tags: Map<MetadataTag, unknown>;
|
|
10
|
+
readonly serviceIdentifier: ServiceIdentifier;
|
|
11
|
+
getAncestor(): BindingMetadata | undefined;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
type BindingType = 'ConstantValue' | 'DynamicValue' | 'Factory' | 'Instance' | 'Provider' | 'ServiceRedirection';
|
|
15
|
+
declare const bindingTypeValues: {
|
|
16
|
+
[TKey in BindingType]: TKey;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
interface BaseBinding<TType extends BindingType, TActivated> {
|
|
20
|
+
readonly id: number;
|
|
21
|
+
readonly moduleId: number | undefined;
|
|
22
|
+
readonly serviceIdentifier: ServiceIdentifier<TActivated>;
|
|
23
|
+
readonly type: TType;
|
|
24
|
+
isSatisfiedBy(metadata: BindingMetadata): boolean;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type Resolved<TActivated> = SyncResolved<TActivated> | Promise<SyncResolved<TActivated>>;
|
|
28
|
+
type SyncResolved<TActivated> = TActivated;
|
|
29
|
+
|
|
30
|
+
type BindingScope = 'Singleton' | 'Transient' | 'Request';
|
|
31
|
+
declare const bindingScopeValues: {
|
|
32
|
+
[TKey in BindingScope]: TKey;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
type BindingActivation<T = unknown> = (injectable: T) => Resolved<T>;
|
|
36
|
+
|
|
37
|
+
type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;
|
|
38
|
+
|
|
39
|
+
interface ScopedBinding<TType extends BindingType, TScope extends BindingScope, TActivated> extends BaseBinding<TType, TActivated> {
|
|
40
|
+
cache: Either<undefined, Resolved<TActivated>>;
|
|
41
|
+
readonly onActivation: BindingActivation<TActivated> | undefined;
|
|
42
|
+
readonly onDeactivation: BindingDeactivation<TActivated> | undefined;
|
|
43
|
+
readonly scope: TScope;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface ConstantValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.ConstantValue, typeof bindingScopeValues.Singleton, TActivated> {
|
|
47
|
+
readonly value: Resolved<TActivated>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface GetOptionsTagConstraint {
|
|
51
|
+
key: MetadataTag;
|
|
52
|
+
value: unknown;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
interface GetOptions {
|
|
56
|
+
name?: MetadataName;
|
|
57
|
+
optional?: boolean;
|
|
58
|
+
tag?: GetOptionsTagConstraint;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface OptionalGetOptions extends GetOptions {
|
|
62
|
+
optional: true;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
interface ResolutionContext {
|
|
66
|
+
get<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options: OptionalGetOptions): TActivated | undefined;
|
|
67
|
+
get<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): TActivated;
|
|
68
|
+
getAll<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): TActivated[];
|
|
69
|
+
getAllAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): Promise<TActivated[]>;
|
|
70
|
+
getAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options: OptionalGetOptions): Promise<TActivated | undefined>;
|
|
71
|
+
getAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): Promise<TActivated>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
type DynamicValueBuilder<T> = (context: ResolutionContext) => Resolved<T>;
|
|
75
|
+
|
|
76
|
+
interface DynamicValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.DynamicValue, BindingScope, TActivated> {
|
|
77
|
+
readonly value: DynamicValueBuilder<TActivated>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type Factory<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs) => TActivated;
|
|
81
|
+
|
|
82
|
+
interface FactoryBinding<TActivated extends Factory<unknown>> extends ScopedBinding<typeof bindingTypeValues.Factory, typeof bindingScopeValues.Singleton, TActivated> {
|
|
83
|
+
readonly factory: (context: ResolutionContext) => TActivated;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
interface InstanceBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.Instance, BindingScope, TActivated> {
|
|
87
|
+
readonly implementationType: Newable<TActivated>;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
type Provider<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs[]) => Promise<TActivated>;
|
|
91
|
+
|
|
92
|
+
interface ProviderBinding<TActivated extends Provider<unknown>> extends ScopedBinding<typeof bindingTypeValues.Provider, typeof bindingScopeValues.Singleton, TActivated> {
|
|
93
|
+
readonly provider: (context: ResolutionContext) => TActivated;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
interface ServiceRedirectionBinding<TActivated> extends BaseBinding<typeof bindingTypeValues.ServiceRedirection, TActivated> {
|
|
97
|
+
targetServiceIdentifier: ServiceIdentifier;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type Binding<TActivated = any> = ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | InstanceBinding<TActivated> | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never) | ServiceRedirectionBinding<TActivated>;
|
|
101
|
+
|
|
102
|
+
interface Cloneable<T> {
|
|
103
|
+
clone(): T;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
declare enum ActivationRelationKind {
|
|
107
|
+
moduleId = "moduleId",
|
|
108
|
+
serviceId = "serviceId"
|
|
109
|
+
}
|
|
110
|
+
interface BindingActivationRelation {
|
|
111
|
+
[ActivationRelationKind.moduleId]?: number;
|
|
112
|
+
[ActivationRelationKind.serviceId]: ServiceIdentifier;
|
|
113
|
+
}
|
|
114
|
+
declare class ActivationsService implements Cloneable<ActivationsService> {
|
|
115
|
+
#private;
|
|
116
|
+
private constructor();
|
|
117
|
+
static build(parent: ActivationsService | undefined): ActivationsService;
|
|
118
|
+
add(activation: BindingActivation, relation: BindingActivationRelation): void;
|
|
119
|
+
clone(): ActivationsService;
|
|
120
|
+
get(serviceIdentifier: ServiceIdentifier): Iterable<BindingActivation> | undefined;
|
|
121
|
+
removeAllByModuleId(moduleId: number): void;
|
|
122
|
+
removeAllByServiceId(serviceId: ServiceIdentifier): void;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
declare class BindingService implements Cloneable<BindingService> {
|
|
126
|
+
#private;
|
|
127
|
+
private constructor();
|
|
128
|
+
static build(parent: BindingService | undefined): BindingService;
|
|
129
|
+
clone(): BindingService;
|
|
130
|
+
get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
|
|
131
|
+
getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
|
|
132
|
+
removeAllByModuleId(moduleId: number): void;
|
|
133
|
+
removeAllByServiceId(serviceId: ServiceIdentifier): void;
|
|
134
|
+
set<TInstance>(binding: Binding<TInstance>): void;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
declare enum DeactivationRelationKind {
|
|
138
|
+
moduleId = "moduleId",
|
|
139
|
+
serviceId = "serviceId"
|
|
140
|
+
}
|
|
141
|
+
interface BindingDeactivationRelation {
|
|
142
|
+
[DeactivationRelationKind.moduleId]?: number;
|
|
143
|
+
[DeactivationRelationKind.serviceId]: ServiceIdentifier;
|
|
144
|
+
}
|
|
145
|
+
declare class DeactivationsService implements Cloneable<DeactivationsService> {
|
|
146
|
+
#private;
|
|
147
|
+
private constructor();
|
|
148
|
+
static build(parent: DeactivationsService | undefined): DeactivationsService;
|
|
149
|
+
add(deactivation: BindingDeactivation, relation: BindingDeactivationRelation): void;
|
|
150
|
+
clone(): DeactivationsService;
|
|
151
|
+
get(serviceIdentifier: ServiceIdentifier): Iterable<BindingDeactivation> | undefined;
|
|
152
|
+
removeAllByModuleId(moduleId: number): void;
|
|
153
|
+
removeAllByServiceId(serviceId: ServiceIdentifier): void;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
declare function decorate(decorators: ClassDecorator[], target: Function): void;
|
|
157
|
+
declare function decorate(decorators: ParameterDecorator[], target: Function, parameterIndex: number): void;
|
|
158
|
+
declare function decorate(decorators: MethodDecorator[] | PropertyDecorator[], target: Function, property: string | symbol): void;
|
|
159
|
+
|
|
160
|
+
interface BaseClassElementMetadata<TKind> {
|
|
161
|
+
kind: TKind;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
declare enum ClassElementMetadataKind {
|
|
165
|
+
multipleInjection = 0,
|
|
166
|
+
singleInjection = 1,
|
|
167
|
+
unmanaged = 2
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
type MetadataTargetName = string;
|
|
171
|
+
|
|
172
|
+
interface ManagedClassElementMetadata extends BaseClassElementMetadata<ClassElementMetadataKind.singleInjection | ClassElementMetadataKind.multipleInjection> {
|
|
173
|
+
isFromTypescriptParamType?: true;
|
|
174
|
+
name: MetadataName | undefined;
|
|
175
|
+
optional: boolean;
|
|
176
|
+
tags: Map<MetadataTag, unknown>;
|
|
177
|
+
targetName: MetadataTargetName | undefined;
|
|
178
|
+
value: ServiceIdentifier | LazyServiceIdentifier;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
type UnmanagedClassElementMetadata = BaseClassElementMetadata<ClassElementMetadataKind.unmanaged>;
|
|
182
|
+
|
|
183
|
+
type ClassElementMetadata = ManagedClassElementMetadata | UnmanagedClassElementMetadata;
|
|
184
|
+
|
|
185
|
+
interface ClassMetadataLifecycle {
|
|
186
|
+
postConstructMethodName: string | symbol | undefined;
|
|
187
|
+
preDestroyMethodName: string | symbol | undefined;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
interface ClassMetadata {
|
|
191
|
+
constructorArguments: ClassElementMetadata[];
|
|
192
|
+
lifecycle: ClassMetadataLifecycle;
|
|
193
|
+
properties: Map<string | symbol, ClassElementMetadata>;
|
|
194
|
+
scope: BindingScope | undefined;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
declare function getClassMetadata(type: Newable): ClassMetadata;
|
|
198
|
+
|
|
199
|
+
declare function inject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): ParameterDecorator & PropertyDecorator;
|
|
200
|
+
|
|
201
|
+
declare function injectable(scope?: BindingScope): ClassDecorator;
|
|
202
|
+
|
|
203
|
+
interface InjectFromBaseOptions {
|
|
204
|
+
extendConstructorArguments?: boolean | undefined;
|
|
205
|
+
extendProperties?: boolean | undefined;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
declare function injectFromBase(options: InjectFromBaseOptions): ClassDecorator;
|
|
209
|
+
|
|
210
|
+
declare function multiInject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): ParameterDecorator & PropertyDecorator;
|
|
211
|
+
|
|
212
|
+
declare function named(name: MetadataName): ParameterDecorator & PropertyDecorator;
|
|
213
|
+
|
|
214
|
+
declare function optional(): ParameterDecorator & PropertyDecorator;
|
|
215
|
+
|
|
216
|
+
declare function postConstruct(): MethodDecorator;
|
|
217
|
+
|
|
218
|
+
declare function preDestroy(): MethodDecorator;
|
|
219
|
+
|
|
220
|
+
declare function tagged(key: MetadataTag, value: unknown): ParameterDecorator & PropertyDecorator;
|
|
221
|
+
|
|
222
|
+
declare function unmanaged(): ParameterDecorator & PropertyDecorator;
|
|
223
|
+
|
|
224
|
+
interface BasePlanParams {
|
|
225
|
+
getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
|
|
226
|
+
getClassMetadata: (type: Newable) => ClassMetadata;
|
|
227
|
+
servicesBranch: Set<ServiceIdentifier>;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
interface PlanParamsTagConstraint {
|
|
231
|
+
key: MetadataTag;
|
|
232
|
+
value: unknown;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
interface PlanParamsConstraint {
|
|
236
|
+
name?: MetadataName;
|
|
237
|
+
isMultiple: boolean;
|
|
238
|
+
isOptional?: true;
|
|
239
|
+
serviceIdentifier: ServiceIdentifier;
|
|
240
|
+
tag?: PlanParamsTagConstraint;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
interface PlanParams extends BasePlanParams {
|
|
244
|
+
rootConstraints: PlanParamsConstraint;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
interface PlanServiceRedirectionBindingNode<TBinding extends ServiceRedirectionBinding<any> = ServiceRedirectionBinding<any>> extends BaseBindingNode<TBinding> {
|
|
248
|
+
redirections: PlanBindingNode[];
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
type BindingNodeParent = PlanServiceNode | PlanServiceRedirectionBindingNode;
|
|
252
|
+
|
|
253
|
+
interface BaseBindingNode<TBinding extends Binding<any> = Binding<any>> {
|
|
254
|
+
readonly parent: BindingNodeParent;
|
|
255
|
+
readonly binding: TBinding;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
type LeafBindingNode<TActivated = any> = BaseBindingNode<ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never)>;
|
|
259
|
+
|
|
260
|
+
interface InstanceBindingNode<TBinding extends InstanceBinding<any> = InstanceBinding<any>> extends BaseBindingNode<TBinding> {
|
|
261
|
+
readonly classMetadata: ClassMetadata;
|
|
262
|
+
readonly constructorParams: (PlanServiceNode | undefined)[];
|
|
263
|
+
readonly propertyParams: Map<string | symbol, PlanServiceNode>;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
type PlanServiceNodeParent<TActivated = any> = InstanceBindingNode<InstanceBinding<TActivated>>;
|
|
267
|
+
|
|
268
|
+
type PlanBindingNode = PlanServiceNodeParent | PlanServiceRedirectionBindingNode | LeafBindingNode;
|
|
269
|
+
|
|
270
|
+
interface PlanServiceNode {
|
|
271
|
+
readonly bindings: PlanBindingNode | PlanBindingNode[] | undefined;
|
|
272
|
+
readonly parent: PlanServiceNodeParent | undefined;
|
|
273
|
+
readonly serviceIdentifier: ServiceIdentifier;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
interface PlanTree {
|
|
277
|
+
readonly root: PlanServiceNode;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
interface PlanResult {
|
|
281
|
+
readonly tree: PlanTree;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
declare function plan(params: PlanParams): PlanResult;
|
|
285
|
+
|
|
286
|
+
interface ResolutionParams {
|
|
287
|
+
context: ResolutionContext;
|
|
288
|
+
getActivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingActivation<TActivated>> | undefined;
|
|
289
|
+
planResult: PlanResult;
|
|
290
|
+
requestScopeCache: Map<number, unknown>;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
declare function resolve(params: ResolutionParams): unknown;
|
|
294
|
+
|
|
295
|
+
interface DeactivationParams {
|
|
296
|
+
getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
|
|
297
|
+
getBindingsFromModule: <TInstance>(moduleId: number) => Iterable<Binding<TInstance>> | undefined;
|
|
298
|
+
getClassMetadata: (type: Newable) => ClassMetadata;
|
|
299
|
+
getDeactivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingDeactivation<TActivated>> | undefined;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
declare function resolveModuleDeactivations(params: DeactivationParams, moduleId: number): void | Promise<void>;
|
|
303
|
+
|
|
304
|
+
declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
|
|
305
|
+
|
|
306
|
+
interface LegacyQueryableString {
|
|
307
|
+
startsWith(searchString: string): boolean;
|
|
308
|
+
endsWith(searchString: string): boolean;
|
|
309
|
+
contains(searchString: string): boolean;
|
|
310
|
+
equals(compareString: string): boolean;
|
|
311
|
+
value(): string;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export { ActivationsService, type BaseBinding, type BaseBindingNode, type BasePlanParams, type Binding, type BindingActivation, type BindingActivationRelation, type BindingDeactivation, type BindingDeactivationRelation, type BindingMetadata, type BindingScope, BindingService, type BindingType, type ClassElementMetadata, ClassElementMetadataKind, type ClassMetadata, type ClassMetadataLifecycle, type ConstantValueBinding, type DeactivationParams, DeactivationsService, type DynamicValueBinding, type DynamicValueBuilder, type Factory, type FactoryBinding, type GetOptions, type GetOptionsTagConstraint, type InstanceBinding, type LeafBindingNode, type LegacyQueryableString, type ManagedClassElementMetadata, type MetadataName, type MetadataTag, type MetadataTargetName, type OptionalGetOptions, type PlanBindingNode, type PlanParams, type PlanParamsConstraint, type PlanParamsTagConstraint, type PlanResult, type PlanServiceNode, type PlanServiceNodeParent, type PlanServiceRedirectionBindingNode, type PlanTree, type Provider, type ProviderBinding, type ResolutionContext, type ResolutionParams, type Resolved, type ScopedBinding, type ServiceRedirectionBinding, type UnmanagedClassElementMetadata, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
|
package/lib/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as t from"@inversifyjs/reflect-metadata-utils";import*as e from"@inversifyjs/common";var a={d:(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},n={};a.d(n,{Uo:()=>k,zN:()=>G,YR:()=>R,QN:()=>z,wK:()=>x,N3:()=>$});const r=(y={getReflectMetadata:()=>t.getReflectMetadata,updateReflectMetadata:()=>t.updateReflectMetadata},v={},a.d(v,y),v),i="named",o="name",s="unmanaged",c="optional",d="inject",u="multi_inject",l="inversify:tagged",m="inversify:tagged_props",f="design:paramtypes",g="post_construct",p="pre_destroy";var y,v;const h=[d,u,o,s,i,c],j=Symbol.for("@inversifyjs/core/InversifyCoreError");class M extends Error{[j];kind;constructor(t,e,a){super(e,a),this[j]=!0,this.kind=t}static is(t){return"object"==typeof t&&null!==t&&!0===t[j]}static isErrorOfKind(t,e){return M.is(t)&&t.kind===e}}var I,k;function w(t,e){const a=[];for(let t=0;t<e.length;++t)void 0===e[t]&&a.push(t);if(a.length>0)throw new M(I.missingInjectionDecorator,`Found unexpected missing metadata on type "${t.name}" at constructor indexes "${a.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}function N(t){return{kind:k.singleInjection,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:t}}function R(t){const e=t.find((t=>t.key===d)),a=t.find((t=>t.key===u));if(void 0!==t.find((t=>t.key===s)))return function(t,e){if(void 0!==e||void 0!==t)throw new M(I.missingInjectionDecorator,"Expected a single @inject, @multiInject or @unmanaged metadata");return{kind:k.unmanaged}}(e,a);if(void 0===a&&void 0===e)throw new M(I.missingInjectionDecorator,"Expected @inject, @multiInject or @unmanaged metadata");const n=t.find((t=>t.key===i)),r=t.find((t=>t.key===c)),l=t.find((t=>t.key===o));return{kind:void 0===e?k.multipleInjection:k.singleInjection,name:n?.value,optional:void 0!==r,tags:new Map(t.filter((t=>h.every((e=>t.key!==e)))).map((t=>[t.key,t.value]))),targetName:l?.value,value:void 0===e?a?.value:e.value}}function E(t,e,a){try{return R(a)}catch(a){throw M.isErrorOfKind(a,I.missingInjectionDecorator)?new M(I.missingInjectionDecorator,`Expected a single @inject, @multiInject or @unmanaged decorator at type "${t.name}" at constructor arguments at index "${e.toString()}"`,{cause:a}):a}}function b(t){const e=(0,r.getReflectMetadata)(t,f),a=(0,r.getReflectMetadata)(t,l),n=[];if(void 0!==a)for(const[e,r]of Object.entries(a)){const a=parseInt(e);n[a]=E(t,a,r)}if(void 0!==e)for(let t=0;t<e.length;++t)if(void 0===n[t]){const a=e[t];n[t]=N(a)}return w(t,n),n}function O(t,e,a){try{return R(a)}catch(a){throw M.isErrorOfKind(a,I.missingInjectionDecorator)?new M(I.missingInjectionDecorator,`Expected a single @inject, @multiInject or @unmanaged decorator at type "${t.name}" at property "${e.toString()}"`,{cause:a}):a}}function D(t){const e=(0,r.getReflectMetadata)(t,m),a=new Map;if(void 0!==e)for(const n of Reflect.ownKeys(e)){const r=e[n];a.set(n,O(t,n,r))}return a}function z(t){const e=(0,r.getReflectMetadata)(t,g),a=(0,r.getReflectMetadata)(t,p);return{constructorArguments:b(t),lifecycle:{postConstructMethodName:e?.value,preDestroyMethodName:a?.value},properties:D(t)}}function A(t,e){const a=e.getConstructorMetadata(t),n=[];for(const[e,r]of Object.entries(a.userGeneratedMetadata)){const a=parseInt(e);n[a]=E(t,a,r)}if(void 0!==a.compilerGeneratedMetadata)for(let t=0;t<a.compilerGeneratedMetadata.length;++t)if(void 0===n[t]){const e=a.compilerGeneratedMetadata[t];n[t]=N(e)}return w(t,n),n}function C(t,e){const a=e.getPropertiesMetadata(t),n=new Map;for(const e of Reflect.ownKeys(a)){const r=a[e];n.set(e,O(t,e,r))}return n}function x(t,e){const a=(0,r.getReflectMetadata)(t,g),n=(0,r.getReflectMetadata)(t,p);return{constructorArguments:A(t,e),lifecycle:{postConstructMethodName:a?.value,preDestroyMethodName:n?.value},properties:C(t,e)}}function L(t){const e=Object.getPrototypeOf(t.prototype),a=e?.constructor;return a}!function(t){t[t.missingInjectionDecorator=0]="missingInjectionDecorator",t[t.unknown=1]="unknown"}(I||(I={})),function(t){t[t.multipleInjection=0]="multipleInjection",t[t.singleInjection=1]="singleInjection",t[t.unmanaged=2]="unmanaged"}(k||(k={}));const T=(t=>{var e={};return a.d(e,t),e})({LazyServiceIdentifier:()=>e.LazyServiceIdentifier});function S(t){let e;switch(t.kind){case k.multipleInjection:e={key:u,value:t.value};break;case k.singleInjection:e={key:d,value:t.value}}return e}class K{#t;constructor(t){this.#t=t}startsWith(t){return this.#t.startsWith(t)}endsWith(t){return this.#t.endsWith(t)}contains(t){return this.#t.includes(t)}equals(t){return this.#t===t}value(){return this.#t}}const _="@inversifyjs/core/targetId";class G{#e;#a;#n;#r;#i;#o;constructor(t,e,a){this.#a=function(){const t=(0,r.getReflectMetadata)(Object,_)??0;return t===Number.MAX_SAFE_INTEGER?(0,r.updateReflectMetadata)(Object,_,t,(()=>Number.MIN_SAFE_INTEGER)):(0,r.updateReflectMetadata)(Object,_,t,(t=>t+1)),t}(),this.#n=t,this.#r=void 0,this.#e=e,this.#i=new K("string"==typeof t?t:t.toString().slice(7,-1)),this.#o=a}get id(){return this.#a}get identifier(){return this.#n}get metadata(){return void 0===this.#r&&(this.#r=(t=this.#e).kind===k.unmanaged?[{key:s,value:!0}]:function(t){const e=[S(t)];void 0!==t.name&&e.push({key:i,value:t.name}),t.optional&&e.push({key:c,value:!0});for(const[a,n]of t.tags)e.push({key:a,value:n});return void 0!==t.targetName&&e.push({key:o,value:t.targetName}),e}(t)),this.#r;var t}get name(){return this.#i}get type(){return this.#o}get serviceIdentifier(){return T.LazyServiceIdentifier.is(this.#e.value)?this.#e.value.unwrap():this.#e.value}getCustomTags(){return[...this.#e.tags.entries()].map((([t,e])=>({key:t,value:e})))}getNamedTag(){return void 0===this.#e.name?null:{key:i,value:this.#e.name}}hasTag(t){return this.metadata.some((e=>e.key===t))}isArray(){return this.#e.kind===k.multipleInjection}isNamed(){return void 0!==this.#e.name}isOptional(){return this.#e.optional}isTagged(){return this.#e.tags.size>0}matchesArray(t){return this.isArray()&&this.#e.value===t}matchesNamedTag(t){return this.#e.name===t}matchesTag(t){return e=>this.metadata.some((a=>a.key===t&&a.value===e))}}const $=t=>function(t,e){return function(a){const n=t(a);let r=L(a);for(;void 0!==r&&r!==Object;){const t=e(r);for(const[e,a]of t)n.properties.has(e)||n.properties.set(e,a);r=L(r)}const i=[];for(const t of n.constructorArguments)if(t.kind!==k.unmanaged){const e=t.targetName??"";i.push(new G(e,t,"ConstructorArgument"))}for(const[t,e]of n.properties)if(e.kind!==k.unmanaged){const a=e.targetName??t;i.push(new G(a,e,"ClassProperty"))}return i}}(void 0===t?z:e=>x(e,t),void 0===t?D:e=>C(e,t));var F=n.Uo,P=n.zN,W=n.YR,Q=n.QN,U=n.wK,Y=n.N3;export{F as ClassElementMetadataKind,P as LegacyTargetImpl,W as getClassElementMetadataFromLegacyMetadata,Q as getClassMetadata,U as getClassMetadataFromMetadataReader,Y as getTargets};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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SyxNQUFNMEgsRUFHWHRELEdDTkssU0FDTFQsRUFDQVIsR0FJQSxPQUFPLFNBQW1COUMsR0FDeEIsTUFBTXNILEVBQStCaEUsRUFBaUJ0RCxHQUV0RCxJQUFJeUUsRUFBZ0NGLEVBQVl2RSxHQUVoRCxVQUFvQkksSUFBYnFFLEdBQTBCQSxJQUFhbkgsUUFBUSxDQUNwRCxNQUFNaUssRUFHRnpFLEVBQTJCMkIsR0FFL0IsSUFBSyxNQUFPK0MsRUFBYUMsS0FBa0JGLEVBQ3BDRCxFQUFjekQsV0FBVzZELElBQUlGLElBQ2hDRixFQUFjekQsV0FBV1IsSUFBSW1FLEVBQWFDLEdBSTlDaEQsRUFBV0YsRUFBWUUsRUFDekIsQ0FFQSxNQUFNa0QsRUFBMEIsR0FFaEMsSUFBSyxNQUFNQyxLQUF1Qk4sRUFBYzdELHFCQUM5QyxHQUFJbUUsRUFBb0J4SSxPQUFTVSxFQUF5QnVCLFVBQVcsQ0FDbkUsTUFBTVAsRUFBcUI4RyxFQUFvQjlHLFlBQWMsR0FFN0Q2RyxFQUFRdEgsS0FDTixJQUFJbUYsRUFDRjFFLEVBQ0E4RyxFQUNBLHVCQUdOLENBR0YsSUFBSyxNQUFPM0UsRUFBVTlCLEtBQWFtRyxFQUFjekQsV0FDL0MsR0FBSTFDLEVBQVMvQixPQUFTVSxFQUF5QnVCLFVBQVcsQ0FDeEQsTUFBTVAsRUFBOEJLLEVBQVNMLFlBQWNtQyxFQUUzRDBFLEVBQVF0SCxLQUNOLElBQUltRixFQUFpQjFFLEVBQVlLLEVBQVUsaUJBRS9DLENBR0YsT0FBT3dHLENBQ1QsQ0FDRixDRGpDU0UsTUFaY3pILElBQW5CMkQsRUFDSVQsRUFDQ3RELEdBQ0NzRSxFQUFtQ3RFLEVBQU0rRCxRQUk1QjNELElBQW5CMkQsRUFDSWpCLEVBQ0M5QyxHQUNDb0UsRUFBNkNwRSxFQUFNK0QsSSIsInNvdXJjZXMiOlsid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL2V4dGVybmFsIG1vZHVsZSBcIkBpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzXCIiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cy50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3JLaW5kLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbWV0YWRhdGEvY2FsY3VsYXRpb25zL2Fzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZC50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbWV0YWRhdGEvY2FsY3VsYXRpb25zL2dldENvbnN0cnVjdG9yQXJndW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRQcm9wZXJ0eU1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcy50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlci50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlci50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9wcm90b3R5cGUvY2FsY3VsYXRpb25zL2dldEJhc2VUeXBlLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL2V4dGVybmFsIG1vZHVsZSBcIkBpbnZlcnNpZnlqcy9jb21tb25cIiIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0TGVnYWN5TWV0YWRhdGEudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvc3RyaW5nL21vZGVscy9MZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2xlZ2FjeVRhcmdldC9jYWxjdWxhdGlvbnMvZ2V0VGFyZ2V0SWQudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbGVnYWN5VGFyZ2V0L21vZGVscy9MZWdhY3lUYXJnZXRJbXBsLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL3N5bWJvbC9jYWxjdWxhdGlvbnMvZ2V0RGVzY3JpcHRpb24udHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbGVnYWN5VGFyZ2V0L2NhbGN1bGF0aW9ucy9nZXRUYXJnZXRzLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2xlZ2FjeVRhcmdldC9jYWxjdWxhdGlvbnMvZ2V0VGFyZ2V0c0Zyb21NZXRhZGF0YVByb3ZpZGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgcmVxdWlyZSBzY29wZVxudmFyIF9fd2VicGFja19yZXF1aXJlX18gPSB7fTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsInZhciB4ID0gKHkpID0+IHtcblx0dmFyIHggPSB7fTsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKHgsIHkpOyByZXR1cm4geFxufSBcbnZhciB5ID0gKHgpID0+ICgoKSA9PiAoeCkpXG5jb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0geCh7IFtcImdldFJlZmxlY3RNZXRhZGF0YVwiXTogKCkgPT4gKF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX3JlZmxlY3RfbWV0YWRhdGFfdXRpbHNfOGVjYzRjMTZfXy5nZXRSZWZsZWN0TWV0YWRhdGEpLCBbXCJ1cGRhdGVSZWZsZWN0TWV0YWRhdGFcIl06ICgpID0+IChfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX19pbnZlcnNpZnlqc19yZWZsZWN0X21ldGFkYXRhX3V0aWxzXzhlY2M0YzE2X18udXBkYXRlUmVmbGVjdE1ldGFkYXRhKSB9KTsiLCIvLyBVc2VkIGZvciBuYW1lZCBiaW5kaW5nc1xuZXhwb3J0IGNvbnN0IE5BTUVEX1RBRzogc3RyaW5nID0gJ25hbWVkJztcblxuZXhwb3J0IGNvbnN0IE5BTUVfVEFHOiBzdHJpbmcgPSAnbmFtZSc7XG5cbi8vIFRoZSBmb3IgdW5tYW5hZ2VkIGluamVjdGlvbnMgKGluIGJhc2UgY2xhc3NlcyB3aGVuIHVzaW5nIGluaGVyaXRhbmNlKVxuZXhwb3J0IGNvbnN0IFVOTUFOQUdFRF9UQUc6IHN0cmluZyA9ICd1bm1hbmFnZWQnO1xuXG4vLyBUaGUgZm9yIG9wdGlvbmFsIGluamVjdGlvbnNcbmV4cG9ydCBjb25zdCBPUFRJT05BTF9UQUc6IHN0cmluZyA9ICdvcHRpb25hbCc7XG5cbi8vIFRoZSB0eXBlIG9mIHRoZSBiaW5kaW5nIGF0IGRlc2lnbiB0aW1lXG5leHBvcnQgY29uc3QgSU5KRUNUX1RBRzogc3RyaW5nID0gJ2luamVjdCc7XG5cbi8vIFRoZSB0eXBlIG9mIHRoZSBiaW5kaW5nIGF0IGRlc2lnbiB0eXBlIGZvciBtdWx0aS1pbmplY3Rpb25zXG5leHBvcnQgY29uc3QgTVVMVElfSU5KRUNUX1RBRzogc3RyaW5nID0gJ211bHRpX2luamVjdCc7XG5cbi8vIHVzZWQgdG8gc3RvcmUgY29uc3RydWN0b3IgYXJndW1lbnRzIHRhZ3NcbmV4cG9ydCBjb25zdCBUQUdHRUQ6IHN0cmluZyA9ICdpbnZlcnNpZnk6dGFnZ2VkJztcblxuLy8gdXNlZCB0byBzdG9yZSBjbGFzcyBwcm9wZXJ0aWVzIHRhZ3NcbmV4cG9ydCBjb25zdCBUQUdHRURfUFJPUDogc3RyaW5nID0gJ2ludmVyc2lmeTp0YWdnZWRfcHJvcHMnO1xuXG4vLyB1c2VkIHRvIHN0b3JlIHR5cGVzIHRvIGJlIGluamVjdGVkXG5leHBvcnQgY29uc3QgUEFSQU1fVFlQRVM6IHN0cmluZyA9ICdpbnZlcnNpZnk6cGFyYW10eXBlcyc7XG5cbi8vIHVzZWQgdG8gYWNjZXNzIGRlc2lnbiB0aW1lIHR5cGVzXG5leHBvcnQgY29uc3QgREVTSUdOX1BBUkFNX1RZUEVTOiBzdHJpbmcgPSAnZGVzaWduOnBhcmFtdHlwZXMnO1xuXG4vLyB1c2VkIHRvIGlkZW50aWZ5IHBvc3RDb25zdHJ1Y3QgZnVuY3Rpb25zXG5leHBvcnQgY29uc3QgUE9TVF9DT05TVFJVQ1Q6IHN0cmluZyA9ICdwb3N0X2NvbnN0cnVjdCc7XG5cbi8vIHVzZWQgdG8gaWRlbnRpZnkgcHJlRGVzdHJveSBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBQUkVfREVTVFJPWTogc3RyaW5nID0gJ3ByZV9kZXN0cm95JztcblxuZnVuY3Rpb24gZ2V0Tm9uQ3VzdG9tVGFnS2V5cygpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbXG4gICAgSU5KRUNUX1RBRyxcbiAgICBNVUxUSV9JTkpFQ1RfVEFHLFxuICAgIE5BTUVfVEFHLFxuICAgIFVOTUFOQUdFRF9UQUcsXG4gICAgTkFNRURfVEFHLFxuICAgIE9QVElPTkFMX1RBRyxcbiAgXTtcbn1cblxuZXhwb3J0IGNvbnN0IE5PTl9DVVNUT01fVEFHX0tFWVM6IHN0cmluZ1tdID0gZ2V0Tm9uQ3VzdG9tVGFnS2V5cygpO1xuIiwiaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB9IGZyb20gJy4vSW52ZXJzaWZ5Q29yZUVycm9yS2luZCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwcEVycm9yU3ltYm9sOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sLmZvcihcbiAgJ0BpbnZlcnNpZnlqcy9jb3JlL0ludmVyc2lmeUNvcmVFcnJvcicsXG4pO1xuXG5leHBvcnQgY2xhc3MgSW52ZXJzaWZ5Q29yZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgW2lzQXBwRXJyb3JTeW1ib2xdOiB0cnVlO1xuXG4gIHB1YmxpYyBraW5kOiBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGtpbmQ6IEludmVyc2lmeUNvcmVFcnJvcktpbmQsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBvcHRpb25zPzogRXJyb3JPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBvcHRpb25zKTtcblxuICAgIHRoaXNbaXNBcHBFcnJvclN5bWJvbF0gPSB0cnVlO1xuICAgIHRoaXMua2luZCA9IGtpbmQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSW52ZXJzaWZ5Q29yZUVycm9yIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nIHwgc3ltYm9sLCB1bmtub3duPilbaXNBcHBFcnJvclN5bWJvbF0gPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0Vycm9yT2ZLaW5kKFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGtpbmQ6IEludmVyc2lmeUNvcmVFcnJvcktpbmQsXG4gICk6IHZhbHVlIGlzIEludmVyc2lmeUNvcmVFcnJvciB7XG4gICAgcmV0dXJuIEludmVyc2lmeUNvcmVFcnJvci5pcyh2YWx1ZSkgJiYgdmFsdWUua2luZCA9PT0ga2luZDtcbiAgfVxufVxuIiwiZXhwb3J0IGVudW0gSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB7XG4gIG1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gIHVua25vd24sXG59XG4iLCJleHBvcnQgZW51bSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQge1xuICBtdWx0aXBsZUluamVjdGlvbixcbiAgc2luZ2xlSW5qZWN0aW9uLFxuICB1bm1hbmFnZWQsXG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IEludmVyc2lmeUNvcmVFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3InO1xuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB9IGZyb20gJy4uLy4uL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3JLaW5kJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZChcbiAgdHlwZTogTmV3YWJsZSxcbiAgdmFsdWU6IChDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZClbXSxcbik6IGFzc2VydHMgdmFsdWUgaXMgQ2xhc3NFbGVtZW50TWV0YWRhdGFbXSB7XG4gIGNvbnN0IHVuZGVmaW5lZEluZGV4ZXM6IG51bWJlcltdID0gW107XG5cbiAgLy8gVXNpbmcgYSBmb3IgbG9vcCB0byBlbnN1cmUgZW1wdHkgdmFsdWVzIGFyZSB0cmF2ZXJzZWQgYXMgd2VsbFxuICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBlbGVtZW50OiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IHZhbHVlW2ldO1xuXG4gICAgaWYgKGVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5kZWZpbmVkSW5kZXhlcy5wdXNoKGkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh1bmRlZmluZWRJbmRleGVzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgYEZvdW5kIHVuZXhwZWN0ZWQgbWlzc2luZyBtZXRhZGF0YSBvbiB0eXBlIFwiJHt0eXBlLm5hbWV9XCIgYXQgY29uc3RydWN0b3IgaW5kZXhlcyBcIiR7dW5kZWZpbmVkSW5kZXhlcy5qb2luKCdcIiwgXCInKX1cIi5cblxuQXJlIHlvdSB1c2luZyBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3JzIGF0IHRob3NlIGluZGV4ZXM/XG5cbklmIHlvdSdyZSB1c2luZyB0eXBlc2NyaXB0IGFuZCB3YW50IHRvIHJlbHkgb24gYXV0byBpbmplY3Rpb24sIHNldCBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiIGNvbXBpbGVyIG9wdGlvbiB0byB0cnVlYCxcbiAgICApO1xuICB9XG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZShcbiAgdHlwZTogTmV3YWJsZSxcbik6IENsYXNzRWxlbWVudE1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQuc2luZ2xlSW5qZWN0aW9uLFxuICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgdGFnczogbmV3IE1hcCgpLFxuICAgIHRhcmdldE5hbWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdHlwZSxcbiAgfTtcbn1cbiIsImltcG9ydCB7IExhenlTZXJ2aWNlSWRlbnRpZmllciwgU2VydmljZUlkZW50aWZpZXIgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcic7XG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcktpbmQnO1xuaW1wb3J0IHtcbiAgSU5KRUNUX1RBRyxcbiAgTVVMVElfSU5KRUNUX1RBRyxcbiAgTkFNRV9UQUcsXG4gIE5BTUVEX1RBRyxcbiAgTk9OX0NVU1RPTV9UQUdfS0VZUyxcbiAgT1BUSU9OQUxfVEFHLFxuICBVTk1BTkFHRURfVEFHLFxufSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL01hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBNZXRhZGF0YU5hbWUgfSBmcm9tICcuLi9tb2RlbHMvTWV0YWRhdGFOYW1lJztcbmltcG9ydCB7IE1ldGFkYXRhVGFnIH0gZnJvbSAnLi4vbW9kZWxzL01ldGFkYXRhVGFnJztcbmltcG9ydCB7IE1ldGFkYXRhVGFyZ2V0TmFtZSB9IGZyb20gJy4uL21vZGVscy9NZXRhZGF0YVRhcmdldE5hbWUnO1xuaW1wb3J0IHsgVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gIG1ldGFkYXRhTGlzdDogTGVnYWN5TWV0YWRhdGFbXSxcbik6IENsYXNzRWxlbWVudE1ldGFkYXRhIHtcbiAgY29uc3QgaW5qZWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBJTkpFQ1RfVEFHLFxuICApO1xuICBjb25zdCBtdWx0aUluamVjdE1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTVVMVElfSU5KRUNUX1RBRyxcbiAgKTtcbiAgY29uc3QgdW5tYW5hZ2VkTWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBVTk1BTkFHRURfVEFHLFxuICApO1xuXG4gIGlmICh1bm1hbmFnZWRNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhKFxuICAgICAgaW5qZWN0TWV0YWRhdGEsXG4gICAgICBtdWx0aUluamVjdE1ldGFkYXRhLFxuICAgICk7XG4gIH1cblxuICBpZiAobXVsdGlJbmplY3RNZXRhZGF0YSA9PT0gdW5kZWZpbmVkICYmIGluamVjdE1ldGFkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgJ0V4cGVjdGVkIEBpbmplY3QsIEBtdWx0aUluamVjdCBvciBAdW5tYW5hZ2VkIG1ldGFkYXRhJyxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmFtZU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTkFNRURfVEFHLFxuICApO1xuXG4gIGNvbnN0IG9wdGlvbmFsTWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBPUFRJT05BTF9UQUcsXG4gICk7XG5cbiAgY29uc3QgdGFyZ2V0TmFtZU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTkFNRV9UQUcsXG4gICk7XG5cbiAgY29uc3QgbWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhOiBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAga2luZDpcbiAgICAgIGluamVjdE1ldGFkYXRhID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQubXVsdGlwbGVJbmplY3Rpb25cbiAgICAgICAgOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQuc2luZ2xlSW5qZWN0aW9uLFxuICAgIG5hbWU6IG5hbWVNZXRhZGF0YT8udmFsdWUgYXMgTWV0YWRhdGFOYW1lIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbmFsOiBvcHRpb25hbE1ldGFkYXRhICE9PSB1bmRlZmluZWQsXG4gICAgdGFnczogbmV3IE1hcChcbiAgICAgIG1ldGFkYXRhTGlzdFxuICAgICAgICAuZmlsdGVyKChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+XG4gICAgICAgICAgTk9OX0NVU1RPTV9UQUdfS0VZUy5ldmVyeShcbiAgICAgICAgICAgIChjdXN0b21UYWdLZXk6IHN0cmluZyk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ICE9PSBjdXN0b21UYWdLZXksXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgICAubWFwKChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBbTWV0YWRhdGFUYWcsIHVua25vd25dID0+IFtcbiAgICAgICAgICBtZXRhZGF0YS5rZXksXG4gICAgICAgICAgbWV0YWRhdGEudmFsdWUsXG4gICAgICAgIF0pLFxuICAgICksXG4gICAgdGFyZ2V0TmFtZTogdGFyZ2V0TmFtZU1ldGFkYXRhPy52YWx1ZSBhcyBNZXRhZGF0YVRhcmdldE5hbWUgfCB1bmRlZmluZWQsXG4gICAgdmFsdWU6XG4gICAgICBpbmplY3RNZXRhZGF0YSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gKG11bHRpSW5qZWN0TWV0YWRhdGE/LnZhbHVlIGFzXG4gICAgICAgICAgICB8IFNlcnZpY2VJZGVudGlmaWVyXG4gICAgICAgICAgICB8IExhenlTZXJ2aWNlSWRlbnRpZmllcilcbiAgICAgICAgOiAoaW5qZWN0TWV0YWRhdGEudmFsdWUgYXMgU2VydmljZUlkZW50aWZpZXIgfCBMYXp5U2VydmljZUlkZW50aWZpZXIpLFxuICB9O1xuXG4gIHJldHVybiBtYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGE7XG59XG5cbmZ1bmN0aW9uIGdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhKFxuICBpbmplY3RNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gIG11bHRpSW5qZWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuKTogVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEge1xuICBpZiAobXVsdGlJbmplY3RNZXRhZGF0YSAhPT0gdW5kZWZpbmVkIHx8IGluamVjdE1ldGFkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgJ0V4cGVjdGVkIGEgc2luZ2xlIEBpbmplY3QsIEBtdWx0aUluamVjdCBvciBAdW5tYW5hZ2VkIG1ldGFkYXRhJyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBraW5kOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkLFxuICB9O1xufVxuIiwiaW1wb3J0IHsgTmV3YWJsZSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9jb21tb24nO1xuXG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yJztcbmltcG9ydCB7IEludmVyc2lmeUNvcmVFcnJvcktpbmQgfSBmcm9tICcuLi8uLi9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yS2luZCc7XG5pbXBvcnQgeyBDbGFzc0VsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRDbGFzc0VsZW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4vZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKFxuICB0eXBlOiBOZXdhYmxlLFxuICBpbmRleDogbnVtYmVyLFxuICBtZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10sXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKG1ldGFkYXRhTGlzdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yLmlzRXJyb3JPZktpbmQoXG4gICAgICAgIGVycm9yLFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICAgIGBFeHBlY3RlZCBhIHNpbmdsZSBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3IgYXQgdHlwZSBcIiR7dHlwZS5uYW1lfVwiIGF0IGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhdCBpbmRleCBcIiR7aW5kZXgudG9TdHJpbmcoKX1cImAsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgREVTSUdOX1BBUkFNX1RZUEVTLCBUQUdHRUQgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCB9IGZyb20gJy4vYXNzZXJ0Q29uc3RydWN0b3JNZXRhZGF0YUFycmF5RmlsbGVkJztcbmltcG9ydCB7IGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUnO1xuaW1wb3J0IHsgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi9nZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzKFxuICB0eXBlOiBOZXdhYmxlLFxuKTogQ2xhc3NFbGVtZW50TWV0YWRhdGFbXSB7XG4gIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YUxpc3Q6IE5ld2FibGVbXSB8IHVuZGVmaW5lZCA9IGdldFJlZmxlY3RNZXRhZGF0YShcbiAgICB0eXBlLFxuICAgIERFU0lHTl9QQVJBTV9UWVBFUyxcbiAgKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFNYXAgfCB1bmRlZmluZWQgPVxuICAgIGdldFJlZmxlY3RNZXRhZGF0YSh0eXBlLCBUQUdHRUQpO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGE6IChDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG4gIGlmIChjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBbc3RyaW5naWZpZWRJbmRleCwgbWV0YWRhdGFMaXN0XSBvZiBPYmplY3QuZW50cmllcyhcbiAgICAgIGNvbnN0cnVjdG9yUGFyYW1ldGVyc0xlZ2FjeU1ldGFkYXRhLFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBwYXJzZUludChzdHJpbmdpZmllZEluZGV4KTtcblxuICAgICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpbmRleF0gPVxuICAgICAgICBnZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBtZXRhZGF0YUxpc3QsXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVzY3JpcHRNZXRhZGF0YUxpc3QgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCB0eXBlc2NyaXB0TWV0YWRhdGFMaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICBpZiAoY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YTogTmV3YWJsZSA9IHR5cGVzY3JpcHRNZXRhZGF0YUxpc3RbXG4gICAgICAgICAgaVxuICAgICAgICBdIGFzIE5ld2FibGU7XG5cbiAgICAgICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9XG4gICAgICAgICAgZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZSh0eXBlc2NyaXB0TWV0YWRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCh0eXBlLCBjb25zdHJ1Y3RvckFyZ3VtZW50c01ldGFkYXRhKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcic7XG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcktpbmQnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gIHR5cGU6IE5ld2FibGUsXG4gIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICBtZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10sXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKG1ldGFkYXRhTGlzdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yLmlzRXJyb3JPZktpbmQoXG4gICAgICAgIGVycm9yLFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICAgIGBFeHBlY3RlZCBhIHNpbmdsZSBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3IgYXQgdHlwZSBcIiR7dHlwZS5uYW1lfVwiIGF0IHByb3BlcnR5IFwiJHtrZXkudG9TdHJpbmcoKX1cImAsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgVEFHR0VEX1BST1AgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXMoXG4gIHR5cGU6IE5ld2FibGUsXG4pOiBNYXA8c3RyaW5nIHwgc3ltYm9sLCBDbGFzc0VsZW1lbnRNZXRhZGF0YT4ge1xuICBjb25zdCBwcm9wZXJ0aWVzTGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhTWFwIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGEodHlwZSwgVEFHR0VEX1BST1ApO1xuXG4gIGNvbnN0IHByb3BlcnRpZXNNZXRhZGF0YTogTWFwPHN0cmluZyB8IHN5bWJvbCwgQ2xhc3NFbGVtZW50TWV0YWRhdGE+ID1cbiAgICBuZXcgTWFwKCk7XG5cbiAgaWYgKHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBSZWZsZWN0Lm93bktleXMocHJvcGVydGllc0xlZ2FjeU1ldGFkYXRhKSkge1xuICAgICAgY29uc3QgbGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhW10gPSBwcm9wZXJ0aWVzTGVnYWN5TWV0YWRhdGFbXG4gICAgICAgIHByb3BlcnR5XG4gICAgICBdIGFzIExlZ2FjeU1ldGFkYXRhW107XG4gICAgICBwcm9wZXJ0aWVzTWV0YWRhdGEuc2V0KFxuICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgZ2V0UHJvcGVydHlNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSh0eXBlLCBwcm9wZXJ0eSwgbGVnYWN5TWV0YWRhdGEpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvcGVydGllc01ldGFkYXRhO1xufVxuIiwiaW1wb3J0IHsgTmV3YWJsZSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9jb21tb24nO1xuaW1wb3J0IHsgZ2V0UmVmbGVjdE1ldGFkYXRhIH0gZnJvbSAnQGludmVyc2lmeWpzL3JlZmxlY3QtbWV0YWRhdGEtdXRpbHMnO1xuXG5pbXBvcnQgeyBQT1NUX0NPTlNUUlVDVCwgUFJFX0RFU1RST1kgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzTWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NNZXRhZGF0YSc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHMgfSBmcm9tICcuL2dldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50cyc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyB9IGZyb20gJy4vZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YSh0eXBlOiBOZXdhYmxlKTogQ2xhc3NNZXRhZGF0YSB7XG4gIGNvbnN0IHBvc3RDb25zdHJ1Y3RNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEgfCB1bmRlZmluZWQgPVxuICAgIGdldFJlZmxlY3RNZXRhZGF0YTxMZWdhY3lNZXRhZGF0YT4odHlwZSwgUE9TVF9DT05TVFJVQ1QpO1xuICBjb25zdCBwcmVEZXN0cm95TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGE8TGVnYWN5TWV0YWRhdGE+KHR5cGUsIFBSRV9ERVNUUk9ZKTtcblxuICBjb25zdCBjbGFzc01ldGFkYXRhOiBDbGFzc01ldGFkYXRhID0ge1xuICAgIGNvbnN0cnVjdG9yQXJndW1lbnRzOiBnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHModHlwZSksXG4gICAgbGlmZWN5Y2xlOiB7XG4gICAgICBwb3N0Q29uc3RydWN0TWV0aG9kTmFtZTogcG9zdENvbnN0cnVjdE1ldGFkYXRhPy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgICBwcmVEZXN0cm95TWV0aG9kTmFtZTogcHJlRGVzdHJveU1ldGFkYXRhPy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyh0eXBlKSxcbiAgfTtcblxuICByZXR1cm4gY2xhc3NNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhUmVhZGVyJztcbmltcG9ydCB7IGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCB9IGZyb20gJy4vYXNzZXJ0Q29uc3RydWN0b3JNZXRhZGF0YUFycmF5RmlsbGVkJztcbmltcG9ydCB7IGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUnO1xuaW1wb3J0IHsgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi9nZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyKFxuICB0eXBlOiBOZXdhYmxlLFxuICBtZXRhZGF0YVJlYWRlcjogTGVnYWN5TWV0YWRhdGFSZWFkZXIsXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YVtdIHtcbiAgY29uc3QgbGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YTogTGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YSA9XG4gICAgbWV0YWRhdGFSZWFkZXIuZ2V0Q29uc3RydWN0b3JNZXRhZGF0YSh0eXBlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvckFyZ3VtZW50c01ldGFkYXRhOiAoQ2xhc3NFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQpW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IFtzdHJpbmdpZmllZEluZGV4LCBtZXRhZGF0YUxpc3RdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgIGxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGEudXNlckdlbmVyYXRlZE1ldGFkYXRhLFxuICApKSB7XG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHBhcnNlSW50KHN0cmluZ2lmaWVkSW5kZXgpO1xuXG4gICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpbmRleF0gPVxuICAgICAgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKFxuICAgICAgICB0eXBlLFxuICAgICAgICBpbmRleCxcbiAgICAgICAgbWV0YWRhdGFMaXN0LFxuICAgICAgKTtcbiAgfVxuXG4gIGlmIChsZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhLmNvbXBpbGVyR2VuZXJhdGVkTWV0YWRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAoXG4gICAgICBsZXQgaTogbnVtYmVyID0gMDtcbiAgICAgIGkgPCBsZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhLmNvbXBpbGVyR2VuZXJhdGVkTWV0YWRhdGEubGVuZ3RoO1xuICAgICAgKytpXG4gICAgKSB7XG4gICAgICBpZiAoY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YTogTmV3YWJsZSA9IGxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGFcbiAgICAgICAgICAuY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YVtpXSBhcyBOZXdhYmxlO1xuXG4gICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGFbaV0gPVxuICAgICAgICAgIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUodHlwZXNjcmlwdE1ldGFkYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3NlcnRDb25zdHJ1Y3Rvck1ldGFkYXRhQXJyYXlGaWxsZWQodHlwZSwgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGE7XG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhUmVhZGVyJztcbmltcG9ydCB7IGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIoXG4gIHR5cGU6IE5ld2FibGUsXG4gIG1ldGFkYXRhUmVhZGVyOiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbik6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiB7XG4gIGNvbnN0IHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFNYXAgPVxuICAgIG1ldGFkYXRhUmVhZGVyLmdldFByb3BlcnRpZXNNZXRhZGF0YSh0eXBlKTtcblxuICBjb25zdCBwcm9wZXJ0aWVzTWV0YWRhdGE6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9XG4gICAgbmV3IE1hcCgpO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2YgUmVmbGVjdC5vd25LZXlzKHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YSkpIHtcbiAgICBjb25zdCBsZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFbXSA9IHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YVtcbiAgICAgIHByb3BlcnR5XG4gICAgXSBhcyBMZWdhY3lNZXRhZGF0YVtdO1xuICAgIHByb3BlcnRpZXNNZXRhZGF0YS5zZXQoXG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEodHlwZSwgcHJvcGVydHksIGxlZ2FjeU1ldGFkYXRhKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHByb3BlcnRpZXNNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgUE9TVF9DT05TVFJVQ1QsIFBSRV9ERVNUUk9ZIH0gZnJvbSAnLi4vLi4vcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cyc7XG5pbXBvcnQgeyBDbGFzc01ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzTWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi9nZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHNGcm9tTWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuL2dldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzTWV0YWRhdGFGcm9tTWV0YWRhdGFSZWFkZXIoXG4gIHR5cGU6IE5ld2FibGUsXG4gIG1ldGFkYXRhUmVhZGVyOiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbik6IENsYXNzTWV0YWRhdGEge1xuICBjb25zdCBwb3N0Q29uc3RydWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGE8TGVnYWN5TWV0YWRhdGE+KHR5cGUsIFBPU1RfQ09OU1RSVUNUKTtcbiAgY29uc3QgcHJlRGVzdHJveU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9XG4gICAgZ2V0UmVmbGVjdE1ldGFkYXRhPExlZ2FjeU1ldGFkYXRhPih0eXBlLCBQUkVfREVTVFJPWSk7XG5cbiAgY29uc3QgY2xhc3NNZXRhZGF0YTogQ2xhc3NNZXRhZGF0YSA9IHtcbiAgICBjb25zdHJ1Y3RvckFyZ3VtZW50czpcbiAgICAgIGdldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50c0Zyb21NZXRhZGF0YVJlYWRlcihcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbWV0YWRhdGFSZWFkZXIsXG4gICAgICApLFxuICAgIGxpZmVjeWNsZToge1xuICAgICAgcG9zdENvbnN0cnVjdE1ldGhvZE5hbWU6IHBvc3RDb25zdHJ1Y3RNZXRhZGF0YT8udmFsdWUgYXMgc3RyaW5nLFxuICAgICAgcHJlRGVzdHJveU1ldGhvZE5hbWU6IHByZURlc3Ryb3lNZXRhZGF0YT8udmFsdWUgYXMgc3RyaW5nLFxuICAgIH0sXG4gICAgcHJvcGVydGllczogZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIoXG4gICAgICB0eXBlLFxuICAgICAgbWV0YWRhdGFSZWFkZXIsXG4gICAgKSxcbiAgfTtcblxuICByZXR1cm4gY2xhc3NNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgUHJvdG90eXBlIH0gZnJvbSAnLi4vbW9kZWxzL1Byb3RvdHlwZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlVHlwZTxUSW5zdGFuY2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgdHlwZTogTmV3YWJsZTxUSW5zdGFuY2UsIFRBcmdzPixcbik6IE5ld2FibGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBwcm90b3R5cGU6IFByb3RvdHlwZSB8IG51bGwgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoXG4gICAgdHlwZS5wcm90b3R5cGUsXG4gICkgYXMgUHJvdG90eXBlIHwgbnVsbDtcblxuICBjb25zdCBiYXNlVHlwZTogTmV3YWJsZSB8IHVuZGVmaW5lZCA9IHByb3RvdHlwZT8uY29uc3RydWN0b3I7XG5cbiAgcmV0dXJuIGJhc2VUeXBlO1xufVxuIiwidmFyIHggPSAoeSkgPT4ge1xuXHR2YXIgeCA9IHt9OyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoeCwgeSk7IHJldHVybiB4XG59IFxudmFyIHkgPSAoeCkgPT4gKCgpID0+ICh4KSlcbmNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSB4KHsgW1wiTGF6eVNlcnZpY2VJZGVudGlmaWVyXCJdOiAoKSA9PiAoX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9faW52ZXJzaWZ5anNfY29tbW9uXzA4MWQ4YzA3X18uTGF6eVNlcnZpY2VJZGVudGlmaWVyKSB9KTsiLCJpbXBvcnQge1xuICBJTkpFQ1RfVEFHLFxuICBNVUxUSV9JTkpFQ1RfVEFHLFxuICBOQU1FX1RBRyxcbiAgTkFNRURfVEFHLFxuICBPUFRJT05BTF9UQUcsXG4gIFVOTUFOQUdFRF9UQUcsXG59IGZyb20gJy4uLy4uL3JlZmxlY3RNZXRhZGF0YS9kYXRhL2tleXMnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhS2luZCc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExlZ2FjeU1ldGFkYXRhKFxuICBjbGFzc0VsZW1lbnRNZXRhZGF0YTogQ2xhc3NFbGVtZW50TWV0YWRhdGEsXG4pOiBMZWdhY3lNZXRhZGF0YVtdIHtcbiAgc3dpdGNoIChjbGFzc0VsZW1lbnRNZXRhZGF0YS5raW5kKSB7XG4gICAgY2FzZSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkOlxuICAgICAgcmV0dXJuIGdldFVubWFuYWdlZExlZ2FjeU1ldGFkYXRhKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBnZXRNYW5hZ2VkTGVnYWN5TWV0YWRhdGEoY2xhc3NFbGVtZW50TWV0YWRhdGEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hbmFnZWRMZWdhY3lNZXRhZGF0YShcbiAgY2xhc3NFbGVtZW50TWV0YWRhdGE6IE1hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YSxcbik6IExlZ2FjeU1ldGFkYXRhW10ge1xuICBjb25zdCBsZWdhY3lNZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10gPSBbXG4gICAgZ2V0TWFuYWdlZEtpbmRMZWdhY3lNZXRhZGF0YShjbGFzc0VsZW1lbnRNZXRhZGF0YSksXG4gIF07XG5cbiAgaWYgKGNsYXNzRWxlbWVudE1ldGFkYXRhLm5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogTkFNRURfVEFHLFxuICAgICAgdmFsdWU6IGNsYXNzRWxlbWVudE1ldGFkYXRhLm5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBpZiAoY2xhc3NFbGVtZW50TWV0YWRhdGEub3B0aW9uYWwpIHtcbiAgICBsZWdhY3lNZXRhZGF0YUxpc3QucHVzaCh7XG4gICAgICBrZXk6IE9QVElPTkFMX1RBRyxcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBbdGFnS2V5LCB0YWdWYWx1ZV0gb2YgY2xhc3NFbGVtZW50TWV0YWRhdGEudGFncykge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogdGFnS2V5LFxuICAgICAgdmFsdWU6IHRhZ1ZhbHVlLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKGNsYXNzRWxlbWVudE1ldGFkYXRhLnRhcmdldE5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogTkFNRV9UQUcsXG4gICAgICB2YWx1ZTogY2xhc3NFbGVtZW50TWV0YWRhdGEudGFyZ2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBsZWdhY3lNZXRhZGF0YUxpc3Q7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmFnZWRLaW5kTGVnYWN5TWV0YWRhdGEoXG4gIGNsYXNzRWxlbWVudE1ldGFkYXRhOiBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEsXG4pOiBMZWdhY3lNZXRhZGF0YSB7XG4gIGxldCBraW5kTGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhO1xuXG4gIHN3aXRjaCAoY2xhc3NFbGVtZW50TWV0YWRhdGEua2luZCkge1xuICAgIGNhc2UgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kLm11bHRpcGxlSW5qZWN0aW9uOlxuICAgICAga2luZExlZ2FjeU1ldGFkYXRhID0ge1xuICAgICAgICBrZXk6IE1VTFRJX0lOSkVDVF9UQUcsXG4gICAgICAgIHZhbHVlOiBjbGFzc0VsZW1lbnRNZXRhZGF0YS52YWx1ZSxcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlIENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC5zaW5nbGVJbmplY3Rpb246XG4gICAgICBraW5kTGVnYWN5TWV0YWRhdGEgPSB7XG4gICAgICAgIGtleTogSU5KRUNUX1RBRyxcbiAgICAgICAgdmFsdWU6IGNsYXNzRWxlbWVudE1ldGFkYXRhLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGtpbmRMZWdhY3lNZXRhZGF0YTtcbn1cblxuZnVuY3Rpb24gZ2V0VW5tYW5hZ2VkTGVnYWN5TWV0YWRhdGEoKTogTGVnYWN5TWV0YWRhdGFbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAga2V5OiBVTk1BTkFHRURfVEFHLFxuICAgICAgdmFsdWU6IHRydWUsXG4gICAgfSxcbiAgXTtcbn1cbiIsImltcG9ydCB7IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZyB9IGZyb20gJy4vTGVnYWN5UXVlcnlhYmxlU3RyaW5nJztcblxuZXhwb3J0IGNsYXNzIExlZ2FjeVF1ZXJ5YWJsZVN0cmluZ0ltcGwgaW1wbGVtZW50cyBMZWdhY3lRdWVyeWFibGVTdHJpbmcge1xuICByZWFkb25seSAjc3RyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RyOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNzdHIgPSBzdHI7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNzdHIuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGVuZHNXaXRoKHNlYXJjaFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ci5lbmRzV2l0aChzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGNvbnRhaW5zKHNlYXJjaFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ci5pbmNsdWRlcyhzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGVxdWFscyhjb21wYXJlU3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jc3RyID09PSBjb21wYXJlU3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3N0cjtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgZ2V0UmVmbGVjdE1ldGFkYXRhLFxuICB1cGRhdGVSZWZsZWN0TWV0YWRhdGEsXG59IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuY29uc3QgSURfTUVUQURBVEE6IHN0cmluZyA9ICdAaW52ZXJzaWZ5anMvY29yZS90YXJnZXRJZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRJZCgpOiBudW1iZXIge1xuICBjb25zdCB0YXJnZXRJZDogbnVtYmVyID0gZ2V0UmVmbGVjdE1ldGFkYXRhPG51bWJlcj4oT2JqZWN0LCBJRF9NRVRBREFUQSkgPz8gMDtcblxuICBpZiAodGFyZ2V0SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgdXBkYXRlUmVmbGVjdE1ldGFkYXRhKFxuICAgICAgT2JqZWN0LFxuICAgICAgSURfTUVUQURBVEEsXG4gICAgICB0YXJnZXRJZCxcbiAgICAgICgpID0+IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlUmVmbGVjdE1ldGFkYXRhKFxuICAgICAgT2JqZWN0LFxuICAgICAgSURfTUVUQURBVEEsXG4gICAgICB0YXJnZXRJZCxcbiAgICAgIChpZDogbnVtYmVyKSA9PiBpZCArIDEsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXRJZDtcbn1cbiIsImltcG9ydCB7IExhenlTZXJ2aWNlSWRlbnRpZmllciwgU2VydmljZUlkZW50aWZpZXIgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0TGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0TGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhS2luZCc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IE1ldGFkYXRhTmFtZSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9NZXRhZGF0YU5hbWUnO1xuaW1wb3J0IHsgTWV0YWRhdGFUYWcgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTWV0YWRhdGFUYWcnO1xuaW1wb3J0IHsgTkFNRURfVEFHIH0gZnJvbSAnLi4vLi4vcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cyc7XG5pbXBvcnQgeyBMZWdhY3lRdWVyeWFibGVTdHJpbmcgfSBmcm9tICcuLi8uLi9zdHJpbmcvbW9kZWxzL0xlZ2FjeVF1ZXJ5YWJsZVN0cmluZyc7XG5pbXBvcnQgeyBMZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsIH0gZnJvbSAnLi4vLi4vc3RyaW5nL21vZGVscy9MZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsJztcbmltcG9ydCB7IGdldERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vc3ltYm9sL2NhbGN1bGF0aW9ucy9nZXREZXNjcmlwdGlvbic7XG5pbXBvcnQgeyBnZXRUYXJnZXRJZCB9IGZyb20gJy4uL2NhbGN1bGF0aW9ucy9nZXRUYXJnZXRJZCc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXQgfSBmcm9tICcuL0xlZ2FjeVRhcmdldCc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXRUeXBlIH0gZnJvbSAnLi9MZWdhY3lUYXJnZXRUeXBlJztcblxuZXhwb3J0IGNsYXNzIExlZ2FjeVRhcmdldEltcGwgaW1wbGVtZW50cyBMZWdhY3lUYXJnZXQge1xuICByZWFkb25seSAjbWV0YWRhdGE6IE1hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YTtcbiAgcmVhZG9ubHkgI2lkOiBudW1iZXI7XG4gIHJlYWRvbmx5ICNpZGVudGlmaWVyOiBzdHJpbmcgfCBzeW1ib2w7XG4gICNsYXp5TGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhW10gfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5ICNuYW1lOiBMZWdhY3lRdWVyeWFibGVTdHJpbmc7XG4gIHJlYWRvbmx5ICN0eXBlOiBMZWdhY3lUYXJnZXRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkZW50aWZpZXI6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBtZXRhZGF0YTogTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhLFxuICAgIHR5cGU6IExlZ2FjeVRhcmdldFR5cGUsXG4gICkge1xuICAgIHRoaXMuI2lkID0gZ2V0VGFyZ2V0SWQoKTtcbiAgICB0aGlzLiNpZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLiNsYXp5TGVnYWN5TWV0YWRhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4jbWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICB0aGlzLiNuYW1lID0gbmV3IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZ0ltcGwoXG4gICAgICB0eXBlb2YgaWRlbnRpZmllciA9PT0gJ3N0cmluZycgPyBpZGVudGlmaWVyIDogZ2V0RGVzY3JpcHRpb24oaWRlbnRpZmllciksXG4gICAgKTtcbiAgICB0aGlzLiN0eXBlID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jaWQ7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBhIGNsYXNzIHByb3BlcnR5IHRhcmdldCwgdGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgaW5qZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBnZXQgaWRlbnRpZmllcigpOiBzdHJpbmcgfCBzeW1ib2wge1xuICAgIHJldHVybiB0aGlzLiNpZGVudGlmaWVyO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXRhZGF0YSgpOiBMZWdhY3lNZXRhZGF0YVtdIHtcbiAgICBpZiAodGhpcy4jbGF6eUxlZ2FjeU1ldGFkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI2xhenlMZWdhY3lNZXRhZGF0YSA9IGdldExlZ2FjeU1ldGFkYXRhKHRoaXMuI21ldGFkYXRhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jbGF6eUxlZ2FjeU1ldGFkYXRhO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI25hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogTGVnYWN5VGFyZ2V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZpY2VJZGVudGlmaWVyKCk6IFNlcnZpY2VJZGVudGlmaWVyIHtcbiAgICBpZiAoTGF6eVNlcnZpY2VJZGVudGlmaWVyLmlzKHRoaXMuI21ldGFkYXRhLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLnZhbHVlLnVud3JhcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbVRhZ3MoKTogTGVnYWN5TWV0YWRhdGFbXSB8IG51bGwge1xuICAgIHJldHVybiBbLi4udGhpcy4jbWV0YWRhdGEudGFncy5lbnRyaWVzKCldLm1hcChcbiAgICAgIChba2V5LCB2YWx1ZV06IFtNZXRhZGF0YVRhZywgdW5rbm93bl0pOiBMZWdhY3lNZXRhZGF0YSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROYW1lZFRhZygpOiBMZWdhY3lNZXRhZGF0YTxNZXRhZGF0YU5hbWU+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLm5hbWUgPT09IHVuZGVmaW5lZFxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBrZXk6IE5BTUVEX1RBRyxcbiAgICAgICAgICB2YWx1ZTogdGhpcy4jbWV0YWRhdGEubmFtZSxcbiAgICAgICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNUYWcoa2V5OiBNZXRhZGF0YVRhZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1ldGFkYXRhLnNvbWUoXG4gICAgICAobWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhKTogYm9vbGVhbiA9PiBtZXRhZGF0YS5rZXkgPT09IGtleSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLmtpbmQgPT09IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC5tdWx0aXBsZUluamVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBpc05hbWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNtZXRhZGF0YS5uYW1lICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNPcHRpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEub3B0aW9uYWw7XG4gIH1cblxuICBwdWJsaWMgaXNUYWdnZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLnRhZ3Muc2l6ZSA+IDA7XG4gIH1cblxuICBwdWJsaWMgbWF0Y2hlc0FycmF5KG5hbWU6IFNlcnZpY2VJZGVudGlmaWVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBcnJheSgpICYmIHRoaXMuI21ldGFkYXRhLnZhbHVlID09PSBuYW1lO1xuICB9XG5cbiAgcHVibGljIG1hdGNoZXNOYW1lZFRhZyhuYW1lOiBNZXRhZGF0YU5hbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEubmFtZSA9PT0gbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBtYXRjaGVzVGFnKGtleTogTWV0YWRhdGFUYWcpOiAodmFsdWU6IHVua25vd24pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+XG4gICAgICB0aGlzLm1ldGFkYXRhLnNvbWUoXG4gICAgICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+XG4gICAgICAgICAgbWV0YWRhdGEua2V5ID09PSBrZXkgJiYgbWV0YWRhdGEudmFsdWUgPT09IHZhbHVlLFxuICAgICAgKTtcbiAgfVxufVxuIiwiY29uc3QgU1lNQk9MX0lOREVYX1NUQVJUOiBudW1iZXIgPSA3O1xuY29uc3QgU1lNQk9MX0lOREVYX0VORDogbnVtYmVyID0gLTE7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdGlvbihzeW1ib2w6IHN5bWJvbCkge1xuICByZXR1cm4gc3ltYm9sLnRvU3RyaW5nKCkuc2xpY2UoU1lNQk9MX0lOREVYX1NUQVJULCBTWU1CT0xfSU5ERVhfRU5EKTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhJztcbmltcG9ydCB7IGdldENsYXNzTWV0YWRhdGFGcm9tTWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlcic7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlciB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlcic7XG5pbXBvcnQgeyBDbGFzc0VsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBDbGFzc01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzTWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTGVnYWN5TWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgTGVnYWN5VGFyZ2V0IH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeVRhcmdldCc7XG5pbXBvcnQgeyBnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzIH0gZnJvbSAnLi9nZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzJztcblxuZXhwb3J0IGNvbnN0IGdldFRhcmdldHM6IChcbiAgbWV0YWRhdGFSZWFkZXI/OiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbikgPT4gKHR5cGU6IE5ld2FibGUpID0+IExlZ2FjeVRhcmdldFtdID0gKFxuICBtZXRhZGF0YVJlYWRlcj86IExlZ2FjeU1ldGFkYXRhUmVhZGVyLFxuKTogKCh0eXBlOiBOZXdhYmxlKSA9PiBMZWdhY3lUYXJnZXRbXSkgPT4ge1xuICBjb25zdCBnZXRDbGFzc01ldGFkYXRhRm46ICh0eXBlOiBOZXdhYmxlKSA9PiBDbGFzc01ldGFkYXRhID1cbiAgICBtZXRhZGF0YVJlYWRlciA9PT0gdW5kZWZpbmVkXG4gICAgICA/IGdldENsYXNzTWV0YWRhdGFcbiAgICAgIDogKHR5cGU6IE5ld2FibGUpOiBDbGFzc01ldGFkYXRhID0+XG4gICAgICAgICAgZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlcih0eXBlLCBtZXRhZGF0YVJlYWRlcik7XG4gIGNvbnN0IGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRm46IChcbiAgICB0eXBlOiBOZXdhYmxlLFxuICApID0+IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9XG4gICAgbWV0YWRhdGFSZWFkZXIgPT09IHVuZGVmaW5lZFxuICAgICAgPyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc1xuICAgICAgOiAodHlwZTogTmV3YWJsZSk6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9PlxuICAgICAgICAgIGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyKHR5cGUsIG1ldGFkYXRhUmVhZGVyKTtcblxuICByZXR1cm4gZ2V0VGFyZ2V0c0Zyb21NZXRhZGF0YVByb3ZpZGVycyhcbiAgICBnZXRDbGFzc01ldGFkYXRhRm4sXG4gICAgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGbixcbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuaW1wb3J0IHsgQ2xhc3NNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc01ldGFkYXRhJztcbmltcG9ydCB7IGdldEJhc2VUeXBlIH0gZnJvbSAnLi4vLi4vcHJvdG90eXBlL2NhbGN1bGF0aW9ucy9nZXRCYXNlVHlwZSc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXQgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5VGFyZ2V0JztcbmltcG9ydCB7IExlZ2FjeVRhcmdldEltcGwgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5VGFyZ2V0SW1wbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzKFxuICBnZXRDbGFzc01ldGFkYXRhOiAodHlwZTogTmV3YWJsZSkgPT4gQ2xhc3NNZXRhZGF0YSxcbiAgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXM6IChcbiAgICB0eXBlOiBOZXdhYmxlLFxuICApID0+IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPixcbik6ICh0eXBlOiBOZXdhYmxlKSA9PiBMZWdhY3lUYXJnZXRbXSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRUYWdldHModHlwZTogTmV3YWJsZSk6IExlZ2FjeVRhcmdldFtdIHtcbiAgICBjb25zdCBjbGFzc01ldGFkYXRhOiBDbGFzc01ldGFkYXRhID0gZ2V0Q2xhc3NNZXRhZGF0YSh0eXBlKTtcblxuICAgIGxldCBiYXNlVHlwZTogTmV3YWJsZSB8IHVuZGVmaW5lZCA9IGdldEJhc2VUeXBlKHR5cGUpO1xuXG4gICAgd2hpbGUgKGJhc2VUeXBlICE9PSB1bmRlZmluZWQgJiYgYmFzZVR5cGUgIT09IE9iamVjdCkge1xuICAgICAgY29uc3QgY2xhc3NNZXRhZGF0YVByb3BlcnRpZXM6IE1hcDxcbiAgICAgICAgc3RyaW5nIHwgc3ltYm9sLFxuICAgICAgICBDbGFzc0VsZW1lbnRNZXRhZGF0YVxuICAgICAgPiA9IGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzKGJhc2VUeXBlKTtcblxuICAgICAgZm9yIChjb25zdCBbcHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWVdIG9mIGNsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmICghY2xhc3NNZXRhZGF0YS5wcm9wZXJ0aWVzLmhhcyhwcm9wZXJ0eUtleSkpIHtcbiAgICAgICAgICBjbGFzc01ldGFkYXRhLnByb3BlcnRpZXMuc2V0KHByb3BlcnR5S2V5LCBwcm9wZXJ0eVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBiYXNlVHlwZSA9IGdldEJhc2VUeXBlKGJhc2VUeXBlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRzOiBMZWdhY3lUYXJnZXRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb25zdHJ1Y3RvckFyZ3VtZW50IG9mIGNsYXNzTWV0YWRhdGEuY29uc3RydWN0b3JBcmd1bWVudHMpIHtcbiAgICAgIGlmIChjb25zdHJ1Y3RvckFyZ3VtZW50LmtpbmQgIT09IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC51bm1hbmFnZWQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0TmFtZTogc3RyaW5nID0gY29uc3RydWN0b3JBcmd1bWVudC50YXJnZXROYW1lID8/ICcnO1xuXG4gICAgICAgIHRhcmdldHMucHVzaChcbiAgICAgICAgICBuZXcgTGVnYWN5VGFyZ2V0SW1wbChcbiAgICAgICAgICAgIHRhcmdldE5hbWUsXG4gICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50LFxuICAgICAgICAgICAgJ0NvbnN0cnVjdG9yQXJndW1lbnQnLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbcHJvcGVydHksIG1ldGFkYXRhXSBvZiBjbGFzc01ldGFkYXRhLnByb3BlcnRpZXMpIHtcbiAgICAgIGlmIChtZXRhZGF0YS5raW5kICE9PSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldE5hbWU6IHN0cmluZyB8IHN5bWJvbCA9IG1ldGFkYXRhLnRhcmdldE5hbWUgPz8gcHJvcGVydHk7XG5cbiAgICAgICAgdGFyZ2V0cy5wdXNoKFxuICAgICAgICAgIG5ldyBMZWdhY3lUYXJnZXRJbXBsKHRhcmdldE5hbWUsIG1ldGFkYXRhLCAnQ2xhc3NQcm9wZXJ0eScpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRzO1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIl9fd2VicGFja19yZXF1aXJlX18iLCJleHBvcnRzIiwiZGVmaW5pdGlvbiIsImtleSIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJvYmoiLCJwcm9wIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwieSIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX3JlZmxlY3RfbWV0YWRhdGFfdXRpbHNfOGVjYzRjMTZfXyIsIngiLCJkIiwiTkFNRURfVEFHIiwiTkFNRV9UQUciLCJVTk1BTkFHRURfVEFHIiwiT1BUSU9OQUxfVEFHIiwiSU5KRUNUX1RBRyIsIk1VTFRJX0lOSkVDVF9UQUciLCJUQUdHRUQiLCJUQUdHRURfUFJPUCIsIkRFU0lHTl9QQVJBTV9UWVBFUyIsIlBPU1RfQ09OU1RSVUNUIiwiUFJFX0RFU1RST1kiLCJOT05fQ1VTVE9NX1RBR19LRVlTIiwiaXNBcHBFcnJvclN5bWJvbCIsIlN5bWJvbCIsImZvciIsIkludmVyc2lmeUNvcmVFcnJvciIsIkVycm9yIiwia2luZCIsImNvbnN0cnVjdG9yIiwibWVzc2FnZSIsIm9wdGlvbnMiLCJzdXBlciIsInRoaXMiLCJpcyIsInZhbHVlIiwiaXNFcnJvck9mS2luZCIsIkludmVyc2lmeUNvcmVFcnJvcktpbmQiLCJDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQiLCJhc3NlcnRDb25zdHJ1Y3Rvck1ldGFkYXRhQXJyYXlGaWxsZWQiLCJ0eXBlIiwidW5kZWZpbmVkSW5kZXhlcyIsImkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJwdXNoIiwibWlzc2luZ0luamVjdGlvbkRlY29yYXRvciIsIm5hbWUiLCJqb2luIiwiZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZSIsInNpbmdsZUluamVjdGlvbiIsIm9wdGlvbmFsIiwidGFncyIsIk1hcCIsInRhcmdldE5hbWUiLCJnZXRDbGFzc0VsZW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSIsIm1ldGFkYXRhTGlzdCIsImluamVjdE1ldGFkYXRhIiwiZmluZCIsIm1ldGFkYXRhIiwibXVsdGlJbmplY3RNZXRhZGF0YSIsInVubWFuYWdlZCIsImdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhIiwibmFtZU1ldGFkYXRhIiwib3B0aW9uYWxNZXRhZGF0YSIsInRhcmdldE5hbWVNZXRhZGF0YSIsIm11bHRpcGxlSW5qZWN0aW9uIiwiZmlsdGVyIiwiZXZlcnkiLCJjdXN0b21UYWdLZXkiLCJtYXAiLCJnZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEiLCJpbmRleCIsImVycm9yIiwidG9TdHJpbmciLCJjYXVzZSIsImdldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50cyIsInR5cGVzY3JpcHRNZXRhZGF0YUxpc3QiLCJnZXRSZWZsZWN0TWV0YWRhdGEiLCJjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YSIsImNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGEiLCJzdHJpbmdpZmllZEluZGV4IiwiZW50cmllcyIsInBhcnNlSW50IiwidHlwZXNjcmlwdE1ldGFkYXRhIiwiZ2V0UHJvcGVydHlNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSIsImdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzIiwicHJvcGVydGllc0xlZ2FjeU1ldGFkYXRhIiwicHJvcGVydGllc01ldGFkYXRhIiwicHJvcGVydHkiLCJSZWZsZWN0Iiwib3duS2V5cyIsImxlZ2FjeU1ldGFkYXRhIiwic2V0IiwiZ2V0Q2xhc3NNZXRhZGF0YSIsInBvc3RDb25zdHJ1Y3RNZXRhZGF0YSIsInByZURlc3Ryb3lNZXRhZGF0YSIsImNvbnN0cnVjdG9yQXJndW1lbnRzIiwibGlmZWN5Y2xlIiwicG9zdENvbnN0cnVjdE1ldGhvZE5hbWUiLCJwcmVEZXN0cm95TWV0aG9kTmFtZSIsInByb3BlcnRpZXMiLCJnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHNGcm9tTWV0YWRhdGFSZWFkZXIiLCJtZXRhZGF0YVJlYWRlciIsImxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGEiLCJnZXRDb25zdHJ1Y3Rvck1ldGFkYXRhIiwidXNlckdlbmVyYXRlZE1ldGFkYXRhIiwiY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YSIsImdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyIiwiZ2V0UHJvcGVydGllc01ldGFkYXRhIiwiZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlciIsImdldEJhc2VUeXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJiYXNlVHlwZSIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX2NvbW1vbl8wODFkOGMwN19fIiwiZ2V0TWFuYWdlZEtpbmRMZWdhY3lNZXRhZGF0YSIsImNsYXNzRWxlbWVudE1ldGFkYXRhIiwia2luZExlZ2FjeU1ldGFkYXRhIiwiTGVnYWN5UXVlcnlhYmxlU3RyaW5nSW1wbCIsInN0ciIsInN0YXJ0c1dpdGgiLCJzZWFyY2hTdHJpbmciLCJlbmRzV2l0aCIsImNvbnRhaW5zIiwiaW5jbHVkZXMiLCJlcXVhbHMiLCJjb21wYXJlU3RyaW5nIiwiSURfTUVUQURBVEEiLCJMZWdhY3lUYXJnZXRJbXBsIiwiaWRlbnRpZmllciIsInRhcmdldElkIiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsInVwZGF0ZVJlZmxlY3RNZXRhZGF0YSIsIk1JTl9TQUZFX0lOVEVHRVIiLCJpZCIsImdldFRhcmdldElkIiwic2xpY2UiLCJsZWdhY3lNZXRhZGF0YUxpc3QiLCJ0YWdLZXkiLCJ0YWdWYWx1ZSIsImdldE1hbmFnZWRMZWdhY3lNZXRhZGF0YSIsInNlcnZpY2VJZGVudGlmaWVyIiwiTGF6eVNlcnZpY2VJZGVudGlmaWVyIiwidW53cmFwIiwiZ2V0Q3VzdG9tVGFncyIsImdldE5hbWVkVGFnIiwiaGFzVGFnIiwic29tZSIsImlzQXJyYXkiLCJpc05hbWVkIiwiaXNPcHRpb25hbCIsImlzVGFnZ2VkIiwic2l6ZSIsIm1hdGNoZXNBcnJheSIsIm1hdGNoZXNOYW1lZFRhZyIsIm1hdGNoZXNUYWciLCJnZXRUYXJnZXRzIiwiY2xhc3NNZXRhZGF0YSIsImNsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzIiwicHJvcGVydHlLZXkiLCJwcm9wZXJ0eVZhbHVlIiwiaGFzIiwidGFyZ2V0cyIsImNvbnN0cnVjdG9yQXJndW1lbnQiLCJnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==
|
|
1
|
+
import{getReflectMetadata as e,updateReflectMetadata as t}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as n}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as o,LazyServiceIdentifier as i,isPromise as r}from"@inversifyjs/common";const s={Request:"Request",Singleton:"Singleton",Transient:"Transient"},c={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ServiceRedirection:"ServiceRedirection"};function*a(...e){for(const t of e)yield*t}class u{#e;#t;#n;constructor(e){this.#e=new Map,this.#t={};for(const t of Reflect.ownKeys(e))this.#t[t]=new Map;this.#n=e}clone(){const e=Reflect.ownKeys(this.#n),t=new u(this.#n);this.#o(this.#e,t.#e);for(const n of e)this.#o(this.#t[n],t.#t[n]);return t}get(e,t){return this.#t[e].get(t)?.values()}removeByRelation(e,t){const n=this.get(e,t);if(void 0!==n)for(const e of n){const t=this.#e.get(e);if(void 0===t)throw new Error("Expecting model relation, none found");this.#i(e,t),this.#e.delete(e)}}set(e,t){this.#e.set(e,t);for(const n of Reflect.ownKeys(t))this.#r(n,t[n]).add(e)}#r(e,t){let n=this.#t[e].get(t);return void 0===n&&(n=new Set,this.#t[e].set(t,n)),n}#o(e,t){for(const[n,o]of e)t.set(n,o)}#i(e,t){for(const n of Reflect.ownKeys(t))this.#s(e,n,t[n])}#s(e,t,n){const o=this.#t[t].get(n);void 0!==o&&(o.delete(e),0===o.size&&this.#t[t].delete(n))}}var d,l,f;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(d||(d={}));class p{#c;#a;constructor(e,t){this.#c=t??new u({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new p(e)}add(e,t){this.#c.set(e,t)}clone(){return new p(this.#a,this.#c.clone())}get(e){const t=[],n=this.#c.get(d.serviceId,e);void 0!==n&&t.push(n);const o=this.#a?.get(e);if(void 0!==o&&t.push(o),0!==t.length)return a(...t)}removeAllByModuleId(e){this.#c.removeByRelation(d.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(d.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class m{#u;#a;constructor(e,t){this.#u=t??new u({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new m(e)}clone(){return new m(this.#a,this.#u.clone())}get(e){return this.#u.get(l.serviceId,e)??this.#a?.get(e)}getByModuleId(e){return this.#u.get(l.moduleId,e)??this.#a?.getByModuleId(e)}removeAllByModuleId(e){this.#u.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#u.removeByRelation(l.serviceId,e)}set(e){const t={[l.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[l.moduleId]=e.moduleId),this.#u.set(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class g{#d;#a;constructor(e,t){this.#d=t??new u({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new g(e)}add(e,t){this.#d.set(e,t)}clone(){return new g(this.#a,this.#d.clone())}get(e){const t=[],n=this.#d.get(f.serviceId,e);void 0!==n&&t.push(n);const o=this.#a?.get(e);if(void 0!==o&&t.push(o),0!==t.length)return a(...t)}removeAllByModuleId(e){this.#d.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(f.serviceId,e)}}function v(e,t,n){if(void 0!==n)if("number"!=typeof n)Reflect.decorate(e,t.prototype,n);else for(const o of e)o(t,void 0,n);else Reflect.decorate(e,t)}const h="@inversifyjs/core/classMetadataReflectKey";function y(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const w="@inversifyjs/core/pendingClassMetadataCountReflectKey";const M=Symbol.for("@inversifyjs/core/InversifyCoreError");class I extends Error{[M];kind;constructor(e,t,n){super(t,n),this[M]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[M]}static isErrorOfKind(e,t){return I.is(e)&&e.kind===t}}var b,j,C;function $(t){const n=e(t,h)??y();if(!function(t){const n=e(t,w);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new I(b.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${t.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<t.length;++e)void 0===t[e]&&n.push(e);if(n.length>0)throw new I(b.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${n.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(t,n.constructorArguments),n;!function(e,t){const n=[];for(let o=0;o<t.constructorArguments.length;++o){const i=t.constructorArguments[o];void 0!==i&&i.kind!==j.unknown||n.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${o.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[o,i]of t.properties)i.kind===j.unknown&&n.push(` - Missing or incomplete metadata for type "${e.name}" at property "${o.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===n.length)throw new I(b.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new I(b.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function x(){return 0}function R(e){return n=>{void 0!==n&&n.kind===j.unknown&&t(e,w,x,(e=>e-1))}}function S(e,t){return(...n)=>o=>{if(void 0===o)return e(...n);if(o.kind===C.unmanaged)throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(o,...n)}}function T(e){if(e.kind!==j.unknown&&!0!==e.isFromTypescriptParamType)throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(b||(b={})),function(e){e[e.unknown=0]="unknown"}(j||(j={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(C||(C={}));const A=S((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:t}}),(function(e,t,n){return T(e),{...e,kind:t,value:n}}));var D;function k(e,t,n,o){if(I.isErrorOfKind(o,b.injectionDecoratorConflict)){const i=function(e,t,n){if(void 0===n){if(void 0===t)throw new I(b.unknown,"Unexpected undefined property and index values");return{kind:D.property,property:t,targetClass:e.constructor}}return{index:n,kind:D.parameter,targetClass:e}}(e,t,n);throw new I(b.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${o.message}\n\nDetails\n\n${function(e){switch(e.kind){case D.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case D.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(i)}`,{cause:o})}throw o}function B(e,n){return(o,i,r)=>{void 0===r?function(e,n){const o=N(e,n);return(e,n)=>{t(e.constructor,h,y,function(e,t){return n=>{const o=n.properties.get(t);return n.properties.set(t,e(o)),n}}(o(e),n))}}(e,n)(o,i):function(e,n){const o=N(e,n);return(e,n,i)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,n))throw new Error(`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${n?.toString()??""}" at class "${e.constructor.name}"`);t(e,h,y,function(e,t){return n=>{const o=n.constructorArguments[t];return n.constructorArguments[t]=e(o),n}}(o(e),i))}}(e,n)(o,i,r)}}function N(e,t){return n=>{const o=t(n);return t=>(o(t),e(t))}}function E(e){const t=A(C.singleInjection,e);return(e,n,o)=>{try{void 0===o?B(t,R)(e,n):B(t,R)(e,n,o)}catch(t){k(e,n,o,t)}}}!function(e){e[e.parameter=0]="parameter",e[e.property=1]="property"}(D||(D={}));function F(n){const o=e(n,"design:paramtypes");void 0!==o&&t(n,h,y,function(e){return t=>(e.forEach(((e,n)=>{var o;void 0===t.constructorArguments[n]&&(t.constructorArguments[n]=(o=e,{isFromTypescriptParamType:!0,kind:C.singleInjection,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:o}))})),t)}(o))}function P(e){return n=>{F(n),void 0!==e&&t(n,h,y,(t=>({...t,scope:e})))}}function U(e,t,n){let o;return e.extendConstructorArguments??!1?(o=[...t.constructorArguments],n.constructorArguments.map(((e,t)=>{o[t]=e}))):o=n.constructorArguments,o}function O(e,t,n){let o;return o=e.extendProperties??!1?new Map(a(t.properties,n.properties)):n.properties,o}function K(e){return n=>{const o=$(e.type);t(n,h,y,function(e,t){const n=n=>({constructorArguments:U(e,t,n),lifecycle:n.lifecycle,properties:O(e,t,n),scope:n.scope});return n}(e,o))}}function q(e){return t=>{const o=n(t);if(void 0===o)throw new I(b.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);K({...e,type:o})(t)}}function V(e){const t=A(C.multipleInjection,e);return(e,n,o)=>{try{void 0===o?B(t,R)(e,n):B(t,R)(e,n,o)}catch(t){k(e,n,o,t)}}}function z(e){return n=>{void 0===n&&t(e,w,x,(e=>e+1))}}function G(e){return t=>{const n=t??{kind:j.unknown,name:void 0,optional:!1,tags:new Map,targetName:void 0};if(n.kind===C.unmanaged)throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(n)}}function H(e){const t=G(function(e){return t=>{if(void 0!==t.name)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return(e,n,o)=>{try{void 0===o?B(t,z)(e,n):B(t,z)(e,n,o)}catch(t){k(e,n,o,t)}}}function J(e){if(e.optional)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function L(){const e=G(J);return(t,n,o)=>{try{void 0===o?B(e,z)(t,n):B(e,z)(t,n,o)}catch(e){k(t,n,o,e)}}}function Q(){return(e,n,o)=>{try{t(e.constructor,h,y,(i=n,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=i,e}))}catch(t){k(e,n,void 0,t)}var i}}function W(){return(e,n,o)=>{try{t(e.constructor,h,y,(i=n,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=i,e}))}catch(t){k(e,n,void 0,t)}var i}}function X(e,t){const n=G(function(e,t){return n=>{if(n.tags.has(e))throw new I(b.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return(e,t,o)=>{try{void 0===o?B(n,z)(e,t):B(n,z)(e,t,o)}catch(n){k(e,t,o,n)}}}function Y(){return{kind:C.unmanaged}}const Z=S(Y,(function(e){if(T(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0||void 0!==e.targetName}(e))throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return Y()}));function _(){const e=Z();return(t,n,o)=>{try{void 0===o?B(e,R)(t,n):B(e,R)(t,n,o)}catch(e){k(t,n,o,e)}}}class ee{last;constructor(e){this.last=e}concat(e){return new ee({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const t=e.elem;return e=e.previous,{done:!1,value:t}}}}}function te(e,t){e.servicesBranch.has(t)&&function(e,t){const n=(i=[...e.servicesBranch,t],[...i].map(o).join(" -> "));var i;throw new I(b.planning,`Circular dependency found: ${n}`)}(e,t),e.servicesBranch.add(t)}class ne{#l;constructor(e){this.#l=e}get name(){return this.#l.elem.name}get tags(){return this.#l.elem.tags}get serviceIdentifier(){return this.#l.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#l.previous)return new ne(this.#l.previous)}}function oe(e,t,n){const o=new ne(t.last),i=n?.customServiceIdentifier??o.serviceIdentifier;return[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(o)))}function ie(e){return void 0!==e.redirections}function re(e,t,n){let i,r;ie(n)?(i=n.binding.targetServiceIdentifier,r=n.binding.serviceIdentifier):(i=n.serviceIdentifier,r=n.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,t,n,i){if(0!==e.length){const t=`Ambiguous bindings found for service: "${o(n)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case c.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case c.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", redirection: "${o(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${ce(n,i)}".`;throw new I(b.planning,t)}t||se(n,i)}(e,t,i,r):function(e,t,n,o){if(void 0!==e||t)return;se(n,o)}(e,t,i,r)}function se(e,t){const n=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${ce(e,t)}".`;throw new I(b.planning,n)}function ce(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function ae(e,t){if(1!==e.redirections.length)re(e.redirections,t,e);else{const[n]=e.redirections;ie(n)&&ae(n,t)}}function ue(e,t){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[n]=e.bindings;ie(n)&&ae(n,t)}else re(e.bindings,t,e)}function de(e){const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new ee({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),o=oe(e,n),i=[],r={bindings:i,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(i.push(...pe(e,n,o,r)),!e.rootConstraints.isMultiple){ue(r,e.rootConstraints.isOptional??!1);const[t]=i;r.bindings=t}return{tree:{root:r}}}function le(e,t,n,o){const i={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:o,propertyParams:new Map};return function(e,t){const n=e.node.classMetadata;for(const[o,i]of n.constructorArguments.entries())e.node.constructorParams[o]=fe(e,t,i);for(const[o,i]of n.properties){const n=fe(e,t,i);void 0!==n&&e.node.propertyParams.set(o,n)}return e.node}({getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:i,servicesBranch:e.servicesBranch},n)}function fe(e,t,n){if(n.kind===C.unmanaged)return;const o=i.is(n.value)?n.value.unwrap():n.value,r=t.concat({name:n.name,serviceIdentifier:o,tags:n.tags}),s=oe(e,r),c=[],a={bindings:c,parent:e.node,serviceIdentifier:o};if(c.push(...pe(e,r,s,a)),n.kind===C.singleInjection){ue(a,n.optional);const[e]=c;a.bindings=e}return a}function pe(e,t,n,o){const i=ie(o)?o.binding.targetServiceIdentifier:o.serviceIdentifier;te(e,i);const r=[];for(const i of n)switch(i.type){case c.Instance:r.push(le(e,i,t,o));break;case c.ServiceRedirection:{const n=me(e,t,i,o);r.push(n);break}default:r.push({binding:i,parent:o})}return e.servicesBranch.delete(i),r}function me(e,t,n,o){const i={binding:n,parent:o,redirections:[]},r=oe(e,t,{customServiceIdentifier:n.targetServiceIdentifier});return i.redirections.push(...pe(e,t,r,i)),i}function ge(e,t,n){const o=e.getActivations(t);return void 0===o?n:r(n)?ve(n,o[Symbol.iterator]()):function(e,t){let n=e,o=t.next();for(;!0!==o.done;){const e=o.value(n);if(r(e))return ve(e,t);n=e,o=t.next()}return n}(n,o[Symbol.iterator]())}async function ve(e,t){let n=await e,o=t.next();for(;!0!==o.done;)n=await o.value(n),o=t.next();return n}function he(e,t,n){let o=n;if(void 0!==t.onActivation){const e=t.onActivation;o=r(o)?o.then((t=>e(t))):e(o)}return ge(e,t.serviceIdentifier,o)}function ye(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;const o=he(t,n,e(t,n));return n.cache={isRight:!0,value:o},o}}const we=ye((function(e,t){return t.value}));function Me(e){return e}function Ie(e,t){return(n,o)=>{const i=e(o);switch(i.scope){case s.Singleton:{if(i.cache.isRight)return i.cache.value;const e=be(n,o,i,t);return i.cache={isRight:!0,value:e},e}case s.Request:{if(n.requestScopeCache.has(i.id))return n.requestScopeCache.get(i.id);const e=be(n,o,i,t);return n.requestScopeCache.set(i.id,e),e}case s.Transient:return be(n,o,i,t)}}}function be(e,t,n,o){return he(e,n,o(e,t))}const je=(e=>Ie(Me,e))((function(e,t){return t.value(e.context)}));const Ce=ye((function(e,t){return t.factory(e.context)}));function $e(e,t,n){const o=function(e,t,n){if(void 0===n)return;if(!(n in e))throw new I(b.resolution,`Expecting a "${n.toString()}" property when resolving "${t.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[n])throw new I(b.resolution,`Expecting a "${n.toString()}" method when resolving "${t.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let o;try{o=e[n]()}catch(e){throw new I(b.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${t.implementationType.name}"`,{cause:e})}if(r(o))return async function(e,t,n){try{await n}catch(n){throw new I(b.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:n})}}(t,n,o)}}(e,t,n);return r(o)?o.then((()=>e)):e}function xe(e){return(t,n,o)=>{const i=new o.binding.implementationType(...t),s=e(n,i,o);return r(s)?s.then((()=>$e(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName))):$e(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName)}}const Re=ye((function(e,t){return t.provider(e.context)}));function Se(e){return e.binding}const Te=function(e){return(t,n,o)=>{const i=[];for(const[s,c]of o.propertyParams){const a=o.classMetadata.properties.get(s);if(void 0===a)throw new I(b.resolution,`Expecting metadata at property "${s.toString()}", none found`);if(a.kind!==C.unmanaged){const o=a.targetName??s;n[o]=e(t,c),r(n[o])&&i.push((async()=>{n[o]=await n[o]})())}}if(i.length>0)return Promise.all(i).then((()=>{}))}}(Ee),Ae=function(e){return function t(n,o){const i=[];for(const r of o.redirections)ie(r)?i.push(...t(n,r)):i.push(e(n,r));return i}}(Ne),De=function(e,t,n){return(o,i)=>{const s=e(o,i);return r(s)?t(s,o,i):n(s,o,i)}}(function(e){return(t,n)=>{const o=[];for(const i of n.constructorParams)void 0===i?o.push(void 0):o.push(e(t,i));return o.some(r)?Promise.all(o):o}}(Ee),function(e){return async(t,n,o)=>{const i=await t;return e(i,n,o)}}(xe(Te)),xe(Te)),ke=(e=>Ie(Se,e))(De);function Be(e){return Ee(e,e.planResult.tree.root)}function Ne(e,t){switch(t.binding.type){case c.ConstantValue:return we(e,t.binding);case c.DynamicValue:return je(e,t.binding);case c.Factory:return Ce(e,t.binding);case c.Instance:return ke(e,t);case c.Provider:return Re(e,t.binding)}}function Ee(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const o of t)ie(o)?n.push(...Ae(e,o)):n.push(Ne(e,o));if(n.some(r))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(ie(t)){const n=Ae(e,t);if(1===n.length)return n[0];throw new I(b.resolution,"Unexpected multiple resolved values on single injection")}return Ne(e,t)}(e,t.bindings)}function Fe(e){return void 0!==e.scope}function Pe(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function Ue(e,t,n){const o=e.getDeactivations(t);if(void 0!==o)return r(n)?Oe(n,o[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const o=n.value(e);if(r(o))return Oe(e,t);n=t.next()}}(n,o[Symbol.iterator]())}async function Oe(e,t){const n=await e;let o=t.next();for(;!0!==o.done;)await o.value(n),o=t.next()}function Ke(e,t){const n=function(e,t){if(t.type===c.Instance){const n=e.getClassMetadata(t.implementationType),o=t.cache.value;return r(o)?o.then((e=>Pe(n,e))):Pe(n,o)}}(e,t);return void 0===n?qe(e,t):n.then((()=>qe(e,t)))}function qe(e,t){const n=t.cache;return r(n.value)?n.value.then((n=>Ve(e,t,n))):Ve(e,t,n.value)}function Ve(e,t,n){let o;if(void 0!==t.onDeactivation){o=(0,t.onDeactivation)(n)}return void 0===o?Ue(e,t.serviceIdentifier,n):o.then((()=>Ue(e,t.serviceIdentifier,n)))}function ze(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)Fe(n)&&n.scope===s.Singleton&&n.cache.isRight&&t.push(n);return t}(t),o=[];for(const t of n){const n=Ke(e,t);void 0!==n&&o.push(n)}return o.length>0?Promise.all(o).then((()=>{})):void 0}function Ge(e,t){const n=e.getBindingsFromModule(t);return ze(e,n)}function He(e,t){const n=e.getBindings(t);return ze(e,n)}export{p as ActivationsService,m as BindingService,C as ClassElementMetadataKind,g as DeactivationsService,s as bindingScopeValues,c as bindingTypeValues,v as decorate,$ as getClassMetadata,E as inject,q as injectFromBase,P as injectable,V as multiInject,H as named,L as optional,de as plan,Q as postConstruct,W as preDestroy,Be as resolve,Ge as resolveModuleDeactivations,He as resolveServiceDeactivations,X as tagged,_ as unmanaged};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|