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
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"title": "UAParser.js",
|
3
3
|
"name": "ua-parser-js",
|
4
|
-
"version": "2.0.0-
|
4
|
+
"version": "2.0.0-beta.2",
|
5
5
|
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
|
6
6
|
"description": "Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client Hints data. Supports browser & node.js environment",
|
7
7
|
"keywords": [
|
@@ -14,7 +14,11 @@
|
|
14
14
|
"device",
|
15
15
|
"cpu",
|
16
16
|
"jquery-plugin",
|
17
|
-
"ecosystem:jquery"
|
17
|
+
"ecosystem:jquery",
|
18
|
+
"ua-parser-js",
|
19
|
+
"browser-detection",
|
20
|
+
"device-detection",
|
21
|
+
"os-detection"
|
18
22
|
],
|
19
23
|
"homepage": "https://github.com/faisalman/ua-parser-js",
|
20
24
|
"contributors": [
|
@@ -35,8 +39,11 @@
|
|
35
39
|
"Carl C Von Lewin <carlchristianlewin@gmail.com>",
|
36
40
|
"CESAR RAMOS <c@imagenproactiva.com>",
|
37
41
|
"Chad Killingsworth <ckillingsworth@jackhenry.com>",
|
42
|
+
"chenhui9279 <chenhui9279@autohome.com.cn>",
|
43
|
+
"chenyuan-new <53860479+chenyuan-new@users.noreply.github.com>",
|
38
44
|
"Christopher De Cairos <chris.decairos@gmail.com>",
|
39
45
|
"Cyrille David <cyrille@qonto.eu>",
|
46
|
+
"Dante <duanjl.china@gmail.com>",
|
40
47
|
"Dario Vladovic <d.vladimyr@gmail.com>",
|
41
48
|
"David Annez <david.annez@gmail.com>",
|
42
49
|
"Davit Barbakadze <jayarjo@gmail.com>",
|
@@ -59,10 +66,12 @@
|
|
59
66
|
"Faisal Salman <f@faisalman.com>",
|
60
67
|
"Frédéric Camblor <fcamblor@gmail.com>",
|
61
68
|
"Frederik Ring <frederik.ring@gmail.com>",
|
69
|
+
"Garrit Franke <garrit@slashdev.space>",
|
62
70
|
"Gerald Host <me@jacobford.co.uk>",
|
63
71
|
"Germán M. Bravo <german.mb@gmail.com>",
|
64
72
|
"Grigory Dmitrenko <grigory@snsk.ru>",
|
65
73
|
"gulpin <gulping.gulpin@gmail.com>",
|
74
|
+
"Hans Ott <hansott@hotmail.be>",
|
66
75
|
"Hendrik Helwich <h.helwich@iplabs.de>",
|
67
76
|
"Hermann Ebert <ebbmo@HE.local>",
|
68
77
|
"hr6r <hedian@gmail.com>",
|
@@ -70,6 +79,7 @@
|
|
70
79
|
"Ildar Kamalov <i.kamalov@adguard.com>",
|
71
80
|
"insanehong <insane.hong@navercorp.com>",
|
72
81
|
"jackpoll <jackpoll123456@gmail.com>",
|
82
|
+
"Jacky Choo <jackychoo@adly-macbook.local>",
|
73
83
|
"Jake Mc <startswithaj@users.noreply.github.com>",
|
74
84
|
"JBYoshi <12983479+JBYoshi@users.noreply.github.com>",
|
75
85
|
"Joey Parrish <joeyparrish@google.com>",
|
@@ -79,11 +89,14 @@
|
|
79
89
|
"Josh Goldberg <joshuakgoldberg@outlook.com>",
|
80
90
|
"Junki-Ishida <junki_ishida@dwango.co.jp>",
|
81
91
|
"Kendall Buchanan <kendall@kendagriff.com>",
|
92
|
+
"KnifeLemon <role___play@naver.com>",
|
93
|
+
"kNoAPP <alldoneb@gmail.com>",
|
82
94
|
"Lee Treveil <leetreveil@gmail.com>",
|
83
95
|
"leonardo <leofiore@libero.it>",
|
84
96
|
"Levente Balogh <balogh.levente.hu@gmail.com>",
|
85
97
|
"Liam Quinn <lquinn@blackberry.com>",
|
86
98
|
"Lithin <lithin@webklipper.com>",
|
99
|
+
"liujunlve <liujunlve@henhaoji.com>",
|
87
100
|
"ll-syber <670159357@qq.com>",
|
88
101
|
"Loris Guignard <loris.guignard@gmail.com>",
|
89
102
|
"Lukas Drgon <lukas.drgon@gmail.com>",
|
@@ -98,6 +111,8 @@
|
|
98
111
|
"Max Nordlund <max.nordlund@gmail.com>",
|
99
112
|
"Michael Hess <mhess@connectify.me>",
|
100
113
|
"MimyyK <michele.marais@hakisa.com>",
|
114
|
+
"Mok <mok@moekm.com>",
|
115
|
+
"nabetama <mao.nabeta@gmail.com>",
|
101
116
|
"naoh <naoh.cs03g@nctu.edu.tw>",
|
102
117
|
"Nicholas Ionata <nionata@ufl.edu>",
|
103
118
|
"Nikhil Motiani <nikhil.motiani@outlook.com>",
|
@@ -106,7 +121,9 @@
|
|
106
121
|
"niris <nirisix@gmail.com>",
|
107
122
|
"Nobuo Okada <nookada@yahoo-corp.jp>",
|
108
123
|
"o.drapeza <o.drapeza@tinkoff.ru>",
|
124
|
+
"Oscar Becerra <oscarbecerra@google.com>",
|
109
125
|
"otakuSiD <otakusid@gmail.com>",
|
126
|
+
"Paris Morgan <paris@8thwall.com>",
|
110
127
|
"patrick-nurt <github@pereira.dk>",
|
111
128
|
"Pavel Studeny <studeny@avast.com>",
|
112
129
|
"Peter Dave Hello <PeterDaveHello@users.noreply.github.com>",
|
@@ -116,19 +133,24 @@
|
|
116
133
|
"Queen Vinyl Darkscratch <vinyldarkscratch@gmail.com>",
|
117
134
|
"Raine Makelainen <raine.makelainen@jolla.com>",
|
118
135
|
"Raman Savaryn <homeneartheocean@gmail.com>",
|
136
|
+
"Riley Shaw <rileyjshaw@users.noreply.github.com>",
|
119
137
|
"Robert Tod <robert@qubit.com>",
|
120
138
|
"roman.savarin <roman.savarin@skywindgroup.com>",
|
121
139
|
"Ron Korland <ron@testim.io>",
|
122
140
|
"Ross Noble <rosshnoble@gmail.com>",
|
123
141
|
"ruicong <466403866@qq.com>",
|
142
|
+
"Runar Heggset <rukki093@gmail.com>",
|
143
|
+
"Ryohei Shima <shima01dev@gmail.com>",
|
124
144
|
"Sandro Sonntag <sandro.sonntag@adorsys.de>",
|
125
145
|
"sgautrea <shanegautreau@gmail.com>",
|
146
|
+
"shaharmor <shahar@peer5.com>",
|
126
147
|
"Shane Gautreau <sgautrea@opentext.com>",
|
127
148
|
"Shane Thacker <shane@steadymade.com>",
|
128
149
|
"Shreedhar <shreedhar@uber.com>",
|
129
150
|
"Simon Eisenmann <simon@longsleep.org>",
|
130
151
|
"Simon Lang <me@simonlang.org>",
|
131
152
|
"Stiekel <histkc@gmail.com>",
|
153
|
+
"sunny-mwx <30586210+sunny-mwx@users.noreply.github.com>",
|
132
154
|
"sUP <dani3l@gmail.com>",
|
133
155
|
"Sylvain Gizard <sylvain.gizard@gmail.com>",
|
134
156
|
"szchenghuang <szchenghuang@gmail.com>",
|
@@ -136,19 +158,24 @@
|
|
136
158
|
"Tony Tomarchio <tony@tomarchio.cc>",
|
137
159
|
"Ulrich Schmidt <u.schmidt@velian.de>",
|
138
160
|
"Vadim Kurachevsky <vadim@hmvs.org>",
|
161
|
+
"Varun Sharma <varunsh@stepsecurity.io>",
|
162
|
+
"XhmikosR <xhmikosr@gmail.com>",
|
139
163
|
"Yılmaz <yilmazdemir36@gmail.com>",
|
140
164
|
"yuanyang <work_yuanyang@163.com>",
|
141
165
|
"Yun Young-jin <yupmin@yupmin-office-macmini.local>",
|
142
|
-
"Zach Bjornson <zbbjornson@gmail.com>"
|
166
|
+
"Zach Bjornson <zbbjornson@gmail.com>",
|
167
|
+
"Ziding Zhang <zidingz@gmail.com>"
|
143
168
|
],
|
144
169
|
"type": "commonjs",
|
170
|
+
"types": "src/main/ua-parser.d.ts",
|
145
171
|
"main": "src/main/ua-parser.js",
|
146
172
|
"module": "src/main/ua-parser.mjs",
|
147
173
|
"browser": "dist/ua-parser.pack.js",
|
148
174
|
"exports": {
|
149
175
|
".": {
|
150
176
|
"require": "./src/main/ua-parser.js",
|
151
|
-
"import": "./src/main/ua-parser.mjs"
|
177
|
+
"import": "./src/main/ua-parser.mjs",
|
178
|
+
"types": "./src/main/ua-parser.d.ts"
|
152
179
|
},
|
153
180
|
"./enums": {
|
154
181
|
"require": "./src/enums/ua-parser-enums.js",
|
@@ -156,11 +183,13 @@
|
|
156
183
|
},
|
157
184
|
"./extensions": {
|
158
185
|
"require": "./src/extensions/ua-parser-extensions.js",
|
159
|
-
"import": "./src/extensions/ua-parser-extensions.mjs"
|
186
|
+
"import": "./src/extensions/ua-parser-extensions.mjs",
|
187
|
+
"types": "./src/extensions/ua-parser-extensions.d.ts"
|
160
188
|
},
|
161
189
|
"./helpers": {
|
162
190
|
"require": "./src/helpers/ua-parser-helpers.js",
|
163
|
-
"import": "./src/helpers/ua-parser-helpers.mjs"
|
191
|
+
"import": "./src/helpers/ua-parser-helpers.mjs",
|
192
|
+
"types": "./src/helpers/ua-parser-helpers.d.ts"
|
164
193
|
}
|
165
194
|
},
|
166
195
|
"files": [
|
@@ -169,29 +198,33 @@
|
|
169
198
|
],
|
170
199
|
"scripts": {
|
171
200
|
"build": "./script/build-dist.sh && ./script/build-module.js",
|
201
|
+
"build+test": "npm run build && npm run test",
|
172
202
|
"fuzz": "jazzer ./test/jazzer-fuzz-test.js --sync",
|
173
203
|
"test": "./script/test-all.sh",
|
174
|
-
"test:
|
204
|
+
"test:dts-lint": "tsd --typings src/main/ua-parser.d.ts --files test/dts-test.ts",
|
205
|
+
"test:eslint": "eslint src && eslint script",
|
206
|
+
"test:jshint": "jshint src/main",
|
175
207
|
"test:lockfile-lint": "npx lockfile-lint -p package-lock.json",
|
176
208
|
"test:mocha": "mocha -R list test/mocha*js",
|
177
209
|
"test:playwright": "playwright test"
|
178
210
|
},
|
179
211
|
"devDependencies": {
|
180
212
|
"@babel/parser": "7.15.8",
|
181
|
-
"@babel/traverse": "7.
|
213
|
+
"@babel/traverse": "7.23.2",
|
182
214
|
"@jazzer.js/core": "^1.4.0",
|
183
215
|
"@playwright/test": "~1.32.2",
|
184
216
|
"jshint": "~2.13.6",
|
185
217
|
"mocha": "~8.2.0",
|
186
218
|
"requirejs": "2.3.2",
|
187
219
|
"safe-regex": "^2.1.1",
|
220
|
+
"tsd": "^0.29.0",
|
188
221
|
"uglify-js": "~3.12.0"
|
189
222
|
},
|
190
223
|
"repository": {
|
191
224
|
"type": "git",
|
192
225
|
"url": "https://github.com/faisalman/ua-parser-js.git"
|
193
226
|
},
|
194
|
-
"license": "
|
227
|
+
"license": "AGPL-3.0-or-later",
|
195
228
|
"engines": {
|
196
229
|
"node": "*"
|
197
230
|
},
|
@@ -202,8 +235,8 @@
|
|
202
235
|
"test": "test"
|
203
236
|
},
|
204
237
|
"bugs": "https://github.com/faisalman/ua-parser-js/issues",
|
205
|
-
"demo": "https://
|
206
|
-
"download": "https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.
|
238
|
+
"demo": "https://uaparser.js.org",
|
239
|
+
"download": "https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.pack.js",
|
207
240
|
"funding": [
|
208
241
|
{
|
209
242
|
"type": "opencollective",
|
@@ -1,103 +1,350 @@
|
|
1
1
|
///////////////////////////////////////////////
|
2
|
-
/* Enums for UAParser.js v2.0.0-
|
2
|
+
/* Enums 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
|
-
const
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
10
|
+
const Browser = Object.freeze({
|
11
|
+
_2345_EXPLORER: '2345Explorer',
|
12
|
+
_360: '360 Browser',
|
13
|
+
ALIPAY: 'Alipay',
|
14
|
+
AMAYA: 'Amaya',
|
15
|
+
ANDROID: 'Android Browser',
|
16
|
+
ARORA: 'Arora',
|
17
|
+
AVANT: 'Avant',
|
18
|
+
AVAST: 'Avast Secure Browser',
|
19
|
+
AVG: 'AVG Secure Browser',
|
20
|
+
BAIDU: 'Baidu Browser',
|
21
|
+
BASILISK: 'Basilisk',
|
22
|
+
BLAZER: 'Blazer',
|
23
|
+
BOLT: 'Bolt',
|
24
|
+
BOWSER: 'Bowser',
|
25
|
+
BRAVE: 'Brave',
|
26
|
+
CAMINO: 'Camino',
|
27
|
+
CHIMERA: 'Chimera',
|
28
|
+
CHROME: 'Chrome',
|
29
|
+
CHROME_HEADLESS: 'Chrome Headless',
|
30
|
+
CHROME_MOBILE: 'Mobile Chrome',
|
31
|
+
CHROME_WEBVIEW: 'Chrome WebView',
|
32
|
+
CHROMIUM: 'Chromium',
|
33
|
+
COBALT: 'Cobalt',
|
34
|
+
COC_COC: 'Coc Coc',
|
35
|
+
COMODO_DRAGON: 'Comodo Dragon',
|
36
|
+
CONKEROR: 'Conkeror',
|
37
|
+
DILLO: 'Dillo',
|
38
|
+
DOLPHIN: 'Dolphin',
|
39
|
+
DORIS: 'Doris',
|
40
|
+
DUCKDUCKGO: 'DuckDuckGo',
|
41
|
+
EDGE: 'Edge',
|
42
|
+
EPIPHANY: 'Epiphany',
|
43
|
+
FACEBOOK: 'Facebook',
|
44
|
+
FALKON: 'Falkon',
|
45
|
+
FIREBIRD: 'Firebird',
|
46
|
+
FIREFOX: 'Firefox',
|
47
|
+
FIREFOX_FOCUS: 'Firefox Focus',
|
48
|
+
FIREFOX_MOBILE: 'Mobile Firefox',
|
49
|
+
FIREFOX_REALITY: 'Firefox Reality',
|
50
|
+
FENNEC: 'Fennec',
|
51
|
+
FLOCK: 'Flock',
|
52
|
+
FLOW: 'Flow',
|
53
|
+
GO: 'Go Browser',
|
54
|
+
GOOGLE_SEARCH: 'GSA',
|
55
|
+
HEYTAP: 'HeyTap',
|
56
|
+
HUAWEI: 'Huawei Browser',
|
57
|
+
ICAB: 'iCab',
|
58
|
+
ICE: 'ICE Browser',
|
59
|
+
ICEAPE: 'IceApe',
|
60
|
+
ICECAT: 'IceCat',
|
61
|
+
ICEDRAGON: 'IceDragon',
|
62
|
+
ICEWEASEL: 'IceWeasel',
|
63
|
+
IE: 'IE',
|
64
|
+
INSTAGRAM: 'Instagram',
|
65
|
+
IRIDIUM: 'Iridium',
|
66
|
+
IRON: 'Iron',
|
67
|
+
JASMINE: 'Jasmine',
|
68
|
+
KONQUEROR: 'Konqueror',
|
69
|
+
KAKAO: 'KakaoTalk',
|
70
|
+
KHTML: 'KHTML',
|
71
|
+
K_MELEON: 'K-Meleon',
|
72
|
+
KLAR: 'Klar',
|
73
|
+
KLARNA: 'Klarna',
|
74
|
+
KINDLE: 'Kindle',
|
75
|
+
LENOVO: 'Smart Lenovo Browser',
|
76
|
+
LIEBAO: 'LBBROWSER',
|
77
|
+
LINE: 'Line',
|
78
|
+
LINKEDIN: 'LinkedIn',
|
79
|
+
LINKS: 'Links',
|
80
|
+
LUNASCAPE: 'Lunascape',
|
81
|
+
LYNX: 'Lynx',
|
82
|
+
MAEMO: 'Maemo Browser',
|
83
|
+
MAXTHON: 'Maxthon',
|
84
|
+
MIDORI: 'Midori',
|
85
|
+
MINIMO: 'Minimo',
|
86
|
+
MIUI: 'MIUI Browser',
|
87
|
+
MOZILLA: 'Mozilla',
|
88
|
+
MOSAIC: 'Mosaic',
|
89
|
+
NAVER: 'Naver',
|
90
|
+
NETFRONT: 'NetFront',
|
91
|
+
NETSCAPE: 'Netscape',
|
92
|
+
NETSURF: 'Netsurf',
|
93
|
+
NOKIA: 'Nokia Browser',
|
94
|
+
OBIGO: 'Obigo',
|
95
|
+
OCULUS: 'Oculus Browser',
|
96
|
+
OMNIWEB: 'OmniWeb',
|
97
|
+
OPERA: 'Opera',
|
98
|
+
OPERA_COAST: 'Opera Coast',
|
99
|
+
OPERA_MINI: 'Opera Mini',
|
100
|
+
OPERA_MOBI: 'Opera Mobi',
|
101
|
+
OPERA_TABLET: 'Opera Tablet',
|
102
|
+
OPERA_TOUCH: 'Opera Touch',
|
103
|
+
OVI: 'OviBrowser',
|
104
|
+
PALEMOON: 'PaleMoon',
|
105
|
+
PHANTOMJS: 'PhantomJS',
|
106
|
+
PHOENIX: 'Phoenix',
|
107
|
+
POLARIS: 'Polaris',
|
108
|
+
PUFFIN: 'Puffin',
|
109
|
+
QQ: 'QQBrowser',
|
110
|
+
QQ_LITE: 'QQBrowserLite',
|
111
|
+
QUARK: 'Quark',
|
112
|
+
QUPZILLA: 'QupZilla',
|
113
|
+
REKONQ: 'rekonq',
|
114
|
+
ROCKMELT: 'Rockmelt',
|
115
|
+
SAFARI: 'Safari',
|
116
|
+
SAFARI_MOBILE: 'Mobile Safari',
|
117
|
+
SAILFISH: 'Sailfish Browser',
|
118
|
+
SAMSUNG: 'Samsung Internet',
|
119
|
+
SEAMONKEY: 'SeaMonkey',
|
120
|
+
SILK: 'Silk',
|
121
|
+
SKYFIRE: 'Skyfire',
|
122
|
+
SLEIPNIR: 'Sleipnir',
|
123
|
+
SLIMBROWSER: 'SlimBrowser',
|
124
|
+
SNAPCHAT: 'Snapchat',
|
125
|
+
SOGOU_EXPLORER: 'Sogou Explorer',
|
126
|
+
SOGOU_MOBILE: 'Sogou Mobile',
|
127
|
+
SWIFTFOX: 'Swiftfox',
|
128
|
+
TESLA: 'Tesla',
|
129
|
+
TIKTOK: 'TikTok',
|
130
|
+
TIZEN: 'Tizen Browser',
|
131
|
+
UC: 'UCBrowser',
|
132
|
+
UP: 'UP.Browser',
|
133
|
+
VIERA: 'Viera',
|
134
|
+
VIVALDI: 'Vivaldi',
|
135
|
+
VIVO: 'Vivo Browser',
|
136
|
+
W3M: 'w3m',
|
137
|
+
WATERFOX: 'Waterfox',
|
138
|
+
WEBKIT: 'WebKit',
|
139
|
+
WECHAT: 'WeChat',
|
140
|
+
WEIBO: 'Weibo',
|
141
|
+
WHALE: 'Whale',
|
142
|
+
YANDEX: 'Yandex'
|
20
143
|
|
21
144
|
// TODO : test!
|
22
145
|
});
|
23
146
|
|
24
|
-
const
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
PPC
|
38
|
-
SPARC
|
39
|
-
|
147
|
+
const CPU = Object.freeze({
|
148
|
+
ARM : 'arm',
|
149
|
+
ARM_64: 'arm64',
|
150
|
+
ARM_HF: 'armhf',
|
151
|
+
AVR: 'avr',
|
152
|
+
AVR_32: 'avr32',
|
153
|
+
IA64: 'ia64',
|
154
|
+
IRIX: 'irix',
|
155
|
+
IRIX_64: 'irix64',
|
156
|
+
MIPS: 'mips',
|
157
|
+
MIPS_64: 'mips64',
|
158
|
+
M68K: '68k',
|
159
|
+
PA_RISC: 'pa-risc',
|
160
|
+
PPC: 'ppc',
|
161
|
+
SPARC: 'sparc',
|
162
|
+
SPARC_64: 'sparc64',
|
163
|
+
X86: 'ia32',
|
164
|
+
X86_64: 'amd64'
|
40
165
|
});
|
41
166
|
|
42
|
-
const
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
167
|
+
const Device = Object.freeze({
|
168
|
+
CONSOLE: 'console',
|
169
|
+
DESKTOP: 'desktop',
|
170
|
+
EMBEDDED: 'embedded',
|
171
|
+
MOBILE: 'mobile',
|
172
|
+
SMARTTV: 'smarttv',
|
173
|
+
TABLET: 'tablet',
|
174
|
+
WEARABLE: 'wearable'
|
49
175
|
});
|
50
176
|
|
51
|
-
const
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
177
|
+
const Vendor = Object.freeze({
|
178
|
+
ACER: 'Acer',
|
179
|
+
ALCATEL: 'Alcatel',
|
180
|
+
APPLE: 'Apple',
|
181
|
+
AMAZON: 'Amazon',
|
182
|
+
ARCHOS: 'Archos',
|
183
|
+
ASUS: 'ASUS',
|
184
|
+
ATT: 'AT&T',
|
185
|
+
BENQ: 'BenQ',
|
186
|
+
BLACKBERRY: 'BlackBerry',
|
187
|
+
DELL: 'Dell',
|
188
|
+
ESSENTIAL: 'Essential',
|
189
|
+
FACEBOOK: 'Facebook',
|
190
|
+
FAIRPHONE: 'Fairphone',
|
191
|
+
GEEKSPHONE: 'GeeksPhone',
|
192
|
+
GENERIC: 'Generic',
|
193
|
+
GOOGLE: 'Google',
|
194
|
+
HP: 'HP',
|
195
|
+
HTC: 'HTC',
|
196
|
+
HUAWEI: 'Huawei',
|
197
|
+
INFINIX: 'Infinix',
|
198
|
+
JOLLA: 'Jolla',
|
199
|
+
KOBO: 'Kobo',
|
200
|
+
LENOVO: 'Lenovo',
|
201
|
+
LG: 'LG',
|
202
|
+
MEIZU: 'Meizu',
|
203
|
+
MICROSOFT: 'Microsoft',
|
204
|
+
MOTOROLA: 'Motorola',
|
205
|
+
NEXIAN: 'Nexian',
|
206
|
+
NINTENDO: 'Nintendo',
|
207
|
+
NOKIA: 'Nokia',
|
208
|
+
NVIDIA: 'Nvidia',
|
209
|
+
ONEPLUS: 'OnePlus',
|
210
|
+
OPPO: 'OPPO',
|
211
|
+
OUYA: 'Ouya',
|
212
|
+
PALM: 'Palm',
|
213
|
+
PANASONIC: 'Panasonic',
|
214
|
+
PEBBLE: 'Pebble',
|
215
|
+
POLYTRON: 'Polytron',
|
216
|
+
REALME: 'Realme',
|
217
|
+
RIM: 'RIM',
|
218
|
+
ROKU: 'Roku',
|
219
|
+
SAMSUNG: 'Samsung',
|
220
|
+
SHARP: 'Sharp',
|
221
|
+
SIEMENS: 'Siemens',
|
222
|
+
SONY: 'Sony',
|
223
|
+
SPRINT: 'Sprint',
|
224
|
+
TECHNISAT: 'TechniSAT',
|
225
|
+
TECNO: 'Tecno',
|
226
|
+
TESLA: 'Tesla',
|
227
|
+
ULEFONE: 'Ulefone',
|
228
|
+
VIVO: 'Vivo',
|
229
|
+
VODAFONE: 'Vodafone',
|
230
|
+
XBOX: 'Xbox',
|
231
|
+
XIAOMI: 'Xiaomi',
|
232
|
+
ZEBRA: 'Zebra',
|
233
|
+
ZTE: 'ZTE',
|
61
234
|
|
62
235
|
// TODO : test!
|
63
236
|
});
|
64
237
|
|
65
|
-
const
|
66
|
-
AMAYA
|
67
|
-
BLINK
|
238
|
+
const Engine = Object.freeze({
|
239
|
+
AMAYA: 'Amaya',
|
240
|
+
BLINK: 'Blink',
|
68
241
|
EDGEHTML: 'EdgeHTML',
|
69
|
-
FLOW
|
70
|
-
GECKO
|
71
|
-
GOANNA
|
72
|
-
ICAB
|
73
|
-
|
74
|
-
|
75
|
-
LINKS
|
76
|
-
LYNX
|
242
|
+
FLOW: 'Flow',
|
243
|
+
GECKO: 'Gecko',
|
244
|
+
GOANNA: 'Goanna',
|
245
|
+
ICAB: 'iCab',
|
246
|
+
KHTML: 'KHTML',
|
247
|
+
LIBWEB: 'LibWeb',
|
248
|
+
LINKS: 'Links',
|
249
|
+
LYNX: 'Lynx',
|
77
250
|
NETFRONT: 'NetFront',
|
78
|
-
NETSURF
|
79
|
-
PRESTO
|
80
|
-
TASMAN
|
81
|
-
TRIDENT
|
82
|
-
W3M
|
83
|
-
WEBKIT
|
251
|
+
NETSURF: 'NetSurf',
|
252
|
+
PRESTO: 'Presto',
|
253
|
+
TASMAN: 'Tasman',
|
254
|
+
TRIDENT: 'Trident',
|
255
|
+
W3M: 'w3m',
|
256
|
+
WEBKIT: 'WebKit'
|
84
257
|
});
|
85
258
|
|
86
|
-
const
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
259
|
+
const OS = Object.freeze({
|
260
|
+
AIX: 'AIX',
|
261
|
+
AMIGA_OS: 'Amiga OS',
|
262
|
+
ANDROID: 'Android',
|
263
|
+
ANDROID_X86: 'Android-x86',
|
264
|
+
ARCH: 'Arch',
|
265
|
+
BADA: 'Bada',
|
266
|
+
BEOS: 'BeOS',
|
267
|
+
BLACKBERRY: 'BlackBerry',
|
268
|
+
CENTOS: 'CentOS',
|
269
|
+
CHROME_OS: 'Chrome OS',
|
270
|
+
CHROMECAST: 'Chromecast',
|
271
|
+
CONTIKI: 'Contiki',
|
272
|
+
DEBIAN: 'Debian',
|
273
|
+
DEEPIN: 'Deepin',
|
274
|
+
DRAGONFLY: 'DragonFly',
|
275
|
+
ELEMENTARY_OS: 'elementary OS',
|
276
|
+
FEDORA: 'Fedora',
|
277
|
+
FIREFOX_OS: 'Firefox OS',
|
278
|
+
FREEBSD: 'FreeBSD',
|
279
|
+
FUCHSIA: 'Fuchsia',
|
280
|
+
GENTOO: 'Gentoo',
|
281
|
+
GHOSTBSD: 'GhostBSD',
|
282
|
+
GNU: 'GNU',
|
283
|
+
HAIKU: 'Haiku',
|
284
|
+
HARMONYOS: 'HarmonyOS',
|
285
|
+
HP_UX: 'HP-UX',
|
286
|
+
HURD: 'Hurd',
|
287
|
+
IOS: 'iOS',
|
288
|
+
JOLI: 'Joli',
|
289
|
+
KAIOS: 'KaiOS',
|
290
|
+
LINPUS: 'Linpus',
|
291
|
+
LINSPIRE: 'Linspire',
|
292
|
+
LINUX: 'Linux',
|
293
|
+
MACOS: 'macOS',
|
294
|
+
MAEMO: 'Maemo',
|
295
|
+
MAGEIA: 'Mageia',
|
296
|
+
MANDRIVA: 'Mandriva',
|
297
|
+
MANJARO: 'Manjaro',
|
298
|
+
MEEGO: 'MeeGo',
|
299
|
+
MINIX: 'Minix',
|
300
|
+
MINT: 'Mint',
|
301
|
+
MORPH_OS: 'Morph OS',
|
302
|
+
NETBSD: 'NetBSD',
|
303
|
+
NETRANGE: 'NetRange',
|
304
|
+
NETTV: 'NetTV',
|
305
|
+
NINTENDO: 'Nintendo',
|
306
|
+
OPENBSD: 'OpenBSD',
|
307
|
+
OPENVMS: 'OpenVMS',
|
308
|
+
OS2: 'OS/2',
|
309
|
+
PALM: 'Palm',
|
310
|
+
PC_BSD: 'PC-BSD',
|
311
|
+
PCLINUXOS: 'PCLinuxOS',
|
312
|
+
PLAN9: 'Plan9',
|
313
|
+
PLAYSTATION: 'PlayStation',
|
314
|
+
QNX: 'QNX',
|
315
|
+
RASPBIAN: 'Raspbian',
|
316
|
+
REDHAT: 'RedHat',
|
317
|
+
RIM_TABLET_OS: 'RIM Tablet OS',
|
318
|
+
RISC_OS: 'RISC OS',
|
319
|
+
SABAYON: 'Sabayon',
|
320
|
+
SAILFISH: 'Sailfish',
|
321
|
+
SERENITYOS: 'SerenityOS',
|
322
|
+
SERIES40: 'Series40',
|
323
|
+
SLACKWARE: 'Slackware',
|
324
|
+
SOLARIS: 'Solaris',
|
325
|
+
SUSE: 'SUSE',
|
326
|
+
SYMBIAN: 'Symbian',
|
327
|
+
TIZEN: 'Tizen',
|
328
|
+
UBUNTU: 'Ubuntu',
|
329
|
+
UNIX: 'Unix',
|
330
|
+
VECTORLINUX: 'VectorLinux',
|
331
|
+
VIERA: 'Viera',
|
332
|
+
WATCHOS: 'watchOS',
|
333
|
+
WEBOS: 'WebOS',
|
334
|
+
WINDOWS: 'Windows',
|
335
|
+
WINDOWS_MOBILE: 'Windows Mobile',
|
336
|
+
WINDOWS_PHONE: 'Windows Phone',
|
337
|
+
XBOX: 'Xbox',
|
338
|
+
ZENWALK: 'Zenwalk'
|
92
339
|
|
93
340
|
// TODO : test!
|
94
341
|
});
|
95
342
|
|
96
343
|
module.exports = {
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
344
|
+
Browser,
|
345
|
+
CPU,
|
346
|
+
Device,
|
347
|
+
Vendor,
|
348
|
+
Engine,
|
349
|
+
OS
|
103
350
|
};
|