all files / DEV/lib/helpers/ mobileDetector.js

100% Statements 8/8
84.21% Branches 16/19
100% Functions 1/1
100% Lines 2/2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                             
/**
 * check if current platform is mobile device
 *
 * @param  {Object}  caps  capabilities
 * @return {Boolean}       true if platform is mobile device
 */
'use strict';
 
Object.defineProperty(exports, '__esModule', {
        value: true
});
var mobileDetector = function mobileDetector(caps) {
        var isMobile = typeof caps['appium-version'] !== 'undefined' || typeof caps['device-type'] !== 'undefined' || typeof caps['deviceType'] !== 'undefined' || typeof caps['device-orientation'] !== 'undefined' || typeof caps['deviceOrientation'] !== 'undefined' || typeof caps.deviceName !== 'undefined' || !caps.browserName || caps.browserName === '' || caps.browserName.toLowerCase() === 'ipad' || caps.browserName.toLowerCase() === 'iphone' || caps.browserName.toLowerCase() === 'android';

        var isIOS = caps.platformName && caps.platformName.match(/iOS/i) || caps.deviceName && caps.deviceName.match(/(iPad|iPhone)/i);
 
        var isAndroid = caps.platformName && caps.platformName.match(/Android/i) || caps.browserName && caps.browserName.match(/Android/i);
 
        return { isMobile: isMobile, isIOS: isIOS, isAndroid: isAndroid };
};
 
exports['default'] = mobileDetector;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9tb2JpbGVEZXRlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLElBQUksY0FBYyxHQUFHLFNBQWpCLGNBQWMsQ0FBYSxJQUFJLEVBQUU7QUFDakMsWUFBSSxRQUFRLEdBQUcsQUFBQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLFdBQVcsSUFDckQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssV0FBVyxBQUFDLElBQUssT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssV0FBVyxBQUFDLElBQzFGLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssV0FBVyxBQUFDLElBQUssT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxXQUFXLEFBQUMsSUFDeEcsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsQUFBQyxJQUN2QyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLEFBQUMsQ0FBQTs7QUFFak0sWUFBSSxLQUFLLEdBQUcsQUFBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUN4RCxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEFBQUMsQ0FBQTs7QUFFcEUsWUFBSSxTQUFTLEdBQUcsQUFBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUNoRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxBQUFDLENBQUE7O0FBRWhFLGVBQU8sRUFBRSxRQUFRLEVBQVIsUUFBUSxFQUFFLEtBQUssRUFBTCxLQUFLLEVBQUUsU0FBUyxFQUFULFNBQVMsRUFBRSxDQUFBO0NBQ3hDLENBQUE7O3FCQUVjLGNBQWMiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9oZWxwZXJzL21vYmlsZURldGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBjaGVjayBpZiBjdXJyZW50IHBsYXRmb3JtIGlzIG1vYmlsZSBkZXZpY2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9ICBjYXBzICBjYXBhYmlsaXRpZXNcbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgIHRydWUgaWYgcGxhdGZvcm0gaXMgbW9iaWxlIGRldmljZVxuICovXG5sZXQgbW9iaWxlRGV0ZWN0b3IgPSBmdW5jdGlvbiAoY2Fwcykge1xuICAgIGxldCBpc01vYmlsZSA9ICh0eXBlb2YgY2Fwc1snYXBwaXVtLXZlcnNpb24nXSAhPT0gJ3VuZGVmaW5lZCcpIHx8XG4gICAgICAgICAgICh0eXBlb2YgY2Fwc1snZGV2aWNlLXR5cGUnXSAhPT0gJ3VuZGVmaW5lZCcpIHx8ICh0eXBlb2YgY2Fwc1snZGV2aWNlVHlwZSddICE9PSAndW5kZWZpbmVkJykgfHxcbiAgICAgICAgICAgKHR5cGVvZiBjYXBzWydkZXZpY2Utb3JpZW50YXRpb24nXSAhPT0gJ3VuZGVmaW5lZCcpIHx8ICh0eXBlb2YgY2Fwc1snZGV2aWNlT3JpZW50YXRpb24nXSAhPT0gJ3VuZGVmaW5lZCcpIHx8XG4gICAgICAgICAgICh0eXBlb2YgY2Fwcy5kZXZpY2VOYW1lICE9PSAndW5kZWZpbmVkJykgfHxcbiAgICAgICAgICAgKCFjYXBzLmJyb3dzZXJOYW1lIHx8IGNhcHMuYnJvd3Nlck5hbWUgPT09ICcnIHx8IGNhcHMuYnJvd3Nlck5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lwYWQnIHx8IGNhcHMuYnJvd3Nlck5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lwaG9uZScgfHwgY2Fwcy5icm93c2VyTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYW5kcm9pZCcpXG5cbiAgICBsZXQgaXNJT1MgPSAoY2Fwcy5wbGF0Zm9ybU5hbWUgJiYgY2Fwcy5wbGF0Zm9ybU5hbWUubWF0Y2goL2lPUy9pKSkgfHxcbiAgICAgICAgICAgIChjYXBzLmRldmljZU5hbWUgJiYgY2Fwcy5kZXZpY2VOYW1lLm1hdGNoKC8oaVBhZHxpUGhvbmUpL2kpKVxuXG4gICAgbGV0IGlzQW5kcm9pZCA9IChjYXBzLnBsYXRmb3JtTmFtZSAmJiBjYXBzLnBsYXRmb3JtTmFtZS5tYXRjaCgvQW5kcm9pZC9pKSkgfHxcbiAgICAgICAgICAgIChjYXBzLmJyb3dzZXJOYW1lICYmIGNhcHMuYnJvd3Nlck5hbWUubWF0Y2goL0FuZHJvaWQvaSkpXG5cbiAgICByZXR1cm4geyBpc01vYmlsZSwgaXNJT1MsIGlzQW5kcm9pZCB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1vYmlsZURldGVjdG9yXG4iXX0=