@lillallol/dic
Version:
My own dependency injection container.
21 lines (20 loc) • 919 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.throwIfMissingAbstractionsFromTypes = void 0;
const errorMessages_1 = require("../errorMessages");
function throwIfMissingAbstractionsFromTypes(_) {
const { TYPES, dic, entryPointAbstractions } = _;
const missingAbstractionsFromTypes = [];
const typesMap = new Map(Object.values(TYPES).map((abstraction) => [abstraction, true]));
[...dic.registry.values()].forEach(({ abstraction }) => {
if (typesMap.get(abstraction) !== true)
missingAbstractionsFromTypes.push(abstraction);
});
if (missingAbstractionsFromTypes.length !== 0) {
throw Error(errorMessages_1.errorMessages.typesIsMissingAbstractions({
missingAbstractionsFromTypes,
entryPointAbstractions,
}));
}
}
exports.throwIfMissingAbstractionsFromTypes = throwIfMissingAbstractionsFromTypes;