@haluo/util 1.0.9 → 1.0.12

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.
Files changed (33) hide show
  1. package/dist/modules/monitor/index.js +6 -3
  2. package/dist/modules/monitor/lib/jsError.js +24 -29
  3. package/dist/modules/monitor/lib/xhr.js +14 -11
  4. package/dist/modules/monitor/utils/tracker.js +20 -6
  5. package/package.json +1 -1
  6. package/src/modules/monitor/.cache/00/33c4762af1e693b15e3fa078d74a0c.json +1 -1
  7. package/src/modules/monitor/.cache/05/4a95cc6ce509574551163397e6e349.json +1 -1
  8. package/src/modules/monitor/.cache/08/605045b6ae5c61b27bdafb25804d2f.json +1 -1
  9. package/src/modules/monitor/.cache/0c/dac2b7827892f4a24d1a77ac25432b.json +1 -1
  10. package/src/modules/monitor/.cache/0d/a7a0d6ef14604e1c38f209f9136c30.json +1 -1
  11. package/src/modules/monitor/.cache/13/dd597f42863f28fa335f1f5de4bd28.json +1 -1
  12. package/src/modules/monitor/.cache/20/f6fb741d627f7380914fec21c52ae0.json +1 -1
  13. package/src/modules/monitor/.cache/2b/43c7d967bc42e53b253e533c27a446.json +1 -1
  14. package/src/modules/monitor/.cache/31/f6b67a62a949d0d23542a0faf3a7ae.json +1 -1
  15. package/src/modules/monitor/.cache/36/37a4a35458c91650e820353fe14075.json +1 -1
  16. package/src/modules/monitor/.cache/44/ac0ec962164e52d524289bc6ddd746.json +1 -1
  17. package/src/modules/monitor/.cache/9b/c674aad8cee84e65a79172fb6ec4b6.json +1 -1
  18. package/src/modules/monitor/.cache/a0/8fa1dac8016c963a5865b0c2611e95.json +1 -1
  19. package/src/modules/monitor/.cache/a4/9a86eef551556949bfc33f94f813ce.json +1 -1
  20. package/src/modules/monitor/.cache/a5/ba2231eb63e08a146e516420de499c.json +1 -1
  21. package/src/modules/monitor/.cache/a6/a8ccd67182599a1ccb79a6165ecc8c.json +1 -1
  22. package/src/modules/monitor/.cache/af/77f95b5271855deb2590d95897a574.json +1 -1
  23. package/src/modules/monitor/.cache/c6/9ce3f6f2dd9e9eb0ae529457e551a9.json +1 -1
  24. package/src/modules/monitor/.cache/c7/9d09bcd88576bb759e1d8c4a4e0a60.json +1 -1
  25. package/src/modules/monitor/.cache/db/a09a856f25cd41813ee5e4e84e58f6.json +1 -1
  26. package/src/modules/monitor/.cache/f1/86d3395b74f70f5ae6289d48269ccb.json +1 -1
  27. package/src/modules/monitor/.cache/f5/4fd5972b6b66ba9484f0aa61a0d512.json +1 -1
  28. package/src/modules/monitor/dist/monitor.77de5100.js +66 -906
  29. package/src/modules/monitor/dist/monitor.77de5100.js.map +1 -1
  30. package/src/modules/monitor/index.ts +3 -5
  31. package/src/modules/monitor/lib/jsError.ts +8 -4
  32. package/src/modules/monitor/lib/xhr.ts +3 -2
  33. package/src/modules/monitor/utils/tracker.ts +3 -3
@@ -957,884 +957,7 @@ var _stringify = _interopRequireDefault(require("./stringify.js"));
957
957
  var _parse = _interopRequireDefault(require("./parse.js"));
958
958
 
959
959
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
960
- },{"./v1.js":"../../../node_modules/uuid/dist/esm-browser/v1.js","./v3.js":"../../../node_modules/uuid/dist/esm-browser/v3.js","./v4.js":"../../../node_modules/uuid/dist/esm-browser/v4.js","./v5.js":"../../../node_modules/uuid/dist/esm-browser/v5.js","./nil.js":"../../../node_modules/uuid/dist/esm-browser/nil.js","./version.js":"../../../node_modules/uuid/dist/esm-browser/version.js","./validate.js":"../../../node_modules/uuid/dist/esm-browser/validate.js","./stringify.js":"../../../node_modules/uuid/dist/esm-browser/stringify.js","./parse.js":"../../../node_modules/uuid/dist/esm-browser/parse.js"}],"../../../node_modules/ua-parser-js/src/ua-parser.js":[function(require,module,exports) {
961
- var define;
962
- /////////////////////////////////////////////////////////////////////////////////
963
- /* UAParser.js v1.0.2
964
- Copyright © 2012-2021 Faisal Salman <f@faisalman.com>
965
- MIT License *//*
966
- Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.
967
- Supports browser & node.js environment.
968
- Demo : https://faisalman.github.io/ua-parser-js
969
- Source : https://github.com/faisalman/ua-parser-js */
970
- /////////////////////////////////////////////////////////////////////////////////
971
-
972
- (function (window, undefined) {
973
-
974
- 'use strict';
975
-
976
- //////////////
977
- // Constants
978
- /////////////
979
-
980
-
981
- var LIBVERSION = '1.0.2',
982
- EMPTY = '',
983
- UNKNOWN = '?',
984
- FUNC_TYPE = 'function',
985
- UNDEF_TYPE = 'undefined',
986
- OBJ_TYPE = 'object',
987
- STR_TYPE = 'string',
988
- MAJOR = 'major',
989
- MODEL = 'model',
990
- NAME = 'name',
991
- TYPE = 'type',
992
- VENDOR = 'vendor',
993
- VERSION = 'version',
994
- ARCHITECTURE= 'architecture',
995
- CONSOLE = 'console',
996
- MOBILE = 'mobile',
997
- TABLET = 'tablet',
998
- SMARTTV = 'smarttv',
999
- WEARABLE = 'wearable',
1000
- EMBEDDED = 'embedded',
1001
- UA_MAX_LENGTH = 255;
1002
-
1003
- var AMAZON = 'Amazon',
1004
- APPLE = 'Apple',
1005
- ASUS = 'ASUS',
1006
- BLACKBERRY = 'BlackBerry',
1007
- BROWSER = 'Browser',
1008
- CHROME = 'Chrome',
1009
- EDGE = 'Edge',
1010
- FIREFOX = 'Firefox',
1011
- GOOGLE = 'Google',
1012
- HUAWEI = 'Huawei',
1013
- LG = 'LG',
1014
- MICROSOFT = 'Microsoft',
1015
- MOTOROLA = 'Motorola',
1016
- OPERA = 'Opera',
1017
- SAMSUNG = 'Samsung',
1018
- SONY = 'Sony',
1019
- XIAOMI = 'Xiaomi',
1020
- ZEBRA = 'Zebra',
1021
- FACEBOOK = 'Facebook';
1022
-
1023
- ///////////
1024
- // Helper
1025
- //////////
1026
-
1027
- var extend = function (regexes, extensions) {
1028
- var mergedRegexes = {};
1029
- for (var i in regexes) {
1030
- if (extensions[i] && extensions[i].length % 2 === 0) {
1031
- mergedRegexes[i] = extensions[i].concat(regexes[i]);
1032
- } else {
1033
- mergedRegexes[i] = regexes[i];
1034
- }
1035
- }
1036
- return mergedRegexes;
1037
- },
1038
- enumerize = function (arr) {
1039
- var enums = {};
1040
- for (var i=0; i<arr.length; i++) {
1041
- enums[arr[i].toUpperCase()] = arr[i];
1042
- }
1043
- return enums;
1044
- },
1045
- has = function (str1, str2) {
1046
- return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;
1047
- },
1048
- lowerize = function (str) {
1049
- return str.toLowerCase();
1050
- },
1051
- majorize = function (version) {
1052
- return typeof(version) === STR_TYPE ? version.replace(/[^\d\.]/g, EMPTY).split('.')[0] : undefined;
1053
- },
1054
- trim = function (str, len) {
1055
- if (typeof(str) === STR_TYPE) {
1056
- str = str.replace(/^\s\s*/, EMPTY).replace(/\s\s*$/, EMPTY);
1057
- return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);
1058
- }
1059
- };
1060
-
1061
- ///////////////
1062
- // Map helper
1063
- //////////////
1064
-
1065
- var rgxMapper = function (ua, arrays) {
1066
-
1067
- var i = 0, j, k, p, q, matches, match;
1068
-
1069
- // loop through all regexes maps
1070
- while (i < arrays.length && !matches) {
1071
-
1072
- var regex = arrays[i], // even sequence (0,2,4,..)
1073
- props = arrays[i + 1]; // odd sequence (1,3,5,..)
1074
- j = k = 0;
1075
-
1076
- // try matching uastring with regexes
1077
- while (j < regex.length && !matches) {
1078
-
1079
- matches = regex[j++].exec(ua);
1080
-
1081
- if (!!matches) {
1082
- for (p = 0; p < props.length; p++) {
1083
- match = matches[++k];
1084
- q = props[p];
1085
- // check if given property is actually array
1086
- if (typeof q === OBJ_TYPE && q.length > 0) {
1087
- if (q.length === 2) {
1088
- if (typeof q[1] == FUNC_TYPE) {
1089
- // assign modified match
1090
- this[q[0]] = q[1].call(this, match);
1091
- } else {
1092
- // assign given value, ignore regex match
1093
- this[q[0]] = q[1];
1094
- }
1095
- } else if (q.length === 3) {
1096
- // check whether function or regex
1097
- if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {
1098
- // call function (usually string mapper)
1099
- this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;
1100
- } else {
1101
- // sanitize match using given regex
1102
- this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;
1103
- }
1104
- } else if (q.length === 4) {
1105
- this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;
1106
- }
1107
- } else {
1108
- this[q] = match ? match : undefined;
1109
- }
1110
- }
1111
- }
1112
- }
1113
- i += 2;
1114
- }
1115
- },
1116
-
1117
- strMapper = function (str, map) {
1118
-
1119
- for (var i in map) {
1120
- // check if current value is array
1121
- if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {
1122
- for (var j = 0; j < map[i].length; j++) {
1123
- if (has(map[i][j], str)) {
1124
- return (i === UNKNOWN) ? undefined : i;
1125
- }
1126
- }
1127
- } else if (has(map[i], str)) {
1128
- return (i === UNKNOWN) ? undefined : i;
1129
- }
1130
- }
1131
- return str;
1132
- };
1133
-
1134
- ///////////////
1135
- // String map
1136
- //////////////
1137
-
1138
- // Safari < 3.0
1139
- var oldSafariMap = {
1140
- '1.0' : '/8',
1141
- '1.2' : '/1',
1142
- '1.3' : '/3',
1143
- '2.0' : '/412',
1144
- '2.0.2' : '/416',
1145
- '2.0.3' : '/417',
1146
- '2.0.4' : '/419',
1147
- '?' : '/'
1148
- },
1149
- windowsVersionMap = {
1150
- 'ME' : '4.90',
1151
- 'NT 3.11' : 'NT3.51',
1152
- 'NT 4.0' : 'NT4.0',
1153
- '2000' : 'NT 5.0',
1154
- 'XP' : ['NT 5.1', 'NT 5.2'],
1155
- 'Vista' : 'NT 6.0',
1156
- '7' : 'NT 6.1',
1157
- '8' : 'NT 6.2',
1158
- '8.1' : 'NT 6.3',
1159
- '10' : ['NT 6.4', 'NT 10.0'],
1160
- 'RT' : 'ARM'
1161
- };
1162
-
1163
- //////////////
1164
- // Regex map
1165
- /////////////
1166
-
1167
- var regexes = {
1168
-
1169
- browser : [[
1170
-
1171
- /\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
1172
- ], [VERSION, [NAME, 'Chrome']], [
1173
- /edg(?:e|ios|a)?\/([\w\.]+)/i // Microsoft Edge
1174
- ], [VERSION, [NAME, 'Edge']], [
1175
-
1176
- // Presto based
1177
- /(opera mini)\/([-\w\.]+)/i, // Opera Mini
1178
- /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, // Opera Mobi/Tablet
1179
- /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i // Opera
1180
- ], [NAME, VERSION], [
1181
- /opios[\/ ]+([\w\.]+)/i // Opera mini on iphone >= 8.0
1182
- ], [VERSION, [NAME, OPERA+' Mini']], [
1183
- /\bopr\/([\w\.]+)/i // Opera Webkit
1184
- ], [VERSION, [NAME, OPERA]], [
1185
-
1186
- // Mixed
1187
- /(kindle)\/([\w\.]+)/i, // Kindle
1188
- /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer
1189
- // Trident based
1190
- /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
1191
- /(ba?idubrowser)[\/ ]?([\w\.]+)/i, // Baidu Browser
1192
- /(?:ms|\()(ie) ([\w\.]+)/i, // Internet Explorer
1193
-
1194
- // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
1195
- /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,
1196
- // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
1197
- /(weibo)__([\d\.]+)/i // Weibo
1198
- ], [NAME, VERSION], [
1199
- /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i // UCBrowser
1200
- ], [VERSION, [NAME, 'UC'+BROWSER]], [
1201
- /\bqbcore\/([\w\.]+)/i // WeChat Desktop for Windows Built-in Browser
1202
- ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [
1203
- /micromessenger\/([\w\.]+)/i // WeChat
1204
- ], [VERSION, [NAME, 'WeChat']], [
1205
- /konqueror\/([\w\.]+)/i // Konqueror
1206
- ], [VERSION, [NAME, 'Konqueror']], [
1207
- /trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i // IE11
1208
- ], [VERSION, [NAME, 'IE']], [
1209
- /yabrowser\/([\w\.]+)/i // Yandex
1210
- ], [VERSION, [NAME, 'Yandex']], [
1211
- /(avast|avg)\/([\w\.]+)/i // Avast/AVG Secure Browser
1212
- ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [
1213
- /\bfocus\/([\w\.]+)/i // Firefox Focus
1214
- ], [VERSION, [NAME, FIREFOX+' Focus']], [
1215
- /\bopt\/([\w\.]+)/i // Opera Touch
1216
- ], [VERSION, [NAME, OPERA+' Touch']], [
1217
- /coc_coc\w+\/([\w\.]+)/i // Coc Coc Browser
1218
- ], [VERSION, [NAME, 'Coc Coc']], [
1219
- /dolfin\/([\w\.]+)/i // Dolphin
1220
- ], [VERSION, [NAME, 'Dolphin']], [
1221
- /coast\/([\w\.]+)/i // Opera Coast
1222
- ], [VERSION, [NAME, OPERA+' Coast']], [
1223
- /miuibrowser\/([\w\.]+)/i // MIUI Browser
1224
- ], [VERSION, [NAME, 'MIUI '+BROWSER]], [
1225
- /fxios\/([-\w\.]+)/i // Firefox for iOS
1226
- ], [VERSION, [NAME, FIREFOX]], [
1227
- /\bqihu|(qi?ho?o?|360)browser/i // 360
1228
- ], [[NAME, '360 '+BROWSER]], [
1229
- /(oculus|samsung|sailfish)browser\/([\w\.]+)/i
1230
- ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish Browser
1231
- /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
1232
- ], [[NAME, /_/g, ' '], VERSION], [
1233
- /(electron)\/([\w\.]+) safari/i, // Electron-based App
1234
- /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, // Tesla
1235
- /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser
1236
- ], [NAME, VERSION], [
1237
- /(metasr)[\/ ]?([\w\.]+)/i, // SouGouBrowser
1238
- /(lbbrowser)/i // LieBao Browser
1239
- ], [NAME], [
1240
-
1241
- // WebView
1242
- /((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i // Facebook App for iOS & Android
1243
- ], [[NAME, FACEBOOK], VERSION], [
1244
- /safari (line)\/([\w\.]+)/i, // Line App for iOS
1245
- /\b(line)\/([\w\.]+)\/iab/i, // Line App for Android
1246
- /(chromium|instagram)[\/ ]([-\w\.]+)/i // Chromium/Instagram
1247
- ], [NAME, VERSION], [
1248
- /\bgsa\/([\w\.]+) .*safari\//i // Google Search Appliance on iOS
1249
- ], [VERSION, [NAME, 'GSA']], [
1250
-
1251
- /headlesschrome(?:\/([\w\.]+)| )/i // Chrome Headless
1252
- ], [VERSION, [NAME, CHROME+' Headless']], [
1253
-
1254
- / wv\).+(chrome)\/([\w\.]+)/i // Chrome WebView
1255
- ], [[NAME, CHROME+' WebView'], VERSION], [
1256
-
1257
- /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i // Android Browser
1258
- ], [VERSION, [NAME, 'Android '+BROWSER]], [
1259
-
1260
- /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia
1261
- ], [NAME, VERSION], [
1262
-
1263
- /version\/([\w\.]+) .*mobile\/\w+ (safari)/i // Mobile Safari
1264
- ], [VERSION, [NAME, 'Mobile Safari']], [
1265
- /version\/([\w\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile
1266
- ], [VERSION, NAME], [
1267
- /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i // Safari < 3.0
1268
- ], [NAME, [VERSION, strMapper, oldSafariMap]], [
1269
-
1270
- /(webkit|khtml)\/([\w\.]+)/i
1271
- ], [NAME, VERSION], [
1272
-
1273
- // Gecko based
1274
- /(navigator|netscape\d?)\/([-\w\.]+)/i // Netscape
1275
- ], [[NAME, 'Netscape'], VERSION], [
1276
- /mobile vr; rv:([\w\.]+)\).+firefox/i // Firefox Reality
1277
- ], [VERSION, [NAME, FIREFOX+' Reality']], [
1278
- /ekiohf.+(flow)\/([\w\.]+)/i, // Flow
1279
- /(swiftfox)/i, // Swiftfox
1280
- /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
1281
- // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
1282
- /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
1283
- // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
1284
- /(firefox)\/([\w\.]+)/i, // Other Firefox-based
1285
- /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, // Mozilla
1286
-
1287
- // Other
1288
- /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
1289
- // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
1290
- /(links) \(([\w\.]+)/i // Links
1291
- ], [NAME, VERSION]
1292
- ],
1293
-
1294
- cpu : [[
1295
-
1296
- /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i // AMD64 (x64)
1297
- ], [[ARCHITECTURE, 'amd64']], [
1298
-
1299
- /(ia32(?=;))/i // IA32 (quicktime)
1300
- ], [[ARCHITECTURE, lowerize]], [
1301
-
1302
- /((?:i[346]|x)86)[;\)]/i // IA32 (x86)
1303
- ], [[ARCHITECTURE, 'ia32']], [
1304
-
1305
- /\b(aarch64|arm(v?8e?l?|_?64))\b/i // ARM64
1306
- ], [[ARCHITECTURE, 'arm64']], [
1307
-
1308
- /\b(arm(?:v[67])?ht?n?[fl]p?)\b/i // ARMHF
1309
- ], [[ARCHITECTURE, 'armhf']], [
1310
-
1311
- // PocketPC mistakenly identified as PowerPC
1312
- /windows (ce|mobile); ppc;/i
1313
- ], [[ARCHITECTURE, 'arm']], [
1314
-
1315
- /((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i // PowerPC
1316
- ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [
1317
-
1318
- /(sun4\w)[;\)]/i // SPARC
1319
- ], [[ARCHITECTURE, 'sparc']], [
1320
-
1321
- /((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
1322
- // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
1323
- ], [[ARCHITECTURE, lowerize]]
1324
- ],
1325
-
1326
- device : [[
1327
-
1328
- //////////////////////////
1329
- // MOBILES & TABLETS
1330
- // Ordered by popularity
1331
- /////////////////////////
1332
-
1333
- // Samsung
1334
- /\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
1335
- ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [
1336
- /\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,
1337
- /samsung[- ]([-\w]+)/i,
1338
- /sec-(sgh\w+)/i
1339
- ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [
1340
-
1341
- // Apple
1342
- /\((ip(?:hone|od)[\w ]*);/i // iPod/iPhone
1343
- ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [
1344
- /\((ipad);[-\w\),; ]+apple/i, // iPad
1345
- /applecoremedia\/[\w\.]+ \((ipad)/i,
1346
- /\b(ipad)\d\d?,\d\d?[;\]].+ios/i
1347
- ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [
1348
-
1349
- // Huawei
1350
- /\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
1351
- ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [
1352
- /(?:huawei|honor)([-\w ]+)[;\)]/i,
1353
- /\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i
1354
- ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [
1355
-
1356
- // Xiaomi
1357
- /\b(poco[\w ]+)(?: bui|\))/i, // Xiaomi POCO
1358
- /\b; (\w+) build\/hm\1/i, // Xiaomi Hongmi 'numeric' models
1359
- /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, // Xiaomi Hongmi
1360
- /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, // Xiaomi Redmi
1361
- /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i // Xiaomi Mi
1362
- ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [
1363
- /\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i // Mi Pad tablets
1364
- ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [
1365
-
1366
- // OPPO
1367
- /; (\w+) bui.+ oppo/i,
1368
- /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
1369
- ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [
1370
-
1371
- // Vivo
1372
- /vivo (\w+)(?: bui|\))/i,
1373
- /\b(v[12]\d{3}\w?[at])(?: bui|;)/i
1374
- ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [
1375
-
1376
- // Realme
1377
- /\b(rmx[12]\d{3})(?: bui|;|\))/i
1378
- ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [
1379
-
1380
- // Motorola
1381
- /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
1382
- /\bmot(?:orola)?[- ](\w*)/i,
1383
- /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
1384
- ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [
1385
- /\b(mz60\d|xoom[2 ]{0,2}) build\//i
1386
- ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [
1387
-
1388
- // LG
1389
- /((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
1390
- ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [
1391
- /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
1392
- /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
1393
- /\blg-?([\d\w]+) bui/i
1394
- ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [
1395
-
1396
- // Lenovo
1397
- /(ideatab[-\w ]+)/i,
1398
- /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
1399
- ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [
1400
-
1401
- // Nokia
1402
- /(?:maemo|nokia).*(n900|lumia \d+)/i,
1403
- /nokia[-_ ]?([-\w\.]*)/i
1404
- ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [
1405
-
1406
- // Google
1407
- /(pixel c)\b/i // Google Pixel C
1408
- ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [
1409
- /droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i // Google Pixel
1410
- ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [
1411
-
1412
- // Sony
1413
- /droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
1414
- ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [
1415
- /sony tablet [ps]/i,
1416
- /\b(?:sony)?sgp\w+(?: bui|\))/i
1417
- ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [
1418
-
1419
- // OnePlus
1420
- / (kb2005|in20[12]5|be20[12][59])\b/i,
1421
- /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
1422
- ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [
1423
-
1424
- // Amazon
1425
- /(alexa)webm/i,
1426
- /(kf[a-z]{2}wi)( bui|\))/i, // Kindle Fire without Silk
1427
- /(kf[a-z]+)( bui|\)).+silk\//i // Kindle Fire HD
1428
- ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [
1429
- /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i // Fire Phone
1430
- ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [
1431
-
1432
- // BlackBerry
1433
- /(playbook);[-\w\),; ]+(rim)/i // BlackBerry PlayBook
1434
- ], [MODEL, VENDOR, [TYPE, TABLET]], [
1435
- /\b((?:bb[a-f]|st[hv])100-\d)/i,
1436
- /\(bb10; (\w+)/i // BlackBerry 10
1437
- ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [
1438
-
1439
- // Asus
1440
- /(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
1441
- ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [
1442
- / (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
1443
- ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [
1444
-
1445
- // HTC
1446
- /(nexus 9)/i // HTC Nexus 9
1447
- ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [
1448
- /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, // HTC
1449
-
1450
- // ZTE
1451
- /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
1452
- /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
1453
- ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [
1454
-
1455
- // Acer
1456
- /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
1457
- ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [
1458
-
1459
- // Meizu
1460
- /droid.+; (m[1-5] note) bui/i,
1461
- /\bmz-([-\w]{2,})/i
1462
- ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [
1463
-
1464
- // Sharp
1465
- /\b(sh-?[altvz]?\d\d[a-ekm]?)/i
1466
- ], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [
1467
-
1468
- // MIXED
1469
- /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
1470
- // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
1471
- /(hp) ([\w ]+\w)/i, // HP iPAQ
1472
- /(asus)-?(\w+)/i, // Asus
1473
- /(microsoft); (lumia[\w ]+)/i, // Microsoft Lumia
1474
- /(lenovo)[-_ ]?([-\w]+)/i, // Lenovo
1475
- /(jolla)/i, // Jolla
1476
- /(oppo) ?([\w ]+) bui/i // OPPO
1477
- ], [VENDOR, MODEL, [TYPE, MOBILE]], [
1478
-
1479
- /(archos) (gamepad2?)/i, // Archos
1480
- /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad
1481
- /(kindle)\/([\w\.]+)/i, // Kindle
1482
- /(nook)[\w ]+build\/(\w+)/i, // Nook
1483
- /(dell) (strea[kpr\d ]*[\dko])/i, // Dell Streak
1484
- /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, // Le Pan Tablets
1485
- /(trinity)[- ]*(t\d{3}) bui/i, // Trinity Tablets
1486
- /(gigaset)[- ]+(q\w{1,9}) bui/i, // Gigaset Tablets
1487
- /(vodafone) ([\w ]+)(?:\)| bui)/i // Vodafone
1488
- ], [VENDOR, MODEL, [TYPE, TABLET]], [
1489
-
1490
- /(surface duo)/i // Surface Duo
1491
- ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [
1492
- /droid [\d\.]+; (fp\du?)(?: b|\))/i // Fairphone
1493
- ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [
1494
- /(u304aa)/i // AT&T
1495
- ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
1496
- /\bsie-(\w*)/i // Siemens
1497
- ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [
1498
- /\b(rct\w+) b/i // RCA Tablets
1499
- ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
1500
- /\b(venue[\d ]{2,7}) b/i // Dell Venue Tablets
1501
- ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
1502
- /\b(q(?:mv|ta)\w+) b/i // Verizon Tablet
1503
- ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [
1504
- /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i // Barnes & Noble Tablet
1505
- ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [
1506
- /\b(tm\d{3}\w+) b/i
1507
- ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
1508
- /\b(k88) b/i // ZTE K Series Tablet
1509
- ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
1510
- /\b(nx\d{3}j) b/i // ZTE Nubia
1511
- ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [
1512
- /\b(gen\d{3}) b.+49h/i // Swiss GEN Mobile
1513
- ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
1514
- /\b(zur\d{3}) b/i // Swiss ZUR Tablet
1515
- ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [
1516
- /\b((zeki)?tb.*\b) b/i // Zeki Tablets
1517
- ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
1518
- /\b([yr]\d{2}) b/i,
1519
- /\b(dragon[- ]+touch |dt)(\w{5}) b/i // Dragon Touch Tablet
1520
- ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [
1521
- /\b(ns-?\w{0,9}) b/i // Insignia Tablets
1522
- ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
1523
- /\b((nxa|next)-?\w{0,9}) b/i // NextBook Tablets
1524
- ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
1525
- /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones
1526
- ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [
1527
- /\b(lvtel\-)?(v1[12]) b/i // LvTel Phones
1528
- ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [
1529
- /\b(ph-1) /i // Essential PH-1
1530
- ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [
1531
- /\b(v(100md|700na|7011|917g).*\b) b/i // Envizen Tablets
1532
- ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
1533
- /\b(trio[-\w\. ]+) b/i // MachSpeed Tablets
1534
- ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [
1535
- /\btu_(1491) b/i // Rotor Tablets
1536
- ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [
1537
- /(shield[\w ]+) b/i // Nvidia Shield Tablets
1538
- ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [
1539
- /(sprint) (\w+)/i // Sprint Phones
1540
- ], [VENDOR, MODEL, [TYPE, MOBILE]], [
1541
- /(kin\.[onetw]{3})/i // Microsoft Kin
1542
- ], [[MODEL, /\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [
1543
- /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i // Zebra
1544
- ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [
1545
- /droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
1546
- ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [
1547
-
1548
- ///////////////////
1549
- // CONSOLES
1550
- ///////////////////
1551
-
1552
- /(ouya)/i, // Ouya
1553
- /(nintendo) ([wids3utch]+)/i // Nintendo
1554
- ], [VENDOR, MODEL, [TYPE, CONSOLE]], [
1555
- /droid.+; (shield) bui/i // Nvidia
1556
- ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [
1557
- /(playstation [345portablevi]+)/i // Playstation
1558
- ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [
1559
- /\b(xbox(?: one)?(?!; xbox))[\); ]/i // Microsoft Xbox
1560
- ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [
1561
-
1562
- ///////////////////
1563
- // SMARTTVS
1564
- ///////////////////
1565
-
1566
- /smart-tv.+(samsung)/i // Samsung
1567
- ], [VENDOR, [TYPE, SMARTTV]], [
1568
- /hbbtv.+maple;(\d+)/i
1569
- ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [
1570
- /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i // LG SmartTV
1571
- ], [[VENDOR, LG], [TYPE, SMARTTV]], [
1572
- /(apple) ?tv/i // Apple TV
1573
- ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [
1574
- /crkey/i // Google Chromecast
1575
- ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [
1576
- /droid.+aft(\w)( bui|\))/i // Fire TV
1577
- ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [
1578
- /\(dtv[\);].+(aquos)/i // Sharp
1579
- ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [
1580
- /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, // Roku
1581
- /hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i // HbbTV devices
1582
- ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [
1583
- /\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i // SmartTV from Unidentified Vendors
1584
- ], [[TYPE, SMARTTV]], [
1585
-
1586
- ///////////////////
1587
- // WEARABLES
1588
- ///////////////////
1589
-
1590
- /((pebble))app/i // Pebble
1591
- ], [VENDOR, MODEL, [TYPE, WEARABLE]], [
1592
- /droid.+; (glass) \d/i // Google Glass
1593
- ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [
1594
- /droid.+; (wt63?0{2,3})\)/i
1595
- ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [
1596
- /(quest( 2)?)/i // Oculus Quest
1597
- ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [
1598
-
1599
- ///////////////////
1600
- // EMBEDDED
1601
- ///////////////////
1602
-
1603
- /(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i // Tesla
1604
- ], [VENDOR, [TYPE, EMBEDDED]], [
1605
-
1606
- ////////////////////
1607
- // MIXED (GENERIC)
1608
- ///////////////////
1609
-
1610
- /droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors
1611
- ], [MODEL, [TYPE, MOBILE]], [
1612
- /droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors
1613
- ], [MODEL, [TYPE, TABLET]], [
1614
- /\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i // Unidentifiable Tablet
1615
- ], [[TYPE, TABLET]], [
1616
- /(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile
1617
- ], [[TYPE, MOBILE]], [
1618
- /(android[-\w\. ]{0,9});.+buil/i // Generic Android Device
1619
- ], [MODEL, [VENDOR, 'Generic']]
1620
- ],
1621
-
1622
- engine : [[
1623
-
1624
- /windows.+ edge\/([\w\.]+)/i // EdgeHTML
1625
- ], [VERSION, [NAME, EDGE+'HTML']], [
1626
-
1627
- /webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i // Blink
1628
- ], [VERSION, [NAME, 'Blink']], [
1629
-
1630
- /(presto)\/([\w\.]+)/i, // Presto
1631
- /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
1632
- /ekioh(flow)\/([\w\.]+)/i, // Flow
1633
- /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, // KHTML/Tasman/Links
1634
- /(icab)[\/ ]([23]\.[\d\.]+)/i // iCab
1635
- ], [NAME, VERSION], [
1636
-
1637
- /rv\:([\w\.]{1,9})\b.+(gecko)/i // Gecko
1638
- ], [VERSION, NAME]
1639
- ],
1640
-
1641
- os : [[
1642
-
1643
- // Windows
1644
- /microsoft (windows) (vista|xp)/i // Windows (iTunes)
1645
- ], [NAME, VERSION], [
1646
- /(windows) nt 6\.2; (arm)/i, // Windows RT
1647
- /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i, // Windows Phone
1648
- /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i
1649
- ], [NAME, [VERSION, strMapper, windowsVersionMap]], [
1650
- /(win(?=3|9|n)|win 9x )([nt\d\.]+)/i
1651
- ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [
1652
-
1653
- // iOS/macOS
1654
- /ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i, // iOS
1655
- /cfnetwork\/.+darwin/i
1656
- ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [
1657
- /(mac os x) ?([\w\. ]*)/i,
1658
- /(macintosh|mac_powerpc\b)(?!.+haiku)/i // Mac OS
1659
- ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [
1660
-
1661
- // Mobile OSes
1662
- /droid ([\w\.]+)\b.+(android[- ]x86)/i // Android-x86
1663
- ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
1664
- /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
1665
- /(blackberry)\w*\/([\w\.]*)/i, // Blackberry
1666
- /(tizen|kaios)[\/ ]([\w\.]+)/i, // Tizen/KaiOS
1667
- /\((series40);/i // Series 40
1668
- ], [NAME, VERSION], [
1669
- /\(bb(10);/i // BlackBerry 10
1670
- ], [VERSION, [NAME, BLACKBERRY]], [
1671
- /(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i // Symbian
1672
- ], [VERSION, [NAME, 'Symbian']], [
1673
- /mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i // Firefox OS
1674
- ], [VERSION, [NAME, FIREFOX+' OS']], [
1675
- /web0s;.+rt(tv)/i,
1676
- /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i // WebOS
1677
- ], [VERSION, [NAME, 'webOS']], [
1678
-
1679
- // Google Chromecast
1680
- /crkey\/([\d\.]+)/i // Google Chromecast
1681
- ], [VERSION, [NAME, CHROME+'cast']], [
1682
- /(cros) [\w]+ ([\w\.]+\w)/i // Chromium OS
1683
- ], [[NAME, 'Chromium OS'], VERSION],[
1684
-
1685
- // Console
1686
- /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation
1687
- /(xbox); +xbox ([^\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)
1688
-
1689
- // Other
1690
- /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, // Joli/Palm
1691
- /(mint)[\/\(\) ]?(\w*)/i, // Mint
1692
- /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux
1693
- /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
1694
- // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
1695
- /(hurd|linux) ?([\w\.]*)/i, // Hurd/Linux
1696
- /(gnu) ?([\w\.]*)/i, // GNU
1697
- /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
1698
- /(haiku) (\w+)/i // Haiku
1699
- ], [NAME, VERSION], [
1700
- /(sunos) ?([\w\.\d]*)/i // Solaris
1701
- ], [[NAME, 'Solaris'], VERSION], [
1702
- /((?:open)?solaris)[-\/ ]?([\w\.]*)/i, // Solaris
1703
- /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, // AIX
1704
- /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX
1705
- /(unix) ?([\w\.]*)/i // UNIX
1706
- ], [NAME, VERSION]
1707
- ]
1708
- };
1709
-
1710
- /////////////////
1711
- // Constructor
1712
- ////////////////
1713
-
1714
- var UAParser = function (ua, extensions) {
1715
-
1716
- if (typeof ua === OBJ_TYPE) {
1717
- extensions = ua;
1718
- ua = undefined;
1719
- }
1720
-
1721
- if (!(this instanceof UAParser)) {
1722
- return new UAParser(ua, extensions).getResult();
1723
- }
1724
-
1725
- var _ua = ua || ((typeof window !== UNDEF_TYPE && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);
1726
- var _rgxmap = extensions ? extend(regexes, extensions) : regexes;
1727
-
1728
- this.getBrowser = function () {
1729
- var _browser = {};
1730
- _browser[NAME] = undefined;
1731
- _browser[VERSION] = undefined;
1732
- rgxMapper.call(_browser, _ua, _rgxmap.browser);
1733
- _browser.major = majorize(_browser.version);
1734
- return _browser;
1735
- };
1736
- this.getCPU = function () {
1737
- var _cpu = {};
1738
- _cpu[ARCHITECTURE] = undefined;
1739
- rgxMapper.call(_cpu, _ua, _rgxmap.cpu);
1740
- return _cpu;
1741
- };
1742
- this.getDevice = function () {
1743
- var _device = {};
1744
- _device[VENDOR] = undefined;
1745
- _device[MODEL] = undefined;
1746
- _device[TYPE] = undefined;
1747
- rgxMapper.call(_device, _ua, _rgxmap.device);
1748
- return _device;
1749
- };
1750
- this.getEngine = function () {
1751
- var _engine = {};
1752
- _engine[NAME] = undefined;
1753
- _engine[VERSION] = undefined;
1754
- rgxMapper.call(_engine, _ua, _rgxmap.engine);
1755
- return _engine;
1756
- };
1757
- this.getOS = function () {
1758
- var _os = {};
1759
- _os[NAME] = undefined;
1760
- _os[VERSION] = undefined;
1761
- rgxMapper.call(_os, _ua, _rgxmap.os);
1762
- return _os;
1763
- };
1764
- this.getResult = function () {
1765
- return {
1766
- ua : this.getUA(),
1767
- browser : this.getBrowser(),
1768
- engine : this.getEngine(),
1769
- os : this.getOS(),
1770
- device : this.getDevice(),
1771
- cpu : this.getCPU()
1772
- };
1773
- };
1774
- this.getUA = function () {
1775
- return _ua;
1776
- };
1777
- this.setUA = function (ua) {
1778
- _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;
1779
- return this;
1780
- };
1781
- this.setUA(_ua);
1782
- return this;
1783
- };
1784
-
1785
- UAParser.VERSION = LIBVERSION;
1786
- UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);
1787
- UAParser.CPU = enumerize([ARCHITECTURE]);
1788
- UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
1789
- UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
1790
-
1791
- ///////////
1792
- // Export
1793
- //////////
1794
-
1795
- // check js environment
1796
- if (typeof(exports) !== UNDEF_TYPE) {
1797
- // nodejs env
1798
- if (typeof module !== UNDEF_TYPE && module.exports) {
1799
- exports = module.exports = UAParser;
1800
- }
1801
- exports.UAParser = UAParser;
1802
- } else {
1803
- // requirejs env (optional)
1804
- if (typeof(define) === FUNC_TYPE && define.amd) {
1805
- define(function () {
1806
- return UAParser;
1807
- });
1808
- } else if (typeof window !== UNDEF_TYPE) {
1809
- // browser env
1810
- window.UAParser = UAParser;
1811
- }
1812
- }
1813
-
1814
- // jQuery/Zepto specific (optional)
1815
- // Note:
1816
- // In AMD env the global scope should be kept clean, but jQuery is an exception.
1817
- // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,
1818
- // and we should catch that.
1819
- var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);
1820
- if ($ && !$.ua) {
1821
- var parser = new UAParser();
1822
- $.ua = parser.getResult();
1823
- $.ua.get = function () {
1824
- return parser.getUA();
1825
- };
1826
- $.ua.set = function (ua) {
1827
- parser.setUA(ua);
1828
- var result = parser.getResult();
1829
- for (var prop in result) {
1830
- $.ua[prop] = result[prop];
1831
- }
1832
- };
1833
- }
1834
-
1835
- })(typeof window === 'object' ? window : this);
1836
-
1837
- },{}],"utils/tracker.ts":[function(require,module,exports) {
960
+ },{"./v1.js":"../../../node_modules/uuid/dist/esm-browser/v1.js","./v3.js":"../../../node_modules/uuid/dist/esm-browser/v3.js","./v4.js":"../../../node_modules/uuid/dist/esm-browser/v4.js","./v5.js":"../../../node_modules/uuid/dist/esm-browser/v5.js","./nil.js":"../../../node_modules/uuid/dist/esm-browser/nil.js","./version.js":"../../../node_modules/uuid/dist/esm-browser/version.js","./validate.js":"../../../node_modules/uuid/dist/esm-browser/validate.js","./stringify.js":"../../../node_modules/uuid/dist/esm-browser/stringify.js","./parse.js":"../../../node_modules/uuid/dist/esm-browser/parse.js"}],"utils/tracker.ts":[function(require,module,exports) {
1838
961
  "use strict";
1839
962
 
1840
963
  var __assign = this && this.__assign || function () {
@@ -1857,9 +980,8 @@ Object.defineProperty(exports, "__esModule", {
1857
980
  value: true
1858
981
  });
1859
982
 
1860
- var uuidv4 = require('uuid').v4;
983
+ var uuidv4 = require('uuid').v4; // const Parser = require('ua-parser-js');
1861
984
 
1862
- var Parser = require('ua-parser-js');
1863
985
 
1864
986
  var SendTracker =
1865
987
  /** @class */
@@ -1874,11 +996,9 @@ function () {
1874
996
  data = {};
1875
997
  }
1876
998
 
1877
- var log = __assign(__assign({}, getExtraData()), {
1878
- reason: data.stack
1879
- });
999
+ var log = __assign(__assign({}, getExtraData()), data);
1880
1000
 
1881
- fetch('https://crash.corp.mddmoto.com/app/collect/oss/app/collect/oss/original/info/report', {
1001
+ fetch('http://172.28.140.60:9057/app/collect/oss/original/info/report', {
1882
1002
  method: 'POST',
1883
1003
  headers: {
1884
1004
  'Content-type': 'application/json'
@@ -1907,11 +1027,27 @@ function getExtraData() {
1907
1027
  }
1908
1028
 
1909
1029
  exports.default = new SendTracker();
1910
- },{"uuid":"../../../node_modules/uuid/dist/esm-browser/index.js","ua-parser-js":"../../../node_modules/ua-parser-js/src/ua-parser.js"}],"lib/jsError.ts":[function(require,module,exports) {
1030
+ },{"uuid":"../../../node_modules/uuid/dist/esm-browser/index.js"}],"lib/jsError.ts":[function(require,module,exports) {
1911
1031
  "use strict";
1912
1032
 
1913
1033
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1914
1034
 
1035
+ var __assign = this && this.__assign || function () {
1036
+ __assign = Object.assign || function (t) {
1037
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1038
+ s = arguments[i];
1039
+
1040
+ for (var p in s) {
1041
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1042
+ }
1043
+ }
1044
+
1045
+ return t;
1046
+ };
1047
+
1048
+ return __assign.apply(this, arguments);
1049
+ };
1050
+
1915
1051
  var __importDefault = this && this.__importDefault || function (mod) {
1916
1052
  return mod && mod.__esModule ? mod : {
1917
1053
  "default": mod
@@ -1925,29 +1061,35 @@ exports.injectJsError = void 0;
1925
1061
 
1926
1062
  var tracker_1 = __importDefault(require("../utils/tracker"));
1927
1063
 
1928
- function injectJsError() {
1064
+ function injectJsError(data) {
1065
+ if (data === void 0) {
1066
+ data = {};
1067
+ }
1068
+
1929
1069
  window.addEventListener('error', function (e) {
1930
1070
  if (e.target && (e.target.src || e.target.href)) {
1931
- tracker_1.default.send({
1071
+ tracker_1.default.send(__assign({
1932
1072
  kind: 'stability',
1933
1073
  type: 'error',
1934
1074
  title: 'resourceError',
1935
1075
  filename: e.target.src || e.target.href,
1936
- tagName: e.target.tagName // selector: lastEvent ? get
1937
-
1938
- });
1076
+ tagName: e.target.tagName,
1077
+ reason: e.target.src || e.target.href
1078
+ }, data // selector: lastEvent ? get
1079
+ ));
1939
1080
  return;
1940
1081
  }
1941
1082
 
1942
- tracker_1.default.send({
1083
+ tracker_1.default.send(__assign({
1943
1084
  kind: 'stability',
1944
1085
  type: 'error',
1945
1086
  title: 'jsError',
1946
1087
  message: e.message,
1947
1088
  filename: e.filename,
1948
1089
  position: e.lineno + ":" + e.colno,
1949
- stack: e.error.stack
1950
- });
1090
+ reason: e.error.stack
1091
+ }, data // selector: lastEvent ? get
1092
+ ));
1951
1093
  }, true);
1952
1094
  window.addEventListener('unhandledrejection', function (e) {
1953
1095
  console.log(9565699);
@@ -1968,16 +1110,16 @@ function injectJsError() {
1968
1110
  stack = reason.stack;
1969
1111
  }
1970
1112
 
1971
- tracker_1.default.send({
1113
+ tracker_1.default.send(__assign({
1972
1114
  kind: 'stability',
1973
1115
  type: 'error',
1974
1116
  title: 'promiseError',
1975
1117
  message: message,
1976
1118
  filename: filename,
1977
1119
  position: line + ":" + column,
1978
- stack: stack // selector: lastEvent ? get
1979
-
1980
- });
1120
+ reason: stack
1121
+ }, data // selector: lastEvent ? get
1122
+ ));
1981
1123
  });
1982
1124
  }
1983
1125
 
@@ -1985,6 +1127,22 @@ exports.injectJsError = injectJsError;
1985
1127
  },{"../utils/tracker":"utils/tracker.ts"}],"lib/xhr.ts":[function(require,module,exports) {
1986
1128
  "use strict";
1987
1129
 
1130
+ var __assign = this && this.__assign || function () {
1131
+ __assign = Object.assign || function (t) {
1132
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1133
+ s = arguments[i];
1134
+
1135
+ for (var p in s) {
1136
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1137
+ }
1138
+ }
1139
+
1140
+ return t;
1141
+ };
1142
+
1143
+ return __assign.apply(this, arguments);
1144
+ };
1145
+
1988
1146
  var __importDefault = this && this.__importDefault || function (mod) {
1989
1147
  return mod && mod.__esModule ? mod : {
1990
1148
  "default": mod
@@ -1997,7 +1155,11 @@ Object.defineProperty(exports, "__esModule", {
1997
1155
 
1998
1156
  var tracker_1 = __importDefault(require("../utils/tracker"));
1999
1157
 
2000
- function injectXHR() {
1158
+ function injectXHR(data) {
1159
+ if (data === void 0) {
1160
+ data = {};
1161
+ }
1162
+
2001
1163
  var XMLHttpRequest = window.XMLHttpRequest;
2002
1164
  var oldOpen = XMLHttpRequest.prototype.open;
2003
1165
 
@@ -2023,7 +1185,7 @@ function injectXHR() {
2023
1185
  var duration = Date.now() - startTime_1;
2024
1186
  var status = _this.status;
2025
1187
  var statusText = _this.statusText;
2026
- tracker_1.default.send({
1188
+ tracker_1.default.send(__assign({
2027
1189
  kind: 'stability',
2028
1190
  type: 'xhr',
2029
1191
  eventType: event.type,
@@ -2032,8 +1194,8 @@ function injectXHR() {
2032
1194
  duration: duration,
2033
1195
  response: _this.response ? JSON.stringify(_this.response) : '',
2034
1196
  params: body || '',
2035
- stack: status + '-' + statusText + (" " + _this.logData.url + " " + (_this.response ? JSON.stringify(_this.response) : ''))
2036
- });
1197
+ reason: status + '-' + statusText + (" " + _this.logData.url + " " + (_this.response ? JSON.stringify(_this.response) : ''))
1198
+ }, data));
2037
1199
  };
2038
1200
  };
2039
1201
 
@@ -2068,12 +1230,10 @@ var xhr_1 = __importDefault(require("./lib/xhr"));
2068
1230
  var tracker_1 = __importDefault(require("./utils/tracker"));
2069
1231
 
2070
1232
  exports.Tracker = tracker_1.default; // import timing from './lib/timing'
2071
- // injectJsError()
2072
- // injectXhrError()
2073
1233
 
2074
- function setup() {
2075
- jsError_1.injectJsError();
2076
- xhr_1.default();
1234
+ function setup(data) {
1235
+ jsError_1.injectJsError(data);
1236
+ xhr_1.default(data);
2077
1237
  }
2078
1238
 
2079
1239
  exports.default = setup; // timing()