UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

31 lines (30 loc) 933 B
import { Constructor } from "./../../Constructor"; import { BodyableNode } from "./../base"; import { Node } from "./../common"; export declare type OverloadableNodeExtensionType = Node & BodyableNode; /** * Node that supports overloads. */ export interface OverloadableNode { /** * Gets all the overloads associated with this node. */ getOverloads(): this[]; /** * Gets the implementation or undefined if it doesn't exist. */ getImplementation(): this | undefined; /** * Gets the implementation or throws if it doesn't exist. */ getImplementationOrThrow(): this; /** * Gets if this is an overload. */ isOverload(): boolean; /** * Gets if this is the implementation. */ isImplementation(): boolean; } export declare function OverloadableNode<T extends Constructor<OverloadableNodeExtensionType>>(Base: T): Constructor<OverloadableNode> & T;