@cloudcare/browser-core 3.0.23 → 3.1.0

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 (275) hide show
  1. package/cjs/browser/addEventListener.js +11 -14
  2. package/cjs/browser/addEventListener.js.map +1 -0
  3. package/cjs/browser/cookie.js +3 -14
  4. package/cjs/browser/cookie.js.map +1 -0
  5. package/cjs/browser/fetchObservable.js +8 -23
  6. package/cjs/browser/fetchObservable.js.map +1 -0
  7. package/cjs/browser/htmlDomUtils.js +3 -9
  8. package/cjs/browser/htmlDomUtils.js.map +1 -0
  9. package/cjs/browser/pageExitObservable.js +3 -9
  10. package/cjs/browser/pageExitObservable.js.map +1 -0
  11. package/cjs/browser/runOnReadyState.js +2 -4
  12. package/cjs/browser/runOnReadyState.js.map +1 -0
  13. package/cjs/browser/scroll.js +32 -0
  14. package/cjs/browser/scroll.js.map +1 -0
  15. package/cjs/browser/xhrObservable.js +2 -21
  16. package/cjs/browser/xhrObservable.js.map +1 -0
  17. package/cjs/configuration/configuration.js +9 -20
  18. package/cjs/configuration/configuration.js.map +1 -0
  19. package/cjs/configuration/transportConfiguration.js +6 -20
  20. package/cjs/configuration/transportConfiguration.js.map +1 -0
  21. package/cjs/console/consoleObservable.js +7 -21
  22. package/cjs/console/consoleObservable.js.map +1 -0
  23. package/cjs/dataMap.js +24 -10
  24. package/cjs/dataMap.js.map +1 -0
  25. package/cjs/error/trackRuntimeError.js +3 -7
  26. package/cjs/error/trackRuntimeError.js.map +1 -0
  27. package/cjs/helper/boundedBuffer.js +2 -6
  28. package/cjs/helper/boundedBuffer.js.map +1 -0
  29. package/cjs/helper/byteUtils.js +6 -16
  30. package/cjs/helper/byteUtils.js.map +1 -0
  31. package/cjs/helper/catchUserErrors.js +2 -4
  32. package/cjs/helper/catchUserErrors.js.map +1 -0
  33. package/cjs/helper/contextHistory.js +21 -37
  34. package/cjs/helper/contextHistory.js.map +1 -0
  35. package/cjs/helper/createEventRateLimiter.js +2 -10
  36. package/cjs/helper/createEventRateLimiter.js.map +1 -0
  37. package/cjs/helper/deviceInfo.js +10 -64
  38. package/cjs/helper/deviceInfo.js.map +1 -0
  39. package/cjs/helper/display.js +2 -5
  40. package/cjs/helper/display.js.map +1 -0
  41. package/cjs/helper/enums.js +8 -2
  42. package/cjs/helper/enums.js.map +1 -0
  43. package/cjs/helper/errorTools.js +38 -40
  44. package/cjs/helper/errorTools.js.map +1 -0
  45. package/cjs/helper/eventEmitter.js +2 -6
  46. package/cjs/helper/eventEmitter.js.map +1 -0
  47. package/cjs/helper/getZoneJsOriginalValue.js +2 -5
  48. package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
  49. package/cjs/helper/instrumentMethod.js +11 -21
  50. package/cjs/helper/instrumentMethod.js.map +1 -0
  51. package/cjs/helper/lifeCycle.js +2 -9
  52. package/cjs/helper/lifeCycle.js.map +1 -0
  53. package/cjs/helper/limitModification.js +4 -22
  54. package/cjs/helper/limitModification.js.map +1 -0
  55. package/cjs/helper/mobileUtil.js +2 -20
  56. package/cjs/helper/mobileUtil.js.map +1 -0
  57. package/cjs/helper/monitor.js +50 -0
  58. package/cjs/helper/monitor.js.map +1 -0
  59. package/cjs/helper/observable.js +2 -9
  60. package/cjs/helper/observable.js.map +1 -0
  61. package/cjs/helper/readBytesFromStream.js +8 -16
  62. package/cjs/helper/readBytesFromStream.js.map +1 -0
  63. package/cjs/helper/sanitize.js +38 -61
  64. package/cjs/helper/sanitize.js.map +1 -0
  65. package/cjs/helper/serialisation/contextManager.js +5 -15
  66. package/cjs/helper/serialisation/contextManager.js.map +1 -0
  67. package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
  68. package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
  69. package/cjs/helper/serialisation/jsonStringify.js +6 -12
  70. package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
  71. package/cjs/helper/serialisation/rowData.js +3 -10
  72. package/cjs/helper/serialisation/rowData.js.map +1 -0
  73. package/cjs/helper/timer.js +5 -9
  74. package/cjs/helper/timer.js.map +1 -0
  75. package/cjs/helper/tools.js +58 -463
  76. package/cjs/helper/tools.js.map +1 -0
  77. package/cjs/helper/urlPolyfill.js +5 -18
  78. package/cjs/helper/urlPolyfill.js.map +1 -0
  79. package/cjs/index.js +35 -93
  80. package/cjs/index.js.map +1 -0
  81. package/cjs/init.js +24 -36
  82. package/cjs/init.js.map +1 -0
  83. package/cjs/report/reportObservable.js +8 -26
  84. package/cjs/report/reportObservable.js.map +1 -0
  85. package/cjs/session/sessionConstants.js +2 -3
  86. package/cjs/session/sessionConstants.js.map +1 -0
  87. package/cjs/session/sessionCookieStore.js +11 -46
  88. package/cjs/session/sessionCookieStore.js.map +1 -0
  89. package/cjs/session/sessionManagement.js +2 -19
  90. package/cjs/session/sessionManagement.js.map +1 -0
  91. package/cjs/session/sessionStore.js +3 -28
  92. package/cjs/session/sessionStore.js.map +1 -0
  93. package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
  94. package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
  95. package/cjs/synthetics/usr.js +2 -8
  96. package/cjs/synthetics/usr.js.map +1 -0
  97. package/cjs/telemetry/telemetry.js +125 -0
  98. package/cjs/telemetry/telemetry.js.map +1 -0
  99. package/cjs/telemetry/types.js +17 -0
  100. package/cjs/telemetry/types.js.map +1 -0
  101. package/cjs/tracekit/computeStackTrace.js +4 -34
  102. package/cjs/tracekit/computeStackTrace.js.map +1 -0
  103. package/cjs/tracekit/index.js +2 -3
  104. package/cjs/tracekit/index.js.map +1 -0
  105. package/cjs/tracekit/tracekit.js +3 -18
  106. package/cjs/tracekit/tracekit.js.map +1 -0
  107. package/cjs/transport/batch.js +7 -56
  108. package/cjs/transport/batch.js.map +1 -0
  109. package/cjs/transport/eventBridge.js +2 -7
  110. package/cjs/transport/eventBridge.js.map +1 -0
  111. package/cjs/transport/flushController.js +8 -21
  112. package/cjs/transport/flushController.js.map +1 -0
  113. package/cjs/transport/httpRequest.js +8 -20
  114. package/cjs/transport/httpRequest.js.map +1 -0
  115. package/cjs/transport/index.js +2 -6
  116. package/cjs/transport/index.js.map +1 -0
  117. package/cjs/transport/sendWithRetryStrategy.js +4 -23
  118. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  119. package/cjs/transport/startBatchWithReplica.js +2 -7
  120. package/cjs/transport/startBatchWithReplica.js.map +1 -0
  121. package/cjs/user/index.js +2 -3
  122. package/cjs/user/index.js.map +1 -0
  123. package/cjs/user/user.js +3 -8
  124. package/cjs/user/user.js.map +1 -0
  125. package/cjs/worker.js +2 -2
  126. package/cjs/worker.js.map +1 -0
  127. package/esm/browser/addEventListener.js +11 -10
  128. package/esm/browser/addEventListener.js.map +1 -0
  129. package/esm/browser/cookie.js +3 -6
  130. package/esm/browser/cookie.js.map +1 -0
  131. package/esm/browser/fetchObservable.js +8 -17
  132. package/esm/browser/fetchObservable.js.map +1 -0
  133. package/esm/browser/htmlDomUtils.js +3 -2
  134. package/esm/browser/htmlDomUtils.js.map +1 -0
  135. package/esm/browser/pageExitObservable.js +3 -2
  136. package/esm/browser/pageExitObservable.js.map +1 -0
  137. package/esm/browser/runOnReadyState.js +2 -1
  138. package/esm/browser/runOnReadyState.js.map +1 -0
  139. package/esm/browser/scroll.js +25 -0
  140. package/esm/browser/scroll.js.map +1 -0
  141. package/esm/browser/xhrObservable.js +2 -14
  142. package/esm/browser/xhrObservable.js.map +1 -0
  143. package/esm/configuration/configuration.js +9 -9
  144. package/esm/configuration/configuration.js.map +1 -0
  145. package/esm/configuration/transportConfiguration.js +6 -17
  146. package/esm/configuration/transportConfiguration.js.map +1 -0
  147. package/esm/console/consoleObservable.js +7 -12
  148. package/esm/console/consoleObservable.js.map +1 -0
  149. package/esm/dataMap.js +24 -8
  150. package/esm/dataMap.js.map +1 -0
  151. package/esm/error/trackRuntimeError.js +4 -3
  152. package/esm/error/trackRuntimeError.js.map +1 -0
  153. package/esm/helper/boundedBuffer.js +2 -4
  154. package/esm/helper/boundedBuffer.js.map +1 -0
  155. package/esm/helper/byteUtils.js +6 -13
  156. package/esm/helper/byteUtils.js.map +1 -0
  157. package/esm/helper/catchUserErrors.js +2 -2
  158. package/esm/helper/catchUserErrors.js.map +1 -0
  159. package/esm/helper/contextHistory.js +21 -33
  160. package/esm/helper/contextHistory.js.map +1 -0
  161. package/esm/helper/createEventRateLimiter.js +2 -6
  162. package/esm/helper/createEventRateLimiter.js.map +1 -0
  163. package/esm/helper/deviceInfo.js +10 -62
  164. package/esm/helper/deviceInfo.js.map +1 -0
  165. package/esm/helper/display.js +2 -3
  166. package/esm/helper/display.js.map +1 -0
  167. package/esm/helper/enums.js +6 -1
  168. package/esm/helper/enums.js.map +1 -0
  169. package/esm/helper/errorTools.js +36 -28
  170. package/esm/helper/errorTools.js.map +1 -0
  171. package/esm/helper/eventEmitter.js +2 -5
  172. package/esm/helper/eventEmitter.js.map +1 -0
  173. package/esm/helper/getZoneJsOriginalValue.js +2 -4
  174. package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
  175. package/esm/helper/instrumentMethod.js +11 -16
  176. package/esm/helper/instrumentMethod.js.map +1 -0
  177. package/esm/helper/lifeCycle.js +2 -5
  178. package/esm/helper/lifeCycle.js.map +1 -0
  179. package/esm/helper/limitModification.js +5 -20
  180. package/esm/helper/limitModification.js.map +1 -0
  181. package/esm/helper/mobileUtil.js +2 -16
  182. package/esm/helper/mobileUtil.js.map +1 -0
  183. package/esm/helper/monitor.js +39 -0
  184. package/esm/helper/monitor.js.map +1 -0
  185. package/esm/helper/observable.js +2 -7
  186. package/esm/helper/observable.js.map +1 -0
  187. package/esm/helper/readBytesFromStream.js +8 -15
  188. package/esm/helper/readBytesFromStream.js.map +1 -0
  189. package/esm/helper/sanitize.js +40 -57
  190. package/esm/helper/sanitize.js.map +1 -0
  191. package/esm/helper/serialisation/contextManager.js +5 -9
  192. package/esm/helper/serialisation/contextManager.js.map +1 -0
  193. package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
  194. package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
  195. package/esm/helper/serialisation/jsonStringify.js +7 -10
  196. package/esm/helper/serialisation/jsonStringify.js.map +1 -0
  197. package/esm/helper/serialisation/rowData.js +3 -4
  198. package/esm/helper/serialisation/rowData.js.map +1 -0
  199. package/esm/helper/timer.js +5 -3
  200. package/esm/helper/timer.js.map +1 -0
  201. package/esm/helper/tools.js +58 -273
  202. package/esm/helper/tools.js.map +1 -0
  203. package/esm/helper/urlPolyfill.js +5 -9
  204. package/esm/helper/urlPolyfill.js.map +1 -0
  205. package/esm/index.js +5 -1
  206. package/esm/index.js.map +1 -0
  207. package/esm/init.js +25 -31
  208. package/esm/init.js.map +1 -0
  209. package/esm/report/reportObservable.js +8 -19
  210. package/esm/report/reportObservable.js.map +1 -0
  211. package/esm/session/sessionConstants.js +2 -1
  212. package/esm/session/sessionConstants.js.map +1 -0
  213. package/esm/session/sessionCookieStore.js +11 -38
  214. package/esm/session/sessionCookieStore.js.map +1 -0
  215. package/esm/session/sessionManagement.js +2 -8
  216. package/esm/session/sessionManagement.js.map +1 -0
  217. package/esm/session/sessionStore.js +4 -22
  218. package/esm/session/sessionStore.js.map +1 -0
  219. package/esm/synthetics/syntheticsWorkerValues.js +2 -1
  220. package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
  221. package/esm/synthetics/usr.js +2 -3
  222. package/esm/synthetics/usr.js.map +1 -0
  223. package/esm/telemetry/telemetry.js +111 -0
  224. package/esm/telemetry/telemetry.js.map +1 -0
  225. package/esm/telemetry/types.js +9 -0
  226. package/esm/telemetry/types.js.map +1 -0
  227. package/esm/tracekit/computeStackTrace.js +4 -31
  228. package/esm/tracekit/computeStackTrace.js.map +1 -0
  229. package/esm/tracekit/index.js +2 -1
  230. package/esm/tracekit/index.js.map +1 -0
  231. package/esm/tracekit/tracekit.js +5 -14
  232. package/esm/tracekit/tracekit.js.map +1 -0
  233. package/esm/transport/batch.js +9 -47
  234. package/esm/transport/batch.js.map +1 -0
  235. package/esm/transport/eventBridge.js +2 -5
  236. package/esm/transport/eventBridge.js.map +1 -0
  237. package/esm/transport/flushController.js +11 -20
  238. package/esm/transport/flushController.js.map +1 -0
  239. package/esm/transport/httpRequest.js +8 -18
  240. package/esm/transport/httpRequest.js.map +1 -0
  241. package/esm/transport/index.js +2 -1
  242. package/esm/transport/index.js.map +1 -0
  243. package/esm/transport/sendWithRetryStrategy.js +4 -17
  244. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  245. package/esm/transport/startBatchWithReplica.js +2 -3
  246. package/esm/transport/startBatchWithReplica.js.map +1 -0
  247. package/esm/user/index.js.map +1 -0
  248. package/esm/user/user.js +4 -5
  249. package/esm/user/user.js.map +1 -0
  250. package/esm/worker.js.map +1 -0
  251. package/package.json +2 -2
  252. package/src/browser/addEventListener.js +8 -7
  253. package/src/browser/fetchObservable.js +12 -3
  254. package/src/browser/scroll.js +25 -0
  255. package/src/configuration/configuration.js +16 -0
  256. package/src/configuration/transportConfiguration.js +2 -2
  257. package/src/console/consoleObservable.js +4 -2
  258. package/src/dataMap.js +17 -3
  259. package/src/error/trackRuntimeError.js +2 -2
  260. package/src/helper/contextHistory.js +3 -3
  261. package/src/helper/enums.js +4 -0
  262. package/src/helper/errorTools.js +55 -24
  263. package/src/helper/instrumentMethod.js +5 -2
  264. package/src/helper/monitor.js +44 -0
  265. package/src/helper/observable.js +10 -8
  266. package/src/helper/readBytesFromStream.js +5 -5
  267. package/src/helper/timer.js +3 -3
  268. package/src/helper/tools.js +2 -17
  269. package/src/index.js +4 -0
  270. package/src/init.js +19 -21
  271. package/src/report/reportObservable.js +6 -5
  272. package/src/telemetry/telemetry.js +164 -0
  273. package/src/telemetry/types.js +9 -0
  274. package/src/transport/batch.js +4 -4
  275. package/src/transport/httpRequest.js +5 -4
@@ -6,15 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.MAX_QUEUE_BYTES_COUNT = exports.MAX_ONGOING_REQUESTS = exports.MAX_ONGOING_BYTES_COUNT = exports.MAX_BACKOFF_TIME = exports.INITIAL_BACKOFF_TIME = void 0;
7
7
  exports.newRetryState = newRetryState;
8
8
  exports.sendWithRetryStrategy = sendWithRetryStrategy;
9
-
10
9
  var _tools = require("../helper/tools");
11
-
12
10
  var _byteUtils = require("../helper/byteUtils");
13
-
14
11
  var _errorTools = require("../helper/errorTools");
15
-
16
12
  var _timer = require("../helper/timer");
17
-
18
13
  var MAX_ONGOING_BYTES_COUNT = 80 * _byteUtils.ONE_KIBI_BYTE;
19
14
  exports.MAX_ONGOING_BYTES_COUNT = MAX_ONGOING_BYTES_COUNT;
20
15
  var MAX_ONGOING_REQUESTS = 32;
@@ -34,7 +29,6 @@ var RetryReason = {
34
29
  AFTER_SUCCESS: 0,
35
30
  AFTER_RESUME: 1
36
31
  };
37
-
38
32
  function sendWithRetryStrategy(payload, state, sendStrategy, endpointUrl, reportError) {
39
33
  if (state.transportStatus === TransportStatus.UP && state.queuedPayloads.size() === 0 && state.bandwidthMonitor.canHandle(payload)) {
40
34
  send(payload, state, sendStrategy, {
@@ -50,22 +44,20 @@ function sendWithRetryStrategy(payload, state, sendStrategy, endpointUrl, report
50
44
  state.queuedPayloads.enqueue(payload);
51
45
  }
52
46
  }
53
-
54
47
  function scheduleRetry(state, sendStrategy, endpointUrl, reportError) {
55
48
  if (state.transportStatus !== TransportStatus.DOWN) {
56
49
  return;
57
50
  }
58
-
59
51
  (0, _timer.setTimeout)(function () {
60
52
  var payload = state.queuedPayloads.first();
61
53
  send(payload, state, sendStrategy, {
62
54
  onSuccess: function onSuccess() {
63
- state.queuedPayloads.dequeue(); // if (state.lastFailureStatus !== 0) {
55
+ state.queuedPayloads.dequeue();
56
+ // if (state.lastFailureStatus !== 0) {
64
57
  // addTelemetryDebug('resuming after transport down', {
65
58
  // failureStatus: state.lastFailureStatus,
66
59
  // })
67
60
  // }
68
-
69
61
  state.currentBackoffTime = INITIAL_BACKOFF_TIME;
70
62
  retryQueuedPayloads(RetryReason.AFTER_RESUME, state, sendStrategy, endpointUrl, reportError);
71
63
  },
@@ -76,14 +68,12 @@ function scheduleRetry(state, sendStrategy, endpointUrl, reportError) {
76
68
  });
77
69
  }, state.currentBackoffTime);
78
70
  }
79
-
80
71
  function send(payload, state, sendStrategy, responseData) {
81
72
  var onSuccess = responseData.onSuccess;
82
73
  var onFailure = responseData.onFailure;
83
74
  state.bandwidthMonitor.add(payload);
84
75
  sendStrategy(payload, function (response) {
85
76
  state.bandwidthMonitor.remove(payload);
86
-
87
77
  if (!shouldRetryRequest(response)) {
88
78
  state.transportStatus = TransportStatus.UP;
89
79
  onSuccess();
@@ -95,7 +85,6 @@ function send(payload, state, sendStrategy, responseData) {
95
85
  }
96
86
  });
97
87
  }
98
-
99
88
  function retryQueuedPayloads(reason, state, sendStrategy, endpointUrl, reportError) {
100
89
  if (reason === RetryReason.AFTER_SUCCESS && state.queuedPayloads.isFull() && !state.queueFullReported) {
101
90
  reportError({
@@ -105,19 +94,15 @@ function retryQueuedPayloads(reason, state, sendStrategy, endpointUrl, reportErr
105
94
  });
106
95
  state.queueFullReported = true;
107
96
  }
108
-
109
97
  var previousQueue = state.queuedPayloads;
110
98
  state.queuedPayloads = newPayloadQueue();
111
-
112
99
  while (previousQueue.size() > 0) {
113
100
  sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, endpointUrl, reportError);
114
101
  }
115
102
  }
116
-
117
103
  function shouldRetryRequest(response) {
118
104
  return response.type !== 'opaque' && (response.status === 0 && !navigator.onLine || response.status === 408 || response.status === 429 || response.status >= 500);
119
105
  }
120
-
121
106
  function newRetryState() {
122
107
  return {
123
108
  transportStatus: TransportStatus.UP,
@@ -128,7 +113,6 @@ function newRetryState() {
128
113
  queueFullReported: false
129
114
  };
130
115
  }
131
-
132
116
  function newPayloadQueue() {
133
117
  var queue = [];
134
118
  return {
@@ -137,7 +121,6 @@ function newPayloadQueue() {
137
121
  if (this.isFull()) {
138
122
  return;
139
123
  }
140
-
141
124
  queue.push(payload);
142
125
  this.bytesCount += payload.bytesCount;
143
126
  },
@@ -146,11 +129,9 @@ function newPayloadQueue() {
146
129
  },
147
130
  dequeue: function dequeue() {
148
131
  var payload = queue.shift();
149
-
150
132
  if (payload) {
151
133
  this.bytesCount -= payload.bytesCount;
152
134
  }
153
-
154
135
  return payload;
155
136
  },
156
137
  size: function size() {
@@ -161,7 +142,6 @@ function newPayloadQueue() {
161
142
  }
162
143
  };
163
144
  }
164
-
165
145
  function newBandwidthMonitor() {
166
146
  return {
167
147
  ongoingRequestCount: 0,
@@ -178,4 +158,5 @@ function newBandwidthMonitor() {
178
158
  this.ongoingByteCount -= payload.bytesCount;
179
159
  }
180
160
  };
181
- }
161
+ }
162
+ //# sourceMappingURL=sendWithRetryStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendWithRetryStrategy.js","names":["_tools","require","_byteUtils","_errorTools","_timer","MAX_ONGOING_BYTES_COUNT","ONE_KIBI_BYTE","exports","MAX_ONGOING_REQUESTS","MAX_QUEUE_BYTES_COUNT","ONE_MEBI_BYTE","MAX_BACKOFF_TIME","ONE_SECOND","INITIAL_BACKOFF_TIME","TransportStatus","UP","FAILURE_DETECTED","DOWN","RetryReason","AFTER_SUCCESS","AFTER_RESUME","sendWithRetryStrategy","payload","state","sendStrategy","endpointUrl","reportError","transportStatus","queuedPayloads","size","bandwidthMonitor","canHandle","send","onSuccess","retryQueuedPayloads","onFailure","enqueue","scheduleRetry","setTimeout","first","dequeue","currentBackoffTime","Math","min","responseData","add","response","remove","shouldRetryRequest","ongoingRequestCount","lastFailureStatus","status","reason","isFull","queueFullReported","message","source","ErrorSource","AGENT","startClocks","clocksNow","previousQueue","newPayloadQueue","type","navigator","onLine","newRetryState","newBandwidthMonitor","queue","bytesCount","push","shift","length","ongoingByteCount"],"sources":["../../src/transport/sendWithRetryStrategy.js"],"sourcesContent":["import { clocksNow, ONE_SECOND } from '../helper/tools'\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { ErrorSource } from '../helper/errorTools'\nimport { setTimeout } from '../helper/timer'\nexport var MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE\nexport var MAX_ONGOING_REQUESTS = 32\nexport var MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE\nexport var MAX_BACKOFF_TIME = 256 * ONE_SECOND\nexport var INITIAL_BACKOFF_TIME = ONE_SECOND\n\nvar TransportStatus = {\n UP: 0,\n FAILURE_DETECTED: 1,\n DOWN: 2\n}\n\nvar RetryReason = {\n AFTER_SUCCESS: 0,\n AFTER_RESUME: 1\n}\n\nexport function sendWithRetryStrategy(\n payload,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n) {\n if (\n state.transportStatus === TransportStatus.UP &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)\n ) {\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n return retryQueuedPayloads(\n RetryReason.AFTER_SUCCESS,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload)\n scheduleRetry(state, sendStrategy, endpointUrl, reportError)\n }\n })\n } else {\n state.queuedPayloads.enqueue(payload)\n }\n}\n\nfunction scheduleRetry(state, sendStrategy, endpointUrl, reportError) {\n if (state.transportStatus !== TransportStatus.DOWN) {\n return\n }\n setTimeout(function () {\n var payload = state.queuedPayloads.first()\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue()\n // if (state.lastFailureStatus !== 0) {\n // addTelemetryDebug('resuming after transport down', {\n // failureStatus: state.lastFailureStatus,\n // })\n // }\n state.currentBackoffTime = INITIAL_BACKOFF_TIME\n retryQueuedPayloads(\n RetryReason.AFTER_RESUME,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(\n MAX_BACKOFF_TIME,\n state.currentBackoffTime * 2\n )\n scheduleRetry(state, sendStrategy, endpointUrl, reportError)\n }\n })\n }, state.currentBackoffTime)\n}\n\nfunction send(payload, state, sendStrategy, responseData) {\n var onSuccess = responseData.onSuccess\n var onFailure = responseData.onFailure\n state.bandwidthMonitor.add(payload)\n sendStrategy(payload, function (response) {\n state.bandwidthMonitor.remove(payload)\n if (!shouldRetryRequest(response)) {\n state.transportStatus = TransportStatus.UP\n onSuccess()\n } else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0\n ? TransportStatus.FAILURE_DETECTED\n : TransportStatus.DOWN\n state.lastFailureStatus = response.status\n onFailure()\n }\n })\n}\n\nfunction retryQueuedPayloads(\n reason,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n) {\n if (\n reason === RetryReason.AFTER_SUCCESS &&\n state.queuedPayloads.isFull() &&\n !state.queueFullReported\n ) {\n reportError({\n message:\n 'Reached max ' +\n endpointUrl +\n ' events size queued for upload: ' +\n MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE +\n 'MiB',\n source: ErrorSource.AGENT,\n startClocks: clocksNow()\n })\n state.queueFullReported = true\n }\n var previousQueue = state.queuedPayloads\n state.queuedPayloads = newPayloadQueue()\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(\n previousQueue.dequeue(),\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n }\n}\n\nfunction shouldRetryRequest(response) {\n return (\n response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n response.status >= 500)\n )\n}\nexport function newRetryState() {\n return {\n transportStatus: TransportStatus.UP,\n lastFailureStatus: 0,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false\n }\n}\n\nfunction newPayloadQueue() {\n var queue = []\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return\n }\n queue.push(payload)\n this.bytesCount += payload.bytesCount\n },\n first: function () {\n return queue[0]\n },\n dequeue: function () {\n var payload = queue.shift()\n if (payload) {\n this.bytesCount -= payload.bytesCount\n }\n return payload\n },\n size: function () {\n return queue.length\n },\n isFull: function () {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT\n }\n }\n}\n\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (\n this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <=\n MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS)\n )\n },\n add: function (payload) {\n this.ongoingRequestCount += 1\n this.ongoingByteCount += payload.bytesCount\n },\n remove: function (payload) {\n this.ongoingRequestCount -= 1\n this.ongoingByteCount -= payload.bytesCount\n }\n }\n}\n"],"mappings":"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"}
@@ -4,16 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.startBatchWithReplica = startBatchWithReplica;
7
-
8
7
  var _batch = require("./batch");
9
-
10
8
  var _httpRequest = require("./httpRequest");
11
-
12
9
  var _flushController = require("./flushController");
13
-
14
10
  function startBatchWithReplica(configuration, endpointUrl, reportError, pageExitObservable, sessionExpireObservable) {
15
11
  var primaryBatch = createBatch(endpointUrl);
16
-
17
12
  function createBatch(endpointUrl) {
18
13
  return new _batch.Batch((0, _httpRequest.createHttpRequest)(endpointUrl, configuration.batchBytesLimit, reportError), (0, _flushController.createFlushController)({
19
14
  messagesLimit: configuration.batchMessagesLimit,
@@ -23,10 +18,10 @@ function startBatchWithReplica(configuration, endpointUrl, reportError, pageExit
23
18
  sessionExpireObservable: sessionExpireObservable
24
19
  }), configuration.messageBytesLimit);
25
20
  }
26
-
27
21
  return {
28
22
  add: function add(message) {
29
23
  primaryBatch.add(message);
30
24
  }
31
25
  };
32
- }
26
+ }
27
+ //# sourceMappingURL=startBatchWithReplica.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startBatchWithReplica.js","names":["_batch","require","_httpRequest","_flushController","startBatchWithReplica","configuration","endpointUrl","reportError","pageExitObservable","sessionExpireObservable","primaryBatch","createBatch","Batch","createHttpRequest","batchBytesLimit","createFlushController","messagesLimit","batchMessagesLimit","bytesLimit","durationLimit","flushTimeout","messageBytesLimit","add","message"],"sources":["../../src/transport/startBatchWithReplica.js"],"sourcesContent":["import { Batch } from './batch'\nimport { createHttpRequest } from './httpRequest'\nimport { createFlushController } from './flushController'\nexport function startBatchWithReplica(\n configuration,\n endpointUrl,\n reportError,\n pageExitObservable,\n sessionExpireObservable\n) {\n var primaryBatch = createBatch(endpointUrl)\n\n function createBatch(endpointUrl) {\n return new Batch(\n createHttpRequest(\n endpointUrl,\n configuration.batchBytesLimit,\n reportError\n ),\n createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable: pageExitObservable,\n sessionExpireObservable: sessionExpireObservable\n }),\n configuration.messageBytesLimit\n )\n }\n\n return {\n add: function (message) {\n primaryBatch.add(message)\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACO,SAASG,qBAAqBA,CACnCC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,kBAAkB,EAClBC,uBAAuB,EACvB;EACA,IAAIC,YAAY,GAAGC,WAAW,CAACL,WAAW,CAAC;EAE3C,SAASK,WAAWA,CAACL,WAAW,EAAE;IAChC,OAAO,IAAIM,YAAK,CACd,IAAAC,8BAAiB,EACfP,WAAW,EACXD,aAAa,CAACS,eAAe,EAC7BP,WACF,CAAC,EACD,IAAAQ,sCAAqB,EAAC;MACpBC,aAAa,EAAEX,aAAa,CAACY,kBAAkB;MAC/CC,UAAU,EAAEb,aAAa,CAACS,eAAe;MACzCK,aAAa,EAAEd,aAAa,CAACe,YAAY;MACzCZ,kBAAkB,EAAEA,kBAAkB;MACtCC,uBAAuB,EAAEA;IAC3B,CAAC,CAAC,EACFJ,aAAa,CAACgB,iBAChB,CAAC;EACH;EAEA,OAAO;IACLC,GAAG,EAAE,SAAAA,IAAUC,OAAO,EAAE;MACtBb,YAAY,CAACY,GAAG,CAACC,OAAO,CAAC;IAC3B;EACF,CAAC;AACH"}
package/cjs/user/index.js CHANGED
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _user = require("./user");
8
-
9
7
  Object.keys(_user).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _user[key]) return;
@@ -15,4 +13,5 @@ Object.keys(_user).forEach(function (key) {
15
13
  return _user[key];
16
14
  }
17
15
  });
18
- });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_user","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../src/user/index.js"],"sourcesContent":["export * from './user'\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
package/cjs/user/user.js CHANGED
@@ -5,11 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.checkUser = checkUser;
7
7
  exports.sanitizeUser = sanitizeUser;
8
-
9
8
  var _display = require("../helper/display");
10
-
11
9
  var _tools = require("../helper/tools");
12
-
13
10
  /**
14
11
  * Clone input data and ensure known user properties (id, name, email)
15
12
  * are strings, as defined here:
@@ -25,17 +22,15 @@ function sanitizeUser(newUser) {
25
22
  });
26
23
  return user;
27
24
  }
25
+
28
26
  /**
29
27
  * Simple check to ensure user is valid
30
28
  */
31
-
32
-
33
29
  function checkUser(newUser) {
34
30
  var isValid = (0, _tools.getType)(newUser) === 'object';
35
-
36
31
  if (!isValid) {
37
32
  _display.display.error('Unsupported user:', newUser);
38
33
  }
39
-
40
34
  return isValid;
41
- }
35
+ }
36
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","names":["_display","require","_tools","sanitizeUser","newUser","user","assign","keys","each","key","String","checkUser","isValid","getType","display","error"],"sources":["../../src/user/user.js"],"sourcesContent":["import { display } from '../helper/display'\nimport { assign, getType, each } from '../helper/tools'\n\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n var user = assign({}, newUser)\n var keys = ['id', 'name', 'email']\n each(keys, function (key) {\n if (key in user) {\n user[key] = String(user[key])\n }\n })\n\n return user\n}\n\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n var isValid = getType(newUser) === 'object'\n if (!isValid) {\n display.error('Unsupported user:', newUser)\n }\n return isValid\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAACC,OAAO,EAAE;EACpC;EACA,IAAIC,IAAI,GAAG,IAAAC,aAAM,EAAC,CAAC,CAAC,EAAEF,OAAO,CAAC;EAC9B,IAAIG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;EAClC,IAAAC,WAAI,EAACD,IAAI,EAAE,UAAUE,GAAG,EAAE;IACxB,IAAIA,GAAG,IAAIJ,IAAI,EAAE;MACfA,IAAI,CAACI,GAAG,CAAC,GAAGC,MAAM,CAACL,IAAI,CAACI,GAAG,CAAC,CAAC;IAC/B;EACF,CAAC,CAAC;EAEF,OAAOJ,IAAI;AACb;;AAEA;AACA;AACA;AACO,SAASM,SAASA,CAACP,OAAO,EAAE;EACjC,IAAIQ,OAAO,GAAG,IAAAC,cAAO,EAACT,OAAO,CAAC,KAAK,QAAQ;EAC3C,IAAI,CAACQ,OAAO,EAAE;IACZE,gBAAO,CAACC,KAAK,CAAC,mBAAmB,EAAEX,OAAO,CAAC;EAC7C;EACA,OAAOQ,OAAO;AAChB"}
package/cjs/worker.js CHANGED
@@ -9,5 +9,5 @@ Object.defineProperty(exports, "concatBuffers", {
9
9
  return _byteUtils.concatBuffers;
10
10
  }
11
11
  });
12
-
13
- var _byteUtils = require("./helper/byteUtils");
12
+ var _byteUtils = require("./helper/byteUtils");
13
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","names":["_byteUtils","require"],"sources":["../src/worker.js"],"sourcesContent":["export { concatBuffers } from './helper/byteUtils'\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA"}
@@ -1,8 +1,10 @@
1
1
  import { each } from '../helper/tools';
2
2
  import { getZoneJsOriginalValue } from '../helper/getZoneJsOriginalValue';
3
+ import { monitor } from '../helper/monitor';
3
4
  export function addEventListener(eventTarget, event, listener, options) {
4
5
  return addEventListeners(eventTarget, [event], listener, options);
5
6
  }
7
+
6
8
  /**
7
9
  * Add event listeners to an event emitter object (Window, Element, mock object...). This provides
8
10
  * a few conveniences compared to using `element.addEventListener` directly:
@@ -19,28 +21,27 @@ export function addEventListener(eventTarget, event, listener, options) {
19
21
  * listened
20
22
  */
21
23
 
22
- export function addEventListeners(eventTarget, events, listener, options) {
23
- var wrappedListener = options && options.once ? function (event) {
24
+ export function addEventListeners(eventTarget, eventNames, listener, options) {
25
+ var wrappedListener = monitor(options && options.once ? function (event) {
24
26
  stop();
25
27
  listener(event);
26
- } : listener;
28
+ } : listener);
27
29
  options = options && options.passive ? {
28
30
  capture: options.capture,
29
31
  passive: options.passive
30
32
  } : options && options.capture;
31
33
  var add = getZoneJsOriginalValue(eventTarget, 'addEventListener');
32
- each(events, function (event) {
33
- add.call(eventTarget, event, wrappedListener, options);
34
+ each(eventNames, function (eventName) {
35
+ add.call(eventTarget, eventName, wrappedListener, options);
34
36
  });
35
-
36
37
  var stop = function stop() {
37
38
  var remove = getZoneJsOriginalValue(eventTarget, 'removeEventListener');
38
- each(events, function (event) {
39
- remove.call(eventTarget, event, wrappedListener, options);
39
+ each(eventNames, function (eventName) {
40
+ remove.call(eventTarget, eventName, wrappedListener, options);
40
41
  });
41
42
  };
42
-
43
43
  return {
44
44
  stop: stop
45
45
  };
46
- }
46
+ }
47
+ //# sourceMappingURL=addEventListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addEventListener.js","names":["each","getZoneJsOriginalValue","monitor","addEventListener","eventTarget","event","listener","options","addEventListeners","eventNames","wrappedListener","once","stop","passive","capture","add","eventName","call","remove"],"sources":["../../src/browser/addEventListener.js"],"sourcesContent":["import { each } from '../helper/tools'\nimport { getZoneJsOriginalValue } from '../helper/getZoneJsOriginalValue'\nimport { monitor } from '../helper/monitor'\nexport function addEventListener(eventTarget, event, listener, options) {\n return addEventListeners(eventTarget, [event], listener, options)\n}\n\n/**\n * Add event listeners to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by:\n * * using an option object only if needed\n * * emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are\n * listened\n */\n\nexport function addEventListeners(eventTarget, eventNames, listener, options) {\n var wrappedListener = monitor(\n options && options.once\n ? function (event) {\n stop()\n listener(event)\n }\n : listener\n )\n options =\n options && options.passive\n ? { capture: options.capture, passive: options.passive }\n : options && options.capture\n var add = getZoneJsOriginalValue(eventTarget, 'addEventListener')\n\n each(eventNames, function (eventName) {\n add.call(eventTarget, eventName, wrappedListener, options)\n })\n var stop = function () {\n var remove = getZoneJsOriginalValue(eventTarget, 'removeEventListener')\n each(eventNames, function (eventName) {\n remove.call(eventTarget, eventName, wrappedListener, options)\n })\n }\n return {\n stop: stop\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,SAASC,sBAAsB,QAAQ,kCAAkC;AACzE,SAASC,OAAO,QAAQ,mBAAmB;AAC3C,OAAO,SAASC,gBAAgBA,CAACC,WAAW,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,OAAO,EAAE;EACtE,OAAOC,iBAAiB,CAACJ,WAAW,EAAE,CAACC,KAAK,CAAC,EAAEC,QAAQ,EAAEC,OAAO,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,iBAAiBA,CAACJ,WAAW,EAAEK,UAAU,EAAEH,QAAQ,EAAEC,OAAO,EAAE;EAC5E,IAAIG,eAAe,GAAGR,OAAO,CAC3BK,OAAO,IAAIA,OAAO,CAACI,IAAI,GACnB,UAAUN,KAAK,EAAE;IACfO,IAAI,CAAC,CAAC;IACNN,QAAQ,CAACD,KAAK,CAAC;EACjB,CAAC,GACDC,QACN,CAAC;EACDC,OAAO,GACLA,OAAO,IAAIA,OAAO,CAACM,OAAO,GACtB;IAAEC,OAAO,EAAEP,OAAO,CAACO,OAAO;IAAED,OAAO,EAAEN,OAAO,CAACM;EAAQ,CAAC,GACtDN,OAAO,IAAIA,OAAO,CAACO,OAAO;EAChC,IAAIC,GAAG,GAAGd,sBAAsB,CAACG,WAAW,EAAE,kBAAkB,CAAC;EAEjEJ,IAAI,CAACS,UAAU,EAAE,UAAUO,SAAS,EAAE;IACpCD,GAAG,CAACE,IAAI,CAACb,WAAW,EAAEY,SAAS,EAAEN,eAAe,EAAEH,OAAO,CAAC;EAC5D,CAAC,CAAC;EACF,IAAIK,IAAI,GAAG,SAAPA,IAAIA,CAAA,EAAe;IACrB,IAAIM,MAAM,GAAGjB,sBAAsB,CAACG,WAAW,EAAE,qBAAqB,CAAC;IACvEJ,IAAI,CAACS,UAAU,EAAE,UAAUO,SAAS,EAAE;MACpCE,MAAM,CAACD,IAAI,CAACb,WAAW,EAAEY,SAAS,EAAEN,eAAe,EAAEH,OAAO,CAAC;IAC/D,CAAC,CAAC;EACJ,CAAC;EACD,OAAO;IACLK,IAAI,EAAEA;EACR,CAAC;AACH"}
@@ -19,7 +19,6 @@ export function areCookiesAuthorized(options) {
19
19
  if (document.cookie === undefined || document.cookie === null) {
20
20
  return false;
21
21
  }
22
-
23
22
  try {
24
23
  // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
25
24
  // the test cookie lifetime
@@ -31,12 +30,12 @@ export function areCookiesAuthorized(options) {
31
30
  return false;
32
31
  }
33
32
  }
33
+
34
34
  /**
35
35
  * No API to retrieve it, number of levels for subdomain and suffix are unknown
36
36
  * strategy: find the minimal domain on which cookies are allowed to be set
37
37
  * https://web.dev/same-site-same-origin/#site
38
38
  */
39
-
40
39
  var getCurrentSiteCache;
41
40
  export function getCurrentSite() {
42
41
  if (getCurrentSiteCache === undefined) {
@@ -46,16 +45,14 @@ export function getCurrentSite() {
46
45
  var testCookieValue = 'test';
47
46
  var domainLevels = window.location.hostname.split('.');
48
47
  var candidateDomain = domainLevels.pop();
49
-
50
48
  while (domainLevels.length && !getCookie(testCookieName)) {
51
49
  candidateDomain = domainLevels.pop() + '.' + candidateDomain;
52
50
  setCookie(testCookieName, testCookieValue, ONE_SECOND, {
53
51
  domain: candidateDomain
54
52
  });
55
53
  }
56
-
57
54
  getCurrentSiteCache = candidateDomain;
58
55
  }
59
-
60
56
  return getCurrentSiteCache;
61
- }
57
+ }
58
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","names":["findCommaSeparatedValue","UUID","ONE_SECOND","COOKIE_ACCESS_DELAY","setCookie","name","value","expireDelay","options","date","Date","setTime","getTime","expires","toUTCString","sameSite","crossSite","domain","secure","document","cookie","getCookie","deleteCookie","areCookiesAuthorized","undefined","testCookieName","concat","testCookieValue","error","getCurrentSiteCache","getCurrentSite","domainLevels","window","location","hostname","split","candidateDomain","pop","length"],"sources":["../../src/browser/cookie.js"],"sourcesContent":["import { findCommaSeparatedValue, UUID, ONE_SECOND } from '../helper/tools'\nexport var COOKIE_ACCESS_DELAY = ONE_SECOND\n\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date()\n date.setTime(date.getTime() + expireDelay)\n var expires = 'expires=' + date.toUTCString()\n var sameSite = options && options.crossSite ? 'none' : 'strict'\n var domain = options && options.domain ? ';domain=' + options.domain : ''\n var secure = options && options.secure ? ';secure' : ''\n document.cookie =\n name +\n '=' +\n value +\n ';' +\n expires +\n ';path=/;samesite=' +\n sameSite +\n domain +\n secure\n}\n\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name)\n}\n\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options)\n}\n\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `dd_cookie_test_${UUID()}`\n var testCookieValue = 'test'\n setCookie(testCookieName, testCookieValue, ONE_SECOND, options)\n return getCookie(testCookieName) === testCookieValue\n } catch (error) {\n return false\n }\n}\n\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `dd_site_test_${UUID()}`\n var testCookieValue = 'test'\n\n var domainLevels = window.location.hostname.split('.')\n var candidateDomain = domainLevels.pop()\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = domainLevels.pop() + '.' + candidateDomain\n setCookie(testCookieName, testCookieValue, ONE_SECOND, {\n domain: candidateDomain\n })\n }\n getCurrentSiteCache = candidateDomain\n }\n return getCurrentSiteCache\n}\n"],"mappings":"AAAA,SAASA,uBAAuB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,iBAAiB;AAC3E,OAAO,IAAIC,mBAAmB,GAAGD,UAAU;AAE3C,OAAO,SAASE,SAASA,CAACC,IAAI,EAAEC,KAAK,EAAEC,WAAW,EAAEC,OAAO,EAAE;EAC3D,IAAIC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC;EACrBD,IAAI,CAACE,OAAO,CAACF,IAAI,CAACG,OAAO,CAAC,CAAC,GAAGL,WAAW,CAAC;EAC1C,IAAIM,OAAO,GAAG,UAAU,GAAGJ,IAAI,CAACK,WAAW,CAAC,CAAC;EAC7C,IAAIC,QAAQ,GAAGP,OAAO,IAAIA,OAAO,CAACQ,SAAS,GAAG,MAAM,GAAG,QAAQ;EAC/D,IAAIC,MAAM,GAAGT,OAAO,IAAIA,OAAO,CAACS,MAAM,GAAG,UAAU,GAAGT,OAAO,CAACS,MAAM,GAAG,EAAE;EACzE,IAAIC,MAAM,GAAGV,OAAO,IAAIA,OAAO,CAACU,MAAM,GAAG,SAAS,GAAG,EAAE;EACvDC,QAAQ,CAACC,MAAM,GACbf,IAAI,GACJ,GAAG,GACHC,KAAK,GACL,GAAG,GACHO,OAAO,GACP,mBAAmB,GACnBE,QAAQ,GACRE,MAAM,GACNC,MAAM;AACV;AAEA,OAAO,SAASG,SAASA,CAAChB,IAAI,EAAE;EAC9B,OAAOL,uBAAuB,CAACmB,QAAQ,CAACC,MAAM,EAAEf,IAAI,CAAC;AACvD;AAEA,OAAO,SAASiB,YAAYA,CAACjB,IAAI,EAAEG,OAAO,EAAE;EAC1CJ,SAAS,CAACC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAEG,OAAO,CAAC;AACjC;AAEA,OAAO,SAASe,oBAAoBA,CAACf,OAAO,EAAE;EAC5C,IAAIW,QAAQ,CAACC,MAAM,KAAKI,SAAS,IAAIL,QAAQ,CAACC,MAAM,KAAK,IAAI,EAAE;IAC7D,OAAO,KAAK;EACd;EACA,IAAI;IACF;IACA;IACA,IAAIK,cAAc,qBAAAC,MAAA,CAAqBzB,IAAI,CAAC,CAAC,CAAE;IAC/C,IAAI0B,eAAe,GAAG,MAAM;IAC5BvB,SAAS,CAACqB,cAAc,EAAEE,eAAe,EAAEzB,UAAU,EAAEM,OAAO,CAAC;IAC/D,OAAOa,SAAS,CAACI,cAAc,CAAC,KAAKE,eAAe;EACtD,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAIC,mBAAmB;AACvB,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAID,mBAAmB,KAAKL,SAAS,EAAE;IACrC;IACA;IACA,IAAIC,cAAc,mBAAAC,MAAA,CAAmBzB,IAAI,CAAC,CAAC,CAAE;IAC7C,IAAI0B,eAAe,GAAG,MAAM;IAE5B,IAAII,YAAY,GAAGC,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;IACtD,IAAIC,eAAe,GAAGL,YAAY,CAACM,GAAG,CAAC,CAAC;IACxC,OAAON,YAAY,CAACO,MAAM,IAAI,CAACjB,SAAS,CAACI,cAAc,CAAC,EAAE;MACxDW,eAAe,GAAGL,YAAY,CAACM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAGD,eAAe;MAC5DhC,SAAS,CAACqB,cAAc,EAAEE,eAAe,EAAEzB,UAAU,EAAE;QACrDe,MAAM,EAAEmB;MACV,CAAC,CAAC;IACJ;IACAP,mBAAmB,GAAGO,eAAe;EACvC;EACA,OAAOP,mBAAmB;AAC5B"}
@@ -1,34 +1,30 @@
1
1
  import { instrumentMethod } from '../helper/instrumentMethod';
2
2
  import { Observable } from '../helper/observable';
3
3
  import { clocksNow } from '../helper/tools';
4
+ import { monitor, callMonitored } from '../helper/monitor';
4
5
  import { normalizeUrl } from '../helper/urlPolyfill';
5
6
  var fetchObservable;
6
7
  export function initFetchObservable() {
7
8
  if (!fetchObservable) {
8
9
  fetchObservable = createFetchObservable();
9
10
  }
10
-
11
11
  return fetchObservable;
12
12
  }
13
-
14
13
  function createFetchObservable() {
15
14
  var observable = new Observable(function () {
16
15
  if (!window.fetch) {
17
16
  return;
18
17
  }
19
-
20
18
  var fetchMethod = instrumentMethod(window, 'fetch', function (originalFetch) {
21
19
  return function (input, init) {
22
20
  var responsePromise;
23
- var context = beforeSend(observable, input, init);
24
-
21
+ var context = callMonitored(beforeSend, null, [observable, input, init]);
25
22
  if (context) {
26
23
  responsePromise = originalFetch.call(this, context.input, context.init);
27
- afterSend(observable, responsePromise, context);
24
+ callMonitored(afterSend, null, [observable, responsePromise, context]);
28
25
  } else {
29
26
  responsePromise = originalFetch.call(this, input, init);
30
27
  }
31
-
32
28
  return responsePromise;
33
29
  };
34
30
  });
@@ -36,7 +32,6 @@ function createFetchObservable() {
36
32
  });
37
33
  return observable;
38
34
  }
39
-
40
35
  function beforeSend(observable, input, init) {
41
36
  var method = init && init.method || input instanceof Request && input.method || 'GET';
42
37
  var url = input instanceof Request ? input.url : normalizeUrl(String(input));
@@ -52,31 +47,27 @@ function beforeSend(observable, input, init) {
52
47
  observable.notify(context);
53
48
  return context;
54
49
  }
55
-
56
50
  function afterSend(observable, responsePromise, startContext) {
57
51
  var reportFetch = function reportFetch(response) {
58
52
  var context = startContext;
59
- context.state = 'resolve'; // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())
60
-
53
+ context.state = 'resolve';
54
+ // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())
61
55
  if ('stack' in response || response instanceof Error) {
62
56
  context.status = 0;
63
57
  context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR;
64
58
  context.error = response;
65
59
  } else if ('status' in response) {
66
60
  context.response = response;
67
-
68
61
  try {
69
62
  context.responseType = response.constructor === Response && response.type || ''; // issue The Response type getter can only be used on instances of Response
70
63
  } catch (err) {
71
64
  context.responseType = '';
72
65
  }
73
-
74
66
  context.status = response.status;
75
67
  context.isAborted = false;
76
68
  }
77
-
78
69
  observable.notify(context);
79
70
  };
80
-
81
- responsePromise.then(reportFetch, reportFetch);
82
- }
71
+ responsePromise.then(monitor(reportFetch), monitor(reportFetch));
72
+ }
73
+ //# sourceMappingURL=fetchObservable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchObservable.js","names":["instrumentMethod","Observable","clocksNow","monitor","callMonitored","normalizeUrl","fetchObservable","initFetchObservable","createFetchObservable","observable","window","fetch","fetchMethod","originalFetch","input","init","responsePromise","context","beforeSend","call","afterSend","stop","method","Request","url","String","startClocks","state","notify","startContext","reportFetch","response","Error","status","isAborted","DOMException","code","ABORT_ERR","error","responseType","constructor","Response","type","err","then"],"sources":["../../src/browser/fetchObservable.js"],"sourcesContent":["import { instrumentMethod } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { clocksNow } from '../helper/tools'\nimport { monitor, callMonitored } from '../helper/monitor'\nimport { normalizeUrl } from '../helper/urlPolyfill'\n\nvar fetchObservable\n\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nfunction createFetchObservable() {\n var observable = new Observable(function () {\n if (!window.fetch) {\n return\n }\n\n var fetchMethod = instrumentMethod(\n window,\n 'fetch',\n function (originalFetch) {\n return function (input, init) {\n var responsePromise\n var context = callMonitored(beforeSend, null, [\n observable,\n input,\n init\n ])\n if (context) {\n responsePromise = originalFetch.call(\n this,\n context.input,\n context.init\n )\n callMonitored(afterSend, null, [\n observable,\n responsePromise,\n context\n ])\n } else {\n responsePromise = originalFetch.call(this, input, init)\n }\n return responsePromise\n }\n }\n )\n return fetchMethod.stop\n })\n\n return observable\n}\n\nfunction beforeSend(observable, input, init) {\n var method =\n (init && init.method) || (input instanceof Request && input.method) || 'GET'\n var url = input instanceof Request ? input.url : normalizeUrl(String(input))\n\n var startClocks = clocksNow()\n\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url\n }\n\n observable.notify(context)\n\n return context\n}\n\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext\n context.state = 'resolve'\n // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())\n if ('stack' in response || response instanceof Error) {\n context.status = 0\n context.isAborted =\n response instanceof DOMException &&\n response.code === DOMException.ABORT_ERR\n context.error = response\n } else if ('status' in response) {\n context.response = response\n try {\n context.responseType =\n (response.constructor === Response && response.type) || '' // issue The Response type getter can only be used on instances of Response\n } catch (err) {\n context.responseType = ''\n }\n\n context.status = response.status\n context.isAborted = false\n }\n observable.notify(context)\n }\n responsePromise.then(monitor(reportFetch), monitor(reportFetch))\n}\n"],"mappings":"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"}
@@ -17,10 +17,11 @@ export function isNodeShadowRoot(node) {
17
17
  export function getChildNodes(node) {
18
18
  return isNodeShadowHost(node) ? node.shadowRoot.childNodes : node.childNodes;
19
19
  }
20
+
20
21
  /**
21
22
  * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`
22
23
  */
23
-
24
24
  export function getParentNode(node) {
25
25
  return isNodeShadowRoot(node) ? node.host : node.parentNode;
26
- }
26
+ }
27
+ //# sourceMappingURL=htmlDomUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlDomUtils.js","names":["isTextNode","node","nodeType","Node","TEXT_NODE","isCommentNode","COMMENT_NODE","isElementNode","ELEMENT_NODE","isNodeShadowHost","Boolean","shadowRoot","isNodeShadowRoot","host","DOCUMENT_FRAGMENT_NODE","getChildNodes","childNodes","getParentNode","parentNode"],"sources":["../../src/browser/htmlDomUtils.js"],"sourcesContent":["export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE\n}\n\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE\n}\n\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE\n}\n\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot)\n}\n\nexport function isNodeShadowRoot(node) {\n var shadowRoot = node\n return (\n !!shadowRoot.host &&\n shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&\n isElementNode(shadowRoot.host)\n )\n}\n\nexport function getChildNodes(node) {\n return isNodeShadowHost(node) ? node.shadowRoot.childNodes : node.childNodes\n}\n\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAUA,CAACC,IAAI,EAAE;EAC/B,OAAOA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACC,SAAS;AACzC;AAEA,OAAO,SAASC,aAAaA,CAACJ,IAAI,EAAE;EAClC,OAAOA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACG,YAAY;AAC5C;AAEA,OAAO,SAASC,aAAaA,CAACN,IAAI,EAAE;EAClC,OAAOA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACK,YAAY;AAC5C;AAEA,OAAO,SAASC,gBAAgBA,CAACR,IAAI,EAAE;EACrC,OAAOM,aAAa,CAACN,IAAI,CAAC,IAAIS,OAAO,CAACT,IAAI,CAACU,UAAU,CAAC;AACxD;AAEA,OAAO,SAASC,gBAAgBA,CAACX,IAAI,EAAE;EACrC,IAAIU,UAAU,GAAGV,IAAI;EACrB,OACE,CAAC,CAACU,UAAU,CAACE,IAAI,IACjBF,UAAU,CAACT,QAAQ,KAAKC,IAAI,CAACW,sBAAsB,IACnDP,aAAa,CAACI,UAAU,CAACE,IAAI,CAAC;AAElC;AAEA,OAAO,SAASE,aAAaA,CAACd,IAAI,EAAE;EAClC,OAAOQ,gBAAgB,CAACR,IAAI,CAAC,GAAGA,IAAI,CAACU,UAAU,CAACK,UAAU,GAAGf,IAAI,CAACe,UAAU;AAC9E;;AAEA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAChB,IAAI,EAAE;EAClC,OAAOW,gBAAgB,CAACX,IAAI,CAAC,GAAGA,IAAI,CAACY,IAAI,GAAGZ,IAAI,CAACiB,UAAU;AAC7D"}
@@ -35,12 +35,12 @@ export function createPageExitObservable() {
35
35
  }, {
36
36
  capture: true
37
37
  });
38
+
38
39
  /**
39
40
  * Safari does not support yet to send a request during:
40
41
  * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)
41
42
  * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)
42
43
  */
43
-
44
44
  var beforeUnloadListener = addEventListener(window, DOM_EVENT.BEFORE_UNLOAD, function () {
45
45
  observable.notify({
46
46
  reason: PageExitReason.UNLOADING
@@ -55,4 +55,5 @@ export function createPageExitObservable() {
55
55
  }
56
56
  export function isPageExitReason(reason) {
57
57
  return includes(values(PageExitReason), reason);
58
- }
58
+ }
59
+ //# sourceMappingURL=pageExitObservable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageExitObservable.js","names":["Observable","includes","values","DOM_EVENT","addEventListener","addEventListeners","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","createPageExitObservable","observable","visibilityChangeListener","document","VISIBILITY_CHANGE","FREEZE","PAGE_HIDE","event","type","visibilityState","notify","reason","capture","beforeUnloadListener","window","BEFORE_UNLOAD","stop","isPageExitReason"],"sources":["../../src/browser/pageExitObservable.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { includes, values } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen'\n}\n\nexport function createPageExitObservable() {\n var observable = new Observable(function () {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var visibilityChangeListener = addEventListeners(\n document,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE],\n function (event) {\n if (\n event.type === DOM_EVENT.VISIBILITY_CHANGE &&\n document.visibilityState === 'hidden'\n ) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var beforeUnloadListener = addEventListener(\n window,\n DOM_EVENT.BEFORE_UNLOAD,\n function () {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }\n )\n\n return function () {\n visibilityChangeListener.stop()\n beforeUnloadListener.stop()\n }\n })\n\n return observable\n}\n\nexport function isPageExitReason(reason) {\n return includes(values(PageExitReason), reason)\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,QAAQ,EAAEC,MAAM,QAAQ,iBAAiB;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACEC,gBAAgB,EAChBC,iBAAiB,QACZ,6BAA6B;AACpC,OAAO,IAAIC,cAAc,GAAG;EAC1BC,MAAM,EAAE,mBAAmB;EAC3BC,SAAS,EAAE,eAAe;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EACzC,IAAIC,UAAU,GAAG,IAAIZ,UAAU,CAAC,YAAY;IAC1C;AACJ;AACA;AACA;IACI,IAAIa,wBAAwB,GAAGR,iBAAiB,CAC9CS,QAAQ,EACR,CAACX,SAAS,CAACY,iBAAiB,EAAEZ,SAAS,CAACa,MAAM,EAAEb,SAAS,CAACc,SAAS,CAAC,EACpE,UAAUC,KAAK,EAAE;MACf,IACEA,KAAK,CAACC,IAAI,KAAKhB,SAAS,CAACY,iBAAiB,IAC1CD,QAAQ,CAACM,eAAe,KAAK,QAAQ,EACrC;QACA;AACV;AACA;AACA;QACUR,UAAU,CAACS,MAAM,CAAC;UAAEC,MAAM,EAAEhB,cAAc,CAACC;QAAO,CAAC,CAAC;MACtD,CAAC,MAAM,IAAIW,KAAK,CAACC,IAAI,KAAKhB,SAAS,CAACa,MAAM,EAAE;QAC1C;AACV;AACA;AACA;QACUJ,UAAU,CAACS,MAAM,CAAC;UAAEC,MAAM,EAAEhB,cAAc,CAACI;QAAO,CAAC,CAAC;MACtD;IACF,CAAC,EACD;MAAEa,OAAO,EAAE;IAAK,CAClB,CAAC;;IAED;AACJ;AACA;AACA;AACA;IACI,IAAIC,oBAAoB,GAAGpB,gBAAgB,CACzCqB,MAAM,EACNtB,SAAS,CAACuB,aAAa,EACvB,YAAY;MACVd,UAAU,CAACS,MAAM,CAAC;QAAEC,MAAM,EAAEhB,cAAc,CAACE;MAAU,CAAC,CAAC;IACzD,CACF,CAAC;IAED,OAAO,YAAY;MACjBK,wBAAwB,CAACc,IAAI,CAAC,CAAC;MAC/BH,oBAAoB,CAACG,IAAI,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEF,OAAOf,UAAU;AACnB;AAEA,OAAO,SAASgB,gBAAgBA,CAACN,MAAM,EAAE;EACvC,OAAOrB,QAAQ,CAACC,MAAM,CAACI,cAAc,CAAC,EAAEgB,MAAM,CAAC;AACjD"}
@@ -9,4 +9,5 @@ export function runOnReadyState(expectedReadyState, callback) {
9
9
  once: true
10
10
  });
11
11
  }
12
- }
12
+ }
13
+ //# sourceMappingURL=runOnReadyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runOnReadyState.js","names":["addEventListener","DOM_EVENT","runOnReadyState","expectedReadyState","callback","document","readyState","eventName","LOAD","DOM_CONTENT_LOADED","window","once"],"sources":["../../src/browser/runOnReadyState.js"],"sourcesContent":["import { addEventListener } from './addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nexport function runOnReadyState(expectedReadyState, callback) {\n if (\n document.readyState === expectedReadyState ||\n document.readyState === 'complete'\n ) {\n callback()\n } else {\n var eventName =\n expectedReadyState === 'complete'\n ? DOM_EVENT.LOAD\n : DOM_EVENT.DOM_CONTENT_LOADED\n addEventListener(window, eventName, callback, { once: true })\n }\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,OAAO,SAASC,eAAeA,CAACC,kBAAkB,EAAEC,QAAQ,EAAE;EAC5D,IACEC,QAAQ,CAACC,UAAU,KAAKH,kBAAkB,IAC1CE,QAAQ,CAACC,UAAU,KAAK,UAAU,EAClC;IACAF,QAAQ,CAAC,CAAC;EACZ,CAAC,MAAM;IACL,IAAIG,SAAS,GACXJ,kBAAkB,KAAK,UAAU,GAC7BF,SAAS,CAACO,IAAI,GACdP,SAAS,CAACQ,kBAAkB;IAClCT,gBAAgB,CAACU,MAAM,EAAEH,SAAS,EAAEH,QAAQ,EAAE;MAAEO,IAAI,EAAE;IAAK,CAAC,CAAC;EAC/D;AACF"}
@@ -0,0 +1,25 @@
1
+ export function getScrollX() {
2
+ var scrollX;
3
+ var visual = window.visualViewport;
4
+ if (visual) {
5
+ scrollX = visual.pageLeft - visual.offsetLeft;
6
+ } else if (window.scrollX !== undefined) {
7
+ scrollX = window.scrollX;
8
+ } else {
9
+ scrollX = window.pageXOffset || 0;
10
+ }
11
+ return Math.round(scrollX);
12
+ }
13
+ export function getScrollY() {
14
+ var scrollY;
15
+ var visual = window.visualViewport;
16
+ if (visual) {
17
+ scrollY = visual.pageTop - visual.offsetTop;
18
+ } else if (window.scrollY !== undefined) {
19
+ scrollY = window.scrollY;
20
+ } else {
21
+ scrollY = window.pageYOffset || 0;
22
+ }
23
+ return Math.round(scrollY);
24
+ }
25
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","names":["getScrollX","scrollX","visual","window","visualViewport","pageLeft","offsetLeft","undefined","pageXOffset","Math","round","getScrollY","scrollY","pageTop","offsetTop","pageYOffset"],"sources":["../../src/browser/scroll.js"],"sourcesContent":["export function getScrollX() {\n var scrollX\n var visual = window.visualViewport\n if (visual) {\n scrollX = visual.pageLeft - visual.offsetLeft\n } else if (window.scrollX !== undefined) {\n scrollX = window.scrollX\n } else {\n scrollX = window.pageXOffset || 0\n }\n return Math.round(scrollX)\n}\n\nexport function getScrollY() {\n var scrollY\n var visual = window.visualViewport\n if (visual) {\n scrollY = visual.pageTop - visual.offsetTop\n } else if (window.scrollY !== undefined) {\n scrollY = window.scrollY\n } else {\n scrollY = window.pageYOffset || 0\n }\n return Math.round(scrollY)\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAUA,CAAA,EAAG;EAC3B,IAAIC,OAAO;EACX,IAAIC,MAAM,GAAGC,MAAM,CAACC,cAAc;EAClC,IAAIF,MAAM,EAAE;IACVD,OAAO,GAAGC,MAAM,CAACG,QAAQ,GAAGH,MAAM,CAACI,UAAU;EAC/C,CAAC,MAAM,IAAIH,MAAM,CAACF,OAAO,KAAKM,SAAS,EAAE;IACvCN,OAAO,GAAGE,MAAM,CAACF,OAAO;EAC1B,CAAC,MAAM;IACLA,OAAO,GAAGE,MAAM,CAACK,WAAW,IAAI,CAAC;EACnC;EACA,OAAOC,IAAI,CAACC,KAAK,CAACT,OAAO,CAAC;AAC5B;AAEA,OAAO,SAASU,UAAUA,CAAA,EAAG;EAC3B,IAAIC,OAAO;EACX,IAAIV,MAAM,GAAGC,MAAM,CAACC,cAAc;EAClC,IAAIF,MAAM,EAAE;IACVU,OAAO,GAAGV,MAAM,CAACW,OAAO,GAAGX,MAAM,CAACY,SAAS;EAC7C,CAAC,MAAM,IAAIX,MAAM,CAACS,OAAO,KAAKL,SAAS,EAAE;IACvCK,OAAO,GAAGT,MAAM,CAACS,OAAO;EAC1B,CAAC,MAAM;IACLA,OAAO,GAAGT,MAAM,CAACY,WAAW,IAAI,CAAC;EACnC;EACA,OAAON,IAAI,CAACC,KAAK,CAACE,OAAO,CAAC;AAC5B"}