UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

59 lines (58 loc) 2.39 kB
import * as ts from "typescript"; import { NamespaceDeclarationStructure } from "./../../structures"; import { Node, Identifier } from "./../common"; import { NamedNode, ExportableNode, ModifierableNode, AmbientableNode, DocumentationableNode, BodiedNode, TextInsertableNode, UnwrappableNode } from "./../base"; import { StatementedNode } from "./../statement"; import { NamespaceChildableNode } from "./NamespaceChildableNode"; export declare const NamespaceDeclarationBase: (new (...args: any[]) => UnwrappableNode) & (new (...args: any[]) => TextInsertableNode) & (new (...args: any[]) => BodiedNode) & (new (...args: any[]) => NamespaceChildableNode) & (new (...args: any[]) => StatementedNode) & (new (...args: any[]) => DocumentationableNode) & (new (...args: any[]) => AmbientableNode) & (new (...args: any[]) => ExportableNode) & (new (...args: any[]) => ModifierableNode) & (new (...args: any[]) => NamedNode) & typeof Node; export declare class NamespaceDeclaration extends NamespaceDeclarationBase<ts.NamespaceDeclaration> { /** * Fills the node from a structure. * @param structure - Structure to fill. */ fill(structure: Partial<NamespaceDeclarationStructure>): this; /** * Gets the full name of the namespace. */ getName(): string; /** * Sets the name without renaming references. * @param newName - New full namespace name. */ setName(newName: string): this; /** * Renames the name. * @param newName - New name. */ rename(newName: string): this; /** * Gets the name identifiers. */ getNameIdentifiers(): Identifier[]; /** * Gets if this namespace has a namespace keyword. */ hasNamespaceKeyword(): boolean; /** * Gets if this namespace has a namespace keyword. */ hasModuleKeyword(): boolean; /** * Set if this namespace has a namespace keyword. * @param value - Whether to set it or not. */ setHasNamespaceKeyword(value?: boolean): this; /** * Set if this namespace has a namepsace keyword. * @param value - Whether to set it or not. */ setHasModuleKeyword(value?: boolean): this; /** * Gets the namespace or module keyword. */ getDeclarationTypeKeyword(): Node<ts.Node> | undefined; /** * Removes this namespace declaration. */ remove(): void; }