UNPKG

angular-docgen

Version:

A toolkit to extract information from Angular components for documentation generation.

41 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ts = require("typescript"); var classDeclarationHandler_1 = require("./handlers/classDeclarationHandler"); var propertyDeclarationHandler_1 = require("./handlers/propertyDeclarationHandler"); function parse(code) { var doc = { component: { description: undefined, name: undefined, selector: undefined, styleUrls: [], templateUrl: undefined }, inputs: [], outputs: [] }; var ast = ts.createSourceFile("doc.ts", code, ts.ScriptTarget.Latest, true); var visit = function (node) { switch (node.kind) { case ts.SyntaxKind.ClassDeclaration: doc.component = classDeclarationHandler_1.default(node); ts.forEachChild(node, visit); break; case ts.SyntaxKind.PropertyDeclaration: var inputProperty = propertyDeclarationHandler_1.default(node, "Input"); if (inputProperty) { doc.inputs.push(inputProperty); } var outputProperty = propertyDeclarationHandler_1.default(node, "Output"); if (outputProperty) { doc.outputs.push(outputProperty); } break; } }; ts.forEachChild(ast, visit); return doc; } exports.default = parse; //# sourceMappingURL=parser.js.map