blob: 091a764002eb8d409ee6d7d7b3c437dad3c652be (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import os from 'os';
import macosVersion from 'macos-version';
import { chrome } from 'useragent-generator';
import {
chromeVersion, isMac, isWindows, is64Bit, osArch, osRelease,
} from '../environment';
function macOS() {
const version = macosVersion() || '';
let cpuName = os.cpus()[0].model.split(' ')[0];
if (cpuName && /\(/.test(cpuName)) {
cpuName = cpuName.split('(')[0];
}
return `Macintosh; ${cpuName} Mac OS X ${version.replace(/\./g, '_')}`;
}
function windows() {
const version = osRelease;
const [majorVersion, minorVersion] = version.split('.');
const archString = is64Bit ? 'Win64' : 'Win32';
return `Windows NT ${majorVersion}.${minorVersion}; ${archString}; ${osArch}`;
}
function linux() {
const archString = is64Bit ? 'x86_64' : osArch;
return `X11; Ubuntu; Linux ${archString}`;
}
export default function userAgent() {
let platformString = '';
if (isMac) {
platformString = macOS();
} else if (isWindows) {
platformString = windows();
} else {
platformString = linux();
}
return chrome({ os: platformString, version: chromeVersion });
}
|