ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
25 lines (24 loc) • 841 B
TypeScript
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;