angular-docgen
Version:
A toolkit to extract information from Angular components for documentation generation.
41 lines • 1.49 kB
JavaScript
;
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