UNPKG

kiss-js-bloc

Version:

Bloc type state management solution for typescript

44 lines (43 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TypedEvent = void 0; var events = require('events'); var myEmitter = new events.EventEmitter(); /// var TypedEvent = /** @class */ (function () { function TypedEvent() { var _this = this; /// this.listners = []; /// this.on = function (event, listener) { console.log("Adding listner", listener); _this.listners.push(listener); myEmitter.on(event, listener); //this.off(listener) return { dispose: function () { return _this.off(listener); } }; }; this.off = function (listner) { var callbackIndex = _this.listners.indexOf(listner); console.log("dispose"); if (callbackIndex > -1) { _this.listners.splice(callbackIndex, 1); } }; this.emit = function (event) { var state; _this.listners.forEach(function (listener) { console.log("Listner ", listener); console.log("Event ", event); if (event == listener) { state = listener(event); } }); return state; }; } return TypedEvent; }()); exports.TypedEvent = TypedEvent;