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

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,120 @@
1
+ ///////////////////////////////////////////////
2
+ /* Extensions for UAParser.js v2.0.0-alpha.2
3
+ https://github.com/faisalman/ua-parser-js
4
+ Author: Faisal Salman <f@faisalman.com>
5
+ MIT License */
6
+ //////////////////////////////////////////////
7
+
8
+ const MODEL = 'model';
9
+ const NAME = 'name';
10
+ const TYPE = 'type';
11
+ const VENDOR = 'vendor';
12
+ const VERSION = 'version';
13
+ const MOBILE = 'mobile';
14
+ const TABLET = 'tablet';
15
+
16
+ const Bots = Object.freeze({
17
+ browser : [
18
+ // Googlebot / BingBot / MSNBot / FacebookBot
19
+ [/((?:google|bing|msn|facebook)bot(?:\-[imagevdo]{5})?|bingpreview)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'bot']]
20
+ ]
21
+ });
22
+
23
+ const ExtraDevices = Object.freeze({
24
+ device : [
25
+ [
26
+ /(nook)[\w ]+build\/(\w+)/i, // Nook
27
+ /(dell) (strea[kpr\d ]*[\dko])/i, // Dell Streak
28
+ /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, // Le Pan Tablets
29
+ /(trinity)[- ]*(t\d{3}) bui/i, // Trinity Tablets
30
+ /(gigaset)[- ]+(q\w{1,9}) bui/i, // Gigaset Tablets
31
+ /(vodafone) ([\w ]+)(?:\)| bui)/i // Vodafone
32
+ ], [VENDOR, MODEL, [TYPE, TABLET]], [
33
+
34
+ /(u304aa)/i // AT&T
35
+ ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
36
+
37
+ /\bsie-(\w*)/i // Siemens
38
+ ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [
39
+
40
+ /\b(rct\w+) b/i // RCA Tablets
41
+ ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
42
+
43
+ /\b(venue[\d ]{2,7}) b/i // Dell Venue Tablets
44
+ ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
45
+
46
+ /\b(q(?:mv|ta)\w+) b/i // Verizon Tablet
47
+ ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [
48
+
49
+ /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i // Barnes & Noble Tablet
50
+ ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [
51
+
52
+ /\b(tm\d{3}\w+) b/i
53
+ ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
54
+
55
+ /\b(k88) b/i // ZTE K Series Tablet
56
+ ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
57
+
58
+ /\b(nx\d{3}j) b/i // ZTE Nubia
59
+ ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [
60
+
61
+ /\b(gen\d{3}) b.+49h/i // Swiss GEN Mobile
62
+ ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
63
+
64
+ /\b(zur\d{3}) b/i // Swiss ZUR Tablet
65
+ ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [
66
+
67
+ /\b((zeki)?tb.*\b) b/i // Zeki Tablets
68
+ ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
69
+
70
+ /\b([yr]\d{2}) b/i,
71
+ /\b(?:dragon[- ]+touch |dt)(\w{5}) b/i // Dragon Touch Tablet
72
+ ], [MODEL, [VENDOR, 'Dragon Touch'], [TYPE, TABLET]], [
73
+
74
+ /\b(ns-?\w{0,9}) b/i // Insignia Tablets
75
+ ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
76
+
77
+ /\b((nxa|next)-?\w{0,9}) b/i // NextBook Tablets
78
+ ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
79
+
80
+ /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones
81
+ ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [
82
+
83
+ /\b(lvtel\-)?(v1[12]) b/i // LvTel Phones
84
+ ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [
85
+
86
+ /\b(ph-1) /i // Essential PH-1
87
+ ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [
88
+
89
+ /\b(v(100md|700na|7011|917g).*\b) b/i // Envizen Tablets
90
+ ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
91
+
92
+ /\b(trio[-\w\. ]+) b/i // MachSpeed Tablets
93
+ ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [
94
+
95
+ /\btu_(1491) b/i // Rotor Tablets
96
+ ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]
97
+ ]
98
+ ]
99
+ });
100
+
101
+ const Emails = Object.freeze({
102
+ browser : [
103
+ // Microsoft Outlook / Thunderbird
104
+ [/(microsoft outlook|thunderbird)[\s\/]([\w\.]+)/i], [NAME, VERSION, [TYPE, 'email']]
105
+ ]
106
+ });
107
+
108
+ const Tools = Object.freeze({
109
+ browser : [
110
+ // wget / curl / lynx
111
+ [/(wget|curl|lynx)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'tool']]
112
+ ]
113
+ });
114
+
115
+ module.exports = {
116
+ Bots,
117
+ ExtraDevices,
118
+ Emails,
119
+ Tools
120
+ }
@@ -0,0 +1,124 @@
1
+ // Generated ESM version of UAParser.js extensions
2
+ // DO NOT EDIT THIS FILE!
3
+ // Source: /src/extension/ua-parser-extension.js
4
+
5
+ ///////////////////////////////////////////////
6
+ /* Extensions for UAParser.js v2.0.0-alpha.2
7
+ https://github.com/faisalman/ua-parser-js
8
+ Author: Faisal Salman <f@faisalman.com>
9
+ MIT License */
10
+ //////////////////////////////////////////////
11
+
12
+ const MODEL = 'model';
13
+ const NAME = 'name';
14
+ const TYPE = 'type';
15
+ const VENDOR = 'vendor';
16
+ const VERSION = 'version';
17
+ const MOBILE = 'mobile';
18
+ const TABLET = 'tablet';
19
+
20
+ const Bots = Object.freeze({
21
+ browser : [
22
+ // Googlebot / BingBot / MSNBot / FacebookBot
23
+ [/((?:google|bing|msn|facebook)bot(?:\-[imagevdo]{5})?|bingpreview)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'bot']]
24
+ ]
25
+ });
26
+
27
+ const ExtraDevices = Object.freeze({
28
+ device : [
29
+ [
30
+ /(nook)[\w ]+build\/(\w+)/i, // Nook
31
+ /(dell) (strea[kpr\d ]*[\dko])/i, // Dell Streak
32
+ /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, // Le Pan Tablets
33
+ /(trinity)[- ]*(t\d{3}) bui/i, // Trinity Tablets
34
+ /(gigaset)[- ]+(q\w{1,9}) bui/i, // Gigaset Tablets
35
+ /(vodafone) ([\w ]+)(?:\)| bui)/i // Vodafone
36
+ ], [VENDOR, MODEL, [TYPE, TABLET]], [
37
+
38
+ /(u304aa)/i // AT&T
39
+ ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
40
+
41
+ /\bsie-(\w*)/i // Siemens
42
+ ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [
43
+
44
+ /\b(rct\w+) b/i // RCA Tablets
45
+ ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
46
+
47
+ /\b(venue[\d ]{2,7}) b/i // Dell Venue Tablets
48
+ ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
49
+
50
+ /\b(q(?:mv|ta)\w+) b/i // Verizon Tablet
51
+ ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [
52
+
53
+ /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i // Barnes & Noble Tablet
54
+ ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [
55
+
56
+ /\b(tm\d{3}\w+) b/i
57
+ ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
58
+
59
+ /\b(k88) b/i // ZTE K Series Tablet
60
+ ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
61
+
62
+ /\b(nx\d{3}j) b/i // ZTE Nubia
63
+ ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [
64
+
65
+ /\b(gen\d{3}) b.+49h/i // Swiss GEN Mobile
66
+ ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
67
+
68
+ /\b(zur\d{3}) b/i // Swiss ZUR Tablet
69
+ ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [
70
+
71
+ /\b((zeki)?tb.*\b) b/i // Zeki Tablets
72
+ ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
73
+
74
+ /\b([yr]\d{2}) b/i,
75
+ /\b(?:dragon[- ]+touch |dt)(\w{5}) b/i // Dragon Touch Tablet
76
+ ], [MODEL, [VENDOR, 'Dragon Touch'], [TYPE, TABLET]], [
77
+
78
+ /\b(ns-?\w{0,9}) b/i // Insignia Tablets
79
+ ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
80
+
81
+ /\b((nxa|next)-?\w{0,9}) b/i // NextBook Tablets
82
+ ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
83
+
84
+ /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones
85
+ ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [
86
+
87
+ /\b(lvtel\-)?(v1[12]) b/i // LvTel Phones
88
+ ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [
89
+
90
+ /\b(ph-1) /i // Essential PH-1
91
+ ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [
92
+
93
+ /\b(v(100md|700na|7011|917g).*\b) b/i // Envizen Tablets
94
+ ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
95
+
96
+ /\b(trio[-\w\. ]+) b/i // MachSpeed Tablets
97
+ ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [
98
+
99
+ /\btu_(1491) b/i // Rotor Tablets
100
+ ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]
101
+ ]
102
+ ]
103
+ });
104
+
105
+ const Emails = Object.freeze({
106
+ browser : [
107
+ // Microsoft Outlook / Thunderbird
108
+ [/(microsoft outlook|thunderbird)[\s\/]([\w\.]+)/i], [NAME, VERSION, [TYPE, 'email']]
109
+ ]
110
+ });
111
+
112
+ const Tools = Object.freeze({
113
+ browser : [
114
+ // wget / curl / lynx
115
+ [/(wget|curl|lynx)\/([\w\.]+)/i], [NAME, VERSION, [TYPE, 'tool']]
116
+ ]
117
+ });
118
+
119
+ export {
120
+ Bots,
121
+ ExtraDevices,
122
+ Emails,
123
+ Tools
124
+ }