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
JavaScript
;
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;