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!
33 lines (32 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LifecycleMethodsRepository = void 0;
var LifecycleMethodsRepository = /** @class */ (function () {
function LifecycleMethodsRepository() {
}
LifecycleMethodsRepository.register = function (contextDescriptor, lifecycleDescriptor) {
var existSet = this.contextDescriptorToLifecycleDescriptors.get(contextDescriptor);
if (!existSet) {
existSet = new Set();
this.contextDescriptorToLifecycleDescriptors.set(contextDescriptor, existSet);
}
existSet.add(lifecycleDescriptor);
this.nodeToContextLifecycleDescriptor.set(lifecycleDescriptor.node, lifecycleDescriptor);
};
LifecycleMethodsRepository.getLifecycleDescriptorsByContextDescriptorAndLifecycleType = function (contextDescriptor, lifecycleType) {
var _a;
var descriptors = (_a = this.contextDescriptorToLifecycleDescriptors.get(contextDescriptor)) !== null && _a !== void 0 ? _a : new Set();
return new Set(Array.from(descriptors).filter(function (it) { return it.types.has(lifecycleType); }));
};
LifecycleMethodsRepository.clearBeanInfoByContextDescriptor = function (contextDescriptor) {
var _this = this;
var _a;
var contextLifecycleDescriptors = (_a = this.contextDescriptorToLifecycleDescriptors.get(contextDescriptor)) !== null && _a !== void 0 ? _a : new Set();
this.contextDescriptorToLifecycleDescriptors.delete(contextDescriptor);
contextLifecycleDescriptors.forEach(function (it) { return _this.nodeToContextLifecycleDescriptor.delete(it.node); });
};
LifecycleMethodsRepository.contextDescriptorToLifecycleDescriptors = new Map();
LifecycleMethodsRepository.nodeToContextLifecycleDescriptor = new WeakMap();
return LifecycleMethodsRepository;
}());
exports.LifecycleMethodsRepository = LifecycleMethodsRepository;