@cloudcare/browser-core 3.1.24 → 3.2.3
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/pageExitObservable.js +1 -1
- package/cjs/browser/pageExitObservable.js.map +1 -1
- package/cjs/console/consoleObservable.js +17 -9
- package/cjs/console/consoleObservable.js.map +1 -1
- package/cjs/dataMap.js +11 -2
- package/cjs/dataMap.js.map +1 -1
- package/cjs/helper/boundedBuffer.js +21 -17
- package/cjs/helper/boundedBuffer.js.map +1 -1
- package/cjs/helper/byteUtils.js +4 -15
- package/cjs/helper/byteUtils.js.map +1 -1
- package/cjs/helper/connectivity.js +16 -0
- package/cjs/helper/connectivity.js.map +1 -0
- package/cjs/helper/display.js +15 -12
- package/cjs/helper/display.js.map +1 -1
- package/cjs/helper/displayAlreadyInitializedError.js +13 -0
- package/cjs/helper/displayAlreadyInitializedError.js.map +1 -0
- package/cjs/helper/encoder.js +43 -0
- package/cjs/helper/encoder.js.map +1 -0
- package/cjs/helper/lifeCycle.js +0 -1
- package/cjs/helper/lifeCycle.js.map +1 -1
- package/cjs/helper/limitModification.js +5 -16
- package/cjs/helper/limitModification.js.map +1 -1
- package/cjs/helper/monitor.js +6 -6
- package/cjs/helper/monitor.js.map +1 -1
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
- package/cjs/helper/valueHistory.js +6 -17
- package/cjs/helper/valueHistory.js.map +1 -1
- package/cjs/index.js +33 -0
- package/cjs/index.js.map +1 -1
- package/cjs/report/reportObservable.js +26 -20
- package/cjs/report/reportObservable.js.map +1 -1
- package/cjs/telemetry/telemetry.js +60 -31
- package/cjs/telemetry/telemetry.js.map +1 -1
- package/cjs/telemetry/types.js +2 -1
- package/cjs/telemetry/types.js.map +1 -1
- package/cjs/transport/batch.js +129 -79
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/flushController.js +18 -5
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.js +35 -22
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.js +4 -4
- package/cjs/transport/index.js.map +1 -1
- package/cjs/transport/startBatchWithReplica.js +26 -10
- package/cjs/transport/startBatchWithReplica.js.map +1 -1
- package/esm/browser/pageExitObservable.js +1 -1
- package/esm/browser/pageExitObservable.js.map +1 -1
- package/esm/console/consoleObservable.js +18 -10
- package/esm/console/consoleObservable.js.map +1 -1
- package/esm/dataMap.js +11 -2
- package/esm/dataMap.js.map +1 -1
- package/esm/helper/boundedBuffer.js +21 -16
- package/esm/helper/boundedBuffer.js.map +1 -1
- package/esm/helper/byteUtils.js +4 -15
- package/esm/helper/byteUtils.js.map +1 -1
- package/esm/helper/connectivity.js +10 -0
- package/esm/helper/connectivity.js.map +1 -0
- package/esm/helper/display.js +12 -11
- package/esm/helper/display.js.map +1 -1
- package/esm/helper/displayAlreadyInitializedError.js +7 -0
- package/esm/helper/displayAlreadyInitializedError.js.map +1 -0
- package/esm/helper/encoder.js +37 -0
- package/esm/helper/encoder.js.map +1 -0
- package/esm/helper/lifeCycle.js +0 -1
- package/esm/helper/lifeCycle.js.map +1 -1
- package/esm/helper/limitModification.js +5 -16
- package/esm/helper/limitModification.js.map +1 -1
- package/esm/helper/monitor.js +6 -6
- package/esm/helper/monitor.js.map +1 -1
- package/esm/helper/serialisation/jsonStringify.js.map +1 -1
- package/esm/helper/valueHistory.js +6 -17
- package/esm/helper/valueHistory.js.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/report/reportObservable.js +27 -21
- package/esm/report/reportObservable.js.map +1 -1
- package/esm/telemetry/telemetry.js +57 -31
- package/esm/telemetry/telemetry.js.map +1 -1
- package/esm/telemetry/types.js +2 -1
- package/esm/telemetry/types.js.map +1 -1
- package/esm/transport/batch.js +127 -77
- package/esm/transport/batch.js.map +1 -1
- package/esm/transport/flushController.js +18 -5
- package/esm/transport/flushController.js.map +1 -1
- package/esm/transport/httpRequest.js +35 -22
- package/esm/transport/httpRequest.js.map +1 -1
- package/esm/transport/index.js +1 -1
- package/esm/transport/index.js.map +1 -1
- package/esm/transport/startBatchWithReplica.js +27 -11
- package/esm/transport/startBatchWithReplica.js.map +1 -1
- package/package.json +2 -2
- package/src/browser/pageExitObservable.js +2 -2
- package/src/console/consoleObservable.js +22 -14
- package/src/dataMap.js +11 -2
- package/src/helper/boundedBuffer.js +21 -14
- package/src/helper/byteUtils.js +2 -1
- package/src/helper/connectivity.js +11 -0
- package/src/helper/display.js +16 -14
- package/src/helper/displayAlreadyInitializedError.js +7 -0
- package/src/helper/encoder.js +43 -0
- package/src/helper/lifeCycle.js +0 -1
- package/src/helper/limitModification.js +2 -1
- package/src/helper/monitor.js +6 -6
- package/src/helper/serialisation/jsonStringify.js +1 -1
- package/src/helper/valueHistory.js +2 -1
- package/src/index.js +3 -0
- package/src/report/reportObservable.js +43 -27
- package/src/telemetry/telemetry.js +60 -37
- package/src/telemetry/types.js +2 -1
- package/src/transport/batch.js +154 -89
- package/src/transport/flushController.js +19 -6
- package/src/transport/httpRequest.js +34 -35
- package/src/transport/index.js +1 -1
- package/src/transport/startBatchWithReplica.js +25 -14
- package/types/index.d.ts +12 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { computeBytesCount } from './byteUtils';
|
|
2
|
+
export function createIdentityEncoder() {
|
|
3
|
+
var output = '';
|
|
4
|
+
var outputBytesCount = 0;
|
|
5
|
+
return {
|
|
6
|
+
isAsync: false,
|
|
7
|
+
isEmpty: function isEmpty() {
|
|
8
|
+
return !output;
|
|
9
|
+
},
|
|
10
|
+
write: function write(data, callback) {
|
|
11
|
+
var additionalEncodedBytesCount = computeBytesCount(data);
|
|
12
|
+
outputBytesCount += additionalEncodedBytesCount;
|
|
13
|
+
output += data;
|
|
14
|
+
if (callback) {
|
|
15
|
+
callback(additionalEncodedBytesCount);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
finish: function finish(callback) {
|
|
19
|
+
callback(this.finishSync());
|
|
20
|
+
},
|
|
21
|
+
finishSync: function finishSync() {
|
|
22
|
+
var result = {
|
|
23
|
+
output: output,
|
|
24
|
+
outputBytesCount: outputBytesCount,
|
|
25
|
+
rawBytesCount: outputBytesCount,
|
|
26
|
+
pendingData: ''
|
|
27
|
+
};
|
|
28
|
+
output = '';
|
|
29
|
+
outputBytesCount = 0;
|
|
30
|
+
return result;
|
|
31
|
+
},
|
|
32
|
+
estimateEncodedBytesCount: function estimateEncodedBytesCount(data) {
|
|
33
|
+
return data.length;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=encoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoder.js","names":["computeBytesCount","createIdentityEncoder","output","outputBytesCount","isAsync","isEmpty","write","data","callback","additionalEncodedBytesCount","finish","finishSync","result","rawBytesCount","pendingData","estimateEncodedBytesCount","length"],"sources":["../../src/helper/encoder.js"],"sourcesContent":["import { computeBytesCount } from './byteUtils'\n\nexport function createIdentityEncoder() {\n var output = ''\n var outputBytesCount = 0\n\n return {\n isAsync: false,\n\n isEmpty: function () {\n return !output\n },\n\n write: function (data, callback) {\n var additionalEncodedBytesCount = computeBytesCount(data)\n outputBytesCount += additionalEncodedBytesCount\n output += data\n if (callback) {\n callback(additionalEncodedBytesCount)\n }\n },\n\n finish: function (callback) {\n callback(this.finishSync())\n },\n\n finishSync: function () {\n var result = {\n output: output,\n outputBytesCount: outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: ''\n }\n output = ''\n outputBytesCount = 0\n return result\n },\n\n estimateEncodedBytesCount: function (data) {\n return data.length\n }\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,aAAa;AAE/C,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,IAAIC,MAAM,GAAG,EAAE;EACf,IAAIC,gBAAgB,GAAG,CAAC;EAExB,OAAO;IACLC,OAAO,EAAE,KAAK;IAEdC,OAAO,EAAE,SAAAA,QAAA,EAAY;MACnB,OAAO,CAACH,MAAM;IAChB,CAAC;IAEDI,KAAK,EAAE,SAAAA,MAAUC,IAAI,EAAEC,QAAQ,EAAE;MAC/B,IAAIC,2BAA2B,GAAGT,iBAAiB,CAACO,IAAI,CAAC;MACzDJ,gBAAgB,IAAIM,2BAA2B;MAC/CP,MAAM,IAAIK,IAAI;MACd,IAAIC,QAAQ,EAAE;QACZA,QAAQ,CAACC,2BAA2B,CAAC;MACvC;IACF,CAAC;IAEDC,MAAM,EAAE,SAAAA,OAAUF,QAAQ,EAAE;MAC1BA,QAAQ,CAAC,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEDA,UAAU,EAAE,SAAAA,WAAA,EAAY;MACtB,IAAIC,MAAM,GAAG;QACXV,MAAM,EAAEA,MAAM;QACdC,gBAAgB,EAAEA,gBAAgB;QAClCU,aAAa,EAAEV,gBAAgB;QAC/BW,WAAW,EAAE;MACf,CAAC;MACDZ,MAAM,GAAG,EAAE;MACXC,gBAAgB,GAAG,CAAC;MACpB,OAAOS,MAAM;IACf,CAAC;IAEDG,yBAAyB,EAAE,SAAAA,0BAAUR,IAAI,EAAE;MACzC,OAAOA,IAAI,CAACS,MAAM;IACpB;EACF,CAAC;AACH","ignoreList":[]}
|
package/esm/helper/lifeCycle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifeCycle.js","names":["each","filter","LifeCycleEventType","
|
|
1
|
+
{"version":3,"file":"lifeCycle.js","names":["each","filter","LifeCycleEventType","AUTO_ACTION_COMPLETED","BEFORE_VIEW_CREATED","VIEW_CREATED","VIEW_UPDATED","VIEW_ENDED","AFTER_VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","callback","subscribe","push","_this","unsubscribe","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n AFTER_VIEW_ENDED: 'AFTER_VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,SAAS;AACtC,OAAO,IAAIC,kBAAkB,GAAG;EAC9BC,qBAAqB,EAAE,uBAAuB;EAC9CC,mBAAmB,EAAE,qBAAqB;EAC1CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,UAAU,EAAE,YAAY;EACxBC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AACD,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,SAAAA,OAAUC,SAAS,EAAEC,IAAI,EAAE;IACjC,IAAIC,cAAc,GAAG,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC;IAC9C,IAAIE,cAAc,EAAE;MAClBzB,IAAI,CAACyB,cAAc,EAAE,UAAUC,QAAQ,EAAE;QACvCA,QAAQ,CAACF,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDG,SAAS,EAAE,SAAAA,UAAUJ,SAAS,EAAEG,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACN,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACK,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACT,SAAS,CAACG,SAAS,CAAC,GAAGtB,MAAM,CACjC4B,KAAK,CAACT,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUQ,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKL,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
2
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
3
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
4
1
|
import { extend2Lev, each, objectEntries, getType, deepClone } from './tools';
|
|
5
2
|
import { sanitize } from './sanitize';
|
|
6
3
|
|
|
@@ -26,20 +23,12 @@ export function limitModification(object, modifiableFieldPaths, modifier) {
|
|
|
26
23
|
}
|
|
27
24
|
function get(object, path) {
|
|
28
25
|
var current = object;
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var field = _step.value;
|
|
34
|
-
if (!isValidObjectContaining(current, field)) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
current = current[field];
|
|
26
|
+
for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {
|
|
27
|
+
var field = _a[_i];
|
|
28
|
+
if (!isValidObjectContaining(current, field)) {
|
|
29
|
+
return;
|
|
38
30
|
}
|
|
39
|
-
|
|
40
|
-
_iterator.e(err);
|
|
41
|
-
} finally {
|
|
42
|
-
_iterator.f();
|
|
31
|
+
current = current[field];
|
|
43
32
|
}
|
|
44
33
|
return current;
|
|
45
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limitModification.js","names":["extend2Lev","each","objectEntries","getType","deepClone","sanitize","limitModification","object","modifiableFieldPaths","modifier","clone","result","filedPaths","fieldPath","fieldType","newValue","get","newType","set","path","current","
|
|
1
|
+
{"version":3,"file":"limitModification.js","names":["extend2Lev","each","objectEntries","getType","deepClone","sanitize","limitModification","object","modifiableFieldPaths","modifier","clone","result","filedPaths","fieldPath","fieldType","newValue","get","newType","set","path","current","_i","_a","split","length","field","isValidObjectContaining","value","fields","i","isValidObject","Object","prototype","hasOwnProperty","call"],"sources":["../../src/helper/limitModification.js"],"sourcesContent":["import { extend2Lev, each, objectEntries, getType, deepClone } from './tools'\nimport { sanitize } from './sanitize'\n\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object)\n var result = modifier(clone)\n each(objectEntries(modifiableFieldPaths), function (filedPaths) {\n var fieldPath = filedPaths[0]\n var fieldType = filedPaths[1]\n var newValue = get(clone, fieldPath)\n var newType = getType(newValue)\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue))\n } else if (\n fieldType === 'object' &&\n (newType === 'undefined' || newType === 'null')\n ) {\n set(object, fieldPath, {})\n }\n })\n\n return result\n}\n\nfunction get(object, path) {\n var current = object\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i]\n if (!isValidObjectContaining(current, field)) {\n return\n }\n current = current[field]\n }\n return current\n}\n\nfunction set(object, path, value) {\n var current = object\n var fields = path.split('.')\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i]\n if (!isValidObject(current)) {\n return\n }\n if (i !== fields.length - 1) {\n current = current[field]\n } else {\n current[field] = value\n }\n }\n}\n\nfunction isValidObject(object) {\n return getType(object) === 'object'\n}\n\nfunction isValidObjectContaining(object, field) {\n return (\n isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field)\n )\n}\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,aAAa,EAAEC,OAAO,EAAEC,SAAS,QAAQ,SAAS;AAC7E,SAASC,QAAQ,QAAQ,YAAY;;AAErC;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAM,EAAEC,oBAAoB,EAAEC,QAAQ,EAAE;EACxE,IAAIC,KAAK,GAAGN,SAAS,CAACG,MAAM,CAAC;EAC7B,IAAII,MAAM,GAAGF,QAAQ,CAACC,KAAK,CAAC;EAC5BT,IAAI,CAACC,aAAa,CAACM,oBAAoB,CAAC,EAAE,UAAUI,UAAU,EAAE;IAC9D,IAAIC,SAAS,GAAGD,UAAU,CAAC,CAAC,CAAC;IAC7B,IAAIE,SAAS,GAAGF,UAAU,CAAC,CAAC,CAAC;IAC7B,IAAIG,QAAQ,GAAGC,GAAG,CAACN,KAAK,EAAEG,SAAS,CAAC;IACpC,IAAII,OAAO,GAAGd,OAAO,CAACY,QAAQ,CAAC;IAC/B,IAAIE,OAAO,KAAKH,SAAS,EAAE;MACzBI,GAAG,CAACX,MAAM,EAAEM,SAAS,EAAER,QAAQ,CAACU,QAAQ,CAAC,CAAC;IAC5C,CAAC,MAAM,IACLD,SAAS,KAAK,QAAQ,KACrBG,OAAO,KAAK,WAAW,IAAIA,OAAO,KAAK,MAAM,CAAC,EAC/C;MACAC,GAAG,CAACX,MAAM,EAAEM,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,OAAOF,MAAM;AACf;AAEA,SAASK,GAAGA,CAACT,MAAM,EAAEY,IAAI,EAAE;EACzB,IAAIC,OAAO,GAAGb,MAAM;EACpB,KAAK,IAAIc,EAAE,GAAG,CAAC,EAAEC,EAAE,GAAGH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,EAAEF,EAAE,GAAGC,EAAE,CAACE,MAAM,EAAEH,EAAE,EAAE,EAAE;IAC3D,IAAII,KAAK,GAAGH,EAAE,CAACD,EAAE,CAAC;IAClB,IAAI,CAACK,uBAAuB,CAACN,OAAO,EAAEK,KAAK,CAAC,EAAE;MAC5C;IACF;IACAL,OAAO,GAAGA,OAAO,CAACK,KAAK,CAAC;EAC1B;EACA,OAAOL,OAAO;AAChB;AAEA,SAASF,GAAGA,CAACX,MAAM,EAAEY,IAAI,EAAEQ,KAAK,EAAE;EAChC,IAAIP,OAAO,GAAGb,MAAM;EACpB,IAAIqB,MAAM,GAAGT,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC;EAC5B,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAACJ,MAAM,EAAEK,CAAC,IAAI,CAAC,EAAE;IACzC,IAAIJ,KAAK,GAAGG,MAAM,CAACC,CAAC,CAAC;IACrB,IAAI,CAACC,aAAa,CAACV,OAAO,CAAC,EAAE;MAC3B;IACF;IACA,IAAIS,CAAC,KAAKD,MAAM,CAACJ,MAAM,GAAG,CAAC,EAAE;MAC3BJ,OAAO,GAAGA,OAAO,CAACK,KAAK,CAAC;IAC1B,CAAC,MAAM;MACLL,OAAO,CAACK,KAAK,CAAC,GAAGE,KAAK;IACxB;EACF;AACF;AAEA,SAASG,aAAaA,CAACvB,MAAM,EAAE;EAC7B,OAAOJ,OAAO,CAACI,MAAM,CAAC,KAAK,QAAQ;AACrC;AAEA,SAASmB,uBAAuBA,CAACnB,MAAM,EAAEkB,KAAK,EAAE;EAC9C,OACEK,aAAa,CAACvB,MAAM,CAAC,IAAIwB,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC3B,MAAM,EAAEkB,KAAK,CAAC;AAEhF","ignoreList":[]}
|
package/esm/helper/monitor.js
CHANGED
|
@@ -20,21 +20,21 @@ export function callMonitored(fn, context, args) {
|
|
|
20
20
|
try {
|
|
21
21
|
return fn.apply(context, args);
|
|
22
22
|
} catch (e) {
|
|
23
|
-
displayIfDebugEnabled(
|
|
23
|
+
displayIfDebugEnabled(e);
|
|
24
24
|
if (onMonitorErrorCollected) {
|
|
25
25
|
try {
|
|
26
26
|
onMonitorErrorCollected(e);
|
|
27
27
|
} catch (e) {
|
|
28
|
-
displayIfDebugEnabled(
|
|
28
|
+
displayIfDebugEnabled(e);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
export function displayIfDebugEnabled(
|
|
34
|
-
var args = [].slice.call(arguments
|
|
35
|
-
// display.apply(null, [
|
|
33
|
+
export function displayIfDebugEnabled() {
|
|
34
|
+
var args = [].slice.call(arguments);
|
|
35
|
+
// display.error.apply(null, ['[MONITOR]'].concat(args))
|
|
36
36
|
if (debugMode) {
|
|
37
|
-
display.apply(null, [
|
|
37
|
+
display.error.apply(null, ['[MONITOR]'].concat(args));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=monitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","names":["ConsoleApiName","display","onMonitorErrorCollected","debugMode","startMonitorErrorCollection","newOnMonitorErrorCollected","setDebugMode","newDebugMode","resetMonitor","undefined","monitor","fn","callMonitored","arguments","context","args","apply","e","displayIfDebugEnabled","
|
|
1
|
+
{"version":3,"file":"monitor.js","names":["ConsoleApiName","display","onMonitorErrorCollected","debugMode","startMonitorErrorCollection","newOnMonitorErrorCollected","setDebugMode","newDebugMode","resetMonitor","undefined","monitor","fn","callMonitored","arguments","context","args","apply","e","displayIfDebugEnabled","slice","call","error","concat"],"sources":["../../src/helper/monitor.js"],"sourcesContent":["import { ConsoleApiName, display } from './display'\nvar onMonitorErrorCollected\nvar debugMode = false\n\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected\n}\n\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode\n}\n\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined\n debugMode = false\n}\n\nexport function monitor(fn) {\n return function () {\n return callMonitored(fn, this, arguments)\n }\n}\n\nexport function callMonitored(fn, context, args) {\n try {\n return fn.apply(context, args)\n } catch (e) {\n displayIfDebugEnabled(e)\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e)\n } catch (e) {\n displayIfDebugEnabled(e)\n }\n }\n }\n}\n\nexport function displayIfDebugEnabled() {\n var args = [].slice.call(arguments)\n // display.error.apply(null, ['[MONITOR]'].concat(args))\n if (debugMode) {\n display.error.apply(null, ['[MONITOR]'].concat(args))\n }\n}\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,OAAO,QAAQ,WAAW;AACnD,IAAIC,uBAAuB;AAC3B,IAAIC,SAAS,GAAG,KAAK;AAErB,OAAO,SAASC,2BAA2BA,CAACC,0BAA0B,EAAE;EACtEH,uBAAuB,GAAGG,0BAA0B;AACtD;AAEA,OAAO,SAASC,YAAYA,CAACC,YAAY,EAAE;EACzCJ,SAAS,GAAGI,YAAY;AAC1B;AAEA,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC7BN,uBAAuB,GAAGO,SAAS;EACnCN,SAAS,GAAG,KAAK;AACnB;AAEA,OAAO,SAASO,OAAOA,CAACC,EAAE,EAAE;EAC1B,OAAO,YAAY;IACjB,OAAOC,aAAa,CAACD,EAAE,EAAE,IAAI,EAAEE,SAAS,CAAC;EAC3C,CAAC;AACH;AAEA,OAAO,SAASD,aAAaA,CAACD,EAAE,EAAEG,OAAO,EAAEC,IAAI,EAAE;EAC/C,IAAI;IACF,OAAOJ,EAAE,CAACK,KAAK,CAACF,OAAO,EAAEC,IAAI,CAAC;EAChC,CAAC,CAAC,OAAOE,CAAC,EAAE;IACVC,qBAAqB,CAACD,CAAC,CAAC;IACxB,IAAIf,uBAAuB,EAAE;MAC3B,IAAI;QACFA,uBAAuB,CAACe,CAAC,CAAC;MAC5B,CAAC,CAAC,OAAOA,CAAC,EAAE;QACVC,qBAAqB,CAACD,CAAC,CAAC;MAC1B;IACF;EACF;AACF;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,IAAIH,IAAI,GAAG,EAAE,CAACI,KAAK,CAACC,IAAI,CAACP,SAAS,CAAC;EACnC;EACA,IAAIV,SAAS,EAAE;IACbF,OAAO,CAACoB,KAAK,CAACL,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAACM,MAAM,CAACP,IAAI,CAAC,CAAC;EACvD;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonStringify.js","names":["noop","jsonStringify","value","replacer","space","_typeof","JSON","stringify","restoreObjectPrototypeToJson","detachToJsonMethod","Object","prototype","restoreArrayPrototypeToJson","Array","restoreValuePrototypeToJson","getPrototypeOf","restoreValueToJson","_unused","object","objectToJson","toJSON"],"sources":["../../../src/helper/serialisation/jsonStringify.js"],"sourcesContent":["import { noop } from '../tools'\n\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value)\n }\n\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype)\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype)\n var restoreValuePrototypeToJson = detachToJsonMethod(\n Object.getPrototypeOf(value)\n )\n var restoreValueToJson = detachToJsonMethod(value)\n\n try {\n return JSON.stringify(value, replacer, space)\n } catch {\n return '<error: unable to serialize object>'\n } finally {\n restoreObjectPrototypeToJson()\n restoreArrayPrototypeToJson()\n restoreValuePrototypeToJson()\n restoreValueToJson()\n }\n}\n\nexport function detachToJsonMethod(value) {\n const object = value\n const objectToJson = object.toJSON\n if (objectToJson) {\n delete object.toJSON\n return ()
|
|
1
|
+
{"version":3,"file":"jsonStringify.js","names":["noop","jsonStringify","value","replacer","space","_typeof","JSON","stringify","restoreObjectPrototypeToJson","detachToJsonMethod","Object","prototype","restoreArrayPrototypeToJson","Array","restoreValuePrototypeToJson","getPrototypeOf","restoreValueToJson","_unused","object","objectToJson","toJSON"],"sources":["../../../src/helper/serialisation/jsonStringify.js"],"sourcesContent":["import { noop } from '../tools'\n\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value)\n }\n\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype)\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype)\n var restoreValuePrototypeToJson = detachToJsonMethod(\n Object.getPrototypeOf(value)\n )\n var restoreValueToJson = detachToJsonMethod(value)\n\n try {\n return JSON.stringify(value, replacer, space)\n } catch {\n return '<error: unable to serialize object>'\n } finally {\n restoreObjectPrototypeToJson()\n restoreArrayPrototypeToJson()\n restoreValuePrototypeToJson()\n restoreValueToJson()\n }\n}\n\nexport function detachToJsonMethod(value) {\n const object = value\n const objectToJson = object.toJSON\n if (objectToJson) {\n delete object.toJSON\n return function () {\n object.toJSON = objectToJson\n }\n }\n return noop\n}\n"],"mappings":";AAAA,SAASA,IAAI,QAAQ,UAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAE;EACpD,IAAIC,OAAA,CAAOH,KAAK,MAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;IAC/C,OAAOI,IAAI,CAACC,SAAS,CAACL,KAAK,CAAC;EAC9B;;EAEA;EACA;EACA,IAAIM,4BAA4B,GAAGC,kBAAkB,CAACC,MAAM,CAACC,SAAS,CAAC;EACvE,IAAIC,2BAA2B,GAAGH,kBAAkB,CAACI,KAAK,CAACF,SAAS,CAAC;EACrE,IAAIG,2BAA2B,GAAGL,kBAAkB,CAClDC,MAAM,CAACK,cAAc,CAACb,KAAK,CAC7B,CAAC;EACD,IAAIc,kBAAkB,GAAGP,kBAAkB,CAACP,KAAK,CAAC;EAElD,IAAI;IACF,OAAOI,IAAI,CAACC,SAAS,CAACL,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC;EAC/C,CAAC,CAAC,OAAAa,OAAA,EAAM;IACN,OAAO,qCAAqC;EAC9C,CAAC,SAAS;IACRT,4BAA4B,CAAC,CAAC;IAC9BI,2BAA2B,CAAC,CAAC;IAC7BE,2BAA2B,CAAC,CAAC;IAC7BE,kBAAkB,CAAC,CAAC;EACtB;AACF;AAEA,OAAO,SAASP,kBAAkBA,CAACP,KAAK,EAAE;EACxC,IAAMgB,MAAM,GAAGhB,KAAK;EACpB,IAAMiB,YAAY,GAAGD,MAAM,CAACE,MAAM;EAClC,IAAID,YAAY,EAAE;IAChB,OAAOD,MAAM,CAACE,MAAM;IACpB,OAAO,YAAY;MACjBF,MAAM,CAACE,MAAM,GAAGD,YAAY;IAC9B,CAAC;EACH;EACA,OAAOnB,IAAI;AACb","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
2
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
3
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
4
1
|
import { relativeNow, ONE_MINUTE, removeItem, addDuration } from './tools';
|
|
5
2
|
import { setInterval, clearInterval } from './timer';
|
|
6
3
|
var END_OF_TIMES = Infinity;
|
|
@@ -51,22 +48,14 @@ export function createValueHistory(params) {
|
|
|
51
48
|
returnInactive: false
|
|
52
49
|
};
|
|
53
50
|
}
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (entry.startTime <= startTime) {
|
|
60
|
-
if (options.returnInactive || startTime <= entry.endTime) {
|
|
61
|
-
return entry.value;
|
|
62
|
-
}
|
|
63
|
-
break;
|
|
51
|
+
for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
|
|
52
|
+
var entry = entries_1[_i];
|
|
53
|
+
if (entry.startTime <= startTime) {
|
|
54
|
+
if (options.returnInactive || startTime <= entry.endTime) {
|
|
55
|
+
return entry.value;
|
|
64
56
|
}
|
|
57
|
+
break;
|
|
65
58
|
}
|
|
66
|
-
} catch (err) {
|
|
67
|
-
_iterator.e(err);
|
|
68
|
-
} finally {
|
|
69
|
-
_iterator.f();
|
|
70
59
|
}
|
|
71
60
|
}
|
|
72
61
|
function closeActive(endTime) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueHistory.js","names":["relativeNow","ONE_MINUTE","removeItem","addDuration","setInterval","clearInterval","END_OF_TIMES","Infinity","CLEAR_OLD_VALUES_INTERVAL","createValueHistory","params","expireDelay","maxEntries","entries","clearOldValuesInterval","clearOldValues","oldTimeThreshold","length","endTime","pop","add","value","startTime","entry","remove","close","unshift","find","options","returnInactive","
|
|
1
|
+
{"version":3,"file":"valueHistory.js","names":["relativeNow","ONE_MINUTE","removeItem","addDuration","setInterval","clearInterval","END_OF_TIMES","Infinity","CLEAR_OLD_VALUES_INTERVAL","createValueHistory","params","expireDelay","maxEntries","entries","clearOldValuesInterval","clearOldValues","oldTimeThreshold","length","endTime","pop","add","value","startTime","entry","remove","close","unshift","find","options","returnInactive","_i","entries_1","closeActive","latestEntry","findAll","duration","undefined","filter","map","reset","stop"],"sources":["../../src/helper/valueHistory.js"],"sourcesContent":["import { relativeNow, ONE_MINUTE, removeItem, addDuration } from './tools'\nimport { setInterval, clearInterval } from './timer'\nvar END_OF_TIMES = Infinity\n\nexport var CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE\n\n/**\n *\n * @param {expireDelay,maxEntries } params\n * @returns\n */\nexport function createValueHistory(params) {\n var expireDelay = params.expireDelay\n var maxEntries = params.maxEntries\n\n var entries = []\n var clearOldValuesInterval = setInterval(function () {\n return clearOldValues()\n }, CLEAR_OLD_VALUES_INTERVAL)\n\n function clearOldValues() {\n var oldTimeThreshold = relativeNow() - expireDelay\n while (\n entries.length > 0 &&\n entries[entries.length - 1].endTime < oldTimeThreshold\n ) {\n entries.pop()\n }\n }\n\n function add(value, startTime) {\n var entry = {\n value: value,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n removeItem(entries, entry)\n },\n close: function (endTime) {\n entry.endTime = endTime\n }\n }\n\n if (maxEntries && entries.length >= maxEntries) {\n entries.pop()\n }\n\n entries.unshift(entry)\n\n return entry\n }\n\n function find(startTime, options) {\n if (typeof startTime === 'undefined') {\n startTime = END_OF_TIMES\n }\n if (typeof options === 'undefined') {\n options = { returnInactive: false }\n }\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i]\n if (entry.startTime <= startTime) {\n if (options.returnInactive || startTime <= entry.endTime) {\n return entry.value\n }\n break\n }\n }\n }\n\n function closeActive(endTime) {\n var latestEntry = entries[0]\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime)\n }\n }\n\n function findAll(startTime, duration) {\n if (startTime === undefined) {\n startTime = END_OF_TIMES\n }\n if (duration === undefined) {\n duration = 0\n }\n var endTime = addDuration(startTime, duration)\n return entries\n .filter(function (entry) {\n return entry.startTime <= endTime && startTime <= entry.endTime\n })\n .map(function (entry) {\n return entry.value\n })\n }\n\n /**\n * Remove all entries from this collection.\n */\n function reset() {\n entries = []\n }\n\n /**\n * Stop internal garbage collection of past entries.\n */\n function stop() {\n clearInterval(clearOldValuesInterval)\n }\n\n return {\n add: add,\n find: find,\n closeActive: closeActive,\n findAll: findAll,\n reset: reset,\n stop: stop\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/esm/index.js
CHANGED
|
@@ -46,8 +46,11 @@ export * from './helper/serialisation/heavyCustomerDataWarning';
|
|
|
46
46
|
export * from './helper/serialisation/jsonStringify';
|
|
47
47
|
export * from './helper/serialisation/rowData';
|
|
48
48
|
export * from './helper/serialisation/storedContextManager';
|
|
49
|
+
export * from './helper/encoder';
|
|
49
50
|
export * from './user';
|
|
50
51
|
export * from './helper/polyfills';
|
|
51
52
|
export * from './telemetry/telemetry';
|
|
52
53
|
export * from './helper/catchUserErrors';
|
|
54
|
+
export * from './helper/connectivity';
|
|
55
|
+
export * from './helper/displayAlreadyInitializedError';
|
|
53
56
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport * from './session/sessionManagement'\nexport * from './session/sessionConstants'\nexport * from './session/sessionCookieStore'\nexport * from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/heavyCustomerDataWarning'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,6BAA6B;AAC3C,cAAc,4BAA4B;AAC1C,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,iDAAiD;AAC/D,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport * from './session/sessionManagement'\nexport * from './session/sessionConstants'\nexport * from './session/sessionCookieStore'\nexport * from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/heavyCustomerDataWarning'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,6BAA6B;AAC3C,cAAc,4BAA4B;AAC1C,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,iDAAiD;AAC/D,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toStackTraceString } from '../helper/errorTools';
|
|
2
2
|
import { mergeObservables, Observable } from '../helper/observable';
|
|
3
|
-
import { includes, safeTruncate, filter, each } from '../helper/tools';
|
|
3
|
+
import { includes, safeTruncate, filter, each, assign, clocksNow } from '../helper/tools';
|
|
4
4
|
import { addEventListener } from '../browser/addEventListener';
|
|
5
5
|
import { DOM_EVENT } from '../helper/enums';
|
|
6
6
|
import { monitor } from '../helper/monitor';
|
|
@@ -29,7 +29,7 @@ function createReportObservable(reportTypes) {
|
|
|
29
29
|
}
|
|
30
30
|
var handleReports = monitor(function (reports) {
|
|
31
31
|
each(reports, function (report) {
|
|
32
|
-
observable.notify(
|
|
32
|
+
observable.notify(buildRawReportErrorFromReport(report));
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
var observer = new window.ReportingObserver(handleReports, {
|
|
@@ -41,37 +41,43 @@ function createReportObservable(reportTypes) {
|
|
|
41
41
|
observer.disconnect();
|
|
42
42
|
};
|
|
43
43
|
});
|
|
44
|
-
return observable;
|
|
45
44
|
}
|
|
46
45
|
function createCspViolationReportObservable(configuration) {
|
|
47
46
|
return new Observable(function (observable) {
|
|
48
|
-
var
|
|
49
|
-
observable.notify(
|
|
50
|
-
};
|
|
51
|
-
var _addEventListener = addEventListener(document, DOM_EVENT.SECURITY_POLICY_VIOLATION, handleCspViolation);
|
|
47
|
+
var _addEventListener = addEventListener(document, DOM_EVENT.SECURITY_POLICY_VIOLATION, function (event) {
|
|
48
|
+
observable.notify(buildRawReportErrorFromCspViolation(event));
|
|
49
|
+
});
|
|
52
50
|
return _addEventListener.stop;
|
|
53
51
|
});
|
|
54
|
-
return observable;
|
|
55
52
|
}
|
|
56
|
-
function
|
|
53
|
+
function buildRawReportErrorFromReport(report) {
|
|
57
54
|
var body = report.body;
|
|
58
55
|
var type = report.type;
|
|
59
|
-
return {
|
|
60
|
-
type:
|
|
61
|
-
subtype: body.id,
|
|
56
|
+
return buildRawReportError({
|
|
57
|
+
type: body.id,
|
|
62
58
|
message: type + ': ' + body.message,
|
|
59
|
+
originalError: report,
|
|
63
60
|
stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber)
|
|
64
|
-
};
|
|
61
|
+
});
|
|
65
62
|
}
|
|
66
|
-
function
|
|
67
|
-
|
|
63
|
+
function buildRawReportError(partial) {
|
|
64
|
+
return assign({
|
|
65
|
+
startClocks: clocksNow(),
|
|
66
|
+
source: ErrorSource.REPORT,
|
|
67
|
+
handling: ErrorHandling.UNHANDLED
|
|
68
|
+
}, partial);
|
|
69
|
+
}
|
|
70
|
+
function buildRawReportErrorFromCspViolation(event) {
|
|
68
71
|
var message = "'" + event.blockedURI + "' blocked by '" + event.effectiveDirective + "' directive";
|
|
69
|
-
return {
|
|
70
|
-
type:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
return buildRawReportError({
|
|
73
|
+
type: event.effectiveDirective,
|
|
74
|
+
message: RawReportType.cspViolation + ': ' + message,
|
|
75
|
+
originalError: event,
|
|
76
|
+
csp: {
|
|
77
|
+
disposition: event.disposition
|
|
78
|
+
},
|
|
79
|
+
stack: buildStack(event.effectiveDirective, event.originalPolicy ? "".concat(message, " of the policy \"").concat(safeTruncate(event.originalPolicy, 100, '...'), "\"") : 'no policy', event.sourceFile, event.lineNumber, event.columnNumber)
|
|
80
|
+
});
|
|
75
81
|
}
|
|
76
82
|
function buildStack(name, message, sourceFile, lineNumber, columnNumber) {
|
|
77
83
|
return sourceFile && toStackTraceString({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportObservable.js","names":["toStackTraceString","mergeObservables","Observable","includes","safeTruncate","filter","each","addEventListener","DOM_EVENT","monitor","RawReportType","intervention","deprecation","cspViolation","initReportObservable","configuration","apis","observables","push","createCspViolationReportObservable","reportTypes","api","length","createReportObservable","apply","observable","window","ReportingObserver","handleReports","reports","report","notify","
|
|
1
|
+
{"version":3,"file":"reportObservable.js","names":["toStackTraceString","mergeObservables","Observable","includes","safeTruncate","filter","each","assign","clocksNow","addEventListener","DOM_EVENT","monitor","RawReportType","intervention","deprecation","cspViolation","initReportObservable","configuration","apis","observables","push","createCspViolationReportObservable","reportTypes","api","length","createReportObservable","apply","observable","window","ReportingObserver","handleReports","reports","report","notify","buildRawReportErrorFromReport","observer","types","buffered","observe","disconnect","_addEventListener","document","SECURITY_POLICY_VIOLATION","event","buildRawReportErrorFromCspViolation","stop","body","type","buildRawReportError","id","message","originalError","stack","buildStack","sourceFile","lineNumber","columnNumber","partial","startClocks","source","ErrorSource","REPORT","handling","ErrorHandling","UNHANDLED","blockedURI","effectiveDirective","csp","disposition","originalPolicy","concat","name","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport {\n includes,\n safeTruncate,\n filter,\n each,\n assign,\n clocksNow\n} from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n return new Observable(function (observable) {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportErrorFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n}\n\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n function (event) {\n observable.notify(buildRawReportErrorFromCspViolation(event))\n }\n )\n\n return _addEventListener.stop\n })\n}\n\nfunction buildRawReportErrorFromReport(report) {\n var body = report.body\n var type = report.type\n return buildRawReportError({\n type: body.id,\n message: type + ': ' + body.message,\n originalError: report,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n })\n}\nfunction buildRawReportError(partial) {\n return assign(\n {\n startClocks: clocksNow(),\n source: ErrorSource.REPORT,\n handling: ErrorHandling.UNHANDLED\n },\n partial\n )\n}\nfunction buildRawReportErrorFromCspViolation(event) {\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return buildRawReportError({\n type: event.effectiveDirective,\n message: RawReportType.cspViolation + ': ' + message,\n originalError: event,\n csp: {\n disposition: event.disposition\n },\n stack: buildStack(\n event.effectiveDirective,\n event.originalPolicy\n ? `${message} of the policy \"${safeTruncate(\n event.originalPolicy,\n 100,\n '...'\n )}\"`\n : 'no policy',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n })\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,sBAAsB;AACnE,SACEC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,IAAI,EACJC,MAAM,EACNC,SAAS,QACJ,iBAAiB;AACxB,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,mBAAmB;AAC3C,OAAO,IAAIC,aAAa,GAAG;EACzBC,YAAY,EAAE,cAAc;EAC5BC,WAAW,EAAE,aAAa;EAC1BC,YAAY,EAAE;AAChB,CAAC;AACD,OAAO,SAASC,oBAAoBA,CAACC,aAAa,EAAEC,IAAI,EAAE;EACxD,IAAIC,WAAW,GAAG,EAAE;EAEpB,IAAIhB,QAAQ,CAACe,IAAI,EAAEN,aAAa,CAACG,YAAY,CAAC,EAAE;IAC9CI,WAAW,CAACC,IAAI,CAACC,kCAAkC,CAACJ,aAAa,CAAC,CAAC;EACrE;EAEA,IAAIK,WAAW,GAAGjB,MAAM,CAACa,IAAI,EAAE,UAAUK,GAAG,EAAE;IAC5C,OAAOA,GAAG,KAAKX,aAAa,CAACG,YAAY;EAC3C,CAAC,CAAC;EACF,IAAIO,WAAW,CAACE,MAAM,EAAE;IACtBL,WAAW,CAACC,IAAI,CAACK,sBAAsB,CAACH,WAAW,CAAC,CAAC;EACvD;EACA,OAAOrB,gBAAgB,CAACyB,KAAK,CAAC,IAAI,EAAEP,WAAW,CAAC;AAClD;AAEA,SAASM,sBAAsBA,CAACH,WAAW,EAAE;EAC3C,OAAO,IAAIpB,UAAU,CAAC,UAAUyB,UAAU,EAAE;IAC1C,IAAI,CAACC,MAAM,CAACC,iBAAiB,EAAE;MAC7B;IACF;IAEA,IAAIC,aAAa,GAAGnB,OAAO,CAAC,UAAUoB,OAAO,EAAE;MAC7CzB,IAAI,CAACyB,OAAO,EAAE,UAAUC,MAAM,EAAE;QAC9BL,UAAU,CAACM,MAAM,CAACC,6BAA6B,CAACF,MAAM,CAAC,CAAC;MAC1D,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAIG,QAAQ,GAAG,IAAIP,MAAM,CAACC,iBAAiB,CAACC,aAAa,EAAE;MACzDM,KAAK,EAAEd,WAAW;MAClBe,QAAQ,EAAE;IACZ,CAAC,CAAC;IAEFF,QAAQ,CAACG,OAAO,CAAC,CAAC;IAClB,OAAO,YAAY;MACjBH,QAAQ,CAACI,UAAU,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,SAASlB,kCAAkCA,CAACJ,aAAa,EAAE;EACzD,OAAO,IAAIf,UAAU,CAAC,UAAUyB,UAAU,EAAE;IAC1C,IAAIa,iBAAiB,GAAG/B,gBAAgB,CACtCgC,QAAQ,EACR/B,SAAS,CAACgC,yBAAyB,EACnC,UAAUC,KAAK,EAAE;MACfhB,UAAU,CAACM,MAAM,CAACW,mCAAmC,CAACD,KAAK,CAAC,CAAC;IAC/D,CACF,CAAC;IAED,OAAOH,iBAAiB,CAACK,IAAI;EAC/B,CAAC,CAAC;AACJ;AAEA,SAASX,6BAA6BA,CAACF,MAAM,EAAE;EAC7C,IAAIc,IAAI,GAAGd,MAAM,CAACc,IAAI;EACtB,IAAIC,IAAI,GAAGf,MAAM,CAACe,IAAI;EACtB,OAAOC,mBAAmB,CAAC;IACzBD,IAAI,EAAED,IAAI,CAACG,EAAE;IACbC,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGD,IAAI,CAACI,OAAO;IACnCC,aAAa,EAAEnB,MAAM;IACrBoB,KAAK,EAAEC,UAAU,CACfP,IAAI,CAACG,EAAE,EACPH,IAAI,CAACI,OAAO,EACZJ,IAAI,CAACQ,UAAU,EACfR,IAAI,CAACS,UAAU,EACfT,IAAI,CAACU,YACP;EACF,CAAC,CAAC;AACJ;AACA,SAASR,mBAAmBA,CAACS,OAAO,EAAE;EACpC,OAAOlD,MAAM,CACX;IACEmD,WAAW,EAAElD,SAAS,CAAC,CAAC;IACxBmD,MAAM,EAAEC,WAAW,CAACC,MAAM;IAC1BC,QAAQ,EAAEC,aAAa,CAACC;EAC1B,CAAC,EACDP,OACF,CAAC;AACH;AACA,SAASb,mCAAmCA,CAACD,KAAK,EAAE;EAClD,IAAIO,OAAO,GACT,GAAG,GACHP,KAAK,CAACsB,UAAU,GAChB,gBAAgB,GAChBtB,KAAK,CAACuB,kBAAkB,GACxB,aAAa;EACf,OAAOlB,mBAAmB,CAAC;IACzBD,IAAI,EAAEJ,KAAK,CAACuB,kBAAkB;IAC9BhB,OAAO,EAAEtC,aAAa,CAACG,YAAY,GAAG,IAAI,GAAGmC,OAAO;IACpDC,aAAa,EAAER,KAAK;IACpBwB,GAAG,EAAE;MACHC,WAAW,EAAEzB,KAAK,CAACyB;IACrB,CAAC;IACDhB,KAAK,EAAEC,UAAU,CACfV,KAAK,CAACuB,kBAAkB,EACxBvB,KAAK,CAAC0B,cAAc,MAAAC,MAAA,CACbpB,OAAO,uBAAAoB,MAAA,CAAmBlE,YAAY,CACvCuC,KAAK,CAAC0B,cAAc,EACpB,GAAG,EACH,KACF,CAAC,UACD,WAAW,EACf1B,KAAK,CAACW,UAAU,EAChBX,KAAK,CAACY,UAAU,EAChBZ,KAAK,CAACa,YACR;EACF,CAAC,CAAC;AACJ;AAEA,SAASH,UAAUA,CAACkB,IAAI,EAAErB,OAAO,EAAEI,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAE;EACvE,OACEF,UAAU,IACVtD,kBAAkB,CAAC;IACjBuE,IAAI,EAAEA,IAAI;IACVrB,OAAO,EAAEA,OAAO;IAChBE,KAAK,EAAE,CACL;MACEoB,IAAI,EAAE,GAAG;MACTC,GAAG,EAAEnB,UAAU;MACfoB,IAAI,EAAEnB,UAAU;MAChBoB,MAAM,EAAEnB;IACV,CAAC;EAEL,CAAC,CAAC;AAEN","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ConsoleApiName } from '../helper/display';
|
|
2
2
|
import { toStackTraceString, NO_ERROR_STACK_PRESENT_MESSAGE } from '../helper/errorTools';
|
|
3
|
+
import { createBoundedBuffer } from '../helper/boundedBuffer';
|
|
3
4
|
import { computeStackTrace } from '../tracekit';
|
|
4
5
|
import { Observable } from '../helper/observable';
|
|
6
|
+
import { getConnectivity } from '../helper/connectivity';
|
|
5
7
|
import { displayIfDebugEnabled, startMonitorErrorCollection } from '..//helper/monitor';
|
|
6
8
|
import { startsWith, assign, performDraw, timeStampNow, extend2Lev } from '../helper/tools';
|
|
7
9
|
import { jsonStringify } from '../helper/serialisation/jsonStringify';
|
|
@@ -12,35 +14,40 @@ export var TelemetryService = {
|
|
|
12
14
|
LOGS: 'browser-logs-sdk',
|
|
13
15
|
RUM: 'browser-rum-sdk'
|
|
14
16
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
// eslint-disable-next-line local-rules/disallow-side-effects
|
|
19
|
+
var preStartTelemetryBuffer = createBoundedBuffer();
|
|
20
|
+
var _onRawTelemetryEventCollected2 = function onRawTelemetryEventCollected(event) {
|
|
21
|
+
preStartTelemetryBuffer.add(function () {
|
|
22
|
+
_onRawTelemetryEventCollected2(event);
|
|
23
|
+
});
|
|
19
24
|
};
|
|
20
|
-
var onRawTelemetryEventCollected;
|
|
21
25
|
export function startTelemetry(telemetryService, configuration) {
|
|
22
26
|
var contextProvider;
|
|
23
27
|
var observable = new Observable();
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
var alreadySentEvents = new Set();
|
|
29
|
+
var telemetryEnabled = configuration.telemetryEnabled && performDraw(configuration.telemetrySampleRate);
|
|
30
|
+
var runtimeEnvInfo = getRuntimeEnvInfo();
|
|
31
|
+
_onRawTelemetryEventCollected2 = function _onRawTelemetryEventCollected(rawEvent) {
|
|
32
|
+
var stringifiedEvent = jsonStringify(rawEvent);
|
|
33
|
+
if (telemetryEnabled && alreadySentEvents.size < configuration.maxTelemetryEventsPerPage && !alreadySentEvents.has(stringifiedEvent)) {
|
|
34
|
+
var event = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);
|
|
28
35
|
observable.notify(event);
|
|
36
|
+
alreadySentEvents.add(stringifiedEvent);
|
|
29
37
|
}
|
|
30
38
|
};
|
|
31
39
|
startMonitorErrorCollection(addTelemetryError);
|
|
32
|
-
|
|
33
|
-
maxEventsPerPage: configuration.maxTelemetryEventsPerPage,
|
|
34
|
-
sentEventCount: 0
|
|
35
|
-
});
|
|
36
|
-
function toTelemetryEvent(telemetryService, event) {
|
|
40
|
+
function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {
|
|
37
41
|
return extend2Lev({
|
|
38
42
|
type: 'telemetry',
|
|
39
43
|
date: timeStampNow(),
|
|
40
44
|
service: telemetryService,
|
|
41
45
|
version: __BUILD_ENV__SDK_VERSION__,
|
|
42
46
|
source: 'browser',
|
|
43
|
-
telemetry: event
|
|
47
|
+
telemetry: extend2Lev(event, {
|
|
48
|
+
runtime_env: runtimeEnvInfo,
|
|
49
|
+
connectivity: getConnectivity()
|
|
50
|
+
})
|
|
44
51
|
}, contextProvider !== undefined ? contextProvider() : {});
|
|
45
52
|
}
|
|
46
53
|
return {
|
|
@@ -48,39 +55,58 @@ export function startTelemetry(telemetryService, configuration) {
|
|
|
48
55
|
contextProvider = provider;
|
|
49
56
|
},
|
|
50
57
|
observable: observable,
|
|
51
|
-
enabled:
|
|
58
|
+
enabled: telemetryEnabled
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function getRuntimeEnvInfo() {
|
|
62
|
+
return {
|
|
63
|
+
is_local_file: window.location.protocol === 'file:',
|
|
64
|
+
is_worker: 'WorkerGlobalScope' in self
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export function startFakeTelemetry() {
|
|
68
|
+
var events = [];
|
|
69
|
+
_onRawTelemetryEventCollected2 = function _onRawTelemetryEventCollected(event) {
|
|
70
|
+
events.push(event);
|
|
52
71
|
};
|
|
72
|
+
return events;
|
|
73
|
+
}
|
|
74
|
+
export function drainPreStartTelemetry() {
|
|
75
|
+
preStartTelemetryBuffer.drain();
|
|
53
76
|
}
|
|
54
77
|
export function resetTelemetry() {
|
|
55
|
-
|
|
78
|
+
preStartTelemetryBuffer = createBoundedBuffer();
|
|
79
|
+
_onRawTelemetryEventCollected2 = function _onRawTelemetryEventCollected(event) {
|
|
80
|
+
preStartTelemetryBuffer.add(function () {
|
|
81
|
+
_onRawTelemetryEventCollected2(event);
|
|
82
|
+
});
|
|
83
|
+
};
|
|
56
84
|
}
|
|
57
85
|
export function addTelemetryDebug(message, context) {
|
|
58
|
-
displayIfDebugEnabled(
|
|
59
|
-
|
|
86
|
+
displayIfDebugEnabled(message, context);
|
|
87
|
+
_onRawTelemetryEventCollected2(assign({
|
|
60
88
|
type: TelemetryType.log,
|
|
61
89
|
message: message,
|
|
62
90
|
status: TelemetryStatusType.debug
|
|
63
91
|
}, context));
|
|
64
92
|
}
|
|
65
93
|
export function addTelemetryError(e, context) {
|
|
66
|
-
|
|
94
|
+
_onRawTelemetryEventCollected2(assign({
|
|
67
95
|
type: TelemetryType.log,
|
|
68
96
|
status: TelemetryStatusType.error
|
|
69
97
|
}, formatError(e), context));
|
|
70
98
|
}
|
|
71
99
|
export function addTelemetryConfiguration(configuration) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
}
|
|
100
|
+
_onRawTelemetryEventCollected2({
|
|
101
|
+
type: TelemetryType.configuration,
|
|
102
|
+
configuration: configuration
|
|
103
|
+
});
|
|
78
104
|
}
|
|
79
|
-
function
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
105
|
+
export function addTelemetryUsage(usage) {
|
|
106
|
+
_onRawTelemetryEventCollected2({
|
|
107
|
+
type: TelemetryType.usage,
|
|
108
|
+
usage: usage
|
|
109
|
+
});
|
|
84
110
|
}
|
|
85
111
|
export function formatError(e) {
|
|
86
112
|
if (e instanceof Error) {
|