UNPKG

wait-for-event

Version:
47 lines (36 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.waitFor = void 0; var _utils = require("./utils"); var waitFor = function waitFor(event, emitter, callback) { var promise = new Promise(function (resolve, reject) { var startListening = function startListening() { (0, _utils.addListener)(emitter, event, handleEvent); (0, _utils.addListener)(emitter, 'error', handleError); }; var stopListening = function stopListening() { (0, _utils.removeListener)(emitter, event, handleEvent); (0, _utils.removeListener)(emitter, 'error', handleError); }; var handleEvent = function handleEvent() { stopListening(); resolve(); }; // eslint-disable-next-line @typescript-eslint/no-explicit-any var handleError = function handleError(error) { stopListening(); reject(error); }; startListening(); }); if (callback) { promise.then(function () { return callback(undefined); }, function (error) { return callback(error); }); } return promise; }; exports.waitFor = waitFor;