UNPKG

@irwinproject/storybook-addon-tsdoc

Version:
28 lines (27 loc) 1.51 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.traverse = traverse; const ts_morph_1 = require("ts-morph"); const TS_1 = __importDefault(require("./TS")); const node_tools_1 = require("./node-tools"); function* traverse(...nodes) { var _a, _b; for (const node of nodes) { if (ts_morph_1.Node.isSourceFile(node)) yield* traverse(...((_b = (_a = node.getChildSyntaxList()) === null || _a === void 0 ? void 0 : _a.getChildren()) !== null && _b !== void 0 ? _b : [])); else if ((ts_morph_1.Node.isTypeAliasDeclaration(node) || ts_morph_1.Node.isClassDeclaration(node) || ts_morph_1.Node.isFunctionDeclaration(node) || ts_morph_1.Node.isInterfaceDeclaration(node))) { if (!(0, node_tools_1.isPrivate)(node)) yield node; } else if (ts_morph_1.Node.isVariableStatement(node)) { if (!(0, node_tools_1.isPrivate)(node)) yield* node.getDeclarations(); } else if (node && !ts_morph_1.Node.isExportDeclaration(node) && !ts_morph_1.Node.isImportDeclaration(node) && !ts_morph_1.Node.isCommentStatement(node) && !ts_morph_1.Node.isExportAssignment(node) && !ts_morph_1.Node.isExpressionStatement(node)) { TS_1.default.err("Lacking support in traverse", node.getKindName(), node.getText()); } } }