UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

40 lines (39 loc) 1.49 kB
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;