ua-parser-js 2.0.0-alpha.3 → 2.0.0-beta.2
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE.md +616 -0
- package/README.md +220 -0
- package/dist/ua-parser.min.js +3 -3
- package/dist/ua-parser.pack.js +3 -3
- package/package.json +44 -11
- package/src/enums/ua-parser-enums.js +321 -74
- package/src/enums/ua-parser-enums.mjs +322 -75
- package/src/extensions/ua-parser-extensions.d.ts +13 -0
- package/src/extensions/ua-parser-extensions.js +2 -2
- package/src/extensions/ua-parser-extensions.mjs +3 -3
- package/src/helpers/ua-parser-helpers.d.ts +15 -0
- package/src/helpers/ua-parser-helpers.js +9 -29
- package/src/helpers/ua-parser-helpers.mjs +10 -30
- package/src/main/ua-parser.d.ts +106 -0
- package/src/main/ua-parser.js +107 -46
- package/src/main/ua-parser.mjs +104 -43
- package/license.md +0 -21
- package/readme.md +0 -653
@@ -1,107 +1,354 @@
|
|
1
|
-
// Generated ESM version of
|
1
|
+
// Generated ESM version of ua-parser-js/enums
|
2
2
|
// DO NOT EDIT THIS FILE!
|
3
3
|
// Source: /src/enums/ua-parser-enums.js
|
4
4
|
|
5
5
|
///////////////////////////////////////////////
|
6
|
-
/* Enums for UAParser.js v2.0.0-
|
6
|
+
/* Enums for UAParser.js v2.0.0-beta.2
|
7
7
|
https://github.com/faisalman/ua-parser-js
|
8
8
|
Author: Faisal Salman <f@faisalman.com>
|
9
|
-
|
9
|
+
AGPLv3 License */
|
10
10
|
//////////////////////////////////////////////
|
11
11
|
|
12
12
|
/*jshint esversion: 6 */
|
13
13
|
|
14
|
-
const
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
14
|
+
const Browser = Object.freeze({
|
15
|
+
_2345_EXPLORER: '2345Explorer',
|
16
|
+
_360: '360 Browser',
|
17
|
+
ALIPAY: 'Alipay',
|
18
|
+
AMAYA: 'Amaya',
|
19
|
+
ANDROID: 'Android Browser',
|
20
|
+
ARORA: 'Arora',
|
21
|
+
AVANT: 'Avant',
|
22
|
+
AVAST: 'Avast Secure Browser',
|
23
|
+
AVG: 'AVG Secure Browser',
|
24
|
+
BAIDU: 'Baidu Browser',
|
25
|
+
BASILISK: 'Basilisk',
|
26
|
+
BLAZER: 'Blazer',
|
27
|
+
BOLT: 'Bolt',
|
28
|
+
BOWSER: 'Bowser',
|
29
|
+
BRAVE: 'Brave',
|
30
|
+
CAMINO: 'Camino',
|
31
|
+
CHIMERA: 'Chimera',
|
32
|
+
CHROME: 'Chrome',
|
33
|
+
CHROME_HEADLESS: 'Chrome Headless',
|
34
|
+
CHROME_MOBILE: 'Mobile Chrome',
|
35
|
+
CHROME_WEBVIEW: 'Chrome WebView',
|
36
|
+
CHROMIUM: 'Chromium',
|
37
|
+
COBALT: 'Cobalt',
|
38
|
+
COC_COC: 'Coc Coc',
|
39
|
+
COMODO_DRAGON: 'Comodo Dragon',
|
40
|
+
CONKEROR: 'Conkeror',
|
41
|
+
DILLO: 'Dillo',
|
42
|
+
DOLPHIN: 'Dolphin',
|
43
|
+
DORIS: 'Doris',
|
44
|
+
DUCKDUCKGO: 'DuckDuckGo',
|
45
|
+
EDGE: 'Edge',
|
46
|
+
EPIPHANY: 'Epiphany',
|
47
|
+
FACEBOOK: 'Facebook',
|
48
|
+
FALKON: 'Falkon',
|
49
|
+
FIREBIRD: 'Firebird',
|
50
|
+
FIREFOX: 'Firefox',
|
51
|
+
FIREFOX_FOCUS: 'Firefox Focus',
|
52
|
+
FIREFOX_MOBILE: 'Mobile Firefox',
|
53
|
+
FIREFOX_REALITY: 'Firefox Reality',
|
54
|
+
FENNEC: 'Fennec',
|
55
|
+
FLOCK: 'Flock',
|
56
|
+
FLOW: 'Flow',
|
57
|
+
GO: 'Go Browser',
|
58
|
+
GOOGLE_SEARCH: 'GSA',
|
59
|
+
HEYTAP: 'HeyTap',
|
60
|
+
HUAWEI: 'Huawei Browser',
|
61
|
+
ICAB: 'iCab',
|
62
|
+
ICE: 'ICE Browser',
|
63
|
+
ICEAPE: 'IceApe',
|
64
|
+
ICECAT: 'IceCat',
|
65
|
+
ICEDRAGON: 'IceDragon',
|
66
|
+
ICEWEASEL: 'IceWeasel',
|
67
|
+
IE: 'IE',
|
68
|
+
INSTAGRAM: 'Instagram',
|
69
|
+
IRIDIUM: 'Iridium',
|
70
|
+
IRON: 'Iron',
|
71
|
+
JASMINE: 'Jasmine',
|
72
|
+
KONQUEROR: 'Konqueror',
|
73
|
+
KAKAO: 'KakaoTalk',
|
74
|
+
KHTML: 'KHTML',
|
75
|
+
K_MELEON: 'K-Meleon',
|
76
|
+
KLAR: 'Klar',
|
77
|
+
KLARNA: 'Klarna',
|
78
|
+
KINDLE: 'Kindle',
|
79
|
+
LENOVO: 'Smart Lenovo Browser',
|
80
|
+
LIEBAO: 'LBBROWSER',
|
81
|
+
LINE: 'Line',
|
82
|
+
LINKEDIN: 'LinkedIn',
|
83
|
+
LINKS: 'Links',
|
84
|
+
LUNASCAPE: 'Lunascape',
|
85
|
+
LYNX: 'Lynx',
|
86
|
+
MAEMO: 'Maemo Browser',
|
87
|
+
MAXTHON: 'Maxthon',
|
88
|
+
MIDORI: 'Midori',
|
89
|
+
MINIMO: 'Minimo',
|
90
|
+
MIUI: 'MIUI Browser',
|
91
|
+
MOZILLA: 'Mozilla',
|
92
|
+
MOSAIC: 'Mosaic',
|
93
|
+
NAVER: 'Naver',
|
94
|
+
NETFRONT: 'NetFront',
|
95
|
+
NETSCAPE: 'Netscape',
|
96
|
+
NETSURF: 'Netsurf',
|
97
|
+
NOKIA: 'Nokia Browser',
|
98
|
+
OBIGO: 'Obigo',
|
99
|
+
OCULUS: 'Oculus Browser',
|
100
|
+
OMNIWEB: 'OmniWeb',
|
101
|
+
OPERA: 'Opera',
|
102
|
+
OPERA_COAST: 'Opera Coast',
|
103
|
+
OPERA_MINI: 'Opera Mini',
|
104
|
+
OPERA_MOBI: 'Opera Mobi',
|
105
|
+
OPERA_TABLET: 'Opera Tablet',
|
106
|
+
OPERA_TOUCH: 'Opera Touch',
|
107
|
+
OVI: 'OviBrowser',
|
108
|
+
PALEMOON: 'PaleMoon',
|
109
|
+
PHANTOMJS: 'PhantomJS',
|
110
|
+
PHOENIX: 'Phoenix',
|
111
|
+
POLARIS: 'Polaris',
|
112
|
+
PUFFIN: 'Puffin',
|
113
|
+
QQ: 'QQBrowser',
|
114
|
+
QQ_LITE: 'QQBrowserLite',
|
115
|
+
QUARK: 'Quark',
|
116
|
+
QUPZILLA: 'QupZilla',
|
117
|
+
REKONQ: 'rekonq',
|
118
|
+
ROCKMELT: 'Rockmelt',
|
119
|
+
SAFARI: 'Safari',
|
120
|
+
SAFARI_MOBILE: 'Mobile Safari',
|
121
|
+
SAILFISH: 'Sailfish Browser',
|
122
|
+
SAMSUNG: 'Samsung Internet',
|
123
|
+
SEAMONKEY: 'SeaMonkey',
|
124
|
+
SILK: 'Silk',
|
125
|
+
SKYFIRE: 'Skyfire',
|
126
|
+
SLEIPNIR: 'Sleipnir',
|
127
|
+
SLIMBROWSER: 'SlimBrowser',
|
128
|
+
SNAPCHAT: 'Snapchat',
|
129
|
+
SOGOU_EXPLORER: 'Sogou Explorer',
|
130
|
+
SOGOU_MOBILE: 'Sogou Mobile',
|
131
|
+
SWIFTFOX: 'Swiftfox',
|
132
|
+
TESLA: 'Tesla',
|
133
|
+
TIKTOK: 'TikTok',
|
134
|
+
TIZEN: 'Tizen Browser',
|
135
|
+
UC: 'UCBrowser',
|
136
|
+
UP: 'UP.Browser',
|
137
|
+
VIERA: 'Viera',
|
138
|
+
VIVALDI: 'Vivaldi',
|
139
|
+
VIVO: 'Vivo Browser',
|
140
|
+
W3M: 'w3m',
|
141
|
+
WATERFOX: 'Waterfox',
|
142
|
+
WEBKIT: 'WebKit',
|
143
|
+
WECHAT: 'WeChat',
|
144
|
+
WEIBO: 'Weibo',
|
145
|
+
WHALE: 'Whale',
|
146
|
+
YANDEX: 'Yandex'
|
24
147
|
|
25
148
|
// TODO : test!
|
26
149
|
});
|
27
150
|
|
28
|
-
const
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
PPC
|
42
|
-
SPARC
|
43
|
-
|
151
|
+
const CPU = Object.freeze({
|
152
|
+
ARM : 'arm',
|
153
|
+
ARM_64: 'arm64',
|
154
|
+
ARM_HF: 'armhf',
|
155
|
+
AVR: 'avr',
|
156
|
+
AVR_32: 'avr32',
|
157
|
+
IA64: 'ia64',
|
158
|
+
IRIX: 'irix',
|
159
|
+
IRIX_64: 'irix64',
|
160
|
+
MIPS: 'mips',
|
161
|
+
MIPS_64: 'mips64',
|
162
|
+
M68K: '68k',
|
163
|
+
PA_RISC: 'pa-risc',
|
164
|
+
PPC: 'ppc',
|
165
|
+
SPARC: 'sparc',
|
166
|
+
SPARC_64: 'sparc64',
|
167
|
+
X86: 'ia32',
|
168
|
+
X86_64: 'amd64'
|
44
169
|
});
|
45
170
|
|
46
|
-
const
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
171
|
+
const Device = Object.freeze({
|
172
|
+
CONSOLE: 'console',
|
173
|
+
DESKTOP: 'desktop',
|
174
|
+
EMBEDDED: 'embedded',
|
175
|
+
MOBILE: 'mobile',
|
176
|
+
SMARTTV: 'smarttv',
|
177
|
+
TABLET: 'tablet',
|
178
|
+
WEARABLE: 'wearable'
|
53
179
|
});
|
54
180
|
|
55
|
-
const
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
181
|
+
const Vendor = Object.freeze({
|
182
|
+
ACER: 'Acer',
|
183
|
+
ALCATEL: 'Alcatel',
|
184
|
+
APPLE: 'Apple',
|
185
|
+
AMAZON: 'Amazon',
|
186
|
+
ARCHOS: 'Archos',
|
187
|
+
ASUS: 'ASUS',
|
188
|
+
ATT: 'AT&T',
|
189
|
+
BENQ: 'BenQ',
|
190
|
+
BLACKBERRY: 'BlackBerry',
|
191
|
+
DELL: 'Dell',
|
192
|
+
ESSENTIAL: 'Essential',
|
193
|
+
FACEBOOK: 'Facebook',
|
194
|
+
FAIRPHONE: 'Fairphone',
|
195
|
+
GEEKSPHONE: 'GeeksPhone',
|
196
|
+
GENERIC: 'Generic',
|
197
|
+
GOOGLE: 'Google',
|
198
|
+
HP: 'HP',
|
199
|
+
HTC: 'HTC',
|
200
|
+
HUAWEI: 'Huawei',
|
201
|
+
INFINIX: 'Infinix',
|
202
|
+
JOLLA: 'Jolla',
|
203
|
+
KOBO: 'Kobo',
|
204
|
+
LENOVO: 'Lenovo',
|
205
|
+
LG: 'LG',
|
206
|
+
MEIZU: 'Meizu',
|
207
|
+
MICROSOFT: 'Microsoft',
|
208
|
+
MOTOROLA: 'Motorola',
|
209
|
+
NEXIAN: 'Nexian',
|
210
|
+
NINTENDO: 'Nintendo',
|
211
|
+
NOKIA: 'Nokia',
|
212
|
+
NVIDIA: 'Nvidia',
|
213
|
+
ONEPLUS: 'OnePlus',
|
214
|
+
OPPO: 'OPPO',
|
215
|
+
OUYA: 'Ouya',
|
216
|
+
PALM: 'Palm',
|
217
|
+
PANASONIC: 'Panasonic',
|
218
|
+
PEBBLE: 'Pebble',
|
219
|
+
POLYTRON: 'Polytron',
|
220
|
+
REALME: 'Realme',
|
221
|
+
RIM: 'RIM',
|
222
|
+
ROKU: 'Roku',
|
223
|
+
SAMSUNG: 'Samsung',
|
224
|
+
SHARP: 'Sharp',
|
225
|
+
SIEMENS: 'Siemens',
|
226
|
+
SONY: 'Sony',
|
227
|
+
SPRINT: 'Sprint',
|
228
|
+
TECHNISAT: 'TechniSAT',
|
229
|
+
TECNO: 'Tecno',
|
230
|
+
TESLA: 'Tesla',
|
231
|
+
ULEFONE: 'Ulefone',
|
232
|
+
VIVO: 'Vivo',
|
233
|
+
VODAFONE: 'Vodafone',
|
234
|
+
XBOX: 'Xbox',
|
235
|
+
XIAOMI: 'Xiaomi',
|
236
|
+
ZEBRA: 'Zebra',
|
237
|
+
ZTE: 'ZTE',
|
65
238
|
|
66
239
|
// TODO : test!
|
67
240
|
});
|
68
241
|
|
69
|
-
const
|
70
|
-
AMAYA
|
71
|
-
BLINK
|
242
|
+
const Engine = Object.freeze({
|
243
|
+
AMAYA: 'Amaya',
|
244
|
+
BLINK: 'Blink',
|
72
245
|
EDGEHTML: 'EdgeHTML',
|
73
|
-
FLOW
|
74
|
-
GECKO
|
75
|
-
GOANNA
|
76
|
-
ICAB
|
77
|
-
|
78
|
-
|
79
|
-
LINKS
|
80
|
-
LYNX
|
246
|
+
FLOW: 'Flow',
|
247
|
+
GECKO: 'Gecko',
|
248
|
+
GOANNA: 'Goanna',
|
249
|
+
ICAB: 'iCab',
|
250
|
+
KHTML: 'KHTML',
|
251
|
+
LIBWEB: 'LibWeb',
|
252
|
+
LINKS: 'Links',
|
253
|
+
LYNX: 'Lynx',
|
81
254
|
NETFRONT: 'NetFront',
|
82
|
-
NETSURF
|
83
|
-
PRESTO
|
84
|
-
TASMAN
|
85
|
-
TRIDENT
|
86
|
-
W3M
|
87
|
-
WEBKIT
|
255
|
+
NETSURF: 'NetSurf',
|
256
|
+
PRESTO: 'Presto',
|
257
|
+
TASMAN: 'Tasman',
|
258
|
+
TRIDENT: 'Trident',
|
259
|
+
W3M: 'w3m',
|
260
|
+
WEBKIT: 'WebKit'
|
88
261
|
});
|
89
262
|
|
90
|
-
const
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
263
|
+
const OS = Object.freeze({
|
264
|
+
AIX: 'AIX',
|
265
|
+
AMIGA_OS: 'Amiga OS',
|
266
|
+
ANDROID: 'Android',
|
267
|
+
ANDROID_X86: 'Android-x86',
|
268
|
+
ARCH: 'Arch',
|
269
|
+
BADA: 'Bada',
|
270
|
+
BEOS: 'BeOS',
|
271
|
+
BLACKBERRY: 'BlackBerry',
|
272
|
+
CENTOS: 'CentOS',
|
273
|
+
CHROME_OS: 'Chrome OS',
|
274
|
+
CHROMECAST: 'Chromecast',
|
275
|
+
CONTIKI: 'Contiki',
|
276
|
+
DEBIAN: 'Debian',
|
277
|
+
DEEPIN: 'Deepin',
|
278
|
+
DRAGONFLY: 'DragonFly',
|
279
|
+
ELEMENTARY_OS: 'elementary OS',
|
280
|
+
FEDORA: 'Fedora',
|
281
|
+
FIREFOX_OS: 'Firefox OS',
|
282
|
+
FREEBSD: 'FreeBSD',
|
283
|
+
FUCHSIA: 'Fuchsia',
|
284
|
+
GENTOO: 'Gentoo',
|
285
|
+
GHOSTBSD: 'GhostBSD',
|
286
|
+
GNU: 'GNU',
|
287
|
+
HAIKU: 'Haiku',
|
288
|
+
HARMONYOS: 'HarmonyOS',
|
289
|
+
HP_UX: 'HP-UX',
|
290
|
+
HURD: 'Hurd',
|
291
|
+
IOS: 'iOS',
|
292
|
+
JOLI: 'Joli',
|
293
|
+
KAIOS: 'KaiOS',
|
294
|
+
LINPUS: 'Linpus',
|
295
|
+
LINSPIRE: 'Linspire',
|
296
|
+
LINUX: 'Linux',
|
297
|
+
MACOS: 'macOS',
|
298
|
+
MAEMO: 'Maemo',
|
299
|
+
MAGEIA: 'Mageia',
|
300
|
+
MANDRIVA: 'Mandriva',
|
301
|
+
MANJARO: 'Manjaro',
|
302
|
+
MEEGO: 'MeeGo',
|
303
|
+
MINIX: 'Minix',
|
304
|
+
MINT: 'Mint',
|
305
|
+
MORPH_OS: 'Morph OS',
|
306
|
+
NETBSD: 'NetBSD',
|
307
|
+
NETRANGE: 'NetRange',
|
308
|
+
NETTV: 'NetTV',
|
309
|
+
NINTENDO: 'Nintendo',
|
310
|
+
OPENBSD: 'OpenBSD',
|
311
|
+
OPENVMS: 'OpenVMS',
|
312
|
+
OS2: 'OS/2',
|
313
|
+
PALM: 'Palm',
|
314
|
+
PC_BSD: 'PC-BSD',
|
315
|
+
PCLINUXOS: 'PCLinuxOS',
|
316
|
+
PLAN9: 'Plan9',
|
317
|
+
PLAYSTATION: 'PlayStation',
|
318
|
+
QNX: 'QNX',
|
319
|
+
RASPBIAN: 'Raspbian',
|
320
|
+
REDHAT: 'RedHat',
|
321
|
+
RIM_TABLET_OS: 'RIM Tablet OS',
|
322
|
+
RISC_OS: 'RISC OS',
|
323
|
+
SABAYON: 'Sabayon',
|
324
|
+
SAILFISH: 'Sailfish',
|
325
|
+
SERENITYOS: 'SerenityOS',
|
326
|
+
SERIES40: 'Series40',
|
327
|
+
SLACKWARE: 'Slackware',
|
328
|
+
SOLARIS: 'Solaris',
|
329
|
+
SUSE: 'SUSE',
|
330
|
+
SYMBIAN: 'Symbian',
|
331
|
+
TIZEN: 'Tizen',
|
332
|
+
UBUNTU: 'Ubuntu',
|
333
|
+
UNIX: 'Unix',
|
334
|
+
VECTORLINUX: 'VectorLinux',
|
335
|
+
VIERA: 'Viera',
|
336
|
+
WATCHOS: 'watchOS',
|
337
|
+
WEBOS: 'WebOS',
|
338
|
+
WINDOWS: 'Windows',
|
339
|
+
WINDOWS_MOBILE: 'Windows Mobile',
|
340
|
+
WINDOWS_PHONE: 'Windows Phone',
|
341
|
+
XBOX: 'Xbox',
|
342
|
+
ZENWALK: 'Zenwalk'
|
96
343
|
|
97
344
|
// TODO : test!
|
98
345
|
});
|
99
346
|
|
100
347
|
export {
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
348
|
+
Browser,
|
349
|
+
CPU,
|
350
|
+
Device,
|
351
|
+
Vendor,
|
352
|
+
Engine,
|
353
|
+
OS
|
107
354
|
};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// Type definitions for Helpers submodule of UAParser.js v2.0.0-beta.2
|
2
|
+
// Project: https://github.com/faisalman/ua-parser-js
|
3
|
+
// Definitions by: Faisal Salman <https://github.com/faisalman>
|
4
|
+
|
5
|
+
import type { UAParserExt } from "../main/ua-parser";
|
6
|
+
|
7
|
+
export const Apps: UAParserExt;
|
8
|
+
export const Bots: UAParserExt;
|
9
|
+
export const CLIs: UAParserExt;
|
10
|
+
export const ExtraDevices: UAParserExt;
|
11
|
+
export const Emails: UAParserExt;
|
12
|
+
export const MediaPlayers: UAParserExt;
|
13
|
+
export const Modules: UAParserExt;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
///////////////////////////////////////////////
|
2
|
-
/* Extensions for UAParser.js v2.0.0-
|
2
|
+
/* Extensions for UAParser.js v2.0.0-beta.2
|
3
3
|
https://github.com/faisalman/ua-parser-js
|
4
4
|
Author: Faisal Salman <f@faisalman.com>
|
5
|
-
|
5
|
+
AGPLv3 License */
|
6
6
|
//////////////////////////////////////////////
|
7
7
|
|
8
8
|
/*jshint esversion: 6 */
|
@@ -1,12 +1,12 @@
|
|
1
|
-
// Generated ESM version of
|
1
|
+
// Generated ESM version of ua-parser-js/extensions
|
2
2
|
// DO NOT EDIT THIS FILE!
|
3
3
|
// Source: /src/extensions/ua-parser-extensions.js
|
4
4
|
|
5
5
|
///////////////////////////////////////////////
|
6
|
-
/* Extensions for UAParser.js v2.0.0-
|
6
|
+
/* Extensions for UAParser.js v2.0.0-beta.2
|
7
7
|
https://github.com/faisalman/ua-parser-js
|
8
8
|
Author: Faisal Salman <f@faisalman.com>
|
9
|
-
|
9
|
+
AGPLv3 License */
|
10
10
|
//////////////////////////////////////////////
|
11
11
|
|
12
12
|
/*jshint esversion: 6 */
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// Type definitions for Helpers submodule of UAParser.js v2.0.0-beta.2
|
2
|
+
// Project: https://github.com/faisalman/ua-parser-js
|
3
|
+
// Definitions by: Faisal Salman <https://github.com/faisalman>
|
4
|
+
|
5
|
+
import { IResult } from "../main/ua-parser";
|
6
|
+
|
7
|
+
declare function isAppleSilicon(res: IResult): boolean;
|
8
|
+
declare function isChromiumBased(res: IResult): boolean;
|
9
|
+
declare function isFrozenUA(ua: string): boolean;
|
10
|
+
|
11
|
+
export {
|
12
|
+
isAppleSilicon,
|
13
|
+
isChromiumBased,
|
14
|
+
isFrozenUA
|
15
|
+
}
|
@@ -1,42 +1,22 @@
|
|
1
1
|
///////////////////////////////////////////////
|
2
|
-
/* Helpers for UAParser.js v2.0.0-
|
2
|
+
/* Helpers for UAParser.js v2.0.0-beta.2
|
3
3
|
https://github.com/faisalman/ua-parser-js
|
4
4
|
Author: Faisal Salman <f@faisalman.com>
|
5
|
-
|
5
|
+
AGPLv3 License */
|
6
6
|
//////////////////////////////////////////////
|
7
7
|
|
8
8
|
/*jshint esversion: 6 */
|
9
9
|
|
10
|
-
|
11
|
-
# Reference:
|
12
|
-
https://www.chromium.org/updates/ua-reduction/
|
10
|
+
const { CPU, OS, Engine } = require('../enums/ua-parser-enums');
|
13
11
|
|
14
|
-
|
15
|
-
---
|
16
|
-
Format:
|
17
|
-
Mozilla/5.0 (<unifiedPlatform>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<majorVersion>.0.0.0 Safari/537.36
|
12
|
+
const isAppleSilicon = (res) => res.os.is(OS.MACOS) && res.cpu.is(CPU.ARM);
|
18
13
|
|
19
|
-
|
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
|
14
|
+
const isChromiumBased = (res) => res.engine.is(Engine.BLINK);
|
25
15
|
|
26
|
-
|
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);
|
16
|
+
const isFrozenUA = (ua) => /^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/.test(ua);
|
39
17
|
|
40
18
|
module.exports = {
|
19
|
+
isAppleSilicon,
|
20
|
+
isChromiumBased,
|
41
21
|
isFrozenUA
|
42
|
-
}
|
22
|
+
}
|
@@ -1,46 +1,26 @@
|
|
1
|
-
// Generated ESM version of
|
1
|
+
// Generated ESM version of ua-parser-js/helpers
|
2
2
|
// DO NOT EDIT THIS FILE!
|
3
3
|
// Source: /src/helpers/ua-parser-helpers.js
|
4
4
|
|
5
5
|
///////////////////////////////////////////////
|
6
|
-
/* Helpers for UAParser.js v2.0.0-
|
6
|
+
/* Helpers for UAParser.js v2.0.0-beta.2
|
7
7
|
https://github.com/faisalman/ua-parser-js
|
8
8
|
Author: Faisal Salman <f@faisalman.com>
|
9
|
-
|
9
|
+
AGPLv3 License */
|
10
10
|
//////////////////////////////////////////////
|
11
11
|
|
12
12
|
/*jshint esversion: 6 */
|
13
13
|
|
14
|
-
|
15
|
-
# Reference:
|
16
|
-
https://www.chromium.org/updates/ua-reduction/
|
14
|
+
import { CPU, OS, Engine } from '../enums/ua-parser-enums';
|
17
15
|
|
18
|
-
|
19
|
-
---
|
20
|
-
Format:
|
21
|
-
Mozilla/5.0 (<unifiedPlatform>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<majorVersion>.0.0.0 Safari/537.36
|
16
|
+
const isAppleSilicon = (res) => res.os.is(OS.MACOS) && res.cpu.is(CPU.ARM);
|
22
17
|
|
23
|
-
|
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
|
18
|
+
const isChromiumBased = (res) => res.engine.is(Engine.BLINK);
|
29
19
|
|
30
|
-
|
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);
|
20
|
+
const isFrozenUA = (ua) => /^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/.test(ua);
|
43
21
|
|
44
22
|
export {
|
23
|
+
isAppleSilicon,
|
24
|
+
isChromiumBased,
|
45
25
|
isFrozenUA
|
46
|
-
}
|
26
|
+
}
|