| @@ 26-49 (lines=24) @@ | ||
| 23 | } |
|
| 24 | }; |
|
| 25 | ||
| 26 | export const browserFromUserAgent = (userAgent) => { |
|
| 27 | if (!hasValue(userAgent)) { |
|
| 28 | return DEFAULT; |
|
| 29 | } |
|
| 30 | ||
| 31 | const lowerUserAgent = userAgent.toLowerCase(); |
|
| 32 | ||
| 33 | switch (true) { |
|
| 34 | case lowerUserAgent.includes('opera') || lowerUserAgent.includes('opr'): |
|
| 35 | return 'Opera'; |
|
| 36 | case lowerUserAgent.includes('firefox'): |
|
| 37 | return 'Firefox'; |
|
| 38 | case lowerUserAgent.includes('chrome'): |
|
| 39 | return 'Chrome'; |
|
| 40 | case lowerUserAgent.includes('safari'): |
|
| 41 | return 'Safari'; |
|
| 42 | case lowerUserAgent.includes('edg'): |
|
| 43 | return 'Microsoft Edge'; |
|
| 44 | case lowerUserAgent.includes('msie'): |
|
| 45 | return 'Internet Explorer'; |
|
| 46 | default: |
|
| 47 | return DEFAULT; |
|
| 48 | } |
|
| 49 | }; |
|
| 50 | ||
| 51 | export const extractDomain = (url) => { |
|
| 52 | if (!hasValue(url)) { |
|
| @@ 5-24 (lines=20) @@ | ||
| 2 | ||
| 3 | const DEFAULT = 'Others'; |
|
| 4 | ||
| 5 | export const osFromUserAgent = (userAgent) => { |
|
| 6 | if (!hasValue(userAgent)) { |
|
| 7 | return DEFAULT; |
|
| 8 | } |
|
| 9 | ||
| 10 | const lowerUserAgent = userAgent.toLowerCase(); |
|
| 11 | ||
| 12 | switch (true) { |
|
| 13 | case lowerUserAgent.includes('linux'): |
|
| 14 | return 'Linux'; |
|
| 15 | case lowerUserAgent.includes('windows'): |
|
| 16 | return 'Windows'; |
|
| 17 | case lowerUserAgent.includes('mac'): |
|
| 18 | return 'MacOS'; |
|
| 19 | case lowerUserAgent.includes('mobi'): |
|
| 20 | return 'Mobile'; |
|
| 21 | default: |
|
| 22 | return DEFAULT; |
|
| 23 | } |
|
| 24 | }; |
|
| 25 | ||
| 26 | export const browserFromUserAgent = (userAgent) => { |
|
| 27 | if (!hasValue(userAgent)) { |
|