BREAKING CHANGE - Rename isChromiumBased -> isChromeFamily & isPWA -> isStandalonePWA

This commit is contained in:
Faisal Salman 2024-06-22 22:26:58 +07:00
parent 50c15ad5a8
commit 21162f1277
4 changed files with 14 additions and 14 deletions

View File

@ -5,13 +5,13 @@
import { IResult } from "../main/ua-parser"; import { IResult } from "../main/ua-parser";
declare function isAppleSilicon(res: IResult): boolean; declare function isAppleSilicon(res: IResult): boolean;
declare function isChromiumBased(res: IResult): boolean; declare function isChromeFamily(res: IResult): boolean;
declare function isFrozenUA(ua: string): boolean; declare function isFrozenUA(ua: string): boolean;
declare function isPWA(): boolean; declare function isStandalonePWA(): boolean;
export { export {
isAppleSilicon, isAppleSilicon,
isChromiumBased, isChromeFamily,
isFrozenUA, isFrozenUA,
isPWA isStandalonePWA
} }

View File

@ -11,11 +11,11 @@ const { CPU, OS, Engine } = require('../enums/ua-parser-enums');
const isAppleSilicon = (res) => res.os.is(OS.MACOS) && res.cpu.is(CPU.ARM); const isAppleSilicon = (res) => res.os.is(OS.MACOS) && res.cpu.is(CPU.ARM);
const isChromiumBased = (res) => res.engine.is(Engine.BLINK); const isChromeFamily = (res) => res.engine.is(Engine.BLINK);
const isFrozenUA = (ua) => /^Mozilla\/5\.0 \((Windows NT 10\.0; Win64; x64|Macintosh; Intel Mac OS X 10_15_7|X11; Linux x86_64|X11; CrOS x86_64 14541\.0\.0|Fuchsia|Linux; Android 10; K)\) AppleWebKit\/537\.36 \(KHTML, like Gecko\) Chrome\/\d+\.0\.0\.0 (Mobile )?Safari\/537\.36/.test(ua); const isFrozenUA = (ua) => /^Mozilla\/5\.0 \((Windows NT 10\.0; Win64; x64|Macintosh; Intel Mac OS X 10_15_7|X11; Linux x86_64|X11; CrOS x86_64 14541\.0\.0|Fuchsia|Linux; Android 10; K)\) AppleWebKit\/537\.36 \(KHTML, like Gecko\) Chrome\/\d+\.0\.0\.0 (Mobile )?Safari\/537\.36/.test(ua);
const isPWA = () => window && (window.matchMedia('(display-mode: standalone)').matches || const isStandalonePWA = () => window && (window.matchMedia('(display-mode: standalone)').matches ||
// iOS // iOS
navigator.standalone || navigator.standalone ||
// Android // Android
@ -27,7 +27,7 @@ const isPWA = () => window && (window.matchMedia('(display-mode: standalone)').m
module.exports = { module.exports = {
isAppleSilicon, isAppleSilicon,
isChromiumBased, isChromeFamily,
isFrozenUA, isFrozenUA,
isPWA isStandalonePWA
} }

View File

@ -1,6 +1,6 @@
import { expectType } from 'tsd'; import { expectType } from 'tsd';
import { UAParser, IResult, IBrowser, ICPU, IEngine, IDevice, IOS } from "../src/main/ua-parser"; import { UAParser, IResult, IBrowser, ICPU, IEngine, IDevice, IOS } from "../src/main/ua-parser";
import { isAppleSilicon, isChromiumBased } from "../src/helpers/ua-parser-helpers"; import { isAppleSilicon, isChromeFamily } from "../src/helpers/ua-parser-helpers";
const uastring = 'Mozilla/5.0 (X11; MyCustomOS; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0'; const uastring = 'Mozilla/5.0 (X11; MyCustomOS; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0';
const extensions = { const extensions = {
@ -46,4 +46,4 @@ expectType<UAParser>(parser.setUA(uastring));
const result = parser.getResult(); const result = parser.getResult();
expectType<boolean>(isAppleSilicon(result)); expectType<boolean>(isAppleSilicon(result));
expectType<boolean>(isChromiumBased(result)); expectType<boolean>(isChromeFamily(result));

View File

@ -1,6 +1,6 @@
const assert = require('assert'); const assert = require('assert');
const { UAParser } = require('../src/main/ua-parser'); const { UAParser } = require('../src/main/ua-parser');
const { isAppleSilicon, isChromiumBased } = require('../src/helpers/ua-parser-helpers'); const { isAppleSilicon, isChromeFamily } = require('../src/helpers/ua-parser-helpers');
describe('isAppleSilicon', () => { describe('isAppleSilicon', () => {
it('Can detect Apple Silicon device', () => { it('Can detect Apple Silicon device', () => {
@ -14,13 +14,13 @@ describe('isAppleSilicon', () => {
}); });
}); });
describe('isChromiumBased', () => { describe('isChromeFamily', () => {
it('Can detect Chromium-based browser', () => { it('Can detect Chromium-based browser', () => {
const edge = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.2151.58'; const edge = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.2151.58';
const firefox = 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0'; const firefox = 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0';
assert.equal(isChromiumBased(UAParser(edge)), true); assert.equal(isChromeFamily(UAParser(edge)), true);
assert.equal(isChromiumBased(UAParser(firefox)), false); assert.equal(isChromeFamily(UAParser(firefox)), false);
}); });
}); });