UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

42 lines (40 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Event container for event subscriptions. */ class EventContainer { constructor() { this.subscriptions = []; } /** * Subscribe to an event being fired. * @param subscription - Subscription. */ subscribe(subscription) { const index = this.getIndex(subscription); if (index === -1) this.subscriptions.push(subscription); } /** * Unsubscribe to an event being fired. * @param subscription - Subscription. */ unsubscribe(subscription) { const index = this.getIndex(subscription); if (index >= 0) this.subscriptions.splice(index, 1); } /** * Fire an event. */ fire(arg) { for (const subscription of this.subscriptions) subscription(arg); } getIndex(subscription) { return this.subscriptions.indexOf(subscription); } } exports.EventContainer = EventContainer; //# sourceMappingURL=EventContainer.js.map