ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
27 lines (26 loc) • 916 B
TypeScript
import * as ts from "typescript";
import { Constructor } from "./../../Constructor";
import { Node } from "./../common";
export declare type GeneratorableNodeExtensionType = Node<ts.Node & {
asteriskToken?: ts.AsteriskToken;
}>;
export interface GeneratorableNode {
/**
* If it's a generator function.
*/
isGenerator(): boolean;
/**
* Gets the asterisk token or undefined if none exists.
*/
getAsteriskToken(): Node<ts.AsteriskToken> | undefined;
/**
* Gets the asterisk token or throws if none exists.
*/
getAsteriskTokenOrThrow(): Node<ts.AsteriskToken>;
/**
* Sets if the node is a generator.
* @param value - If it should be a generator or not.
*/
setIsGenerator(value: boolean): this;
}
export declare function GeneratorableNode<T extends Constructor<GeneratorableNodeExtensionType>>(Base: T): Constructor<GeneratorableNode> & T;