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!

46 lines (45 loc) 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerContextLifecycleMethods = void 0; var isContextLifecycleMethod_1 = require("./isContextLifecycleMethod"); var registerLifecycleMethod_1 = require("./registerLifecycleMethod"); var getLifecycleTypes_1 = require("./getLifecycleTypes"); var isContextLifecycleArrowFunction_1 = require("./isContextLifecycleArrowFunction"); var registerLifecycleArrowFunction_1 = require("./registerLifecycleArrowFunction"); var LifecycleMethodsRepository_1 = require("./LifecycleMethodsRepository"); var CompilationContext_1 = require("../../compilation-context/CompilationContext"); var registerContextLifecycleMethods = function (contextDescriptor) { LifecycleMethodsRepository_1.LifecycleMethodsRepository.clearBeanInfoByContextDescriptor(contextDescriptor); contextDescriptor.node.members.forEach(function (it) { var _a; var lifecycles = (0, getLifecycleTypes_1.getLifecycleTypes)((_a = it.decorators) !== null && _a !== void 0 ? _a : []); if (lifecycles === null) { return; } if ((0, isContextLifecycleMethod_1.isContextLifecycleMethod)(it)) { if (contextDescriptor.isGlobal) { CompilationContext_1.CompilationContext.reportError({ node: it, filePath: contextDescriptor.absolutePath, relatedContextPath: contextDescriptor.absolutePath, message: 'Global Contexts does not support lifecycle methods', }); return; } (0, registerLifecycleMethod_1.registerLifecycleMethod)(contextDescriptor, it, lifecycles); } else if ((0, isContextLifecycleArrowFunction_1.isContextLifecycleArrowFunction)(it)) { if (contextDescriptor.isGlobal) { CompilationContext_1.CompilationContext.reportError({ node: it, filePath: contextDescriptor.absolutePath, relatedContextPath: contextDescriptor.absolutePath, message: 'Global Contexts does not support lifecycle methods', }); return; } (0, registerLifecycleArrowFunction_1.registerLifecycleArrowFunction)(contextDescriptor, it, lifecycles); } }); }; exports.registerContextLifecycleMethods = registerContextLifecycleMethods;