mirror of
https://github.com/lancedikson/bowser
synced 2024-10-27 20:34:22 +00:00
Add detection of macOS version names
This commit is contained in:
parent
72b59a9208
commit
b298e8d866
@ -46,10 +46,16 @@ export default [
|
||||
test: [/macintosh/i],
|
||||
describe(ua) {
|
||||
const version = Utils.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, ua).replace(/[_\s]/g, '.');
|
||||
return {
|
||||
const versionName = Utils.getMacOSVersionName(version);
|
||||
|
||||
const os = {
|
||||
name: OS_MAP.MacOS,
|
||||
version,
|
||||
};
|
||||
if (versionName) {
|
||||
os.versionName = versionName;
|
||||
}
|
||||
return os;
|
||||
},
|
||||
},
|
||||
|
||||
|
38
src/utils.js
38
src/utils.js
@ -53,6 +53,44 @@ export default class Utils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get macOS version name
|
||||
* 10.5 - Leopard
|
||||
* 10.6 - Snow Leopard
|
||||
* 10.7 - Lion
|
||||
* 10.8 - Mountain Lion
|
||||
* 10.9 - Mavericks
|
||||
* 10.10 - Yosemite
|
||||
* 10.11 - El Capitan
|
||||
* 10.12 - Sierra
|
||||
* 10.13 - High Sierra
|
||||
* 10.14 - Mojave
|
||||
* 10.15 - Catalina
|
||||
*
|
||||
* @example
|
||||
* getMacOSVersionName("10.14") // 'Mojave'
|
||||
*
|
||||
* @param {string} version
|
||||
* @return {string} versionName
|
||||
*/
|
||||
static getMacOSVersionName(version) {
|
||||
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
|
||||
v.push(0);
|
||||
if (v[0] !== 10) return undefined;
|
||||
if (v[1] === 5) return 'Leopard';
|
||||
if (v[1] === 6) return 'Snow Leopard';
|
||||
if (v[1] === 7) return 'Lion';
|
||||
if (v[1] === 8) return 'Mountain Lion';
|
||||
if (v[1] === 9) return 'Mavericks';
|
||||
if (v[1] === 10) return 'Yosemite';
|
||||
if (v[1] === 11) return 'El Capitan';
|
||||
if (v[1] === 12) return 'Sierra';
|
||||
if (v[1] === 13) return 'High Sierra';
|
||||
if (v[1] === 14) return 'Mojave';
|
||||
if (v[1] === 15) return 'Catalina';
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Android version name
|
||||
* 1.5 - Cupcake
|
||||
|
@ -216,6 +216,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.7"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -378,6 +379,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.3"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "tablet"
|
||||
vendor: "Amazon"
|
||||
@ -539,6 +541,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.7"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -665,6 +668,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.10.3"
|
||||
versionName: "Yosemite"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -711,6 +715,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.8"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -726,6 +731,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.7"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -784,6 +790,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.1"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -799,6 +806,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.5.7"
|
||||
versionName: "Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -877,6 +885,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.5.2"
|
||||
versionName: "Leopard"
|
||||
platform:
|
||||
type: "mobile"
|
||||
vendor: "Apple"
|
||||
@ -1540,6 +1549,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.8"
|
||||
versionName: "Mountain Lion"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -1652,6 +1662,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -1717,6 +1728,22 @@
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "601.1.46"
|
||||
-
|
||||
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0"
|
||||
spec:
|
||||
browser:
|
||||
name: "Firefox"
|
||||
version: "68.0"
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.14"
|
||||
versionName: "Mojave"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
engine:
|
||||
name: "Gecko"
|
||||
version: "20100101"
|
||||
SeaMonkey:
|
||||
-
|
||||
ua: "Mozilla/5.0 (Windows NT 5.2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1"
|
||||
@ -1742,6 +1769,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.5"
|
||||
versionName: "Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -2252,6 +2280,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.11.1"
|
||||
versionName: "El Capitan"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -2290,6 +2319,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.6.8"
|
||||
versionName: "Snow Leopard"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
@ -2614,6 +2644,7 @@
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "10.12.6"
|
||||
versionName: "Sierra"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
|
Loading…
Reference in New Issue
Block a user