ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
77 lines (76 loc) • 2.96 kB
TypeScript
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;
}