UNPKG

vue-tdweb

Version:

Documentation is coming.

38 lines 1.43 kB
import Vue from 'vue'; var TdProvider = /** @class */ (function () { function TdProvider(_a) { var airgram = _a.airgram; this.isInitialized = false; this.airgram = airgram; this.eventBus = new Vue(); } TdProvider.prototype.off = function (eventName, handler) { this.eventBus.$off(eventName, handler); }; TdProvider.prototype.on = function (eventName, handler) { return this.listen('$on', eventName, handler); }; TdProvider.prototype.once = function (eventName, handler) { return this.listen('$once', eventName, handler); }; TdProvider.prototype.initialize = function () { var _this = this; this.airgram.updates.use(function (_a) { var airgram = _a.airgram, update = _a.update, getState = _a.getState, setState = _a.setState; var context = { airgram: airgram, getState: getState, setState: setState }; _this.eventBus.$emit(update, context); }); }; TdProvider.prototype.listen = function (type, eventName, handler) { var _this = this; if (!this.isInitialized) { this.initialize(); } this.isInitialized = true; this.eventBus[type](eventName, handler); return function () { return _this.off(eventName, handler); }; }; return TdProvider; }()); export { TdProvider }; //# sourceMappingURL=TdProvider.js.map