123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 'use strict';
- var UAParser = require('ua-parser-js');
- var UNKNOWN = 'Unknown';
- var PLATFORM_MAP = {
- 'Mac OS': 'Mac OS X'
- };
- function convertPlatformName(name) {
- return PLATFORM_MAP[name] || name;
- }
- function getBrowserVersion(version) {
- if (!version) {
- return {
- major: '',
- minor: ''
- };
- }
- var parts = version.split('.');
- return {
- major: parts[0],
- minor: parts[1]
- };
- }
- var parser = new UAParser();
- var results = parser.getResult();
- var browserVersionData = getBrowserVersion(results.browser.version);
- var uaData = {
- browserArchitecture: results.cpu.architecture || UNKNOWN,
- browserFullVersion: results.browser.version || UNKNOWN,
- browserMinorVersion: browserVersionData.minor || UNKNOWN,
- browserName: results.browser.name || UNKNOWN,
- browserVersion: results.browser.major || UNKNOWN,
- deviceName: results.device.model || UNKNOWN,
- engineName: results.engine.name || UNKNOWN,
- engineVersion: results.engine.version || UNKNOWN,
- platformArchitecture: results.cpu.architecture || UNKNOWN,
- platformName: convertPlatformName(results.os.name) || UNKNOWN,
- platformVersion: results.os.version || UNKNOWN,
- platformFullVersion: results.os.version || UNKNOWN
- };
- module.exports = uaData;
|