'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports['default'] = [
/**
* stale reference error handler
*/
function (e) {
if (!e.seleniumStack || e.seleniumStack.type !== 'StaleElementReference') {
return;
}
/**
* get through command list and find most recent command where an element(s)
* command contained the failing json web element
*/
var failingCommand = this.commandList.slice(-1)[0];
var commandToRepeat = undefined;
for (var i = this.commandList.length - 1; i >= 0; --i) {
var command = this.commandList[i];
if (command.name !== 'element' && command.name !== 'elements') {
continue;
}
if (command.name === 'element' && (!command.result[0].value || command.result[0].value.ELEMENT !== failingCommand.args[0])) {
continue;
}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = command.result.value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var result = _step.value;
if (result.ELEMENT === failingCommand.args[0]) {
commandToRepeat = this.commandList[i - 1];
break;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
if (commandToRepeat) {
break;
}
}
if (!commandToRepeat) {
return;
}
return this[commandToRepeat.name].apply(this, commandToRepeat.args);
}];
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9lcnJvckhhbmRsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7cUJBQWU7Ozs7QUFJWCxVQUFVLENBQUMsRUFBRTtBQUNULFFBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLHVCQUF1QixFQUFFO0FBQ3RFLGVBQU07S0FDVDs7Ozs7O0FBTUQsUUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTs7QUFFbEQsUUFBSSxlQUFlLFlBQUEsQ0FBQTtBQUNuQixTQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFO0FBQ25ELFlBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7O0FBRW5DLFlBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7QUFDM0QscUJBQVE7U0FDWDtBQUNELFlBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxBQUFDLEVBQUU7QUFDeEgscUJBQVE7U0FDWDs7Ozs7OztBQUVELGlDQUFtQixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssOEhBQUU7b0JBQWhDLE1BQU07O0FBQ1gsb0JBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQzNDLG1DQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDekMsMEJBQUs7aUJBQ1I7YUFDSjs7Ozs7Ozs7Ozs7Ozs7OztBQUVELFlBQUksZUFBZSxFQUFFO0FBQ2pCLGtCQUFLO1NBQ1I7S0FDSjs7QUFFRCxRQUFJLENBQUMsZUFBZSxFQUFFO0FBQ2xCLGVBQU07S0FDVDs7QUFFRCxXQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7Q0FDdEUsQ0FDSiIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2hlbHBlcnMvZXJyb3JIYW5kbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgW1xuICAgIC8qKlxuICAgICAqIHN0YWxlIHJlZmVyZW5jZSBlcnJvciBoYW5kbGVyXG4gICAgICovXG4gICAgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgaWYgKCFlLnNlbGVuaXVtU3RhY2sgfHwgZS5zZWxlbml1bVN0YWNrLnR5cGUgIT09ICdTdGFsZUVsZW1lbnRSZWZlcmVuY2UnKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBnZXQgdGhyb3VnaCBjb21tYW5kIGxpc3QgYW5kIGZpbmQgbW9zdCByZWNlbnQgY29tbWFuZCB3aGVyZSBhbiBlbGVtZW50KHMpXG4gICAgICAgICAqIGNvbW1hbmQgY29udGFpbmVkIHRoZSBmYWlsaW5nIGpzb24gd2ViIGVsZW1lbnRcbiAgICAgICAgICovXG4gICAgICAgIGxldCBmYWlsaW5nQ29tbWFuZCA9IHRoaXMuY29tbWFuZExpc3Quc2xpY2UoLTEpWzBdXG5cbiAgICAgICAgbGV0IGNvbW1hbmRUb1JlcGVhdFxuICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5jb21tYW5kTGlzdC5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICAgICAgY29uc3QgY29tbWFuZCA9IHRoaXMuY29tbWFuZExpc3RbaV1cblxuICAgICAgICAgICAgaWYgKGNvbW1hbmQubmFtZSAhPT0gJ2VsZW1lbnQnICYmIGNvbW1hbmQubmFtZSAhPT0gJ2VsZW1lbnRzJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY29tbWFuZC5uYW1lID09PSAnZWxlbWVudCcgJiYgKCFjb21tYW5kLnJlc3VsdFswXS52YWx1ZSB8fCBjb21tYW5kLnJlc3VsdFswXS52YWx1ZS5FTEVNRU5UICE9PSBmYWlsaW5nQ29tbWFuZC5hcmdzWzBdKSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IHJlc3VsdCBvZiBjb21tYW5kLnJlc3VsdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuRUxFTUVOVCA9PT0gZmFpbGluZ0NvbW1hbmQuYXJnc1swXSkge1xuICAgICAgICAgICAgICAgICAgICBjb21tYW5kVG9SZXBlYXQgPSB0aGlzLmNvbW1hbmRMaXN0W2kgLSAxXVxuICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbW1hbmRUb1JlcGVhdCkge1xuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNvbW1hbmRUb1JlcGVhdCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpc1tjb21tYW5kVG9SZXBlYXQubmFtZV0uYXBwbHkodGhpcywgY29tbWFuZFRvUmVwZWF0LmFyZ3MpXG4gICAgfVxuXVxuIl19 |