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!

34 lines (33 loc) 1.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isEmbeddedBean = void 0; var typescript_1 = __importDefault(require("typescript")); var isClassPropertyBean_1 = require("./isClassPropertyBean"); var CompilationContext_1 = require("../../../compilation-context/CompilationContext"); var isExpressionBean_1 = require("./isExpressionBean"); var isEmbeddedBeanDecorator_1 = require("./isEmbeddedBeanDecorator"); var isEmbeddedBean = function (node) { var _a; if ((0, isClassPropertyBean_1.isClassPropertyBean)(node) || (0, isExpressionBean_1.isExpressionBean)(node)) { return false; } if (!typescript_1.default.isPropertyDeclaration(node)) { return false; } if (!((_a = node.decorators) === null || _a === void 0 ? void 0 : _a.some(isEmbeddedBeanDecorator_1.isEmbeddedBeanDecorator))) { return false; } if (node.initializer === undefined) { CompilationContext_1.CompilationContext.reportError({ node: node, message: 'Embedded Bean should hold value', filePath: node.getSourceFile().fileName, }); return false; } return !typescript_1.default.isArrowFunction(node.initializer); }; exports.isEmbeddedBean = isEmbeddedBean;