@ng-doc/builder
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
27 lines • 1.14 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.findMember = findMember;
const ts_morph_1 = require("ts-morph");
const class_1 = require("../class");
const interface_1 = require("../interface");
const get_interface_member_1 = require("../interface/get-interface-member");
const member_type_1 = require("./member-type");
/**
*
* @param node
* @param name
*/
function findMember(node, name) {
if (ts_morph_1.Node.isClassDeclaration(node)) {
const member = (0, class_1.findClass)(node, (cls) => !!cls.getInstanceMember(name))?.getInstanceMember(name);
return member && (0, member_type_1.isClassMember)(member) ? member : undefined;
}
if (ts_morph_1.Node.isInterfaceDeclaration(node)) {
if (ts_morph_1.Node.isInterfaceDeclaration(node)) {
const baseInterface = (0, interface_1.findInterface)(node, (int) => !!(0, get_interface_member_1.getInterfaceMember)(int, name));
return baseInterface && (0, get_interface_member_1.getInterfaceMember)(baseInterface, name);
}
}
return undefined;
}
//# sourceMappingURL=find-member.js.map
;