@cloudcare/browser-core 3.1.2 → 3.1.5
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.
- package/cjs/browser/cookie.js +18 -2
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/browser/htmlDomUtils.js +4 -1
- package/cjs/browser/htmlDomUtils.js.map +1 -1
- package/cjs/configuration/configuration.js +20 -1
- package/cjs/configuration/configuration.js.map +1 -1
- package/cjs/configuration/transportConfiguration.js +15 -6
- package/cjs/configuration/transportConfiguration.js.map +1 -1
- package/cjs/dataMap.js +7 -3
- package/cjs/dataMap.js.map +1 -1
- package/cjs/helper/deviceInfo.js +23 -21
- package/cjs/helper/deviceInfo.js.map +1 -1
- package/cjs/helper/errorTools.js +2 -1
- package/cjs/helper/errorTools.js.map +1 -1
- package/cjs/helper/monitor.js +1 -0
- package/cjs/helper/monitor.js.map +1 -1
- package/cjs/helper/serialisation/rowData.js +7 -5
- package/cjs/helper/serialisation/rowData.js.map +1 -1
- package/cjs/helper/tools.js +67 -18
- package/cjs/helper/tools.js.map +1 -1
- package/cjs/transport/batch.js +23 -10
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/httpRequest.js +31 -12
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/startBatchWithReplica.js +2 -2
- package/cjs/transport/startBatchWithReplica.js.map +1 -1
- package/esm/browser/cookie.js +17 -3
- package/esm/browser/cookie.js.map +1 -1
- package/esm/browser/htmlDomUtils.js +3 -1
- package/esm/browser/htmlDomUtils.js.map +1 -1
- package/esm/configuration/configuration.js +19 -1
- package/esm/configuration/configuration.js.map +1 -1
- package/esm/configuration/transportConfiguration.js +15 -6
- package/esm/configuration/transportConfiguration.js.map +1 -1
- package/esm/dataMap.js +7 -3
- package/esm/dataMap.js.map +1 -1
- package/esm/helper/deviceInfo.js +23 -21
- package/esm/helper/deviceInfo.js.map +1 -1
- package/esm/helper/errorTools.js +1 -0
- package/esm/helper/errorTools.js.map +1 -1
- package/esm/helper/monitor.js +1 -0
- package/esm/helper/monitor.js.map +1 -1
- package/esm/helper/serialisation/rowData.js +8 -6
- package/esm/helper/serialisation/rowData.js.map +1 -1
- package/esm/helper/tools.js +63 -17
- package/esm/helper/tools.js.map +1 -1
- package/esm/transport/batch.js +24 -11
- package/esm/transport/batch.js.map +1 -1
- package/esm/transport/httpRequest.js +31 -12
- package/esm/transport/httpRequest.js.map +1 -1
- package/esm/transport/startBatchWithReplica.js +2 -2
- package/esm/transport/startBatchWithReplica.js.map +1 -1
- package/package.json +2 -2
- package/src/browser/cookie.js +22 -3
- package/src/browser/htmlDomUtils.js +3 -1
- package/src/configuration/configuration.js +29 -2
- package/src/configuration/transportConfiguration.js +19 -13
- package/src/dataMap.js +9 -3
- package/src/helper/deviceInfo.js +23 -20
- package/src/helper/errorTools.js +1 -0
- package/src/helper/monitor.js +1 -0
- package/src/helper/serialisation/rowData.js +9 -6
- package/src/helper/tools.js +71 -18
- package/src/transport/batch.js +28 -12
- package/src/transport/httpRequest.js +46 -11
- package/src/transport/startBatchWithReplica.js +3 -1
- package/src/.DS_Store +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
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); }
|
|
2
2
|
import { jsonStringify } from './jsonStringify';
|
|
3
|
-
import { isString } from '../tools';
|
|
3
|
+
import { isString, isNumber } from '../tools';
|
|
4
4
|
export function escapeRowData(str) {
|
|
5
5
|
if (_typeof(str) === 'object' && str) {
|
|
6
6
|
str = jsonStringify(str);
|
|
@@ -12,12 +12,14 @@ export function escapeRowData(str) {
|
|
|
12
12
|
return '\\' + word;
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
export function escapeJsonValue(value) {
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
} else {
|
|
19
|
-
|
|
15
|
+
export function escapeJsonValue(value, isTag) {
|
|
16
|
+
if (_typeof(value) === 'object' && value) {
|
|
17
|
+
value = jsonStringify(value);
|
|
18
|
+
} else if (isTag) {
|
|
19
|
+
// tag json 只能是字符串
|
|
20
|
+
value = '' + value;
|
|
20
21
|
}
|
|
22
|
+
return value;
|
|
21
23
|
}
|
|
22
24
|
export function escapeFieldValueStr(str) {
|
|
23
25
|
return '"' + str.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowData.js","names":["jsonStringify","isString","escapeRowData","str","_typeof","reg","String","replace","word","escapeJsonValue","value","escapeFieldValueStr","escapeRowField"],"sources":["../../../src/helper/serialisation/rowData.js"],"sourcesContent":["import { jsonStringify } from './jsonStringify'\nimport { isString } from '../tools'\nexport function escapeRowData(str) {\n if (typeof str === 'object' && str) {\n str = jsonStringify(str)\n } else if (!isString(str)) {\n return str\n }\n var reg = /[\\s=,\"]/g\n return String(str).replace(reg, function (word) {\n return '\\\\' + word\n })\n}\n\nexport function escapeJsonValue(value) {\n if (
|
|
1
|
+
{"version":3,"file":"rowData.js","names":["jsonStringify","isString","isNumber","escapeRowData","str","_typeof","reg","String","replace","word","escapeJsonValue","value","isTag","escapeFieldValueStr","escapeRowField"],"sources":["../../../src/helper/serialisation/rowData.js"],"sourcesContent":["import { jsonStringify } from './jsonStringify'\nimport { isString, isNumber } from '../tools'\nexport function escapeRowData(str) {\n if (typeof str === 'object' && str) {\n str = jsonStringify(str)\n } else if (!isString(str)) {\n return str\n }\n var reg = /[\\s=,\"]/g\n return String(str).replace(reg, function (word) {\n return '\\\\' + word\n })\n}\n\nexport function escapeJsonValue(value, isTag) {\n if (typeof value === 'object' && value) {\n value = jsonStringify(value)\n } else if (isTag) {\n // tag json 只能是字符串\n value = '' + value\n }\n\n return value\n}\n\nexport function escapeFieldValueStr(str) {\n return '\"' + str.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"') + '\"'\n}\nexport function escapeRowField(value) {\n if (typeof value === 'object' && value) {\n return escapeFieldValueStr(jsonStringify(value))\n } else if (isString(value)) {\n return escapeFieldValueStr(value)\n } else {\n return value\n }\n}\n"],"mappings":";AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,UAAU;AAC7C,OAAO,SAASC,aAAaA,CAACC,GAAG,EAAE;EACjC,IAAIC,OAAA,CAAOD,GAAG,MAAK,QAAQ,IAAIA,GAAG,EAAE;IAClCA,GAAG,GAAGJ,aAAa,CAACI,GAAG,CAAC;EAC1B,CAAC,MAAM,IAAI,CAACH,QAAQ,CAACG,GAAG,CAAC,EAAE;IACzB,OAAOA,GAAG;EACZ;EACA,IAAIE,GAAG,GAAG,UAAU;EACpB,OAAOC,MAAM,CAACH,GAAG,CAAC,CAACI,OAAO,CAACF,GAAG,EAAE,UAAUG,IAAI,EAAE;IAC9C,OAAO,IAAI,GAAGA,IAAI;EACpB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,eAAeA,CAACC,KAAK,EAAEC,KAAK,EAAE;EAC5C,IAAIP,OAAA,CAAOM,KAAK,MAAK,QAAQ,IAAIA,KAAK,EAAE;IACtCA,KAAK,GAAGX,aAAa,CAACW,KAAK,CAAC;EAC9B,CAAC,MAAM,IAAIC,KAAK,EAAE;IAChB;IACAD,KAAK,GAAG,EAAE,GAAGA,KAAK;EACpB;EAEA,OAAOA,KAAK;AACd;AAEA,OAAO,SAASE,mBAAmBA,CAACT,GAAG,EAAE;EACvC,OAAO,GAAG,GAAGA,GAAG,CAACI,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG;AACpE;AACA,OAAO,SAASM,cAAcA,CAACH,KAAK,EAAE;EACpC,IAAIN,OAAA,CAAOM,KAAK,MAAK,QAAQ,IAAIA,KAAK,EAAE;IACtC,OAAOE,mBAAmB,CAACb,aAAa,CAACW,KAAK,CAAC,CAAC;EAClD,CAAC,MAAM,IAAIV,QAAQ,CAACU,KAAK,CAAC,EAAE;IAC1B,OAAOE,mBAAmB,CAACF,KAAK,CAAC;EACnC,CAAC,MAAM;IACL,OAAOA,KAAK;EACd;AACF"}
|
package/esm/helper/tools.js
CHANGED
|
@@ -226,6 +226,7 @@ export var matchList = function matchList(list, value, useStartsWith) {
|
|
|
226
226
|
} catch (e) {
|
|
227
227
|
display.error(e);
|
|
228
228
|
}
|
|
229
|
+
return false;
|
|
229
230
|
});
|
|
230
231
|
};
|
|
231
232
|
// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js
|
|
@@ -1345,9 +1346,34 @@ export function getNavigationStart() {
|
|
|
1345
1346
|
}
|
|
1346
1347
|
return navigationStart;
|
|
1347
1348
|
}
|
|
1349
|
+
var COMMA_SEPARATED_KEY_VALUE = /([\w-]+)\s*=\s*([^;]+)/g;
|
|
1348
1350
|
export function findCommaSeparatedValue(rawString, name) {
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
+
COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
|
|
1352
|
+
// eslint-disable-next-line no-constant-condition
|
|
1353
|
+
while (true) {
|
|
1354
|
+
var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
|
|
1355
|
+
if (match) {
|
|
1356
|
+
if (match[1] === name) {
|
|
1357
|
+
return match[2];
|
|
1358
|
+
}
|
|
1359
|
+
} else {
|
|
1360
|
+
break;
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
export function findCommaSeparatedValues(rawString) {
|
|
1365
|
+
var result = new Map();
|
|
1366
|
+
COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
|
|
1367
|
+
// eslint-disable-next-line no-constant-condition
|
|
1368
|
+
while (true) {
|
|
1369
|
+
var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
|
|
1370
|
+
if (match) {
|
|
1371
|
+
result.set(match[1], match[2]);
|
|
1372
|
+
} else {
|
|
1373
|
+
break;
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
return result;
|
|
1351
1377
|
}
|
|
1352
1378
|
export function findByPath(source, path) {
|
|
1353
1379
|
var pathArr = path.split('.');
|
|
@@ -1417,27 +1443,47 @@ export function isPercentage(value) {
|
|
|
1417
1443
|
export function getLocationOrigin() {
|
|
1418
1444
|
return getLinkElementOrigin(window.location);
|
|
1419
1445
|
}
|
|
1420
|
-
var
|
|
1446
|
+
export var Browser = {
|
|
1447
|
+
IE: 0,
|
|
1448
|
+
CHROMIUM: 1,
|
|
1449
|
+
SAFARI: 2,
|
|
1450
|
+
OTHER: 3
|
|
1451
|
+
};
|
|
1421
1452
|
export function isIE() {
|
|
1422
|
-
|
|
1423
|
-
browserIsIE = Boolean(document.documentMode);
|
|
1424
|
-
}
|
|
1425
|
-
return browserIsIE;
|
|
1453
|
+
return detectBrowserCached() === Browser.IE;
|
|
1426
1454
|
}
|
|
1427
|
-
var browserIsChromium;
|
|
1428
1455
|
export function isChromium() {
|
|
1429
|
-
|
|
1430
|
-
browserIsChromium = !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);
|
|
1431
|
-
}
|
|
1432
|
-
return browserIsChromium;
|
|
1456
|
+
return detectBrowserCached() === Browser.CHROMIUM;
|
|
1433
1457
|
}
|
|
1434
|
-
var browserIsSafari;
|
|
1435
1458
|
export function isSafari() {
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1459
|
+
return detectBrowserCached() === Browser.SAFARI;
|
|
1460
|
+
}
|
|
1461
|
+
var browserCache;
|
|
1462
|
+
function detectBrowserCached() {
|
|
1463
|
+
return isNullUndefinedDefaultValue(browserCache, browserCache = detectBrowser());
|
|
1440
1464
|
}
|
|
1465
|
+
export function detectBrowser(browserWindow) {
|
|
1466
|
+
var _browserWindow$naviga;
|
|
1467
|
+
if (typeof browserWindow === 'undefined') {
|
|
1468
|
+
browserWindow = window;
|
|
1469
|
+
}
|
|
1470
|
+
var userAgent = browserWindow.navigator.userAgent;
|
|
1471
|
+
if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {
|
|
1472
|
+
return Browser.CHROMIUM;
|
|
1473
|
+
}
|
|
1474
|
+
if (
|
|
1475
|
+
// navigator.vendor is deprecated, but it is the most resilient way we found to detect
|
|
1476
|
+
// "Apple maintained browsers" (AKA Safari). If one day it gets removed, we still have the
|
|
1477
|
+
// useragent test as a semi-working fallback.
|
|
1478
|
+
((_browserWindow$naviga = browserWindow.navigator.vendor) === null || _browserWindow$naviga === void 0 ? void 0 : _browserWindow$naviga.indexOf('Apple')) === 0 || /safari/i.test(userAgent) && !/chrome|android/i.test(userAgent)) {
|
|
1479
|
+
return Browser.SAFARI;
|
|
1480
|
+
}
|
|
1481
|
+
if (browserWindow.document.documentMode) {
|
|
1482
|
+
return Browser.IE;
|
|
1483
|
+
}
|
|
1484
|
+
return Browser.OTHER;
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1441
1487
|
/**
|
|
1442
1488
|
* IE fallback
|
|
1443
1489
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin
|