![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/clinic.corals.io/node_modules/laravel-mix/src/ |
/** @typedef {(...args: any) => void|Promise<void>} Handler */ class Dispatcher { /** * Create a new Dispatcher instance. */ constructor() { /** @type {Record<string, Handler[]>} */ this.events = {}; } /** * Listen for the given event. * * @param {string|string[]} events * @param {Handler} handler */ listen(events, handler) { events = [].concat(events); events.forEach(event => { this.events[event] = (this.events[event] || []).concat(handler); }); return this; } /** * Trigger all handlers for the given event. * * @param {string} event * @param {*} [data] */ async fire(event, data) { if (!this.events[event]) return false; return Promise.all(this.events[event].map(handler => handler(data))); } /** * Fetch all registered event listeners. */ all() { return this.events; } } module.exports = Dispatcher;