UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

25 lines (24 loc) 841 B
import * as ts from "typescript"; import { Constructor } from "./../../Constructor"; import { Node } from "./../common"; import { TypeNode } from "./../type"; export declare type TypeArgumentedNodeExtensionType = Node<ts.Node & { typeArguments?: ts.NodeArray<ts.TypeNode>; }>; export interface TypeArgumentedNode { /** * Gets all the type arguments of the node. */ getTypeArguments(): TypeNode[]; /** * Removes a type argument. * @param typeArg - Type argument to remove. */ removeTypeArgument(typeArg: Node): void; /** * Removes a type argument. * @param index - Index to remove. */ removeTypeArgument(index: number): void; } export declare function TypeArgumentedNode<T extends Constructor<TypeArgumentedNodeExtensionType>>(Base: T): Constructor<TypeArgumentedNode> & T;