UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

27 lines (26 loc) 936 B
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;