/**
*
* Perform a swipe on the screen or an element. If you want to swipe on a specific
* element make sure you provide a selector argument. If not just pass `xoffset`
* and `yoffset` as command arguments.
*
* start at a particulat screen location
*
* @param {String=} selector element to swipe on
* @param {Number=} xoffset x offset of swipe gesture (in pixels or relative units)
* @param {Number=} yoffset y offset of swipe gesture (in pixels or relative units)
* @param {Number=} speed time (in seconds) to spend performing the swipe
*
* @uses protocol/element, protocol/touchFlick
* @type mobile
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var _utilsErrorHandler = require('../utils/ErrorHandler');
var swipe = function swipe(selector, xoffset, yoffset, speed) {
// istanbul ignore next
var _this = this;
/*!
* mobile check
*/
if (!this.isMobile) {
throw new _utilsErrorHandler.CommandError('swipe command is not supported on non mobile platforms');
}
if (arguments.length === 2 && typeof selector === 'number' && typeof xoffset === 'number') {
/*!
* you don't care where the swipe starts on the screen
*/
var xspeed = selector;
var yspeed = xoffset;
return this.touchFlick(xspeed, yspeed);
}
/*!
* command starts at a particular screen location
*/
return this.element(selector).then(function (res) {
return _this.touchFlick(res.value.ELEMENT.toString(), xoffset, yoffset, speed);
});
};
exports['default'] = swipe;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvc3dpcGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQWtCNkIsdUJBQXVCOztBQUVwRCxJQUFJLEtBQUssR0FBRyxTQUFSLEtBQUssQ0FBYSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7Ozs7Ozs7O0FBSXJELE1BQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2hCLFVBQU0sb0NBQWlCLHdEQUF3RCxDQUFDLENBQUE7R0FDbkY7O0FBRUQsTUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFOzs7O0FBSXZGLFFBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQTtBQUNyQixRQUFJLE1BQU0sR0FBRyxPQUFPLENBQUE7O0FBRXBCLFdBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7R0FDekM7Ozs7O0FBS0QsU0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDOUIsVUFBQyxHQUFHO1dBQUssTUFBSyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7R0FBQSxDQUFDLENBQUE7Q0FDdkYsQ0FBQTs7cUJBRWMsS0FBSyIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL3N3aXBlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogUGVyZm9ybSBhIHN3aXBlIG9uIHRoZSBzY3JlZW4gb3IgYW4gZWxlbWVudC4gSWYgeW91IHdhbnQgdG8gc3dpcGUgb24gYSBzcGVjaWZpY1xuICogZWxlbWVudCBtYWtlIHN1cmUgeW91IHByb3ZpZGUgYSBzZWxlY3RvciBhcmd1bWVudC4gSWYgbm90IGp1c3QgcGFzcyBgeG9mZnNldGBcbiAqIGFuZCBgeW9mZnNldGAgYXMgY29tbWFuZCBhcmd1bWVudHMuXG4gKlxuICogc3RhcnQgYXQgYSBwYXJ0aWN1bGF0IHNjcmVlbiBsb2NhdGlvblxuICpcbiAqIEBwYXJhbSB7U3RyaW5nPX0gc2VsZWN0b3IgICBlbGVtZW50IHRvIHN3aXBlIG9uXG4gKiBAcGFyYW0ge051bWJlcj19IHhvZmZzZXQgICAgeCBvZmZzZXQgb2Ygc3dpcGUgZ2VzdHVyZSAoaW4gcGl4ZWxzIG9yIHJlbGF0aXZlIHVuaXRzKVxuICogQHBhcmFtIHtOdW1iZXI9fSB5b2Zmc2V0ICAgIHkgb2Zmc2V0IG9mIHN3aXBlIGdlc3R1cmUgKGluIHBpeGVscyBvciByZWxhdGl2ZSB1bml0cylcbiAqIEBwYXJhbSB7TnVtYmVyPX0gc3BlZWQgICAgICB0aW1lIChpbiBzZWNvbmRzKSB0byBzcGVuZCBwZXJmb3JtaW5nIHRoZSBzd2lwZVxuICpcbiAqIEB1c2VzIHByb3RvY29sL2VsZW1lbnQsIHByb3RvY29sL3RvdWNoRmxpY2tcbiAqIEB0eXBlIG1vYmlsZVxuICpcbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbmxldCBzd2lwZSA9IGZ1bmN0aW9uIChzZWxlY3RvciwgeG9mZnNldCwgeW9mZnNldCwgc3BlZWQpIHtcbiAgICAvKiFcbiAgICAgKiBtb2JpbGUgY2hlY2tcbiAgICAgKi9cbiAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1hbmRFcnJvcignc3dpcGUgY29tbWFuZCBpcyBub3Qgc3VwcG9ydGVkIG9uIG5vbiBtb2JpbGUgcGxhdGZvcm1zJylcbiAgICB9XG5cbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0eXBlb2Ygc2VsZWN0b3IgPT09ICdudW1iZXInICYmIHR5cGVvZiB4b2Zmc2V0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAvKiFcbiAgICAgICAgICogeW91IGRvbid0IGNhcmUgd2hlcmUgdGhlIHN3aXBlIHN0YXJ0cyBvbiB0aGUgc2NyZWVuXG4gICAgICAgICAqL1xuICAgICAgICBsZXQgeHNwZWVkID0gc2VsZWN0b3JcbiAgICAgICAgbGV0IHlzcGVlZCA9IHhvZmZzZXRcblxuICAgICAgICByZXR1cm4gdGhpcy50b3VjaEZsaWNrKHhzcGVlZCwgeXNwZWVkKVxuICAgIH1cblxuICAgIC8qIVxuICAgICAqIGNvbW1hbmQgc3RhcnRzIGF0IGEgcGFydGljdWxhciBzY3JlZW4gbG9jYXRpb25cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50KHNlbGVjdG9yKS50aGVuKFxuICAgICAgICAocmVzKSA9PiB0aGlzLnRvdWNoRmxpY2socmVzLnZhbHVlLkVMRU1FTlQudG9TdHJpbmcoKSwgeG9mZnNldCwgeW9mZnNldCwgc3BlZWQpKVxufVxuXG5leHBvcnQgZGVmYXVsdCBzd2lwZVxuIl19 |