UNPKG

@webex/common

Version:

Common utilities for Cisco Webex

79 lines (77 loc) 3.42 kB
"use strict"; var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property"); var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.getBrowserSerial = exports.default = void 0; var _bowser = _interopRequireDefault(require("bowser")); var _lodash = require("lodash"); var _window = _interopRequireDefault(require("global/window")); var _constants = require("./constants"); var getBrowserSerial = exports.getBrowserSerial = function getBrowserSerial() { var browserData; try { var _window$navigator; browserData = _window.default !== null && _window.default !== void 0 && (_window$navigator = _window.default.navigator) !== null && _window$navigator !== void 0 && _window$navigator.userAgent ? _bowser.default.getParser(_window.default.navigator.userAgent) : { error: _constants.browserDetection.unableToAccessUserAgent }; } catch (err) { browserData = { error: err.message }; } return browserData; }; var mockDetectionObject = { /* eslint-disable global-require */ getOSName: function getOSName() { return require('os').platform(); }, getOSVersion: function getOSVersion() { return require('os').release(); }, /* eslint-enable global-require */ getBrowserName: function getBrowserName() { return ''; }, getBrowserVersion: function getBrowserVersion() { return ''; }, isBrowser: function isBrowser() { return false; } }; var createDetectionObject = function createDetectionObject(results) { var getOSName = function getOSName() { var _results$getOSName; return (_results$getOSName = results === null || results === void 0 ? void 0 : results.getOSName()) !== null && _results$getOSName !== void 0 ? _results$getOSName : ''; }; var getOSVersion = function getOSVersion() { var _results$getOSVersion; return (_results$getOSVersion = results === null || results === void 0 ? void 0 : results.getOSVersion()) !== null && _results$getOSVersion !== void 0 ? _results$getOSVersion : ''; }; var getBrowserName = function getBrowserName() { var _results$getBrowserNa; return (_results$getBrowserNa = results === null || results === void 0 ? void 0 : results.getBrowserName()) !== null && _results$getBrowserNa !== void 0 ? _results$getBrowserNa : ''; }; var getBrowserVersion = function getBrowserVersion() { var _results$getBrowserVe; return (_results$getBrowserVe = results === null || results === void 0 ? void 0 : results.getBrowserVersion()) !== null && _results$getBrowserVe !== void 0 ? _results$getBrowserVe : ''; }; var isBrowser = function isBrowser(name) { return !!(results !== null && results !== void 0 && results.isBrowser(name, true)); }; return { getOSName: getOSName, getOSVersion: getOSVersion, getBrowserName: getBrowserName, getBrowserVersion: getBrowserVersion, isBrowser: isBrowser }; }; var _default = exports.default = (0, _lodash.memoize)(function (agent) { var _window$navigator2; return agent || (_window$navigator2 = _window.default.navigator) !== null && _window$navigator2 !== void 0 && _window$navigator2.userAgent ? createDetectionObject(_bowser.default.getParser(agent || _window.default.navigator.userAgent)) : mockDetectionObject; }); //# sourceMappingURL=browser-detection.js.map