UNPKG

@cimo/jsmvcfw

Version:

Javascript mvc framework. Light, fast and secure.

39 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class Emitter { listenerObject = {}; on(event, listener) { if (!this.listenerObject[event]) { this.listenerObject[event] = []; } this.listenerObject[event].push(listener); } emit(event, ...[payload]) { const listenerEventList = this.listenerObject[event]; if (listenerEventList) { for (const listener of listenerEventList) { listener(payload); } } } off(event, listener, isRemoveAll = false) { const listenerEventList = this.listenerObject[event]; if (listenerEventList) { if (isRemoveAll) { for (let a = listenerEventList.length - 1; a >= 0; a--) { if (listenerEventList[a] === listener) { listenerEventList.splice(a, 1); } } } else { const index = listenerEventList.indexOf(listener); if (index !== -1) { listenerEventList.splice(index, 1); } } } } } exports.default = Emitter; //# sourceMappingURL=JsMvcFwEmitter.js.map