ts-budgie
Version:
Converts TypeScript code to Budgie.
34 lines (33 loc) • 967 B
TypeScript
import { INodeVisitorDependencies, NodeVisitor } from "./visitor";
/**
* Creates a visitor for a node type.
*/
export declare type INodeVisitorCreator = typeof NodeVisitor & {
new (dependencies: INodeVisitorDependencies): NodeVisitor;
};
/**
* Lazily creates visitors for node types.
*/
export declare class VisitorsBag {
/**
* Created visitor instances.
*/
private readonly instances;
/**
* Dependencies to initialize node visitors.
*/
private readonly dependencies;
/**
* Initializes a new instance of the VisitorsBag class.
*
* @param dependencies Dependencies to initialize node visitors.
*/
constructor(dependencies: INodeVisitorDependencies);
/**
* Creates a visitor using its creator.
*
* @param creator Creates the visitor.
* @returns A created visitor.
*/
createVisitor(creator: INodeVisitorCreator): NodeVisitor;
}