carina
Version:
A NodeJS and Browser compatible client for Mixer.com's constellation socket.
24 lines • 799 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var errors_1 = require("./errors");
/**
* Returns a promise that's resolved when an event is emitted on the
* EventEmitter.
*/
function resolveOn(emitter, event, timeout) {
if (timeout === void 0) { timeout = 120 * 1000; }
return new Promise(function (resolve, reject) {
var timer;
var listener = function (data) {
clearTimeout(timer);
resolve(data);
};
emitter.once(event, listener);
timer = setTimeout(function () {
emitter.removeListener(event, listener);
reject(new errors_1.EventTimeoutError(event));
}, timeout);
});
}
exports.resolveOn = resolveOn;
//# sourceMappingURL=util.js.map