UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

29 lines 933 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsyncEventEmitter = void 0; const events_1 = require("events"); /** * Asynchronous event emitter that adds * the function ```emitAsync()```. */ class AsyncEventEmitter extends events_1.EventEmitter { emitAsync(type, ...args) { return new Promise((resolve, reject) => { const handlers = this.listeners(type); // eslint-disable-line if (handlers.length === 0) { return resolve(false); } const promises = []; handlers.forEach((handler) => { promises.push(handler(...args)); }); Promise.all(promises) .then(() => { resolve(true); }) .catch(reject); }); } } exports.AsyncEventEmitter = AsyncEventEmitter; //# sourceMappingURL=AsyncEventEmitter.js.map