UNPKG

@cimo/jsmvcfw

Version:

Javascript mvc framework. Light, fast and secure.

38 lines 1.23 kB
export default class Emitter { listenerObject = {}; on(event, listener) { if (!this.listenerObject[event]) { this.listenerObject[event] = []; } if (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); } } } } } //# sourceMappingURL=JsMvcFwEmitter.js.map