UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

77 lines (76 loc) 2.96 kB
import * as ts from "typescript"; import { EnumMemberStructure, EnumDeclarationStructure } from "./../../structures"; import { NamedNode, ExportableNode, ModifierableNode, AmbientableNode, DocumentationableNode, TextInsertableNode } from "./../base"; import { Node } from "./../common"; import { NamespaceChildableNode } from "./../namespace"; import { EnumMember } from "./EnumMember"; export declare const EnumDeclarationBase: (new (...args: any[]) => TextInsertableNode) & (new (...args: any[]) => NamespaceChildableNode) & (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 EnumDeclaration extends EnumDeclarationBase<ts.EnumDeclaration> { /** * Fills the node from a structure. * @param structure - Structure to fill. */ fill(structure: Partial<EnumDeclarationStructure>): this; /** * Adds a member to the enum. * @param structure - Structure of the enum. */ addMember(structure: EnumMemberStructure): EnumMember; /** * Adds members to the enum. * @param structures - Structures of the enums. */ addMembers(structures: EnumMemberStructure[]): EnumMember[]; /** * Inserts a member to the enum. * @param index - Index to insert at. * @param structure - Structure of the enum. */ insertMember(index: number, structure: EnumMemberStructure): EnumMember; /** * Inserts members to an enum. * @param index - Index to insert at. * @param structures - Structures of the enums. */ insertMembers(index: number, structures: EnumMemberStructure[]): EnumMember[]; /** * Gets an enum member. * @param name - Name of the member. */ getMember(name: string): EnumMember | undefined; /** * Gets an enum member. * @param findFunction - Function to use to find the member. */ getMember(findFunction: (declaration: EnumMember) => boolean): EnumMember | undefined; /** * Gets an enum member or throws if not found. * @param name - Name of the member. */ getMemberOrThrow(name: string): EnumMember; /** * Gets an enum member or throws if not found. * @param findFunction - Function to use to find the member. */ getMemberOrThrow(findFunction: (declaration: EnumMember) => boolean): EnumMember; /** * Gets the enum's members. */ getMembers(): EnumMember[]; /** * Toggle if it's a const enum */ setIsConstEnum(value: boolean): this; /** * Gets if it's a const enum. */ isConstEnum(): boolean; /** * Gets the const enum keyword or undefined if not exists. */ getConstKeyword(): Node<ts.Modifier> | undefined; /** * Removes this enum declaration. */ remove(): void; }