ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
27 lines (26 loc) • 936 B
TypeScript
import * as ts from "typescript";
import { Constructor } from "./../../Constructor";
import { Node } from "./../common";
export declare type QuestionTokenableNodeExtensionType = Node<ts.Node & {
questionToken?: ts.QuestionToken;
}>;
export interface QuestionTokenableNode {
/**
* If it has a question token.
*/
hasQuestionToken(): boolean;
/**
* Gets the question token node or returns undefined if it doesn't exist.
*/
getQuestionTokenNode(): Node<ts.QuestionToken> | undefined;
/**
* Gets the question token node or throws.
*/
getQuestionTokenNodeOrThrow(): Node<ts.QuestionToken>;
/**
* Sets if this node is optional.
* @param value - If optional or not.
*/
setIsOptional(value: boolean): this;
}
export declare function QuestionTokenableNode<T extends Constructor<QuestionTokenableNodeExtensionType>>(Base: T): Constructor<QuestionTokenableNode> & T;