UNPKG

@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
"use strict"; 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)); }