UNPKG

a2r

Version:
35 lines (34 loc) 1.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const typescript_1 = __importDefault(require("typescript")); const getIdentifier = (nodes) => { let res = ''; for (let i = 0, l = nodes.length; i < l && !res; i += 1) { const node = nodes[i]; if (typescript_1.default.isIdentifier(node)) { res = node.getText().trim(); } } return res; }; const getExportsIdentifiersFromNodes = (nodes, keys = new Array()) => { const res = [...keys]; for (let i = 0, l = nodes.length; i < l; i += 1) { const node = nodes[i]; const children = node.getChildren(); if (typescript_1.default.isInterfaceDeclaration(node) || typescript_1.default.isEnumDeclaration(node) || typescript_1.default.isTypeAliasDeclaration(node)) { const identifier = getIdentifier(children); res.push(identifier); } else if (children.length) { res.push(...getExportsIdentifiersFromNodes(children)); } } return res; }; exports.default = getExportsIdentifiersFromNodes;