suitest-js-api
Version:
Suitest is a test automation and device manipulation tool for living room devices and web browsers.
34 lines (30 loc) • 851 B
JavaScript
const {makeModifierComposer} = require('../utils/makeComposer');
const composers = require('../constants/composer');
const {validate, validators} = require('../validation');
const {invalidInputMessage} = require('../texts');
const TapTypes = require('../constants/tapTypes');
/**
* Defines click method
*/
const tapComposer = makeModifierComposer(
composers.TAP,
['tap'],
/**
* @param {'single' | 'double' | 'long'} tapType
* @param {string | number} tapDuration
*/
(_, meta, tapType = TapTypes.SINGLE, tapDuration) => {
validate(
validators.TAP_TYPE_AND_DURATION,
{tapType, tapDuration},
invalidInputMessage('tap', 'First argument'),
invalidInputMessage('tap', 'Second argument (duration)'),
);
return {
...meta,
...(tapDuration ? {tapDuration} : {}),
tap: tapType,
};
},
);
module.exports = tapComposer;