@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.
Files changed (115) hide show
  1. package/cjs/browser/pageExitObservable.js +1 -1
  2. package/cjs/browser/pageExitObservable.js.map +1 -1
  3. package/cjs/console/consoleObservable.js +17 -9
  4. package/cjs/console/consoleObservable.js.map +1 -1
  5. package/cjs/dataMap.js +11 -2
  6. package/cjs/dataMap.js.map +1 -1
  7. package/cjs/helper/boundedBuffer.js +21 -17
  8. package/cjs/helper/boundedBuffer.js.map +1 -1
  9. package/cjs/helper/byteUtils.js +4 -15
  10. package/cjs/helper/byteUtils.js.map +1 -1
  11. package/cjs/helper/connectivity.js +16 -0
  12. package/cjs/helper/connectivity.js.map +1 -0
  13. package/cjs/helper/display.js +15 -12
  14. package/cjs/helper/display.js.map +1 -1
  15. package/cjs/helper/displayAlreadyInitializedError.js +13 -0
  16. package/cjs/helper/displayAlreadyInitializedError.js.map +1 -0
  17. package/cjs/helper/encoder.js +43 -0
  18. package/cjs/helper/encoder.js.map +1 -0
  19. package/cjs/helper/lifeCycle.js +0 -1
  20. package/cjs/helper/lifeCycle.js.map +1 -1
  21. package/cjs/helper/limitModification.js +5 -16
  22. package/cjs/helper/limitModification.js.map +1 -1
  23. package/cjs/helper/monitor.js +6 -6
  24. package/cjs/helper/monitor.js.map +1 -1
  25. package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
  26. package/cjs/helper/valueHistory.js +6 -17
  27. package/cjs/helper/valueHistory.js.map +1 -1
  28. package/cjs/index.js +33 -0
  29. package/cjs/index.js.map +1 -1
  30. package/cjs/report/reportObservable.js +26 -20
  31. package/cjs/report/reportObservable.js.map +1 -1
  32. package/cjs/telemetry/telemetry.js +60 -31
  33. package/cjs/telemetry/telemetry.js.map +1 -1
  34. package/cjs/telemetry/types.js +2 -1
  35. package/cjs/telemetry/types.js.map +1 -1
  36. package/cjs/transport/batch.js +129 -79
  37. package/cjs/transport/batch.js.map +1 -1
  38. package/cjs/transport/flushController.js +18 -5
  39. package/cjs/transport/flushController.js.map +1 -1
  40. package/cjs/transport/httpRequest.js +35 -22
  41. package/cjs/transport/httpRequest.js.map +1 -1
  42. package/cjs/transport/index.js +4 -4
  43. package/cjs/transport/index.js.map +1 -1
  44. package/cjs/transport/startBatchWithReplica.js +26 -10
  45. package/cjs/transport/startBatchWithReplica.js.map +1 -1
  46. package/esm/browser/pageExitObservable.js +1 -1
  47. package/esm/browser/pageExitObservable.js.map +1 -1
  48. package/esm/console/consoleObservable.js +18 -10
  49. package/esm/console/consoleObservable.js.map +1 -1
  50. package/esm/dataMap.js +11 -2
  51. package/esm/dataMap.js.map +1 -1
  52. package/esm/helper/boundedBuffer.js +21 -16
  53. package/esm/helper/boundedBuffer.js.map +1 -1
  54. package/esm/helper/byteUtils.js +4 -15
  55. package/esm/helper/byteUtils.js.map +1 -1
  56. package/esm/helper/connectivity.js +10 -0
  57. package/esm/helper/connectivity.js.map +1 -0
  58. package/esm/helper/display.js +12 -11
  59. package/esm/helper/display.js.map +1 -1
  60. package/esm/helper/displayAlreadyInitializedError.js +7 -0
  61. package/esm/helper/displayAlreadyInitializedError.js.map +1 -0
  62. package/esm/helper/encoder.js +37 -0
  63. package/esm/helper/encoder.js.map +1 -0
  64. package/esm/helper/lifeCycle.js +0 -1
  65. package/esm/helper/lifeCycle.js.map +1 -1
  66. package/esm/helper/limitModification.js +5 -16
  67. package/esm/helper/limitModification.js.map +1 -1
  68. package/esm/helper/monitor.js +6 -6
  69. package/esm/helper/monitor.js.map +1 -1
  70. package/esm/helper/serialisation/jsonStringify.js.map +1 -1
  71. package/esm/helper/valueHistory.js +6 -17
  72. package/esm/helper/valueHistory.js.map +1 -1
  73. package/esm/index.js +3 -0
  74. package/esm/index.js.map +1 -1
  75. package/esm/report/reportObservable.js +27 -21
  76. package/esm/report/reportObservable.js.map +1 -1
  77. package/esm/telemetry/telemetry.js +57 -31
  78. package/esm/telemetry/telemetry.js.map +1 -1
  79. package/esm/telemetry/types.js +2 -1
  80. package/esm/telemetry/types.js.map +1 -1
  81. package/esm/transport/batch.js +127 -77
  82. package/esm/transport/batch.js.map +1 -1
  83. package/esm/transport/flushController.js +18 -5
  84. package/esm/transport/flushController.js.map +1 -1
  85. package/esm/transport/httpRequest.js +35 -22
  86. package/esm/transport/httpRequest.js.map +1 -1
  87. package/esm/transport/index.js +1 -1
  88. package/esm/transport/index.js.map +1 -1
  89. package/esm/transport/startBatchWithReplica.js +27 -11
  90. package/esm/transport/startBatchWithReplica.js.map +1 -1
  91. package/package.json +2 -2
  92. package/src/browser/pageExitObservable.js +2 -2
  93. package/src/console/consoleObservable.js +22 -14
  94. package/src/dataMap.js +11 -2
  95. package/src/helper/boundedBuffer.js +21 -14
  96. package/src/helper/byteUtils.js +2 -1
  97. package/src/helper/connectivity.js +11 -0
  98. package/src/helper/display.js +16 -14
  99. package/src/helper/displayAlreadyInitializedError.js +7 -0
  100. package/src/helper/encoder.js +43 -0
  101. package/src/helper/lifeCycle.js +0 -1
  102. package/src/helper/limitModification.js +2 -1
  103. package/src/helper/monitor.js +6 -6
  104. package/src/helper/serialisation/jsonStringify.js +1 -1
  105. package/src/helper/valueHistory.js +2 -1
  106. package/src/index.js +3 -0
  107. package/src/report/reportObservable.js +43 -27
  108. package/src/telemetry/telemetry.js +60 -37
  109. package/src/telemetry/types.js +2 -1
  110. package/src/transport/batch.js +154 -89
  111. package/src/transport/flushController.js +19 -6
  112. package/src/transport/httpRequest.js +34 -35
  113. package/src/transport/index.js +1 -1
  114. package/src/transport/startBatchWithReplica.js +25 -14
  115. 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":[]}
@@ -1,6 +1,5 @@
1
1
  import { each, filter } from './tools';
2
2
  export var LifeCycleEventType = {
3
- PERFORMANCE_ENTRIES_COLLECTED: 'PERFORMANCE_ENTRIES_COLLECTED',
4
3
  AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',
5
4
  BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',
6
5
  VIEW_CREATED: 'VIEW_CREATED',
@@ -1 +1 @@
1
- {"version":3,"file":"lifeCycle.js","names":["each","filter","LifeCycleEventType","PERFORMANCE_ENTRIES_COLLECTED","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 PERFORMANCE_ENTRIES_COLLECTED: 'PERFORMANCE_ENTRIES_COLLECTED',\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,6BAA6B,EAAE,+BAA+B;EAC9DC,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;MAClB1B,IAAI,CAAC0B,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,GAAGvB,MAAM,CACjC6B,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
+ {"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 _iterator = _createForOfIteratorHelper(path.split('.')),
30
- _step;
31
- try {
32
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
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
- } catch (err) {
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","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","field","value","isValidObjectContaining","err","e","f","fields","i","length","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 field of path.split('.')) {\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;EAAA,IAAAc,SAAA,GAAAC,0BAAA,CACFH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC;IAAAC,KAAA;EAAA;IAAjC,KAAAH,SAAA,CAAAI,CAAA,MAAAD,KAAA,GAAAH,SAAA,CAAAK,CAAA,IAAAC,IAAA,GAAmC;MAAA,IAA1BC,KAAK,GAAAJ,KAAA,CAAAK,KAAA;MACZ,IAAI,CAACC,uBAAuB,CAACV,OAAO,EAAEQ,KAAK,CAAC,EAAE;QAC5C;MACF;MACAR,OAAO,GAAGA,OAAO,CAACQ,KAAK,CAAC;IAC1B;EAAC,SAAAG,GAAA;IAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA;EAAA;IAAAV,SAAA,CAAAY,CAAA;EAAA;EACD,OAAOb,OAAO;AAChB;AAEA,SAASF,GAAGA,CAACX,MAAM,EAAEY,IAAI,EAAEU,KAAK,EAAE;EAChC,IAAIT,OAAO,GAAGb,MAAM;EACpB,IAAI2B,MAAM,GAAGf,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC;EAC5B,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAACE,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IACzC,IAAIP,KAAK,GAAGM,MAAM,CAACC,CAAC,CAAC;IACrB,IAAI,CAACE,aAAa,CAACjB,OAAO,CAAC,EAAE;MAC3B;IACF;IACA,IAAIe,CAAC,KAAKD,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;MAC3BhB,OAAO,GAAGA,OAAO,CAACQ,KAAK,CAAC;IAC1B,CAAC,MAAM;MACLR,OAAO,CAACQ,KAAK,CAAC,GAAGC,KAAK;IACxB;EACF;AACF;AAEA,SAASQ,aAAaA,CAAC9B,MAAM,EAAE;EAC7B,OAAOJ,OAAO,CAACI,MAAM,CAAC,KAAK,QAAQ;AACrC;AAEA,SAASuB,uBAAuBA,CAACvB,MAAM,EAAEqB,KAAK,EAAE;EAC9C,OACES,aAAa,CAAC9B,MAAM,CAAC,IAAI+B,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAClC,MAAM,EAAEqB,KAAK,CAAC;AAEhF","ignoreList":[]}
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":[]}
@@ -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(ConsoleApiName.error, e);
23
+ displayIfDebugEnabled(e);
24
24
  if (onMonitorErrorCollected) {
25
25
  try {
26
26
  onMonitorErrorCollected(e);
27
27
  } catch (e) {
28
- displayIfDebugEnabled(ConsoleApiName.error, e);
28
+ displayIfDebugEnabled(e);
29
29
  }
30
30
  }
31
31
  }
32
32
  }
33
- export function displayIfDebugEnabled(api) {
34
- var args = [].slice.call(arguments, 1);
35
- // display.apply(null, [api, '[MONITOR]'].concat(args))
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, [api, '[MONITOR]'].concat(args));
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","error","api","slice","call","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(ConsoleApiName.error, e)\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e)\n } catch (e) {\n displayIfDebugEnabled(ConsoleApiName.error, e)\n }\n }\n }\n}\n\nexport function displayIfDebugEnabled(api) {\n var args = [].slice.call(arguments, 1)\n // display.apply(null, [api, '[MONITOR]'].concat(args))\n if (debugMode) {\n display.apply(null, [api, '[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,CAAClB,cAAc,CAACmB,KAAK,EAAEF,CAAC,CAAC;IAC9C,IAAIf,uBAAuB,EAAE;MAC3B,IAAI;QACFA,uBAAuB,CAACe,CAAC,CAAC;MAC5B,CAAC,CAAC,OAAOA,CAAC,EAAE;QACVC,qBAAqB,CAAClB,cAAc,CAACmB,KAAK,EAAEF,CAAC,CAAC;MAChD;IACF;EACF;AACF;AAEA,OAAO,SAASC,qBAAqBA,CAACE,GAAG,EAAE;EACzC,IAAIL,IAAI,GAAG,EAAE,CAACM,KAAK,CAACC,IAAI,CAACT,SAAS,EAAE,CAAC,CAAC;EACtC;EACA,IAAIV,SAAS,EAAE;IACbF,OAAO,CAACe,KAAK,CAAC,IAAI,EAAE,CAACI,GAAG,EAAE,WAAW,CAAC,CAACG,MAAM,CAACR,IAAI,CAAC,CAAC;EACtD;AACF","ignoreList":[]}
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 () => {\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,YAAM;MACXF,MAAM,CAACE,MAAM,GAAGD,YAAY;IAC9B,CAAC;EACH;EACA,OAAOnB,IAAI;AACb","ignoreList":[]}
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 _iterator = _createForOfIteratorHelper(entries),
55
- _step;
56
- try {
57
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
58
- var entry = _step.value;
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","_iterator","_createForOfIteratorHelper","_step","s","n","done","err","e","f","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 entry of entries) {\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":[]}
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(buildRawReportFromReport(report));
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 handleCspViolation = function handleCspViolation(event) {
49
- observable.notify(buildRawReportFromCspViolation(event));
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 buildRawReportFromReport(report) {
53
+ function buildRawReportErrorFromReport(report) {
57
54
  var body = report.body;
58
55
  var type = report.type;
59
- return {
60
- type: 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 buildRawReportFromCspViolation(event) {
67
- var type = RawReportType.cspViolation;
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: RawReportType.cspViolation,
71
- subtype: event.effectiveDirective,
72
- message: type + ': ' + message,
73
- stack: buildStack(event.effectiveDirective, message + ' of the policy "' + safeTruncate(event.originalPolicy, 100, '...') + '"', event.sourceFile, event.lineNumber, event.columnNumber)
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","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","document","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","originalPolicy","name","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } 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(buildRawReportFromReport(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 return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\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,SAASC,QAAQ,EAAEC,YAAY,EAAEC,MAAM,EAAEC,IAAI,QAAQ,iBAAiB;AACtE,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,IAAId,QAAQ,CAACa,IAAI,EAAEN,aAAa,CAACG,YAAY,CAAC,EAAE;IAC9CI,WAAW,CAACC,IAAI,CAACC,kCAAkC,CAACJ,aAAa,CAAC,CAAC;EACrE;EAEA,IAAIK,WAAW,GAAGf,MAAM,CAACW,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,OAAOnB,gBAAgB,CAACuB,KAAK,CAAC,IAAI,EAAEP,WAAW,CAAC;AAClD;AAEA,SAASM,sBAAsBA,CAACH,WAAW,EAAE;EAC3C,OAAO,IAAIlB,UAAU,CAAC,UAAUuB,UAAU,EAAE;IAC1C,IAAI,CAACC,MAAM,CAACC,iBAAiB,EAAE;MAC7B;IACF;IAEA,IAAIC,aAAa,GAAGnB,OAAO,CAAC,UAAUoB,OAAO,EAAE;MAC7CvB,IAAI,CAACuB,OAAO,EAAE,UAAUC,MAAM,EAAE;QAC9BL,UAAU,CAACM,MAAM,CAACC,wBAAwB,CAACF,MAAM,CAAC,CAAC;MACrD,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;EAEF,OAAOZ,UAAU;AACnB;AAEA,SAASN,kCAAkCA,CAACJ,aAAa,EAAE;EACzD,OAAO,IAAIb,UAAU,CAAC,UAAUuB,UAAU,EAAE;IAC1C,IAAIa,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAaC,KAAK,EAAE;MACxCd,UAAU,CAACM,MAAM,CAACS,8BAA8B,CAACD,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAIE,iBAAiB,GAAGlC,gBAAgB,CACtCmC,QAAQ,EACRlC,SAAS,CAACmC,yBAAyB,EACnCL,kBACF,CAAC;IAED,OAAOG,iBAAiB,CAACG,IAAI;EAC/B,CAAC,CAAC;EACF,OAAOnB,UAAU;AACnB;AAEA,SAASO,wBAAwBA,CAACF,MAAM,EAAE;EACxC,IAAIe,IAAI,GAAGf,MAAM,CAACe,IAAI;EACtB,IAAIC,IAAI,GAAGhB,MAAM,CAACgB,IAAI;EACtB,OAAO;IACLA,IAAI,EAAEA,IAAI;IACVC,OAAO,EAAEF,IAAI,CAACG,EAAE;IAChBC,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGD,IAAI,CAACI,OAAO;IACnCC,KAAK,EAAEC,UAAU,CACfN,IAAI,CAACG,EAAE,EACPH,IAAI,CAACI,OAAO,EACZJ,IAAI,CAACO,UAAU,EACfP,IAAI,CAACQ,UAAU,EACfR,IAAI,CAACS,YACP;EACF,CAAC;AACH;AAEA,SAASd,8BAA8BA,CAACD,KAAK,EAAE;EAC7C,IAAIO,IAAI,GAAGpC,aAAa,CAACG,YAAY;EACrC,IAAIoC,OAAO,GACT,GAAG,GACHV,KAAK,CAACgB,UAAU,GAChB,gBAAgB,GAChBhB,KAAK,CAACiB,kBAAkB,GACxB,aAAa;EACf,OAAO;IACLV,IAAI,EAAEpC,aAAa,CAACG,YAAY;IAChCkC,OAAO,EAAER,KAAK,CAACiB,kBAAkB;IACjCP,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGG,OAAO;IAC9BC,KAAK,EAAEC,UAAU,CACfZ,KAAK,CAACiB,kBAAkB,EACxBP,OAAO,GACL,kBAAkB,GAClB7C,YAAY,CAACmC,KAAK,CAACkB,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAC9C,GAAG,EACLlB,KAAK,CAACa,UAAU,EAChBb,KAAK,CAACc,UAAU,EAChBd,KAAK,CAACe,YACR;EACF,CAAC;AACH;AAEA,SAASH,UAAUA,CAACO,IAAI,EAAET,OAAO,EAAEG,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAE;EACvE,OACEF,UAAU,IACVpD,kBAAkB,CAAC;IACjB0D,IAAI,EAAEA,IAAI;IACVT,OAAO,EAAEA,OAAO;IAChBC,KAAK,EAAE,CACL;MACES,IAAI,EAAE,GAAG;MACTC,GAAG,EAAER,UAAU;MACfS,IAAI,EAAER,UAAU;MAChBS,MAAM,EAAER;IACV,CAAC;EAEL,CAAC,CAAC;AAEN","ignoreList":[]}
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":"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","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
- var telemetryConfiguration = {
16
- maxEventsPerPage: 0,
17
- sentEventCount: 0,
18
- telemetryEnabled: false
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
- telemetryConfiguration.telemetryEnabled = configuration.telemetryEnabled && performDraw(configuration.telemetrySampleRate);
25
- onRawTelemetryEventCollected = function onRawTelemetryEventCollected(rawEvent) {
26
- if (telemetryConfiguration.telemetryEnabled) {
27
- var event = toTelemetryEvent(telemetryService, rawEvent);
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
- assign(telemetryConfiguration, {
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 // https://github.com/microsoft/TypeScript/issues/48457
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: telemetryConfiguration.telemetryEnabled
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
- onRawTelemetryEventCollected = undefined;
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(ConsoleApiName.debug, message, context);
59
- addTelemetry(assign({
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
- addTelemetry(assign({
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
- if (telemetryConfiguration.telemetryEnabled) {
73
- addTelemetry({
74
- type: TelemetryType.configuration,
75
- configuration: configuration
76
- });
77
- }
100
+ _onRawTelemetryEventCollected2({
101
+ type: TelemetryType.configuration,
102
+ configuration: configuration
103
+ });
78
104
  }
79
- function addTelemetry(event) {
80
- if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {
81
- telemetryConfiguration.sentEventCount += 1;
82
- onRawTelemetryEventCollected(event);
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) {