ts-simple-ast
JS Docs
Certain nodes can have JS docs. For example:
/**
* Gets the name.
* @param person - Person to get the name from.
*/
function getName(person: Person) {
// ...
}
Get all JS doc nodes
Get all the JS doc nodes by using getJsDocs():
functionDeclaration.getJsDocs(); // returns: JSDoc[]
Add/insert docs
Add or insert JS doc comments using the addJsDoc(), addJsDocs(), insertJsDoc(), and insertJsDocs() methods.
For example:
const docNode = classDeclaration.addJsDoc({
description: "Some description..."
});
Right now you can only add a description, but in the future support will be added for easily manipulating more JS doc syntax.
JSDoc Nodes
Get the comment:
// getting the node from the original example above
const jsDoc = functionDeclaration.getJsDocs()[0];
jsDoc.getComment(); // returns string: "Gets the name."
Get the tags:
const tags = jsDocNode.getTags();
tags[0].getText(); // "@param person - Person to get the name from."
Get the inner text (the text without the surrounding comment):
jsDocNode.getInnerText(); // "Gets the name.\n@param person - Person to get the name from."