UNPKG

aurelia-kendoui-bridge

Version:

A set of Telerik KendoUI wrappers for Aurelia allowing developers to easily use KendoUI components in their Aurelia application.

52 lines (38 loc) 1.35 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Observer = undefined; var _dec, _class; var _aureliaDependencyInjection = require('aurelia-dependency-injection'); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Observer = exports.Observer = (_dec = (0, _aureliaDependencyInjection.transient)(), _dec(_class = function () { function Observer() { _classCallCheck(this, Observer); this.subscriptions = []; } Observer.prototype.notify = function notify(evt, data) { for (var i = 0; i < this.subscriptions.length; i++) { if (this.subscriptions[i].event === evt) { this.subscriptions[i].callback(evt, data); } } }; Observer.prototype.subscribe = function subscribe(evt, cb) { var _this = this; var subscription = { event: evt, callback: cb }; this.subscriptions.push(subscription); return { dispose: function dispose() { return _this.unsubscribe(subscription); } }; }; Observer.prototype.unsubscribe = function unsubscribe(subscription) { var index = this.subscriptions.indexOf(subscription); if (index > -1) { this.subscriptions.splice(index, 1); } }; return Observer; }()) || _class);