@inversifyjs/core
Version:
InversifyJs core package
40 lines • 1.33 kB
JavaScript
import { LazyServiceIdentifier, } from '@inversifyjs/common';
import { ClassElementMetadataKind } from '../../metadata/models/ClassElementMetadataKind.js';
export function tryBuildGetPlanOptionsFromManagedClassElementMetadata(elementMetadata) {
let tag;
if (elementMetadata.tags.size === 0) {
tag = undefined;
}
else if (elementMetadata.tags.size === 1) {
const [key, value] = elementMetadata.tags
.entries()
.next().value;
tag = { key, value };
}
else {
return undefined;
}
const serviceIdentifier = LazyServiceIdentifier.is(elementMetadata.value)
? elementMetadata.value.unwrap()
: elementMetadata.value;
if (elementMetadata.kind === ClassElementMetadataKind.multipleInjection) {
return {
chained: elementMetadata.chained,
isMultiple: true,
name: elementMetadata.name,
optional: elementMetadata.optional,
serviceIdentifier,
tag,
};
}
else {
return {
isMultiple: false,
name: elementMetadata.name,
optional: elementMetadata.optional,
serviceIdentifier,
tag,
};
}
}
//# sourceMappingURL=tryBuildGetPlanOptionsFromManagedClassElementMetadata.js.map