@webex/common
Version:
Common utilities for Cisco Webex
79 lines (77 loc) • 3.42 kB
JavaScript
"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