/**
*
* Get viewport size of the current browser window.
*
* <example>
:getSource.js
client
.url('http://webdriver.io')
.getViewportSize().then(function(size) {
console.log(size); // outputs: {width: 1024, height: 768}
})
.getViewportSize('width').then(function(size) {
console.log(size); // outputs: 1024
})
.getViewportSize('height').then(function(size) {
console.log(size); // outputs: 768
});
* </example>
*
* @param {String} property if "width" or "height" is set it returns only that property
* @returns {Object} viewport width and height of the browser
* @uses protocol/execute
* @type window
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _scriptsGetViewportSize = require('../scripts/getViewportSize');
var _scriptsGetViewportSize2 = _interopRequireDefault(_scriptsGetViewportSize);
var getViewportSize = function getViewportSize(prop) {
return this.execute(_scriptsGetViewportSize2['default']).then(function (res) {
if (typeof prop === 'string' && prop.match(/(width|height)/)) {
prop = 'screen' + prop.slice(0, 1).toUpperCase() + prop.slice(1);
return res.value[prop];
}
return {
width: res.value.screenWidth || 0,
height: res.value.screenHeight || 0
};
});
};
exports['default'] = getViewportSize;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvZ2V0Vmlld3BvcnRTaXplLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQTBCa0MsNEJBQTRCOzs7O0FBRTlELElBQUksZUFBZSxHQUFHLFNBQWxCLGVBQWUsQ0FBYSxJQUFJLEVBQUU7QUFDbEMsV0FBTyxJQUFJLENBQUMsT0FBTyxxQ0FBdUIsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFHLEVBQUs7QUFDckQsWUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO0FBQzFELGdCQUFJLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDaEUsbUJBQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUN6Qjs7QUFFRCxlQUFPO0FBQ0gsaUJBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDO0FBQ2pDLGtCQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQztTQUN0QyxDQUFBO0tBQ0osQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsZUFBZSIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL2dldFZpZXdwb3J0U2l6ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIEdldCB2aWV3cG9ydCBzaXplIG9mIHRoZSBjdXJyZW50IGJyb3dzZXIgd2luZG93LlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDpnZXRTb3VyY2UuanNcbiAgICBjbGllbnRcbiAgICAgICAgLnVybCgnaHR0cDovL3dlYmRyaXZlci5pbycpXG4gICAgICAgIC5nZXRWaWV3cG9ydFNpemUoKS50aGVuKGZ1bmN0aW9uKHNpemUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHNpemUpOyAvLyBvdXRwdXRzOiB7d2lkdGg6IDEwMjQsIGhlaWdodDogNzY4fVxuICAgICAgICB9KVxuICAgICAgICAuZ2V0Vmlld3BvcnRTaXplKCd3aWR0aCcpLnRoZW4oZnVuY3Rpb24oc2l6ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coc2l6ZSk7IC8vIG91dHB1dHM6IDEwMjRcbiAgICAgICAgfSlcbiAgICAgICAgLmdldFZpZXdwb3J0U2l6ZSgnaGVpZ2h0JykudGhlbihmdW5jdGlvbihzaXplKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhzaXplKTsgLy8gb3V0cHV0czogNzY4XG4gICAgICAgIH0pO1xuICogPC9leGFtcGxlPlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBwcm9wZXJ0eSAgaWYgXCJ3aWR0aFwiIG9yIFwiaGVpZ2h0XCIgaXMgc2V0IGl0IHJldHVybnMgb25seSB0aGF0IHByb3BlcnR5XG4gKiBAcmV0dXJucyB7T2JqZWN0fSAgdmlld3BvcnQgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgYnJvd3NlclxuICogQHVzZXMgcHJvdG9jb2wvZXhlY3V0ZVxuICogQHR5cGUgd2luZG93XG4gKlxuICovXG5cbmltcG9ydCBnZXRWaWV3cG9ydFNpemVIZWxwZXIgZnJvbSAnLi4vc2NyaXB0cy9nZXRWaWV3cG9ydFNpemUnXG5cbmxldCBnZXRWaWV3cG9ydFNpemUgPSBmdW5jdGlvbiAocHJvcCkge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGUoZ2V0Vmlld3BvcnRTaXplSGVscGVyKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSAnc3RyaW5nJyAmJiBwcm9wLm1hdGNoKC8od2lkdGh8aGVpZ2h0KS8pKSB7XG4gICAgICAgICAgICBwcm9wID0gJ3NjcmVlbicgKyBwcm9wLnNsaWNlKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBwcm9wLnNsaWNlKDEpXG4gICAgICAgICAgICByZXR1cm4gcmVzLnZhbHVlW3Byb3BdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgd2lkdGg6IHJlcy52YWx1ZS5zY3JlZW5XaWR0aCB8fCAwLFxuICAgICAgICAgICAgaGVpZ2h0OiByZXMudmFsdWUuc2NyZWVuSGVpZ2h0IHx8IDBcbiAgICAgICAgfVxuICAgIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFZpZXdwb3J0U2l6ZVxuIl19 |