UNPKG

@inversifyjs/core

Version:

InversifyJs core package

39 lines 1.51 kB
import { LazyServiceIdentifier, } from '@inversifyjs/common'; import { ResolvedValueElementMetadataKind } from '../../metadata/models/ResolvedValueElementMetadataKind.js'; export function tryBuildGetPlanOptionsFromResolvedValueElementMetadata(resolvedValueElementMetadata) { let tag; if (resolvedValueElementMetadata.tags.size === 0) { tag = undefined; } else if (resolvedValueElementMetadata.tags.size === 1) { const [key, value] = resolvedValueElementMetadata.tags.entries().next().value; tag = { key, value }; } else { return undefined; } const serviceIdentifier = LazyServiceIdentifier.is(resolvedValueElementMetadata.value) ? resolvedValueElementMetadata.value.unwrap() : resolvedValueElementMetadata.value; if (resolvedValueElementMetadata.kind === ResolvedValueElementMetadataKind.multipleInjection) { return { chained: resolvedValueElementMetadata.chained, isMultiple: true, name: resolvedValueElementMetadata.name, optional: resolvedValueElementMetadata.optional, serviceIdentifier, tag, }; } else { return { isMultiple: false, name: resolvedValueElementMetadata.name, optional: resolvedValueElementMetadata.optional, serviceIdentifier, tag, }; } } //# sourceMappingURL=tryBuildGetPlanOptionsFromResolvedValueElementMetadata.js.map