UNPKG

ts-budgie

Version:

Converts TypeScript code to Budgie.

37 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Lazily creates visitors for node types. */ var VisitorsBag = /** @class */ (function () { /** * Initializes a new instance of the VisitorsBag class. * * @param dependencies Dependencies to initialize node visitors. */ function VisitorsBag(dependencies) { /** * Created visitor instances. */ this.instances = new Map(); this.dependencies = dependencies; } /** * Creates a visitor using its creator. * * @param creator Creates the visitor. * @returns A created visitor. */ VisitorsBag.prototype.createVisitor = function (creator) { var previousInstance = this.instances.get(creator); if (previousInstance !== undefined) { return previousInstance; } var visitor = new creator(this.dependencies); this.instances.set(creator, visitor); return visitor; }; return VisitorsBag; }()); exports.VisitorsBag = VisitorsBag; //# sourceMappingURL=visitorsBag.js.map