ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
22 lines (21 loc) • 716 B
TypeScript
import { Constructor } from "./../../Constructor";
import { Node } from "./../common";
import { Scope } from "./../common/Scope";
import { ModifierableNode } from "./ModifierableNode";
export declare type ScopeableNodeExtensionType = Node & ModifierableNode;
export interface ScopeableNode {
/**
* Gets the scope.
*/
getScope(): Scope | undefined;
/**
* Sets the scope.
* @param scope - Scope to set to.
*/
setScope(scope: Scope | undefined): this;
/**
* Gets if the node has a scope keyword.
*/
hasScopeKeyword(): boolean;
}
export declare function ScopeableNode<T extends Constructor<ScopeableNodeExtensionType>>(Base: T): Constructor<ScopeableNode> & T;