dependency-injection-cat
Version:
DI Cat is a truly clean DI-container, which allows you not to pollute your business logic with decorators from DI/IOC libraries!
28 lines (27 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerBeanDependencies = void 0;
var BeanRepository_1 = require("../bean/BeanRepository");
var registerMethodBeanDependencies_1 = require("./registerMethodBeanDependencies");
var registerPropertyBeanDependencies_1 = require("./registerPropertyBeanDependencies");
var BeanDependenciesRepository_1 = require("./BeanDependenciesRepository");
var registerArrowFunctionBeanDependencies_1 = require("./registerArrowFunctionBeanDependencies");
var registerBeanDependencies = function (contextDescriptor) {
var _a;
BeanDependenciesRepository_1.BeanDependenciesRepository.clearBeanDependenciesByContextDescriptor(contextDescriptor);
var beanDescriptorList = (_a = BeanRepository_1.BeanRepository.contextIdToBeanDescriptorsMap.get(contextDescriptor.id)) !== null && _a !== void 0 ? _a : [];
beanDescriptorList.forEach(function (descriptor) {
switch (descriptor.beanKind) {
case 'method':
(0, registerMethodBeanDependencies_1.registerMethodBeanDependencies)(descriptor);
break;
case 'property':
(0, registerPropertyBeanDependencies_1.registerPropertyBeanDependencies)(descriptor);
break;
case 'arrowFunction':
(0, registerArrowFunctionBeanDependencies_1.registerArrowFunctionBeanDependencies)(descriptor);
break;
}
});
};
exports.registerBeanDependencies = registerBeanDependencies;