mirror of
https://github.com/lancedikson/bowser
synced 2025-12-04 21:52:14 +00:00
feat: add support for latest MacOS
This commit is contained in:
parent
4a6dacca08
commit
7c65d0f329
@ -1226,7 +1226,12 @@
|
||||
10.12 - Sierra
|
||||
10.13 - High Sierra
|
||||
10.14 - Mojave
|
||||
10.15 - Catalina</p>
|
||||
10.15 - Catalina
|
||||
11 - Big Sur
|
||||
12 - Monterey
|
||||
13 - Ventura
|
||||
14 - Sonoma
|
||||
15 - Sequoia</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -110,6 +110,11 @@ export default class Utils {
|
||||
* 10.13 - High Sierra
|
||||
* 10.14 - Mojave
|
||||
* 10.15 - Catalina
|
||||
* 11 - Big Sur
|
||||
* 12 - Monterey
|
||||
* 13 - Ventura
|
||||
* 14 - Sonoma
|
||||
* 15 - Sequoia
|
||||
*
|
||||
* @example
|
||||
* getMacOSVersionName("10.14") // 'Mojave'
|
||||
@ -120,8 +125,11 @@ export default class Utils {
|
||||
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;
|
||||
switch (v[1]) {
|
||||
const major = v[0];
|
||||
const minor = v[1];
|
||||
|
||||
if (major === 10) {
|
||||
switch (minor) {
|
||||
case 5: return 'Leopard';
|
||||
case 6: return 'Snow Leopard';
|
||||
case 7: return 'Lion';
|
||||
@ -137,6 +145,16 @@ export default class Utils {
|
||||
}
|
||||
}
|
||||
|
||||
switch (major) {
|
||||
case 11: return 'Big Sur';
|
||||
case 12: return 'Monterey';
|
||||
case 13: return 'Ventura';
|
||||
case 14: return 'Sonoma';
|
||||
case 15: return 'Sequoia';
|
||||
default: return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Android version name
|
||||
* 1.5 - Cupcake
|
||||
|
||||
22
src/utils.js
22
src/utils.js
@ -66,6 +66,11 @@ export default class Utils {
|
||||
* 10.13 - High Sierra
|
||||
* 10.14 - Mojave
|
||||
* 10.15 - Catalina
|
||||
* 11 - Big Sur
|
||||
* 12 - Monterey
|
||||
* 13 - Ventura
|
||||
* 14 - Sonoma
|
||||
* 15 - Sequoia
|
||||
*
|
||||
* @example
|
||||
* getMacOSVersionName("10.14") // 'Mojave'
|
||||
@ -76,8 +81,11 @@ export default class Utils {
|
||||
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;
|
||||
switch (v[1]) {
|
||||
const major = v[0];
|
||||
const minor = v[1];
|
||||
|
||||
if (major === 10) {
|
||||
switch (minor) {
|
||||
case 5: return 'Leopard';
|
||||
case 6: return 'Snow Leopard';
|
||||
case 7: return 'Lion';
|
||||
@ -93,6 +101,16 @@ export default class Utils {
|
||||
}
|
||||
}
|
||||
|
||||
switch (major) {
|
||||
case 11: return 'Big Sur';
|
||||
case 12: return 'Monterey';
|
||||
case 13: return 'Ventura';
|
||||
case 14: return 'Sonoma';
|
||||
case 15: return 'Sequoia';
|
||||
default: return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Android version name
|
||||
* 1.5 - Cupcake
|
||||
|
||||
@ -919,6 +919,86 @@
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "525.28.3"
|
||||
-
|
||||
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15"
|
||||
spec:
|
||||
browser:
|
||||
name: "Safari"
|
||||
version: "14.0"
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "11.0"
|
||||
versionName: "Big Sur"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "605.1.15"
|
||||
-
|
||||
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"
|
||||
spec:
|
||||
browser:
|
||||
name: "Safari"
|
||||
version: "15.4"
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "12.3"
|
||||
versionName: "Monterey"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "605.1.15"
|
||||
-
|
||||
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_2_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15"
|
||||
spec:
|
||||
browser:
|
||||
name: "Safari"
|
||||
version: "16.3"
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "13.2.1"
|
||||
versionName: "Ventura"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "605.1.15"
|
||||
-
|
||||
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15"
|
||||
spec:
|
||||
browser:
|
||||
name: "Safari"
|
||||
version: "17.0"
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "14.0"
|
||||
versionName: "Sonoma"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "605.1.15"
|
||||
-
|
||||
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15"
|
||||
spec:
|
||||
browser:
|
||||
name: "Safari"
|
||||
version: "18.0"
|
||||
os:
|
||||
name: "macOS"
|
||||
version: "15.0"
|
||||
versionName: "Sequoia"
|
||||
platform:
|
||||
type: "desktop"
|
||||
vendor: "Apple"
|
||||
engine:
|
||||
name: "WebKit"
|
||||
version: "605.1.15"
|
||||
-
|
||||
ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11B554a"
|
||||
spec:
|
||||
|
||||
@ -38,6 +38,11 @@ test('getWindowsVersionName', (t) => {
|
||||
test('getMacOSVersionName', (t) => {
|
||||
t.is(getMacOSVersionName('10.14.5'), 'Mojave');
|
||||
t.is(getMacOSVersionName('10.15'), 'Catalina');
|
||||
t.is(getMacOSVersionName('11.0'), 'Big Sur');
|
||||
t.is(getMacOSVersionName('12.3.1'), 'Monterey');
|
||||
t.is(getMacOSVersionName('13.2.1'), 'Ventura');
|
||||
t.is(getMacOSVersionName('14.0'), 'Sonoma');
|
||||
t.is(getMacOSVersionName('15.1'), 'Sequoia');
|
||||
t.is(getMacOSVersionName('10.999999'), void 0);
|
||||
t.is(getMacOSVersionName('XXX'), void 0);
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user