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

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,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
+ }