UNPKG

@palmares/events

Version:

This is the events framework for palmares, it's responsible for handling everything that is Pub/Sub like websockets, pub/sub like redis, and other types of asynchronous background tasks

28 lines (26 loc) 1.06 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/app/utils.ts async function loadEvents(server, domains) { const promises = domains.map(async (eventsDomain) => { const events = await eventsDomain.getEvents(); const eventsEntries = Object.entries(events); await Promise.all(eventsEntries.map(async ([eventName, eventHandlerOrObject]) => { let isWithResult = true; let eventHandler; if (typeof eventHandlerOrObject !== "function") { isWithResult = eventHandlerOrObject.withResult; eventHandler = eventHandlerOrObject.handler.bind(eventHandlerOrObject.handler); } else { eventHandler = eventHandlerOrObject.bind(eventHandlerOrObject); } if (isWithResult) await server.addEventListener(eventName, eventHandler); else await server.addEventListenerWithoutResult(eventName, eventHandler); })); }); await Promise.all(promises); } __name(loadEvents, "loadEvents"); export { loadEvents };