ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
40 lines (39 loc) • 1.49 kB
TypeScript
import { Constructor } from "./../../Constructor";
import { JSDocStructure } from "./../../structures";
import { Node } from "./../common";
import { JSDoc } from "./../doc/JSDoc";
export declare type DocumentationableNodeExtensionType = Node<any>;
export interface DocumentationableNode {
/**
* Gets the documentation comment text or undefined if none exists.
* This will return multiple documentation comments separated by newlines.
*/
getDocumentationComment(): string | undefined;
/**
* Gets the documentation comment nodes.
*/
getDocumentationCommentNodes(): JSDoc[];
/**
* Adds a documentation comment.
* @param structure - Structure to add.
*/
addDoc(structure: JSDocStructure): JSDoc;
/**
* Adds documentation comments.
* @param structures - Structures to add.
*/
addDocs(structures: JSDocStructure[]): JSDoc[];
/**
* Inserts a documentation comment.
* @param index - Index to insert at.
* @param structure - Structure to insert.
*/
insertDoc(index: number, structure: JSDocStructure): JSDoc;
/**
* Inserts documentation comments.
* @param index - Index to insert at.
* @param structures - Structures to insert.
*/
insertDocs(index: number, structures: JSDocStructure[]): JSDoc[];
}
export declare function DocumentationableNode<T extends Constructor<DocumentationableNodeExtensionType>>(Base: T): Constructor<DocumentationableNode> & T;