@inversifyjs/core
Version:
InversifyJs core package
16 lines • 1.05 kB
JavaScript
import { InversifyCoreError } from '../../error/models/InversifyCoreError.js';
import { InversifyCoreErrorKind } from '../../error/models/InversifyCoreErrorKind.js';
import { ClassElementMetadataKind } from '../models/ClassElementMetadataKind.js';
import { buildDefaultMaybeClassElementMetadata } from './buildDefaultMaybeClassElementMetadata.js';
export function buildMaybeClassElementMetadataFromMaybeClassElementMetadata(updateMetadata) {
return (metadata) => {
const definedMetadata = metadata ?? buildDefaultMaybeClassElementMetadata();
switch (definedMetadata.kind) {
case ClassElementMetadataKind.unmanaged:
throw new InversifyCoreError(InversifyCoreErrorKind.injectionDecoratorConflict, 'Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections');
default:
return updateMetadata(definedMetadata);
}
};
}
//# sourceMappingURL=buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js.map