UNPKG

1.81 kBJavaScriptView Raw
1import { detect } from 'detect-browser';
2export var SUPPORTED_FIREFOX_VERSION = 57;
3export var SUPPORTED_CHROME_VERSION = 64;
4export var SUPPORTED_EDGE_VERSION = 16;
5/**
6 * @internal
7 */
8export function getUnsupportedBrowserError() {
9 var info = detect();
10 if (!info || !info.version) {
11 return 'browser cannot be detected';
12 }
13 var prefix = "unsupported browser detected:";
14 switch (info.name) {
15 case 'firefox':
16 var fVersion = parseInt(info.version.slice(0, info.version.indexOf('.')), 10);
17 if (fVersion <= SUPPORTED_FIREFOX_VERSION && fVersion !== 52) { // ESR
18 return prefix + " Firefox " + info.version + " (&lt; " + SUPPORTED_FIREFOX_VERSION + ")";
19 }
20 return null;
21 case 'edge':
22 var eVersion = parseInt(info.version.slice(0, info.version.indexOf('.')), 10);
23 if (eVersion <= SUPPORTED_EDGE_VERSION) {
24 return prefix + " Edge " + info.version + " (&lt; " + SUPPORTED_EDGE_VERSION + ")";
25 }
26 return null;
27 case 'chrome':
28 var cVersion = parseInt(info.version.slice(0, info.version.indexOf('.')), 10);
29 if (cVersion <= SUPPORTED_CHROME_VERSION) {
30 return prefix + " Chrome " + info.version + " (&lt; " + SUPPORTED_CHROME_VERSION + ")";
31 }
32 return null;
33 case 'ie':
34 return prefix + " Internet Explorer";
35 }
36 console.warn('unknown browser detected', info, 'assuming fine...');
37 return null;
38}
39/**
40 * checks whether the current browser is compatible with lineupjs
41 * @return boolean
42 */
43export function isBrowserSupported() {
44 return getUnsupportedBrowserError() == null;
45}
46//# sourceMappingURL=browser.js.map
\No newline at end of file