@inversifyjs/core
Version:
InversifyJs core package
15 lines • 954 B
JavaScript
import { InversifyCoreError } from '../../error/models/InversifyCoreError.js';
import { InversifyCoreErrorKind } from '../../error/models/InversifyCoreErrorKind.js';
import { ClassElementMetadataKind } from '../models/ClassElementMetadataKind.js';
export function buildClassElementMetadataFromMaybeClassElementMetadata(buildDefaultMetadata, buildMetadataFromMaybeManagedMetadata) {
return (...params) => (metadata) => {
if (metadata === undefined) {
return buildDefaultMetadata(...params);
}
if (metadata.kind === ClassElementMetadataKind.unmanaged) {
throw new InversifyCoreError(InversifyCoreErrorKind.injectionDecoratorConflict, 'Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found');
}
return buildMetadataFromMaybeManagedMetadata(metadata, ...params);
};
}
//# sourceMappingURL=buildClassElementMetadataFromMaybeClassElementMetadata.js.map