Innovenergy_trunk/frontend/node_modules/testcafe/lib/utils/async-event-emitter.js

30 lines
3.5 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const emittery_1 = __importDefault(require("emittery"));
class AsyncEventEmitter extends emittery_1.default {
constructor({ captureRejections = false } = {}) {
super();
this.captureRejections = captureRejections;
}
once(event, listener) {
if (!listener)
return super.once(event);
const unsubscribe = this.on(event, async (data) => {
unsubscribe();
return listener(data);
});
return Promise.resolve();
}
emit(eventName, ...args) {
const emitPromise = super.emit(eventName, ...args);
if (this.captureRejections && eventName !== 'error')
emitPromise.catch(reason => this.emit('error', reason));
return emitPromise;
}
}
exports.default = AsyncEventEmitter;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hc3luYy1ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQWdDO0FBRWhDLE1BQXFCLGlCQUFrQixTQUFRLGtCQUFRO0lBR25ELFlBQW9CLEVBQUUsaUJBQWlCLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRTtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUMvQyxDQUFDO0lBRU0sSUFBSSxDQUFFLEtBQWEsRUFBRSxRQUFtQjtRQUMzQyxJQUFJLENBQUMsUUFBUTtZQUNULE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFDLEVBQUU7WUFDNUMsV0FBVyxFQUFFLENBQUM7WUFFZCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxJQUFJLENBQUUsU0FBaUIsRUFBRSxHQUFHLElBQWU7UUFDOUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxTQUFTLEtBQUssT0FBTztZQUMvQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUU1RCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0NBQ0o7QUE5QkQsb0NBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEVtaXR0ZXJ5IGZyb20gJ2VtaXR0ZXJ5JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXN5bmNFdmVudEVtaXR0ZXIgZXh0ZW5kcyBFbWl0dGVyeSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXB0dXJlUmVqZWN0aW9uczogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoeyBjYXB0dXJlUmVqZWN0aW9ucyA9IGZhbHNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuY2FwdHVyZVJlamVjdGlvbnMgPSBjYXB0dXJlUmVqZWN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25jZSAoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI/OiBGdW5jdGlvbik6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICghbGlzdGVuZXIpXG4gICAgICAgICAgICByZXR1cm4gc3VwZXIub25jZShldmVudCk7XG5cbiAgICAgICAgY29uc3QgdW5zdWJzY3JpYmUgPSB0aGlzLm9uKGV2ZW50LCBhc3luYyBkYXRhID0+IHtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBsaXN0ZW5lcihkYXRhKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbWl0IChldmVudE5hbWU6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGVtaXRQcm9taXNlID0gc3VwZXIuZW1pdChldmVudE5hbWUsIC4uLmFyZ3MpO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcHR1cmVSZWplY3Rpb25zICYmIGV2ZW50TmFtZSAhPT0gJ2Vycm9yJylcbiAgICAgICAgICAgIGVtaXRQcm9taXNlLmNhdGNoKHJlYXNvbiA9PiB0aGlzLmVtaXQoJ2Vycm9yJywgcmVhc29uKSk7XG5cbiAgICAgICAgcmV0dXJuIGVtaXRQcm9taXNlO1xuICAgIH1cbn1cbiJdfQ==