UNPKG

monex

Version:

Execute one or multiple scripts, interactively or in daemon mode, and restart them whenever they crash or a watched file changes.

30 lines (29 loc) 817 B
/* IMPORT */ /* MAIN */ class Events { constructor() { /* VARIABLES */ this.listeners = {}; /* API */ this.emit = (event) => { const listeners = this.get(event); for (let i = 0, l = listeners.length; i < l; i++) { listeners[i](); } }; this.get = (event) => { return this.listeners[event] || (this.listeners[event] = []); }; this.on = (event, listener) => { const listeners = this.get(event); if (listeners.includes(listener)) return () => { }; listeners.push(listener); return () => { listeners.splice(listeners.indexOf(listener), 1); }; }; } } /* EXPORT */ export default Events;