ua-parser-js 2.0.0-alpha.2 → 2.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,252 @@
1
+ // Generated ESM version of UAParser.js extensions
2
+ // DO NOT EDIT THIS FILE!
3
+ // Source: /src/extensions/ua-parser-extensions.js
4
+
5
+ ///////////////////////////////////////////////
6
+ /* Extensions for UAParser.js v2.0.0-alpha.3
7
+ https://github.com/faisalman/ua-parser-js
8
+ Author: Faisal Salman <f@faisalman.com>
9
+ MIT License */
10
+ //////////////////////////////////////////////
11
+
12
+ /*jshint esversion: 6 */
13
+
14
+ const MODEL = 'model';
15
+ const NAME = 'name';
16
+ const TYPE = 'type';
17
+ const VENDOR = 'vendor';
18
+ const VERSION = 'version';
19
+ const MOBILE = 'mobile';
20
+ const TABLET = 'tablet';
21
+
22
+ const Apps = Object.freeze({
23
+ browser : [
24
+ [/chatlyio\/([\d\.]+)/i], [VERSION, 'Slack', [TYPE, 'app']]
25
+ ]
26
+ });
27
+
28
+ const Bots = Object.freeze({
29
+ browser : [
30
+ // Googlebot / BingBot / MSNBot / FacebookBot
31
+ [/((?:google|bing|msn|facebook)bot(?:[\-imagevdo]{0,6})|bingpreview)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'bot']],
32
+
33
+ // GPTBot - https://platform.openai.com/docs/gptbot
34
+ [/(gptbot)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'bot']],
35
+
36
+ // Slackbot - https://api.slack.com/robots
37
+ [/(slack(?:bot)?(?:-imgproxy|-linkexpanding)?) ([\w\.]+)/i], [NAME, VERSION, [TYPE, 'bot']]
38
+ ]
39
+ });
40
+
41
+ const CLIs = Object.freeze({
42
+ browser : [
43
+ // wget / curl / lynx
44
+ [/(wget|curl|lynx)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'cli']]
45
+ ]
46
+ });
47
+
48
+ const ExtraDevices = Object.freeze({
49
+ device : [[
50
+ /(nook)[\w ]+build\/(\w+)/i, // Nook
51
+ /(dell) (strea[kpr\d ]*[\dko])/i, // Dell Streak
52
+ /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, // Le Pan Tablets
53
+ /(trinity)[- ]*(t\d{3}) bui/i, // Trinity Tablets
54
+ /(gigaset)[- ]+(q\w{1,9}) bui/i, // Gigaset Tablets
55
+ /(vodafone) ([\w ]+)(?:\)| bui)/i // Vodafone
56
+ ], [VENDOR, MODEL, [TYPE, TABLET]], [
57
+
58
+ /(u304aa)/i // AT&T
59
+ ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
60
+
61
+ /\bsie-(\w*)/i // Siemens
62
+ ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [
63
+
64
+ /\b(rct\w+) b/i // RCA Tablets
65
+ ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
66
+
67
+ /\b(venue[\d ]{2,7}) b/i // Dell Venue Tablets
68
+ ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
69
+
70
+ /\b(q(?:mv|ta)\w+) b/i // Verizon Tablet
71
+ ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [
72
+
73
+ /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i // Barnes & Noble Tablet
74
+ ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [
75
+
76
+ /\b(tm\d{3}\w+) b/i
77
+ ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
78
+
79
+ /\b(k88) b/i // ZTE K Series Tablet
80
+ ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
81
+
82
+ /\b(nx\d{3}j) b/i // ZTE Nubia
83
+ ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [
84
+
85
+ /\b(gen\d{3}) b.+49h/i // Swiss GEN Mobile
86
+ ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
87
+
88
+ /\b(zur\d{3}) b/i // Swiss ZUR Tablet
89
+ ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [
90
+
91
+ /\b((zeki)?tb.*\b) b/i // Zeki Tablets
92
+ ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
93
+
94
+ /\b([yr]\d{2}) b/i,
95
+ /\b(?:dragon[- ]+touch |dt)(\w{5}) b/i // Dragon Touch Tablet
96
+ ], [MODEL, [VENDOR, 'Dragon Touch'], [TYPE, TABLET]], [
97
+
98
+ /\b(ns-?\w{0,9}) b/i // Insignia Tablets
99
+ ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
100
+
101
+ /\b((nxa|next)-?\w{0,9}) b/i // NextBook Tablets
102
+ ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
103
+
104
+ /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones
105
+ ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [
106
+
107
+ /\b(lvtel\-)?(v1[12]) b/i // LvTel Phones
108
+ ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [
109
+
110
+ /\b(ph-1) /i // Essential PH-1
111
+ ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [
112
+
113
+ /\b(v(100md|700na|7011|917g).*\b) b/i // Envizen Tablets
114
+ ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
115
+
116
+ /\b(trio[-\w\. ]+) b/i // MachSpeed Tablets
117
+ ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [
118
+
119
+ /\btu_(1491) b/i // Rotor Tablets
120
+ ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]]
121
+ ]
122
+ });
123
+
124
+ const Emails = Object.freeze({
125
+ browser : [
126
+ // Microsoft Outlook / Thunderbird
127
+ [/(microsoft outlook|thunderbird)[\s\/]([\w\.]+)/i], [NAME, VERSION, [TYPE, 'email']]
128
+ ]
129
+ });
130
+
131
+ const MediaPlayers = Object.freeze({
132
+ browser : [[
133
+
134
+ /(apple(?:coremedia|))\/([\w\._]+)/i, // Generic Apple CoreMedia
135
+ /(coremedia) v([\w\._]+)/i
136
+ ], [NAME, VERSION], [
137
+
138
+ /(aqualung|lyssna|bsplayer)\/([\w\.-]+)/i // Aqualung/Lyssna/BSPlayer
139
+ ], [NAME, VERSION], [
140
+
141
+ /(ares|ossproxy)\s([\w\.-]+)/i // Ares/OSSProxy
142
+ ], [NAME, VERSION], [
143
+
144
+ /(audacious|audimusicstream|amarok|bass|core|dalvik|gnomemplayer|music on console|nsplayer|psp-internetradioplayer|videos)\/([\w\.-]+)/i,
145
+ // Audacious/AudiMusicStream/Amarok/BASS/OpenCORE/Dalvik/GnomeMplayer/MoC
146
+ // NSPlayer/PSP-InternetRadioPlayer/Videos
147
+ /(clementine|music player daemon)\s([\w\.-]+)/i, // Clementine/MPD
148
+ /(lg player|nexplayer)\s([\d\.]+)/i,
149
+ /player\/(nexplayer|lg player)\s([\w\.-]+)/i // NexPlayer/LG Player
150
+ ], [NAME, VERSION], [
151
+ /(nexplayer)\s([\w\.-]+)/i // Nexplayer
152
+ ], [NAME, VERSION], [
153
+
154
+ /(flrp)\/([\w\.-]+)/i // Flip Player
155
+ ], [[NAME, 'Flip Player'], VERSION], [
156
+
157
+ /(fstream|nativehost|queryseekspider|ia-archiver|facebookexternalhit)/i
158
+ // FStream/NativeHost/QuerySeekSpider/IA Archiver/facebookexternalhit
159
+ ], [NAME], [
160
+
161
+ /(gstreamer) souphttpsrc.+libsoup\/([\w\.-]+)/i
162
+ // Gstreamer
163
+ ], [NAME, VERSION], [
164
+
165
+ /(htc streaming player)\s[\w_]+\s\/\s([\d\.]+)/i, // HTC Streaming Player
166
+ /(java|python-urllib|python-requests|wget|libcurl)\/([\w\.-_]+)/i,
167
+ // Java/urllib/requests/wget/cURL
168
+ /(lavf)([\d\.]+)/i // Lavf (FFMPEG)
169
+ ], [NAME, VERSION], [
170
+
171
+ /(htc_one_s)\/([\d\.]+)/i, // HTC One S
172
+ ], [[NAME, /_/g, ' '], VERSION], [
173
+
174
+ /(mplayer)(?:\s|\/)(?:(?:sherpya-){0,1}svn)(?:-|\s)(r\d+(?:-\d+[\w\.-]+))/i,
175
+ // MPlayer SVN
176
+ ], [NAME, VERSION], [
177
+
178
+ /(mplayer)(?:\s|\/)([\w\.-]+)/i, // MPlayer
179
+ /(mplayer) unknown-([\w\.\-]+)/i // MPlayer UNKNOWN
180
+ ], [NAME, VERSION], [
181
+
182
+ /(mplayer)/i, // MPlayer (no other info)
183
+ /(yourmuze)/i, // YourMuze
184
+ /(media player classic|nero showtime)/i // Media Player Classic/Nero ShowTime
185
+ ], [NAME], [
186
+
187
+ /(nero (?:home|scout))\/([\w\.-]+)/i // Nero Home/Nero Scout
188
+ ], [NAME, VERSION], [
189
+
190
+ /(nokia\d+)\/([\w\.-]+)/i // Nokia
191
+ ], [NAME, VERSION], [
192
+
193
+ /\s(songbird)\/([\w\.-]+)/i // Songbird/Philips-Songbird
194
+ ], [NAME, VERSION], [
195
+
196
+ /(winamp)3 version ([\w\.-]+)/i, // Winamp
197
+ /(winamp)\s([\w\.-]+)/i,
198
+ /(winamp)mpeg\/([\w\.-]+)/i
199
+ ], [NAME, VERSION], [
200
+
201
+ /(ocms-bot|tapinradio|tunein radio|unknown|winamp|inlight radio)/i // OCMS-bot/tap in radio/tunein/unknown/winamp (no other info)
202
+ // inlight radio
203
+ ], [NAME], [
204
+
205
+ /(quicktime|rma|radioapp|radioclientapplication|soundtap|totem|stagefright|streamium)\/([\w\.-]+)/i
206
+ // QuickTime/RealMedia/RadioApp/RadioClientApplication/
207
+ // SoundTap/Totem/Stagefright/Streamium
208
+ ], [NAME, VERSION], [
209
+
210
+ /(smp)([\d\.]+)/i // SMP
211
+ ], [NAME, VERSION], [
212
+
213
+ /(vlc) media player - version ([\w\.]+)/i, // VLC Videolan
214
+ /(vlc)\/([\w\.-]+)/i,
215
+ /(xbmc|gvfs|xine|xmms|irapp)\/([\w\.-]+)/i, // XBMC/gvfs/Xine/XMMS/irapp
216
+ /(foobar2000)\/([\d\.]+)/i, // Foobar2000
217
+ /(itunes)\/([\d\.]+)/i // iTunes
218
+ ], [NAME, VERSION], [
219
+
220
+ /(wmplayer)\/([\w\.-]+)/i, // Windows Media Player
221
+ /(windows-media-player)\/([\w\.-]+)/i
222
+ ], [[NAME, /-/g, ' '], VERSION], [
223
+
224
+ /windows\/([\w\.-]+) upnp\/[\d\.]+ dlnadoc\/[\d\.]+ (home media server)/i,
225
+ // Windows Media Server
226
+ ], [VERSION, [NAME, 'Windows']], [
227
+
228
+ /(com\.riseupradioalarm)\/([\d\.]*)/i // RiseUP Radio Alarm
229
+ ], [NAME, VERSION], [
230
+
231
+ /(rad.io)\s([\d\.]+)/i, // Rad.io
232
+ /(radio.(?:de|at|fr))\s([\d\.]+)/i
233
+ ], [[NAME, 'rad.io'], VERSION]
234
+ ]
235
+ });
236
+
237
+ const Modules = Object.freeze({
238
+ browser : [
239
+ // Axios/jsdom/Scrapy
240
+ [/\b(axios|jsdom|scrapy)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'module']]
241
+ ]
242
+ });
243
+
244
+ export {
245
+ Apps,
246
+ Bots,
247
+ CLIs,
248
+ ExtraDevices,
249
+ Emails,
250
+ MediaPlayers,
251
+ Modules
252
+ };
@@ -0,0 +1,42 @@
1
+ ///////////////////////////////////////////////
2
+ /* Helpers for UAParser.js v2.0.0-alpha.3
3
+ https://github.com/faisalman/ua-parser-js
4
+ Author: Faisal Salman <f@faisalman.com>
5
+ MIT License */
6
+ //////////////////////////////////////////////
7
+
8
+ /*jshint esversion: 6 */
9
+
10
+ /*
11
+ # Reference:
12
+ https://www.chromium.org/updates/ua-reduction/
13
+
14
+ # Desktop
15
+ ---
16
+ Format:
17
+ Mozilla/5.0 (<unifiedPlatform>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<majorVersion>.0.0.0 Safari/537.36
18
+
19
+ Possible <unifiedPlatform> values:
20
+ - Windows NT 10.0; Win64; x64
21
+ - Macintosh; Intel Mac OS X 10_15_7
22
+ - X11; Linux x86_64
23
+ - X11; CrOS x86_64 14541.0.0
24
+ - Fuchsia
25
+
26
+ # Mobile & Tablet: (except iOS/Android WebView)
27
+ ---
28
+ Format:
29
+ Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<majorVersion>.0.0.0 <deviceCompat> Safari/537.36
30
+
31
+ Possible <deviceCompat> values:
32
+ - "Mobile"
33
+ - "" (empty string for Tablets & Desktop)
34
+ */
35
+
36
+ const frozenUA = /Mozilla\/5\.0 \((Windows NT 10\.0; Win64; x64|Macintosh; Intel Mac OS X 10_15_7|X11; Linux x86_64|X11; CrOS x86_64 14541\.0\.0|Fuchsia|Linux; Android 10; K)\) AppleWebKit\/537\.36 \(KHTML, like Gecko\) Chrome\/\d+\.0\.0\.0 (Mobile )?Safari\/537\.36/;
37
+
38
+ const isFrozenUA = str => frozenUA.test(str);
39
+
40
+ module.exports = {
41
+ isFrozenUA
42
+ };
@@ -0,0 +1,46 @@
1
+ // Generated ESM version of UAParser.js helpers
2
+ // DO NOT EDIT THIS FILE!
3
+ // Source: /src/helpers/ua-parser-helpers.js
4
+
5
+ ///////////////////////////////////////////////
6
+ /* Helpers for UAParser.js v2.0.0-alpha.3
7
+ https://github.com/faisalman/ua-parser-js
8
+ Author: Faisal Salman <f@faisalman.com>
9
+ MIT License */
10
+ //////////////////////////////////////////////
11
+
12
+ /*jshint esversion: 6 */
13
+
14
+ /*
15
+ # Reference:
16
+ https://www.chromium.org/updates/ua-reduction/
17
+
18
+ # Desktop
19
+ ---
20
+ Format:
21
+ Mozilla/5.0 (<unifiedPlatform>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<majorVersion>.0.0.0 Safari/537.36
22
+
23
+ Possible <unifiedPlatform> values:
24
+ - Windows NT 10.0; Win64; x64
25
+ - Macintosh; Intel Mac OS X 10_15_7
26
+ - X11; Linux x86_64
27
+ - X11; CrOS x86_64 14541.0.0
28
+ - Fuchsia
29
+
30
+ # Mobile & Tablet: (except iOS/Android WebView)
31
+ ---
32
+ Format:
33
+ Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<majorVersion>.0.0.0 <deviceCompat> Safari/537.36
34
+
35
+ Possible <deviceCompat> values:
36
+ - "Mobile"
37
+ - "" (empty string for Tablets & Desktop)
38
+ */
39
+
40
+ const frozenUA = /Mozilla\/5\.0 \((Windows NT 10\.0; Win64; x64|Macintosh; Intel Mac OS X 10_15_7|X11; Linux x86_64|X11; CrOS x86_64 14541\.0\.0|Fuchsia|Linux; Android 10; K)\) AppleWebKit\/537\.36 \(KHTML, like Gecko\) Chrome\/\d+\.0\.0\.0 (Mobile )?Safari\/537\.36/;
41
+
42
+ const isFrozenUA = str => frozenUA.test(str);
43
+
44
+ export {
45
+ isFrozenUA
46
+ };