@dvcol/common-utils
Version:
Typescript library for common utility functions and constants
36 lines (34 loc) • 939 B
JavaScript
// lib/common/utils/browser.utils.ts
function isMobileFirefox() {
const { userAgent } = navigator;
return typeof window !== "undefined" && (/Firefox/.test(userAgent) && /Mobile/.test(userAgent) || // Android Firefox
/FxiOS/.test(userAgent));
}
function isMac() {
return testPlatform(/^Mac/);
}
function isIPhone() {
return testPlatform(/^iPhone/);
}
function isSafari() {
return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
}
function isIPad() {
return testPlatform(/^iPad/) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
isMac() && navigator.maxTouchPoints > 1;
}
function isIOS() {
return isIPhone() || isIPad();
}
function testPlatform(re) {
return typeof window !== "undefined" && window.navigator != null ? re.test(window.navigator.platform) : void 0;
}
export {
isMobileFirefox,
isMac,
isIPhone,
isSafari,
isIPad,
isIOS,
testPlatform
};