ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
35 lines (34 loc) • 1.12 kB
TypeScript
import * as ts from "typescript";
import { Constructor } from "./../../../Constructor";
import { Node, Expression } from "./../../common";
export declare type InitializerExpressionedExtensionType = Node<ts.Node & {
initializer?: ts.Expression;
}>;
export interface InitializerExpressionableNode {
/**
* Gets if this is an InitializerExpressionableNode.
*/
isInitializerExpressionableNode(): this is InitializerExpressionableNode;
/**
* Gets if node has an initializer.
*/
hasInitializer(): boolean;
/**
* Gets the initializer.
*/
getInitializer(): Expression | undefined;
/**
* Gets the initializer or throw.
*/
getInitializerOrThrow(): Expression;
/**
* Removes the initailizer.
*/
removeInitializer(): this;
/**
* Sets the initializer.
* @param text - New text to set for the initializer.
*/
setInitializer(text: string): this;
}
export declare function InitializerExpressionableNode<T extends Constructor<InitializerExpressionedExtensionType>>(Base: T): Constructor<InitializerExpressionableNode> & T;