UNPKG

@browserstack/testcafe

Version:

Automated browser testing for the modern web development stack.

27 lines 2.75 kB
"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 { once(event, listener) { return new Promise((resolve, reject) => { const off = this.on(event, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hc3luYy1ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQWdDO0FBRWhDLE1BQXFCLGlCQUFrQixTQUFRLGtCQUFRO0lBQzVDLElBQUksQ0FBRSxLQUFhLEVBQUUsUUFBbUI7UUFDM0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDOUIsSUFBSTtvQkFDQSxHQUFHLEVBQUUsQ0FBQztvQkFFTixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBRTNELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFaEIsT0FBTyxNQUFNLENBQUM7aUJBQ2pCO2dCQUNELE9BQU8sQ0FBQyxFQUFFO29CQUNOLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFVixNQUFNLENBQUMsQ0FBQztpQkFDWDtZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFyQkQsb0NBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEVtaXR0ZXJ5IGZyb20gJ2VtaXR0ZXJ5JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXN5bmNFdmVudEVtaXR0ZXIgZXh0ZW5kcyBFbWl0dGVyeSB7XG4gICAgcHVibGljIG9uY2UgKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyPzogRnVuY3Rpb24pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb2ZmID0gdGhpcy5vbihldmVudCwgZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgb2ZmKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbGlzdGVuZXIgPyBsaXN0ZW5lci5jYWxsKHRoaXMsIGRhdGEpIDogZGF0YTtcblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==