UNPKG

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
"use strict"; 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;