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!

27 lines (26 loc) 1.28 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isExtendsCatContextContext = void 0; var typescript_1 = __importDefault(require("typescript")); var libraryName_1 = require("../../../constants/libraryName"); var node_source_descriptor_1 = require("../node-source-descriptor"); var isExtendsCatContextContext = function (node) { var _a; if (!typescript_1.default.isClassDeclaration(node)) { return false; } var extendsHeritageClause = (_a = node.heritageClauses) === null || _a === void 0 ? void 0 : _a.find(function (clause) { return clause.token === typescript_1.default.SyntaxKind.ExtendsKeyword; }); if (!extendsHeritageClause) { return false; } var name = extendsHeritageClause.types[0].expression.getText(); var sourceDescriptor = (0, node_source_descriptor_1.getNodeSourceDescriptorDeep)(node.getSourceFile(), name); if (!sourceDescriptor) { return false; } return sourceDescriptor.name === 'CatContext' && sourceDescriptor.path === libraryName_1.libraryName; }; exports.isExtendsCatContextContext = isExtendsCatContextContext;