@4players/odin-common
Version:
A collection of commonly used type definitions and utility functions across ODIN web projects
33 lines (32 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAudioCapable = isAudioCapable;
exports.isSharedArrayBufferCapable = isSharedArrayBufferCapable;
exports.isBlinkBrowser = isBlinkBrowser;
exports.isElectronBrowser = isElectronBrowser;
exports.isFirefoxBrowser = isFirefoxBrowser;
exports.isSafariBrowser = isSafariBrowser;
function isAudioCapable() {
return typeof AudioContext !== 'undefined' && typeof Worker !== 'undefined';
}
function isSharedArrayBufferCapable() {
return typeof SharedArrayBuffer !== 'undefined';
}
function isBlinkBrowser() {
const pattern = /(apple)?webkit\/537\.36/i;
return (typeof window !== 'undefined' && pattern.test(window.navigator.userAgent));
}
function isElectronBrowser() {
const pattern = /electron/i;
return (typeof window !== 'undefined' && pattern.test(window.navigator.userAgent));
}
function isFirefoxBrowser() {
const pattern = /firefox|iceweasel|fxios/i;
return (typeof window !== 'undefined' && pattern.test(window.navigator.userAgent));
}
function isSafariBrowser() {
if (isBlinkBrowser())
return false;
const pattern = /safari|applewebkit/i;
return (typeof window !== 'undefined' && pattern.test(window.navigator.userAgent));
}