testcafe
Version:
Automated browser testing for the modern web development stack.
28 lines • 2.87 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const legacy_1 = __importDefault(require("emittery/legacy"));
const pinkie_1 = __importDefault(require("pinkie"));
class AsyncEventEmitter extends legacy_1.default {
once(event, listener) {
return new pinkie_1.default((resolve, reject) => {
const off = this.on(event, function (data) {
try {
off();
const result = listener ? listener.call(this, data) : data;
resolve(result);
return result;
}
catch (e) {
reject(e);
throw e;
}
});
});
}
}
exports.default = AsyncEventEmitter;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hc3luYy1ldmVudC1lbWl0dGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkRBQXVDO0FBQ3ZDLG9EQUE2QjtBQUc3QixNQUFxQixpQkFBa0IsU0FBUSxnQkFBUTtJQUNuRCxJQUFJLENBQUUsS0FBSyxFQUFFLFFBQVE7UUFDakIsT0FBTyxJQUFJLGdCQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJO2dCQUNyQyxJQUFJO29CQUNBLEdBQUcsRUFBRSxDQUFDO29CQUVOLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFFM0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUVoQixPQUFPLE1BQU0sQ0FBQztpQkFDakI7Z0JBQ0QsT0FBTyxDQUFDLEVBQUU7b0JBQ04sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVWLE1BQU0sQ0FBQyxDQUFDO2lCQUNYO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQXJCRCxvQ0FxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRW1pdHRlcnkgZnJvbSAnZW1pdHRlcnkvbGVnYWN5JztcbmltcG9ydCBQcm9taXNlIGZyb20gJ3BpbmtpZSc7XG5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXN5bmNFdmVudEVtaXR0ZXIgZXh0ZW5kcyBFbWl0dGVyeSB7XG4gICAgb25jZSAoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvZmYgPSB0aGlzLm9uKGV2ZW50LCBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIG9mZigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGxpc3RlbmVyID8gbGlzdGVuZXIuY2FsbCh0aGlzLCBkYXRhKSA6IGRhdGE7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcblxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=