mirror of
https://github.com/lancedikson/bowser
synced 2025-12-05 06:02: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.12 - Sierra
|
||||||
10.13 - High Sierra
|
10.13 - High Sierra
|
||||||
10.14 - Mojave
|
10.14 - Mojave
|
||||||
10.15 - Catalina</p>
|
10.15 - Catalina
|
||||||
|
11 - Big Sur
|
||||||
|
12 - Monterey
|
||||||
|
13 - Ventura
|
||||||
|
14 - Sonoma
|
||||||
|
15 - Sequoia</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -110,6 +110,11 @@ export default class Utils {
|
|||||||
* 10.13 - High Sierra
|
* 10.13 - High Sierra
|
||||||
* 10.14 - Mojave
|
* 10.14 - Mojave
|
||||||
* 10.15 - Catalina
|
* 10.15 - Catalina
|
||||||
|
* 11 - Big Sur
|
||||||
|
* 12 - Monterey
|
||||||
|
* 13 - Ventura
|
||||||
|
* 14 - Sonoma
|
||||||
|
* 15 - Sequoia
|
||||||
*
|
*
|
||||||
* @example
|
* @example
|
||||||
* getMacOSVersionName("10.14") // 'Mojave'
|
* getMacOSVersionName("10.14") // 'Mojave'
|
||||||
@ -120,19 +125,32 @@ export default class Utils {
|
|||||||
static getMacOSVersionName(version) {
|
static getMacOSVersionName(version) {
|
||||||
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
|
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
|
||||||
v.push(0);
|
v.push(0);
|
||||||
if (v[0] !== 10) return undefined;
|
const major = v[0];
|
||||||
switch (v[1]) {
|
const minor = v[1];
|
||||||
case 5: return 'Leopard';
|
|
||||||
case 6: return 'Snow Leopard';
|
if (major === 10) {
|
||||||
case 7: return 'Lion';
|
switch (minor) {
|
||||||
case 8: return 'Mountain Lion';
|
case 5: return 'Leopard';
|
||||||
case 9: return 'Mavericks';
|
case 6: return 'Snow Leopard';
|
||||||
case 10: return 'Yosemite';
|
case 7: return 'Lion';
|
||||||
case 11: return 'El Capitan';
|
case 8: return 'Mountain Lion';
|
||||||
case 12: return 'Sierra';
|
case 9: return 'Mavericks';
|
||||||
case 13: return 'High Sierra';
|
case 10: return 'Yosemite';
|
||||||
case 14: return 'Mojave';
|
case 11: return 'El Capitan';
|
||||||
case 15: return 'Catalina';
|
case 12: return 'Sierra';
|
||||||
|
case 13: return 'High Sierra';
|
||||||
|
case 14: return 'Mojave';
|
||||||
|
case 15: return 'Catalina';
|
||||||
|
default: return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
default: return undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
44
src/utils.js
44
src/utils.js
@ -66,6 +66,11 @@ export default class Utils {
|
|||||||
* 10.13 - High Sierra
|
* 10.13 - High Sierra
|
||||||
* 10.14 - Mojave
|
* 10.14 - Mojave
|
||||||
* 10.15 - Catalina
|
* 10.15 - Catalina
|
||||||
|
* 11 - Big Sur
|
||||||
|
* 12 - Monterey
|
||||||
|
* 13 - Ventura
|
||||||
|
* 14 - Sonoma
|
||||||
|
* 15 - Sequoia
|
||||||
*
|
*
|
||||||
* @example
|
* @example
|
||||||
* getMacOSVersionName("10.14") // 'Mojave'
|
* getMacOSVersionName("10.14") // 'Mojave'
|
||||||
@ -76,19 +81,32 @@ export default class Utils {
|
|||||||
static getMacOSVersionName(version) {
|
static getMacOSVersionName(version) {
|
||||||
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
|
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
|
||||||
v.push(0);
|
v.push(0);
|
||||||
if (v[0] !== 10) return undefined;
|
const major = v[0];
|
||||||
switch (v[1]) {
|
const minor = v[1];
|
||||||
case 5: return 'Leopard';
|
|
||||||
case 6: return 'Snow Leopard';
|
if (major === 10) {
|
||||||
case 7: return 'Lion';
|
switch (minor) {
|
||||||
case 8: return 'Mountain Lion';
|
case 5: return 'Leopard';
|
||||||
case 9: return 'Mavericks';
|
case 6: return 'Snow Leopard';
|
||||||
case 10: return 'Yosemite';
|
case 7: return 'Lion';
|
||||||
case 11: return 'El Capitan';
|
case 8: return 'Mountain Lion';
|
||||||
case 12: return 'Sierra';
|
case 9: return 'Mavericks';
|
||||||
case 13: return 'High Sierra';
|
case 10: return 'Yosemite';
|
||||||
case 14: return 'Mojave';
|
case 11: return 'El Capitan';
|
||||||
case 15: return 'Catalina';
|
case 12: return 'Sierra';
|
||||||
|
case 13: return 'High Sierra';
|
||||||
|
case 14: return 'Mojave';
|
||||||
|
case 15: return 'Catalina';
|
||||||
|
default: return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
default: return undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -919,6 +919,86 @@
|
|||||||
engine:
|
engine:
|
||||||
name: "WebKit"
|
name: "WebKit"
|
||||||
version: "525.28.3"
|
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"
|
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:
|
spec:
|
||||||
|
|||||||
@ -38,6 +38,11 @@ test('getWindowsVersionName', (t) => {
|
|||||||
test('getMacOSVersionName', (t) => {
|
test('getMacOSVersionName', (t) => {
|
||||||
t.is(getMacOSVersionName('10.14.5'), 'Mojave');
|
t.is(getMacOSVersionName('10.14.5'), 'Mojave');
|
||||||
t.is(getMacOSVersionName('10.15'), 'Catalina');
|
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('10.999999'), void 0);
|
||||||
t.is(getMacOSVersionName('XXX'), void 0);
|
t.is(getMacOSVersionName('XXX'), void 0);
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user