UNPKG

ts-budgie

Version:

Converts TypeScript code to Budgie.

34 lines (33 loc) 967 B
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; }