UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

35 lines (34 loc) 1.25 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 nodes. */ getDocNodes(): 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;