@pratham.raval/browser-core 6.22.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 (710) hide show
  1. package/README.md +3 -0
  2. package/cjs/boot/displayAlreadyInitializedError.d.ts +2 -0
  3. package/cjs/boot/displayAlreadyInitializedError.js +10 -0
  4. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -0
  5. package/cjs/boot/init.d.ts +14 -0
  6. package/cjs/boot/init.js +39 -0
  7. package/cjs/boot/init.js.map +1 -0
  8. package/cjs/browser/addEventListener.d.ts +87 -0
  9. package/cjs/browser/addEventListener.js +55 -0
  10. package/cjs/browser/addEventListener.js.map +1 -0
  11. package/cjs/browser/browser.types.d.ts +51 -0
  12. package/cjs/browser/browser.types.js +6 -0
  13. package/cjs/browser/browser.types.js.map +1 -0
  14. package/cjs/browser/cookie.d.ts +18 -0
  15. package/cjs/browser/cookie.js +101 -0
  16. package/cjs/browser/cookie.js.map +1 -0
  17. package/cjs/browser/fetchObservable.d.ts +25 -0
  18. package/cjs/browser/fetchObservable.js +79 -0
  19. package/cjs/browser/fetchObservable.js.map +1 -0
  20. package/cjs/browser/pageMayExitObservable.d.ts +14 -0
  21. package/cjs/browser/pageMayExitObservable.js +45 -0
  22. package/cjs/browser/pageMayExitObservable.js.map +1 -0
  23. package/cjs/browser/runOnReadyState.d.ts +5 -0
  24. package/cjs/browser/runOnReadyState.js +20 -0
  25. package/cjs/browser/runOnReadyState.js.map +1 -0
  26. package/cjs/browser/xhrObservable.d.ts +23 -0
  27. package/cjs/browser/xhrObservable.js +83 -0
  28. package/cjs/browser/xhrObservable.js.map +1 -0
  29. package/cjs/domain/allowedTrackingOrigins.d.ts +4 -0
  30. package/cjs/domain/allowedTrackingOrigins.js +25 -0
  31. package/cjs/domain/allowedTrackingOrigins.js.map +1 -0
  32. package/cjs/domain/bufferedData.d.ts +14 -0
  33. package/cjs/domain/bufferedData.js +22 -0
  34. package/cjs/domain/bufferedData.js.map +1 -0
  35. package/cjs/domain/configuration/configuration.d.ts +303 -0
  36. package/cjs/domain/configuration/configuration.js +152 -0
  37. package/cjs/domain/configuration/configuration.js.map +1 -0
  38. package/cjs/domain/configuration/endpointBuilder.d.ts +12 -0
  39. package/cjs/domain/configuration/endpointBuilder.js +78 -0
  40. package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
  41. package/cjs/domain/configuration/index.d.ts +5 -0
  42. package/cjs/domain/configuration/index.js +16 -0
  43. package/cjs/domain/configuration/index.js.map +1 -0
  44. package/cjs/domain/configuration/transportConfiguration.d.ts +20 -0
  45. package/cjs/domain/configuration/transportConfiguration.js +54 -0
  46. package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
  47. package/cjs/domain/connectivity/connectivity.d.ts +14 -0
  48. package/cjs/domain/connectivity/connectivity.js +14 -0
  49. package/cjs/domain/connectivity/connectivity.js.map +1 -0
  50. package/cjs/domain/connectivity/index.d.ts +1 -0
  51. package/cjs/domain/connectivity/index.js +18 -0
  52. package/cjs/domain/connectivity/index.js.map +1 -0
  53. package/cjs/domain/console/consoleObservable.d.ts +21 -0
  54. package/cjs/domain/console/consoleObservable.js +84 -0
  55. package/cjs/domain/console/consoleObservable.js.map +1 -0
  56. package/cjs/domain/context/contextConstants.d.ts +21 -0
  57. package/cjs/domain/context/contextConstants.js +18 -0
  58. package/cjs/domain/context/contextConstants.js.map +1 -0
  59. package/cjs/domain/context/contextManager.d.ts +19 -0
  60. package/cjs/domain/context/contextManager.js +60 -0
  61. package/cjs/domain/context/contextManager.js.map +1 -0
  62. package/cjs/domain/context/contextUtils.d.ts +5 -0
  63. package/cjs/domain/context/contextUtils.js +16 -0
  64. package/cjs/domain/context/contextUtils.js.map +1 -0
  65. package/cjs/domain/context/defineContextMethod.d.ts +6 -0
  66. package/cjs/domain/context/defineContextMethod.js +21 -0
  67. package/cjs/domain/context/defineContextMethod.js.map +1 -0
  68. package/cjs/domain/context/storeContextManager.d.ts +6 -0
  69. package/cjs/domain/context/storeContextManager.js +40 -0
  70. package/cjs/domain/context/storeContextManager.js.map +1 -0
  71. package/cjs/domain/contexts/accountContext.d.ts +26 -0
  72. package/cjs/domain/contexts/accountContext.js +33 -0
  73. package/cjs/domain/contexts/accountContext.js.map +1 -0
  74. package/cjs/domain/contexts/globalContext.d.ts +18 -0
  75. package/cjs/domain/contexts/globalContext.js +21 -0
  76. package/cjs/domain/contexts/globalContext.js.map +1 -0
  77. package/cjs/domain/contexts/rumInternalContext.type.d.ts +14 -0
  78. package/cjs/domain/contexts/rumInternalContext.type.js +3 -0
  79. package/cjs/domain/contexts/rumInternalContext.type.js.map +1 -0
  80. package/cjs/domain/contexts/userContext.d.ts +29 -0
  81. package/cjs/domain/contexts/userContext.js +45 -0
  82. package/cjs/domain/contexts/userContext.js.map +1 -0
  83. package/cjs/domain/deflate/deflate.types.d.ts +40 -0
  84. package/cjs/domain/deflate/deflate.types.js +3 -0
  85. package/cjs/domain/deflate/deflate.types.js.map +1 -0
  86. package/cjs/domain/deflate/index.d.ts +1 -0
  87. package/cjs/domain/deflate/index.js +18 -0
  88. package/cjs/domain/deflate/index.js.map +1 -0
  89. package/cjs/domain/error/error.d.ts +23 -0
  90. package/cjs/domain/error/error.js +74 -0
  91. package/cjs/domain/error/error.js.map +1 -0
  92. package/cjs/domain/error/error.types.d.ts +47 -0
  93. package/cjs/domain/error/error.types.js +13 -0
  94. package/cjs/domain/error/error.types.js.map +1 -0
  95. package/cjs/domain/error/trackRuntimeError.d.ts +11 -0
  96. package/cjs/domain/error/trackRuntimeError.js +48 -0
  97. package/cjs/domain/error/trackRuntimeError.js.map +1 -0
  98. package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  99. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +39 -0
  100. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  101. package/cjs/domain/extension/extensionUtils.d.ts +10 -0
  102. package/cjs/domain/extension/extensionUtils.js +30 -0
  103. package/cjs/domain/extension/extensionUtils.js.map +1 -0
  104. package/cjs/domain/intakeSites.d.ts +8 -0
  105. package/cjs/domain/intakeSites.js +11 -0
  106. package/cjs/domain/intakeSites.js.map +1 -0
  107. package/cjs/domain/report/browser.types.d.ts +34 -0
  108. package/cjs/domain/report/browser.types.js +3 -0
  109. package/cjs/domain/report/browser.types.js.map +1 -0
  110. package/cjs/domain/report/reportObservable.d.ts +14 -0
  111. package/cjs/domain/report/reportObservable.js +99 -0
  112. package/cjs/domain/report/reportObservable.js.map +1 -0
  113. package/cjs/domain/resourceUtils.d.ts +18 -0
  114. package/cjs/domain/resourceUtils.js +20 -0
  115. package/cjs/domain/resourceUtils.js.map +1 -0
  116. package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
  117. package/cjs/domain/session/oldCookiesMigration.js +40 -0
  118. package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
  119. package/cjs/domain/session/sessionConstants.d.ts +15 -0
  120. package/cjs/domain/session/sessionConstants.js +16 -0
  121. package/cjs/domain/session/sessionConstants.js.map +1 -0
  122. package/cjs/domain/session/sessionManager.d.ts +28 -0
  123. package/cjs/domain/session/sessionManager.js +185 -0
  124. package/cjs/domain/session/sessionManager.js.map +1 -0
  125. package/cjs/domain/session/sessionState.d.ts +16 -0
  126. package/cjs/domain/session/sessionState.js +76 -0
  127. package/cjs/domain/session/sessionState.js.map +1 -0
  128. package/cjs/domain/session/sessionStateValidation.d.ts +3 -0
  129. package/cjs/domain/session/sessionStateValidation.js +11 -0
  130. package/cjs/domain/session/sessionStateValidation.js.map +1 -0
  131. package/cjs/domain/session/sessionStore.d.ts +38 -0
  132. package/cjs/domain/session/sessionStore.js +181 -0
  133. package/cjs/domain/session/sessionStore.js.map +1 -0
  134. package/cjs/domain/session/sessionStoreOperations.d.ts +12 -0
  135. package/cjs/domain/session/sessionStoreOperations.js +119 -0
  136. package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
  137. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +8 -0
  138. package/cjs/domain/session/storeStrategies/sessionInCookie.js +56 -0
  139. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  140. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +4 -0
  141. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +41 -0
  142. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  143. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
  144. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
  145. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  146. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
  147. package/cjs/domain/synthetics/syntheticsWorkerValues.js +31 -0
  148. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  149. package/cjs/domain/tags.d.ts +6 -0
  150. package/cjs/domain/tags.js +67 -0
  151. package/cjs/domain/tags.js.map +1 -0
  152. package/cjs/domain/telemetry/index.d.ts +4 -0
  153. package/cjs/domain/telemetry/index.js +28 -0
  154. package/cjs/domain/telemetry/index.js.map +1 -0
  155. package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
  156. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +9 -0
  157. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  158. package/cjs/domain/telemetry/telemetry.d.ts +56 -0
  159. package/cjs/domain/telemetry/telemetry.js +248 -0
  160. package/cjs/domain/telemetry/telemetry.js.map +1 -0
  161. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +858 -0
  162. package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
  163. package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
  164. package/cjs/domain/trackingConsent.d.ts +13 -0
  165. package/cjs/domain/trackingConsent.js +28 -0
  166. package/cjs/domain/trackingConsent.js.map +1 -0
  167. package/cjs/index.d.ts +100 -0
  168. package/cjs/index.js +193 -0
  169. package/cjs/index.js.map +1 -0
  170. package/cjs/tools/abstractHooks.d.ts +24 -0
  171. package/cjs/tools/abstractHooks.js +41 -0
  172. package/cjs/tools/abstractHooks.js.map +1 -0
  173. package/cjs/tools/abstractLifeCycle.d.ts +23 -0
  174. package/cjs/tools/abstractLifeCycle.js +28 -0
  175. package/cjs/tools/abstractLifeCycle.js.map +1 -0
  176. package/cjs/tools/boundedBuffer.d.ts +16 -0
  177. package/cjs/tools/boundedBuffer.js +32 -0
  178. package/cjs/tools/boundedBuffer.js.map +1 -0
  179. package/cjs/tools/catchUserErrors.d.ts +1 -0
  180. package/cjs/tools/catchUserErrors.js +15 -0
  181. package/cjs/tools/catchUserErrors.js.map +1 -0
  182. package/cjs/tools/display.d.ts +38 -0
  183. package/cjs/tools/display.js +44 -0
  184. package/cjs/tools/display.js.map +1 -0
  185. package/cjs/tools/encoder.d.ts +54 -0
  186. package/cjs/tools/encoder.js +40 -0
  187. package/cjs/tools/encoder.js.map +1 -0
  188. package/cjs/tools/experimentalFeatures.d.ts +20 -0
  189. package/cjs/tools/experimentalFeatures.js +49 -0
  190. package/cjs/tools/experimentalFeatures.js.map +1 -0
  191. package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
  192. package/cjs/tools/getZoneJsOriginalValue.js +29 -0
  193. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
  194. package/cjs/tools/globalObject.d.ts +19 -0
  195. package/cjs/tools/globalObject.js +44 -0
  196. package/cjs/tools/globalObject.js.map +1 -0
  197. package/cjs/tools/instrumentMethod.d.ts +75 -0
  198. package/cjs/tools/instrumentMethod.js +118 -0
  199. package/cjs/tools/instrumentMethod.js.map +1 -0
  200. package/cjs/tools/matchOption.d.ts +8 -0
  201. package/cjs/tools/matchOption.js +35 -0
  202. package/cjs/tools/matchOption.js.map +1 -0
  203. package/cjs/tools/mergeInto.d.ts +25 -0
  204. package/cjs/tools/mergeInto.js +98 -0
  205. package/cjs/tools/mergeInto.js.map +1 -0
  206. package/cjs/tools/monitor.d.ts +9 -0
  207. package/cjs/tools/monitor.js +62 -0
  208. package/cjs/tools/monitor.js.map +1 -0
  209. package/cjs/tools/observable.d.ts +30 -0
  210. package/cjs/tools/observable.js +89 -0
  211. package/cjs/tools/observable.js.map +1 -0
  212. package/cjs/tools/queueMicrotask.d.ts +1 -0
  213. package/cjs/tools/queueMicrotask.js +17 -0
  214. package/cjs/tools/queueMicrotask.js.map +1 -0
  215. package/cjs/tools/readBytesFromStream.d.ts +11 -0
  216. package/cjs/tools/readBytesFromStream.js +63 -0
  217. package/cjs/tools/readBytesFromStream.js.map +1 -0
  218. package/cjs/tools/requestIdleCallback.d.ts +12 -0
  219. package/cjs/tools/requestIdleCallback.js +35 -0
  220. package/cjs/tools/requestIdleCallback.js.map +1 -0
  221. package/cjs/tools/sendToExtension.d.ts +3 -0
  222. package/cjs/tools/sendToExtension.js +11 -0
  223. package/cjs/tools/sendToExtension.js.map +1 -0
  224. package/cjs/tools/serialisation/context.d.ts +9 -0
  225. package/cjs/tools/serialisation/context.js +3 -0
  226. package/cjs/tools/serialisation/context.js.map +1 -0
  227. package/cjs/tools/serialisation/jsonStringify.d.ts +13 -0
  228. package/cjs/tools/serialisation/jsonStringify.js +48 -0
  229. package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
  230. package/cjs/tools/serialisation/sanitize.d.ts +18 -0
  231. package/cjs/tools/serialisation/sanitize.js +188 -0
  232. package/cjs/tools/serialisation/sanitize.js.map +1 -0
  233. package/cjs/tools/stackTrace/computeStackTrace.d.ts +25 -0
  234. package/cjs/tools/stackTrace/computeStackTrace.js +187 -0
  235. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -0
  236. package/cjs/tools/stackTrace/handlingStack.d.ts +10 -0
  237. package/cjs/tools/stackTrace/handlingStack.js +46 -0
  238. package/cjs/tools/stackTrace/handlingStack.js.map +1 -0
  239. package/cjs/tools/taskQueue.d.ts +15 -0
  240. package/cjs/tools/taskQueue.js +54 -0
  241. package/cjs/tools/taskQueue.js.map +1 -0
  242. package/cjs/tools/timer.d.ts +5 -0
  243. package/cjs/tools/timer.js +22 -0
  244. package/cjs/tools/timer.js.map +1 -0
  245. package/cjs/tools/utils/arrayUtils.d.ts +3 -0
  246. package/cjs/tools/utils/arrayUtils.js +20 -0
  247. package/cjs/tools/utils/arrayUtils.js.map +1 -0
  248. package/cjs/tools/utils/browserDetection.d.ts +8 -0
  249. package/cjs/tools/utils/browserDetection.js +33 -0
  250. package/cjs/tools/utils/browserDetection.js.map +1 -0
  251. package/cjs/tools/utils/byteUtils.d.ts +8 -0
  252. package/cjs/tools/utils/byteUtils.js +30 -0
  253. package/cjs/tools/utils/byteUtils.js.map +1 -0
  254. package/cjs/tools/utils/functionUtils.d.ts +8 -0
  255. package/cjs/tools/utils/functionUtils.js +43 -0
  256. package/cjs/tools/utils/functionUtils.js.map +1 -0
  257. package/cjs/tools/utils/numberUtils.d.ts +9 -0
  258. package/cjs/tools/utils/numberUtils.js +24 -0
  259. package/cjs/tools/utils/numberUtils.js.map +1 -0
  260. package/cjs/tools/utils/objectUtils.d.ts +10 -0
  261. package/cjs/tools/utils/objectUtils.js +23 -0
  262. package/cjs/tools/utils/objectUtils.js.map +1 -0
  263. package/cjs/tools/utils/polyfills.d.ts +7 -0
  264. package/cjs/tools/utils/polyfills.js +23 -0
  265. package/cjs/tools/utils/polyfills.js.map +1 -0
  266. package/cjs/tools/utils/responseUtils.d.ts +2 -0
  267. package/cjs/tools/utils/responseUtils.js +17 -0
  268. package/cjs/tools/utils/responseUtils.js.map +1 -0
  269. package/cjs/tools/utils/stringUtils.d.ts +8 -0
  270. package/cjs/tools/utils/stringUtils.js +55 -0
  271. package/cjs/tools/utils/stringUtils.js.map +1 -0
  272. package/cjs/tools/utils/timeUtils.d.ts +53 -0
  273. package/cjs/tools/utils/timeUtils.js +101 -0
  274. package/cjs/tools/utils/timeUtils.js.map +1 -0
  275. package/cjs/tools/utils/timezone.d.ts +1 -0
  276. package/cjs/tools/utils/timezone.js +13 -0
  277. package/cjs/tools/utils/timezone.js.map +1 -0
  278. package/cjs/tools/utils/typeUtils.d.ts +4 -0
  279. package/cjs/tools/utils/typeUtils.js +16 -0
  280. package/cjs/tools/utils/typeUtils.js.map +1 -0
  281. package/cjs/tools/utils/urlPolyfill.d.ts +5 -0
  282. package/cjs/tools/utils/urlPolyfill.js +59 -0
  283. package/cjs/tools/utils/urlPolyfill.js.map +1 -0
  284. package/cjs/tools/valueHistory.d.ts +27 -0
  285. package/cjs/tools/valueHistory.js +104 -0
  286. package/cjs/tools/valueHistory.js.map +1 -0
  287. package/cjs/transport/batch.d.ts +16 -0
  288. package/cjs/transport/batch.js +108 -0
  289. package/cjs/transport/batch.js.map +1 -0
  290. package/cjs/transport/eventBridge.d.ts +21 -0
  291. package/cjs/transport/eventBridge.js +46 -0
  292. package/cjs/transport/eventBridge.js.map +1 -0
  293. package/cjs/transport/flushController.d.ts +58 -0
  294. package/cjs/transport/flushController.js +109 -0
  295. package/cjs/transport/flushController.js.map +1 -0
  296. package/cjs/transport/httpRequest.d.ts +51 -0
  297. package/cjs/transport/httpRequest.js +80 -0
  298. package/cjs/transport/httpRequest.js.map +1 -0
  299. package/cjs/transport/index.d.ts +7 -0
  300. package/cjs/transport/index.js +14 -0
  301. package/cjs/transport/index.js.map +1 -0
  302. package/cjs/transport/sendWithRetryStrategy.d.ts +41 -0
  303. package/cjs/transport/sendWithRetryStrategy.js +163 -0
  304. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  305. package/esm/boot/displayAlreadyInitializedError.d.ts +2 -0
  306. package/esm/boot/displayAlreadyInitializedError.js +7 -0
  307. package/esm/boot/displayAlreadyInitializedError.js.map +1 -0
  308. package/esm/boot/init.d.ts +14 -0
  309. package/esm/boot/init.js +35 -0
  310. package/esm/boot/init.js.map +1 -0
  311. package/esm/browser/addEventListener.d.ts +87 -0
  312. package/esm/browser/addEventListener.js +51 -0
  313. package/esm/browser/addEventListener.js.map +1 -0
  314. package/esm/browser/browser.types.d.ts +51 -0
  315. package/esm/browser/browser.types.js +5 -0
  316. package/esm/browser/browser.types.js.map +1 -0
  317. package/esm/browser/cookie.d.ts +18 -0
  318. package/esm/browser/cookie.js +91 -0
  319. package/esm/browser/cookie.js.map +1 -0
  320. package/esm/browser/fetchObservable.d.ts +25 -0
  321. package/esm/browser/fetchObservable.js +75 -0
  322. package/esm/browser/fetchObservable.js.map +1 -0
  323. package/esm/browser/pageMayExitObservable.d.ts +14 -0
  324. package/esm/browser/pageMayExitObservable.js +40 -0
  325. package/esm/browser/pageMayExitObservable.js.map +1 -0
  326. package/esm/browser/runOnReadyState.d.ts +5 -0
  327. package/esm/browser/runOnReadyState.js +16 -0
  328. package/esm/browser/runOnReadyState.js.map +1 -0
  329. package/esm/browser/xhrObservable.d.ts +23 -0
  330. package/esm/browser/xhrObservable.js +80 -0
  331. package/esm/browser/xhrObservable.js.map +1 -0
  332. package/esm/domain/allowedTrackingOrigins.d.ts +4 -0
  333. package/esm/domain/allowedTrackingOrigins.js +21 -0
  334. package/esm/domain/allowedTrackingOrigins.js.map +1 -0
  335. package/esm/domain/bufferedData.d.ts +14 -0
  336. package/esm/domain/bufferedData.js +19 -0
  337. package/esm/domain/bufferedData.js.map +1 -0
  338. package/esm/domain/configuration/configuration.d.ts +303 -0
  339. package/esm/domain/configuration/configuration.js +146 -0
  340. package/esm/domain/configuration/configuration.js.map +1 -0
  341. package/esm/domain/configuration/endpointBuilder.d.ts +12 -0
  342. package/esm/domain/configuration/endpointBuilder.js +74 -0
  343. package/esm/domain/configuration/endpointBuilder.js.map +1 -0
  344. package/esm/domain/configuration/index.d.ts +5 -0
  345. package/esm/domain/configuration/index.js +4 -0
  346. package/esm/domain/configuration/index.js.map +1 -0
  347. package/esm/domain/configuration/transportConfiguration.d.ts +20 -0
  348. package/esm/domain/configuration/transportConfiguration.js +50 -0
  349. package/esm/domain/configuration/transportConfiguration.js.map +1 -0
  350. package/esm/domain/connectivity/connectivity.d.ts +14 -0
  351. package/esm/domain/connectivity/connectivity.js +11 -0
  352. package/esm/domain/connectivity/connectivity.js.map +1 -0
  353. package/esm/domain/connectivity/index.d.ts +1 -0
  354. package/esm/domain/connectivity/index.js +2 -0
  355. package/esm/domain/connectivity/index.js.map +1 -0
  356. package/esm/domain/console/consoleObservable.d.ts +21 -0
  357. package/esm/domain/console/consoleObservable.js +80 -0
  358. package/esm/domain/console/consoleObservable.js.map +1 -0
  359. package/esm/domain/context/contextConstants.d.ts +21 -0
  360. package/esm/domain/context/contextConstants.js +15 -0
  361. package/esm/domain/context/contextConstants.js.map +1 -0
  362. package/esm/domain/context/contextManager.d.ts +19 -0
  363. package/esm/domain/context/contextManager.js +57 -0
  364. package/esm/domain/context/contextManager.js.map +1 -0
  365. package/esm/domain/context/contextUtils.d.ts +5 -0
  366. package/esm/domain/context/contextUtils.js +13 -0
  367. package/esm/domain/context/contextUtils.js.map +1 -0
  368. package/esm/domain/context/defineContextMethod.d.ts +6 -0
  369. package/esm/domain/context/defineContextMethod.js +17 -0
  370. package/esm/domain/context/defineContextMethod.js.map +1 -0
  371. package/esm/domain/context/storeContextManager.d.ts +6 -0
  372. package/esm/domain/context/storeContextManager.js +35 -0
  373. package/esm/domain/context/storeContextManager.js.map +1 -0
  374. package/esm/domain/contexts/accountContext.d.ts +26 -0
  375. package/esm/domain/contexts/accountContext.js +29 -0
  376. package/esm/domain/contexts/accountContext.js.map +1 -0
  377. package/esm/domain/contexts/globalContext.d.ts +18 -0
  378. package/esm/domain/contexts/globalContext.js +17 -0
  379. package/esm/domain/contexts/globalContext.js.map +1 -0
  380. package/esm/domain/contexts/rumInternalContext.type.d.ts +14 -0
  381. package/esm/domain/contexts/rumInternalContext.type.js +2 -0
  382. package/esm/domain/contexts/rumInternalContext.type.js.map +1 -0
  383. package/esm/domain/contexts/userContext.d.ts +29 -0
  384. package/esm/domain/contexts/userContext.js +41 -0
  385. package/esm/domain/contexts/userContext.js.map +1 -0
  386. package/esm/domain/deflate/deflate.types.d.ts +40 -0
  387. package/esm/domain/deflate/deflate.types.js +2 -0
  388. package/esm/domain/deflate/deflate.types.js.map +1 -0
  389. package/esm/domain/deflate/index.d.ts +1 -0
  390. package/esm/domain/deflate/index.js +2 -0
  391. package/esm/domain/deflate/index.js.map +1 -0
  392. package/esm/domain/error/error.d.ts +23 -0
  393. package/esm/domain/error/error.js +65 -0
  394. package/esm/domain/error/error.js.map +1 -0
  395. package/esm/domain/error/error.types.d.ts +47 -0
  396. package/esm/domain/error/error.types.js +10 -0
  397. package/esm/domain/error/error.types.js.map +1 -0
  398. package/esm/domain/error/trackRuntimeError.d.ts +11 -0
  399. package/esm/domain/error/trackRuntimeError.js +43 -0
  400. package/esm/domain/error/trackRuntimeError.js.map +1 -0
  401. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  402. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +36 -0
  403. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  404. package/esm/domain/extension/extensionUtils.d.ts +10 -0
  405. package/esm/domain/extension/extensionUtils.js +25 -0
  406. package/esm/domain/extension/extensionUtils.js.map +1 -0
  407. package/esm/domain/intakeSites.d.ts +8 -0
  408. package/esm/domain/intakeSites.js +8 -0
  409. package/esm/domain/intakeSites.js.map +1 -0
  410. package/esm/domain/report/browser.types.d.ts +34 -0
  411. package/esm/domain/report/browser.types.js +2 -0
  412. package/esm/domain/report/browser.types.js.map +1 -0
  413. package/esm/domain/report/reportObservable.d.ts +14 -0
  414. package/esm/domain/report/reportObservable.js +95 -0
  415. package/esm/domain/report/reportObservable.js.map +1 -0
  416. package/esm/domain/resourceUtils.d.ts +18 -0
  417. package/esm/domain/resourceUtils.js +17 -0
  418. package/esm/domain/resourceUtils.js.map +1 -0
  419. package/esm/domain/session/oldCookiesMigration.d.ts +11 -0
  420. package/esm/domain/session/oldCookiesMigration.js +36 -0
  421. package/esm/domain/session/oldCookiesMigration.js.map +1 -0
  422. package/esm/domain/session/sessionConstants.d.ts +15 -0
  423. package/esm/domain/session/sessionConstants.js +13 -0
  424. package/esm/domain/session/sessionConstants.js.map +1 -0
  425. package/esm/domain/session/sessionManager.d.ts +28 -0
  426. package/esm/domain/session/sessionManager.js +180 -0
  427. package/esm/domain/session/sessionManager.js.map +1 -0
  428. package/esm/domain/session/sessionState.d.ts +16 -0
  429. package/esm/domain/session/sessionState.js +66 -0
  430. package/esm/domain/session/sessionState.js.map +1 -0
  431. package/esm/domain/session/sessionStateValidation.d.ts +3 -0
  432. package/esm/domain/session/sessionStateValidation.js +7 -0
  433. package/esm/domain/session/sessionStateValidation.js.map +1 -0
  434. package/esm/domain/session/sessionStore.d.ts +38 -0
  435. package/esm/domain/session/sessionStore.js +175 -0
  436. package/esm/domain/session/sessionStore.js.map +1 -0
  437. package/esm/domain/session/sessionStoreOperations.d.ts +12 -0
  438. package/esm/domain/session/sessionStoreOperations.js +114 -0
  439. package/esm/domain/session/sessionStoreOperations.js.map +1 -0
  440. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +8 -0
  441. package/esm/domain/session/storeStrategies/sessionInCookie.js +50 -0
  442. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  443. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +4 -0
  444. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +37 -0
  445. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  446. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
  447. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +2 -0
  448. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  449. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
  450. package/esm/domain/synthetics/syntheticsWorkerValues.js +24 -0
  451. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  452. package/esm/domain/tags.d.ts +6 -0
  453. package/esm/domain/tags.js +60 -0
  454. package/esm/domain/tags.js.map +1 -0
  455. package/esm/domain/telemetry/index.d.ts +4 -0
  456. package/esm/domain/telemetry/index.js +3 -0
  457. package/esm/domain/telemetry/index.js.map +1 -0
  458. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
  459. package/esm/domain/telemetry/rawTelemetryEvent.types.js +6 -0
  460. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  461. package/esm/domain/telemetry/telemetry.d.ts +56 -0
  462. package/esm/domain/telemetry/telemetry.js +235 -0
  463. package/esm/domain/telemetry/telemetry.js.map +1 -0
  464. package/esm/domain/telemetry/telemetryEvent.types.d.ts +858 -0
  465. package/esm/domain/telemetry/telemetryEvent.types.js +6 -0
  466. package/esm/domain/telemetry/telemetryEvent.types.js.map +1 -0
  467. package/esm/domain/trackingConsent.d.ts +13 -0
  468. package/esm/domain/trackingConsent.js +24 -0
  469. package/esm/domain/trackingConsent.js.map +1 -0
  470. package/esm/index.d.ts +100 -0
  471. package/esm/index.js +76 -0
  472. package/esm/index.js.map +1 -0
  473. package/esm/tools/abstractHooks.d.ts +24 -0
  474. package/esm/tools/abstractHooks.js +37 -0
  475. package/esm/tools/abstractHooks.js.map +1 -0
  476. package/esm/tools/abstractLifeCycle.d.ts +23 -0
  477. package/esm/tools/abstractLifeCycle.js +24 -0
  478. package/esm/tools/abstractLifeCycle.js.map +1 -0
  479. package/esm/tools/boundedBuffer.d.ts +16 -0
  480. package/esm/tools/boundedBuffer.js +29 -0
  481. package/esm/tools/boundedBuffer.js.map +1 -0
  482. package/esm/tools/catchUserErrors.d.ts +1 -0
  483. package/esm/tools/catchUserErrors.js +12 -0
  484. package/esm/tools/catchUserErrors.js.map +1 -0
  485. package/esm/tools/display.d.ts +38 -0
  486. package/esm/tools/display.js +41 -0
  487. package/esm/tools/display.js.map +1 -0
  488. package/esm/tools/encoder.d.ts +54 -0
  489. package/esm/tools/encoder.js +37 -0
  490. package/esm/tools/encoder.js.map +1 -0
  491. package/esm/tools/experimentalFeatures.d.ts +20 -0
  492. package/esm/tools/experimentalFeatures.js +41 -0
  493. package/esm/tools/experimentalFeatures.js.map +1 -0
  494. package/esm/tools/getZoneJsOriginalValue.d.ts +19 -0
  495. package/esm/tools/getZoneJsOriginalValue.js +26 -0
  496. package/esm/tools/getZoneJsOriginalValue.js.map +1 -0
  497. package/esm/tools/globalObject.d.ts +19 -0
  498. package/esm/tools/globalObject.js +40 -0
  499. package/esm/tools/globalObject.js.map +1 -0
  500. package/esm/tools/instrumentMethod.d.ts +75 -0
  501. package/esm/tools/instrumentMethod.js +114 -0
  502. package/esm/tools/instrumentMethod.js.map +1 -0
  503. package/esm/tools/matchOption.d.ts +8 -0
  504. package/esm/tools/matchOption.js +31 -0
  505. package/esm/tools/matchOption.js.map +1 -0
  506. package/esm/tools/mergeInto.d.ts +25 -0
  507. package/esm/tools/mergeInto.js +93 -0
  508. package/esm/tools/mergeInto.js.map +1 -0
  509. package/esm/tools/monitor.d.ts +9 -0
  510. package/esm/tools/monitor.js +52 -0
  511. package/esm/tools/monitor.js.map +1 -0
  512. package/esm/tools/observable.d.ts +30 -0
  513. package/esm/tools/observable.js +83 -0
  514. package/esm/tools/observable.js.map +1 -0
  515. package/esm/tools/queueMicrotask.d.ts +1 -0
  516. package/esm/tools/queueMicrotask.js +14 -0
  517. package/esm/tools/queueMicrotask.js.map +1 -0
  518. package/esm/tools/readBytesFromStream.d.ts +11 -0
  519. package/esm/tools/readBytesFromStream.js +60 -0
  520. package/esm/tools/readBytesFromStream.js.map +1 -0
  521. package/esm/tools/requestIdleCallback.d.ts +12 -0
  522. package/esm/tools/requestIdleCallback.js +30 -0
  523. package/esm/tools/requestIdleCallback.js.map +1 -0
  524. package/esm/tools/sendToExtension.d.ts +3 -0
  525. package/esm/tools/sendToExtension.js +8 -0
  526. package/esm/tools/sendToExtension.js.map +1 -0
  527. package/esm/tools/serialisation/context.d.ts +9 -0
  528. package/esm/tools/serialisation/context.js +2 -0
  529. package/esm/tools/serialisation/context.js.map +1 -0
  530. package/esm/tools/serialisation/jsonStringify.d.ts +13 -0
  531. package/esm/tools/serialisation/jsonStringify.js +44 -0
  532. package/esm/tools/serialisation/jsonStringify.js.map +1 -0
  533. package/esm/tools/serialisation/sanitize.d.ts +18 -0
  534. package/esm/tools/serialisation/sanitize.js +185 -0
  535. package/esm/tools/serialisation/sanitize.js.map +1 -0
  536. package/esm/tools/stackTrace/computeStackTrace.d.ts +25 -0
  537. package/esm/tools/stackTrace/computeStackTrace.js +183 -0
  538. package/esm/tools/stackTrace/computeStackTrace.js.map +1 -0
  539. package/esm/tools/stackTrace/handlingStack.d.ts +10 -0
  540. package/esm/tools/stackTrace/handlingStack.js +41 -0
  541. package/esm/tools/stackTrace/handlingStack.js.map +1 -0
  542. package/esm/tools/taskQueue.d.ts +15 -0
  543. package/esm/tools/taskQueue.js +50 -0
  544. package/esm/tools/taskQueue.js.map +1 -0
  545. package/esm/tools/timer.d.ts +5 -0
  546. package/esm/tools/timer.js +16 -0
  547. package/esm/tools/timer.js.map +1 -0
  548. package/esm/tools/utils/arrayUtils.d.ts +3 -0
  549. package/esm/tools/utils/arrayUtils.js +15 -0
  550. package/esm/tools/utils/arrayUtils.js.map +1 -0
  551. package/esm/tools/utils/browserDetection.d.ts +8 -0
  552. package/esm/tools/utils/browserDetection.js +28 -0
  553. package/esm/tools/utils/browserDetection.js.map +1 -0
  554. package/esm/tools/utils/byteUtils.d.ts +8 -0
  555. package/esm/tools/utils/byteUtils.js +25 -0
  556. package/esm/tools/utils/byteUtils.js.map +1 -0
  557. package/esm/tools/utils/functionUtils.d.ts +8 -0
  558. package/esm/tools/utils/functionUtils.js +39 -0
  559. package/esm/tools/utils/functionUtils.js.map +1 -0
  560. package/esm/tools/utils/numberUtils.d.ts +9 -0
  561. package/esm/tools/utils/numberUtils.js +18 -0
  562. package/esm/tools/utils/numberUtils.js.map +1 -0
  563. package/esm/tools/utils/objectUtils.d.ts +10 -0
  564. package/esm/tools/utils/objectUtils.js +17 -0
  565. package/esm/tools/utils/objectUtils.js.map +1 -0
  566. package/esm/tools/utils/polyfills.d.ts +7 -0
  567. package/esm/tools/utils/polyfills.js +18 -0
  568. package/esm/tools/utils/polyfills.js.map +1 -0
  569. package/esm/tools/utils/responseUtils.d.ts +2 -0
  570. package/esm/tools/utils/responseUtils.js +13 -0
  571. package/esm/tools/utils/responseUtils.js.map +1 -0
  572. package/esm/tools/utils/stringUtils.d.ts +8 -0
  573. package/esm/tools/utils/stringUtils.js +49 -0
  574. package/esm/tools/utils/stringUtils.js.map +1 -0
  575. package/esm/tools/utils/timeUtils.d.ts +53 -0
  576. package/esm/tools/utils/timeUtils.js +84 -0
  577. package/esm/tools/utils/timeUtils.js.map +1 -0
  578. package/esm/tools/utils/timezone.d.ts +1 -0
  579. package/esm/tools/utils/timezone.js +10 -0
  580. package/esm/tools/utils/timezone.js.map +1 -0
  581. package/esm/tools/utils/typeUtils.d.ts +4 -0
  582. package/esm/tools/utils/typeUtils.js +13 -0
  583. package/esm/tools/utils/typeUtils.js.map +1 -0
  584. package/esm/tools/utils/urlPolyfill.d.ts +5 -0
  585. package/esm/tools/utils/urlPolyfill.js +52 -0
  586. package/esm/tools/utils/urlPolyfill.js.map +1 -0
  587. package/esm/tools/valueHistory.d.ts +27 -0
  588. package/esm/tools/valueHistory.js +100 -0
  589. package/esm/tools/valueHistory.js.map +1 -0
  590. package/esm/transport/batch.d.ts +16 -0
  591. package/esm/transport/batch.js +105 -0
  592. package/esm/transport/batch.js.map +1 -0
  593. package/esm/transport/eventBridge.d.ts +21 -0
  594. package/esm/transport/eventBridge.js +41 -0
  595. package/esm/transport/eventBridge.js.map +1 -0
  596. package/esm/transport/flushController.d.ts +58 -0
  597. package/esm/transport/flushController.js +106 -0
  598. package/esm/transport/flushController.js.map +1 -0
  599. package/esm/transport/httpRequest.d.ts +51 -0
  600. package/esm/transport/httpRequest.js +75 -0
  601. package/esm/transport/httpRequest.js.map +1 -0
  602. package/esm/transport/index.d.ts +7 -0
  603. package/esm/transport/index.js +5 -0
  604. package/esm/transport/index.js.map +1 -0
  605. package/esm/transport/sendWithRetryStrategy.d.ts +41 -0
  606. package/esm/transport/sendWithRetryStrategy.js +158 -0
  607. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  608. package/package.json +31 -0
  609. package/src/boot/displayAlreadyInitializedError.ts +8 -0
  610. package/src/boot/init.ts +55 -0
  611. package/src/browser/addEventListener.ts +145 -0
  612. package/src/browser/browser.types.ts +82 -0
  613. package/src/browser/cookie.ts +107 -0
  614. package/src/browser/fetchObservable.ts +127 -0
  615. package/src/browser/pageMayExitObservable.ts +56 -0
  616. package/src/browser/runOnReadyState.ts +25 -0
  617. package/src/browser/xhrObservable.ts +130 -0
  618. package/src/domain/allowedTrackingOrigins.ts +30 -0
  619. package/src/domain/bufferedData.ts +32 -0
  620. package/src/domain/configuration/configuration.ts +472 -0
  621. package/src/domain/configuration/endpointBuilder.ts +119 -0
  622. package/src/domain/configuration/index.ts +11 -0
  623. package/src/domain/configuration/transportConfiguration.ts +78 -0
  624. package/src/domain/connectivity/connectivity.ts +31 -0
  625. package/src/domain/connectivity/index.ts +1 -0
  626. package/src/domain/console/consoleObservable.ts +118 -0
  627. package/src/domain/context/contextConstants.ts +27 -0
  628. package/src/domain/context/contextManager.ts +85 -0
  629. package/src/domain/context/contextUtils.ts +14 -0
  630. package/src/domain/context/defineContextMethod.ts +31 -0
  631. package/src/domain/context/storeContextManager.ts +55 -0
  632. package/src/domain/contexts/accountContext.ts +47 -0
  633. package/src/domain/contexts/globalContext.ts +30 -0
  634. package/src/domain/contexts/rumInternalContext.type.ts +15 -0
  635. package/src/domain/contexts/userContext.ts +64 -0
  636. package/src/domain/deflate/deflate.types.ts +57 -0
  637. package/src/domain/deflate/index.ts +1 -0
  638. package/src/domain/error/error.ts +103 -0
  639. package/src/domain/error/error.types.ts +64 -0
  640. package/src/domain/error/trackRuntimeError.ts +50 -0
  641. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +46 -0
  642. package/src/domain/extension/extensionUtils.ts +28 -0
  643. package/src/domain/intakeSites.ts +17 -0
  644. package/src/domain/report/browser.types.ts +38 -0
  645. package/src/domain/report/reportObservable.ts +133 -0
  646. package/src/domain/resourceUtils.ts +21 -0
  647. package/src/domain/session/README.md +193 -0
  648. package/src/domain/session/oldCookiesMigration.ts +42 -0
  649. package/src/domain/session/sessionConstants.ts +19 -0
  650. package/src/domain/session/sessionManager.ts +244 -0
  651. package/src/domain/session/sessionState.ts +88 -0
  652. package/src/domain/session/sessionStateValidation.ts +9 -0
  653. package/src/domain/session/sessionStore.ts +244 -0
  654. package/src/domain/session/sessionStoreOperations.ts +131 -0
  655. package/src/domain/session/storeStrategies/sessionInCookie.ts +85 -0
  656. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +44 -0
  657. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +16 -0
  658. package/src/domain/synthetics/syntheticsWorkerValues.ts +38 -0
  659. package/src/domain/tags.ts +76 -0
  660. package/src/domain/telemetry/index.ts +22 -0
  661. package/src/domain/telemetry/rawTelemetryEvent.types.ts +22 -0
  662. package/src/domain/telemetry/telemetry.ts +345 -0
  663. package/src/domain/telemetry/telemetryEvent.types.ts +899 -0
  664. package/src/domain/trackingConsent.ts +34 -0
  665. package/src/index.ts +164 -0
  666. package/src/tools/abstractHooks.ts +72 -0
  667. package/src/tools/abstractLifeCycle.ts +46 -0
  668. package/src/tools/boundedBuffer.ts +45 -0
  669. package/src/tools/catchUserErrors.ts +11 -0
  670. package/src/tools/display.ts +56 -0
  671. package/src/tools/encoder.ts +103 -0
  672. package/src/tools/experimentalFeatures.ts +51 -0
  673. package/src/tools/getZoneJsOriginalValue.ts +38 -0
  674. package/src/tools/globalObject.ts +51 -0
  675. package/src/tools/instrumentMethod.ts +170 -0
  676. package/src/tools/matchOption.ts +31 -0
  677. package/src/tools/mergeInto.ts +177 -0
  678. package/src/tools/monitor.ts +72 -0
  679. package/src/tools/observable.ts +104 -0
  680. package/src/tools/queueMicrotask.ts +13 -0
  681. package/src/tools/readBytesFromStream.ts +77 -0
  682. package/src/tools/requestIdleCallback.ts +40 -0
  683. package/src/tools/sendToExtension.ts +14 -0
  684. package/src/tools/serialisation/context.ts +11 -0
  685. package/src/tools/serialisation/jsonStringify.ts +53 -0
  686. package/src/tools/serialisation/sanitize.ts +273 -0
  687. package/src/tools/stackTrace/computeStackTrace.ts +250 -0
  688. package/src/tools/stackTrace/handlingStack.ts +48 -0
  689. package/src/tools/taskQueue.ts +63 -0
  690. package/src/tools/timer.ts +21 -0
  691. package/src/tools/utils/arrayUtils.ts +15 -0
  692. package/src/tools/utils/browserDetection.ts +39 -0
  693. package/src/tools/utils/byteUtils.ts +35 -0
  694. package/src/tools/utils/functionUtils.ts +45 -0
  695. package/src/tools/utils/numberUtils.ts +20 -0
  696. package/src/tools/utils/objectUtils.ts +19 -0
  697. package/src/tools/utils/polyfills.ts +23 -0
  698. package/src/tools/utils/responseUtils.ts +12 -0
  699. package/src/tools/utils/stringUtils.ts +52 -0
  700. package/src/tools/utils/timeUtils.ts +117 -0
  701. package/src/tools/utils/timezone.ts +9 -0
  702. package/src/tools/utils/typeUtils.ts +12 -0
  703. package/src/tools/utils/urlPolyfill.ts +56 -0
  704. package/src/tools/valueHistory.ts +151 -0
  705. package/src/transport/batch.ts +144 -0
  706. package/src/transport/eventBridge.ts +61 -0
  707. package/src/transport/flushController.ts +144 -0
  708. package/src/transport/httpRequest.ts +164 -0
  709. package/src/transport/index.ts +7 -0
  710. package/src/transport/sendWithRetryStrategy.ts +222 -0
@@ -0,0 +1,13 @@
1
+ export function isServerError(status) {
2
+ return status >= 500;
3
+ }
4
+ export function tryToClone(response) {
5
+ try {
6
+ return response.clone();
7
+ }
8
+ catch (_a) {
9
+ // clone can throw if the response has already been used by another instrumentation or is disturbed
10
+ return;
11
+ }
12
+ }
13
+ //# sourceMappingURL=responseUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/responseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,IAAI,GAAG,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAAC,WAAM,CAAC;QACP,mGAAmG;QACnG,OAAM;IACR,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * UUID v4
3
+ * from https://gist.github.com/jed/982883
4
+ */
5
+ export declare function generateUUID(placeholder?: string): string;
6
+ export declare function findCommaSeparatedValue(rawString: string, name: string): string | undefined;
7
+ export declare function findCommaSeparatedValues(rawString: string): Map<string, string>;
8
+ export declare function safeTruncate(candidate: string, length: number, suffix?: string): string;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * UUID v4
3
+ * from https://gist.github.com/jed/982883
4
+ */
5
+ export function generateUUID(placeholder) {
6
+ return placeholder
7
+ ? // eslint-disable-next-line no-bitwise
8
+ (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)
9
+ : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID);
10
+ }
11
+ const COMMA_SEPARATED_KEY_VALUE = /([\w-]+)\s*=\s*([^;]+)/g;
12
+ export function findCommaSeparatedValue(rawString, name) {
13
+ COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
14
+ while (true) {
15
+ const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
16
+ if (match) {
17
+ if (match[1] === name) {
18
+ return match[2];
19
+ }
20
+ }
21
+ else {
22
+ break;
23
+ }
24
+ }
25
+ }
26
+ export function findCommaSeparatedValues(rawString) {
27
+ const result = new Map();
28
+ COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
29
+ while (true) {
30
+ const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
31
+ if (match) {
32
+ result.set(match[1], match[2]);
33
+ }
34
+ else {
35
+ break;
36
+ }
37
+ }
38
+ return result;
39
+ }
40
+ export function safeTruncate(candidate, length, suffix = '') {
41
+ const lastChar = candidate.charCodeAt(length - 1);
42
+ const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;
43
+ const correctedLength = isLastCharSurrogatePair ? length + 1 : length;
44
+ if (candidate.length <= correctedLength) {
45
+ return candidate;
46
+ }
47
+ return `${candidate.slice(0, correctedLength)}${suffix}`;
48
+ }
49
+ //# sourceMappingURL=stringUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/stringUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAoB;IAC/C,OAAO,WAAW;QAChB,CAAC,CAAC,uCAAuC;YACvC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,yBAAyB,GAAG,yBAAyB,CAAA;AAE3D,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,IAAY;IACrE,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAA;IACvC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAK;QACP,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAA;IACvC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAM,GAAG,EAAE;IACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,MAAM,uBAAuB,GAAG,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAA;IACxE,MAAM,eAAe,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAErE,IAAI,SAAS,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,MAAM,EAAE,CAAA;AAC1D,CAAC"}
@@ -0,0 +1,53 @@
1
+ export declare const ONE_SECOND = 1000;
2
+ export declare const ONE_MINUTE: number;
3
+ export declare const ONE_HOUR: number;
4
+ export declare const ONE_DAY: number;
5
+ export declare const ONE_YEAR: number;
6
+ export type Duration = number & {
7
+ d: 'Duration in ms';
8
+ };
9
+ export type ServerDuration = number & {
10
+ s: 'Duration in ns';
11
+ };
12
+ export type TimeStamp = number & {
13
+ t: 'Epoch time';
14
+ };
15
+ export type RelativeTime = number & {
16
+ r: 'Time relative to navigation start';
17
+ } & {
18
+ d: 'Duration in ms';
19
+ };
20
+ export interface ClocksState {
21
+ relative: RelativeTime;
22
+ timeStamp: TimeStamp;
23
+ }
24
+ export declare function relativeToClocks(relative: RelativeTime): {
25
+ relative: RelativeTime;
26
+ timeStamp: TimeStamp;
27
+ };
28
+ export declare function timeStampToClocks(timeStamp: TimeStamp): {
29
+ relative: RelativeTime;
30
+ timeStamp: TimeStamp;
31
+ };
32
+ export declare function currentDrift(): number;
33
+ export declare function toServerDuration(duration: Duration): ServerDuration;
34
+ export declare function toServerDuration(duration: Duration | undefined): ServerDuration | undefined;
35
+ export declare function dateNow(): number;
36
+ export declare function timeStampNow(): TimeStamp;
37
+ export declare function relativeNow(): RelativeTime;
38
+ export declare function clocksNow(): {
39
+ relative: RelativeTime;
40
+ timeStamp: TimeStamp;
41
+ };
42
+ export declare function clocksOrigin(): {
43
+ relative: RelativeTime;
44
+ timeStamp: TimeStamp;
45
+ };
46
+ export declare function elapsed(start: TimeStamp, end: TimeStamp): Duration;
47
+ export declare function elapsed(start: RelativeTime, end: RelativeTime): Duration;
48
+ export declare function addDuration(a: TimeStamp, b: Duration): TimeStamp;
49
+ export declare function addDuration(a: RelativeTime, b: Duration): RelativeTime;
50
+ export declare function addDuration(a: Duration, b: Duration): Duration;
51
+ export declare function getRelativeTime(timestamp: TimeStamp): RelativeTime;
52
+ export declare function getTimeStamp(relativeTime: RelativeTime): TimeStamp;
53
+ export declare function looksLikeRelativeTime(time: RelativeTime | TimeStamp): time is RelativeTime;
@@ -0,0 +1,84 @@
1
+ import { isNumber, round } from './numberUtils';
2
+ export const ONE_SECOND = 1000;
3
+ export const ONE_MINUTE = 60 * ONE_SECOND;
4
+ export const ONE_HOUR = 60 * ONE_MINUTE;
5
+ export const ONE_DAY = 24 * ONE_HOUR;
6
+ export const ONE_YEAR = 365 * ONE_DAY;
7
+ export function relativeToClocks(relative) {
8
+ return { relative, timeStamp: getCorrectedTimeStamp(relative) };
9
+ }
10
+ export function timeStampToClocks(timeStamp) {
11
+ return { relative: getRelativeTime(timeStamp), timeStamp };
12
+ }
13
+ function getCorrectedTimeStamp(relativeTime) {
14
+ const correctedOrigin = (dateNow() - performance.now());
15
+ // apply correction only for positive drift
16
+ if (correctedOrigin > getNavigationStart()) {
17
+ return Math.round(addDuration(correctedOrigin, relativeTime));
18
+ }
19
+ return getTimeStamp(relativeTime);
20
+ }
21
+ export function currentDrift() {
22
+ return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));
23
+ }
24
+ export function toServerDuration(duration) {
25
+ if (!isNumber(duration)) {
26
+ return duration;
27
+ }
28
+ return round(duration * 1e6, 0);
29
+ }
30
+ export function dateNow() {
31
+ // Do not use `Date.now` because sometimes websites are wrongly "polyfilling" it. For example, we
32
+ // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date
33
+ // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this
34
+ // case ourselves.
35
+ // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16
36
+ return new Date().getTime();
37
+ }
38
+ export function timeStampNow() {
39
+ return dateNow();
40
+ }
41
+ export function relativeNow() {
42
+ return performance.now();
43
+ }
44
+ export function clocksNow() {
45
+ return { relative: relativeNow(), timeStamp: timeStampNow() };
46
+ }
47
+ export function clocksOrigin() {
48
+ return { relative: 0, timeStamp: getNavigationStart() };
49
+ }
50
+ export function elapsed(start, end) {
51
+ return (end - start);
52
+ }
53
+ export function addDuration(a, b) {
54
+ return a + b;
55
+ }
56
+ // Get the time since the navigation was started.
57
+ export function getRelativeTime(timestamp) {
58
+ return (timestamp - getNavigationStart());
59
+ }
60
+ export function getTimeStamp(relativeTime) {
61
+ return Math.round(addDuration(getNavigationStart(), relativeTime));
62
+ }
63
+ export function looksLikeRelativeTime(time) {
64
+ return time < ONE_YEAR;
65
+ }
66
+ /**
67
+ * Navigation start slightly change on some rare cases
68
+ */
69
+ let navigationStart;
70
+ /**
71
+ * Notes: this does not use `performance.timeOrigin` because:
72
+ * - It doesn't seem to reflect the actual time on which the navigation has started: it may be much farther in the past,
73
+ * at least in Firefox 71. (see: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926)
74
+ * - It is not supported in Safari <15
75
+ */
76
+ function getNavigationStart() {
77
+ var _a, _b;
78
+ if (navigationStart === undefined) {
79
+ // ServiceWorkers do not support navigationStart (it's deprecated), so we fallback to timeOrigin
80
+ navigationStart = ((_b = (_a = performance.timing) === null || _a === void 0 ? void 0 : _a.navigationStart) !== null && _b !== void 0 ? _b : performance.timeOrigin);
81
+ }
82
+ return navigationStart;
83
+ }
84
+ //# sourceMappingURL=timeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/timeUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getTimeZone(): string | undefined;
@@ -0,0 +1,10 @@
1
+ export function getTimeZone() {
2
+ try {
3
+ const intl = new Intl.DateTimeFormat();
4
+ return intl.resolvedOptions().timeZone;
5
+ }
6
+ catch (_a) {
7
+ return undefined;
8
+ }
9
+ }
10
+ //# sourceMappingURL=timezone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone.js","sourceRoot":"","sources":["../../../src/tools/utils/timezone.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;QAEtC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAA;IACxC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Similar to `typeof`, but distinguish plain objects from `null` and arrays
3
+ */
4
+ export declare function getType(value: unknown): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "null" | "array";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Similar to `typeof`, but distinguish plain objects from `null` and arrays
3
+ */
4
+ export function getType(value) {
5
+ if (value === null) {
6
+ return 'null';
7
+ }
8
+ if (Array.isArray(value)) {
9
+ return 'array';
10
+ }
11
+ return typeof value;
12
+ }
13
+ //# sourceMappingURL=typeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/typeUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,OAAO,KAAK,CAAA;AACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function normalizeUrl(url: string): string;
2
+ export declare function isValidUrl(url: string): boolean;
3
+ export declare function getPathName(url: string): string;
4
+ export declare function buildUrl(url: string, base?: string): URL;
5
+ export declare function getPristineWindow(): Pick<Window & typeof globalThis, "URL">;
@@ -0,0 +1,52 @@
1
+ import { globalObject } from '../globalObject';
2
+ export function normalizeUrl(url) {
3
+ return buildUrl(url, location.href).href;
4
+ }
5
+ export function isValidUrl(url) {
6
+ try {
7
+ return !!buildUrl(url);
8
+ }
9
+ catch (_a) {
10
+ return false;
11
+ }
12
+ }
13
+ export function getPathName(url) {
14
+ const pathname = buildUrl(url).pathname;
15
+ return pathname[0] === '/' ? pathname : `/${pathname}`;
16
+ }
17
+ export function buildUrl(url, base) {
18
+ const { URL } = getPristineWindow();
19
+ try {
20
+ return base !== undefined ? new URL(url, base) : new URL(url);
21
+ }
22
+ catch (error) {
23
+ throw new Error(`Failed to construct URL: ${String(error)}`);
24
+ }
25
+ }
26
+ /**
27
+ * Get native URL constructor from a clean iframe
28
+ * This avoids polyfill issues by getting the native implementation from a fresh iframe context
29
+ * Falls back to the original URL constructor if iframe approach fails
30
+ */
31
+ let getPristineGlobalObjectCache;
32
+ export function getPristineWindow() {
33
+ if (!getPristineGlobalObjectCache) {
34
+ let iframe;
35
+ let pristineWindow;
36
+ try {
37
+ iframe = document.createElement('iframe');
38
+ iframe.style.display = 'none';
39
+ document.body.appendChild(iframe);
40
+ pristineWindow = iframe.contentWindow;
41
+ }
42
+ catch (_a) {
43
+ pristineWindow = globalObject;
44
+ }
45
+ getPristineGlobalObjectCache = {
46
+ URL: pristineWindow.URL,
47
+ };
48
+ iframe === null || iframe === void 0 ? void 0 : iframe.remove();
49
+ }
50
+ return getPristineGlobalObjectCache;
51
+ }
52
+ //# sourceMappingURL=urlPolyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlPolyfill.js","sourceRoot":"","sources":["../../../src/tools/utils/urlPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAa;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAI,CAAC;QACH,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,IAAI,4BAAoE,CAAA;AAExE,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,IAAI,MAAqC,CAAA;QACzC,IAAI,cAA0C,CAAA;QAC9C,IAAI,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;YAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACjC,cAAc,GAAG,MAAM,CAAC,aAA2C,CAAA;QACrE,CAAC;QAAC,WAAM,CAAC;YACP,cAAc,GAAG,YAAqD,CAAA;QACxE,CAAC;QACD,4BAA4B,GAAG;YAC7B,GAAG,EAAE,cAAc,CAAC,GAAG;SACxB,CAAA;QACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAA;IAClB,CAAC;IAED,OAAO,4BAA4B,CAAA;AACrC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Duration, RelativeTime } from './utils/timeUtils';
2
+ export interface ValueHistoryEntry<T> {
3
+ startTime: RelativeTime;
4
+ endTime: RelativeTime;
5
+ value: T;
6
+ remove(): void;
7
+ close(endTime: RelativeTime): void;
8
+ }
9
+ export declare const CLEAR_OLD_VALUES_INTERVAL: number;
10
+ /**
11
+ * Store and keep track of values spans. This whole cache assumes that values are added in
12
+ * chronological order (i.e. all entries have an increasing start time).
13
+ */
14
+ export interface ValueHistory<Value> {
15
+ add: (value: Value, startTime: RelativeTime) => ValueHistoryEntry<Value>;
16
+ find: (startTime?: RelativeTime, options?: {
17
+ returnInactive: boolean;
18
+ }) => Value | undefined;
19
+ closeActive: (endTime: RelativeTime) => void;
20
+ findAll: (startTime?: RelativeTime, duration?: Duration) => Value[];
21
+ reset: () => void;
22
+ stop: () => void;
23
+ }
24
+ export declare function createValueHistory<Value>({ expireDelay, maxEntries, }: {
25
+ expireDelay: number;
26
+ maxEntries?: number;
27
+ }): ValueHistory<Value>;
@@ -0,0 +1,100 @@
1
+ import { setInterval, clearInterval } from './timer';
2
+ import { removeItem } from './utils/arrayUtils';
3
+ import { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';
4
+ const END_OF_TIMES = Infinity;
5
+ export const CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;
6
+ let cleanupHistoriesInterval = null;
7
+ const cleanupTasks = new Set();
8
+ function cleanupHistories() {
9
+ cleanupTasks.forEach((task) => task());
10
+ }
11
+ export function createValueHistory({ expireDelay, maxEntries, }) {
12
+ let entries = [];
13
+ if (!cleanupHistoriesInterval) {
14
+ cleanupHistoriesInterval = setInterval(() => cleanupHistories(), CLEAR_OLD_VALUES_INTERVAL);
15
+ }
16
+ const clearExpiredValues = () => {
17
+ const oldTimeThreshold = relativeNow() - expireDelay;
18
+ while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {
19
+ entries.pop();
20
+ }
21
+ };
22
+ cleanupTasks.add(clearExpiredValues);
23
+ /**
24
+ * Add a value to the history associated with a start time. Returns a reference to this newly
25
+ * added entry that can be removed or closed.
26
+ */
27
+ function add(value, startTime) {
28
+ const entry = {
29
+ value,
30
+ startTime,
31
+ endTime: END_OF_TIMES,
32
+ remove: () => {
33
+ removeItem(entries, entry);
34
+ },
35
+ close: (endTime) => {
36
+ entry.endTime = endTime;
37
+ },
38
+ };
39
+ if (maxEntries && entries.length >= maxEntries) {
40
+ entries.pop();
41
+ }
42
+ entries.unshift(entry);
43
+ return entry;
44
+ }
45
+ /**
46
+ * Return the latest value that was active during `startTime`, or the currently active value
47
+ * if no `startTime` is provided. This method assumes that entries are not overlapping.
48
+ *
49
+ * If `option.returnInactive` is true, returns the value at `startTime` (active or not).
50
+ */
51
+ function find(startTime = END_OF_TIMES, options = { returnInactive: false }) {
52
+ for (const entry of entries) {
53
+ if (entry.startTime <= startTime) {
54
+ if (options.returnInactive || startTime <= entry.endTime) {
55
+ return entry.value;
56
+ }
57
+ break;
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Helper function to close the currently active value, if any. This method assumes that entries
63
+ * are not overlapping.
64
+ */
65
+ function closeActive(endTime) {
66
+ const latestEntry = entries[0];
67
+ if (latestEntry && latestEntry.endTime === END_OF_TIMES) {
68
+ latestEntry.close(endTime);
69
+ }
70
+ }
71
+ /**
72
+ * Return all values with an active period overlapping with the duration,
73
+ * or all values that were active during `startTime` if no duration is provided,
74
+ * or all currently active values if no `startTime` is provided.
75
+ */
76
+ function findAll(startTime = END_OF_TIMES, duration = 0) {
77
+ const endTime = addDuration(startTime, duration);
78
+ return entries
79
+ .filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)
80
+ .map((entry) => entry.value);
81
+ }
82
+ /**
83
+ * Remove all entries from this collection.
84
+ */
85
+ function reset() {
86
+ entries = [];
87
+ }
88
+ /**
89
+ * Stop internal garbage collection of past entries.
90
+ */
91
+ function stop() {
92
+ cleanupTasks.delete(clearExpiredValues);
93
+ if (cleanupTasks.size === 0 && cleanupHistoriesInterval) {
94
+ clearInterval(cleanupHistoriesInterval);
95
+ cleanupHistoriesInterval = null;
96
+ }
97
+ }
98
+ return { add, find, closeActive, findAll, reset, stop };
99
+ }
100
+ //# sourceMappingURL=valueHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valueHistory.js","sourceRoot":"","sources":["../../src/tools/valueHistory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Context } from '../tools/serialisation/context';
2
+ import type { Encoder } from '../tools/encoder';
3
+ import type { HttpRequest } from './httpRequest';
4
+ import type { FlushController } from './flushController';
5
+ export interface Batch {
6
+ flushController: FlushController;
7
+ add: (message: Context) => void;
8
+ upsert: (message: Context, key: string) => void;
9
+ stop: () => void;
10
+ }
11
+ export declare function createBatch({ encoder, request, flushController, messageBytesLimit, }: {
12
+ encoder: Encoder;
13
+ request: HttpRequest;
14
+ flushController: FlushController;
15
+ messageBytesLimit: number;
16
+ }): Batch;
@@ -0,0 +1,105 @@
1
+ import { DOCS_TROUBLESHOOTING, MORE_DETAILS, display } from '../tools/display';
2
+ import { objectValues } from '../tools/utils/polyfills';
3
+ import { isPageExitReason } from '../browser/pageMayExitObservable';
4
+ import { jsonStringify } from '../tools/serialisation/jsonStringify';
5
+ import { computeBytesCount } from '../tools/utils/byteUtils';
6
+ export function createBatch({ encoder, request, flushController, messageBytesLimit, }) {
7
+ let upsertBuffer = {};
8
+ const flushSubscription = flushController.flushObservable.subscribe((event) => flush(event));
9
+ function push(serializedMessage, estimatedMessageBytesCount, key) {
10
+ flushController.notifyBeforeAddMessage(estimatedMessageBytesCount);
11
+ if (key !== undefined) {
12
+ upsertBuffer[key] = serializedMessage;
13
+ flushController.notifyAfterAddMessage();
14
+ }
15
+ else {
16
+ encoder.write(encoder.isEmpty ? serializedMessage : `\n${serializedMessage}`, (realMessageBytesCount) => {
17
+ flushController.notifyAfterAddMessage(realMessageBytesCount - estimatedMessageBytesCount);
18
+ });
19
+ }
20
+ }
21
+ function hasMessageFor(key) {
22
+ return key !== undefined && upsertBuffer[key] !== undefined;
23
+ }
24
+ function remove(key) {
25
+ const removedMessage = upsertBuffer[key];
26
+ delete upsertBuffer[key];
27
+ const messageBytesCount = encoder.estimateEncodedBytesCount(removedMessage);
28
+ flushController.notifyAfterRemoveMessage(messageBytesCount);
29
+ }
30
+ function addOrUpdate(message, key) {
31
+ const serializedMessage = jsonStringify(message);
32
+ const estimatedMessageBytesCount = encoder.estimateEncodedBytesCount(serializedMessage);
33
+ if (estimatedMessageBytesCount >= messageBytesLimit) {
34
+ display.warn(`Discarded a message whose size was bigger than the maximum allowed size ${messageBytesLimit}KB. ${MORE_DETAILS} ${DOCS_TROUBLESHOOTING}/#technical-limitations`);
35
+ return;
36
+ }
37
+ if (hasMessageFor(key)) {
38
+ remove(key);
39
+ }
40
+ push(serializedMessage, estimatedMessageBytesCount, key);
41
+ }
42
+ function flush(event) {
43
+ const upsertMessages = objectValues(upsertBuffer).join('\n');
44
+ upsertBuffer = {};
45
+ const pageMightExit = isPageExitReason(event.reason);
46
+ const send = pageMightExit ? request.sendOnExit : request.send;
47
+ if (pageMightExit &&
48
+ // Note: checking that the encoder is async is not strictly needed, but it's an optimization:
49
+ // if the encoder is async we need to send two requests in some cases (one for encoded data
50
+ // and the other for non-encoded data). But if it's not async, we don't have to worry about
51
+ // it and always send a single request.
52
+ encoder.isAsync) {
53
+ const encoderResult = encoder.finishSync();
54
+ // Send encoded messages
55
+ if (encoderResult.outputBytesCount) {
56
+ send(formatPayloadFromEncoder(encoderResult));
57
+ }
58
+ // Send messages that are not yet encoded at this point
59
+ const pendingMessages = [encoderResult.pendingData, upsertMessages].filter(Boolean).join('\n');
60
+ if (pendingMessages) {
61
+ send({
62
+ data: pendingMessages,
63
+ bytesCount: computeBytesCount(pendingMessages),
64
+ });
65
+ }
66
+ }
67
+ else {
68
+ if (upsertMessages) {
69
+ encoder.write(encoder.isEmpty ? upsertMessages : `\n${upsertMessages}`);
70
+ }
71
+ encoder.finish((encoderResult) => {
72
+ send(formatPayloadFromEncoder(encoderResult));
73
+ });
74
+ }
75
+ }
76
+ return {
77
+ flushController,
78
+ add: addOrUpdate,
79
+ upsert: addOrUpdate,
80
+ stop: flushSubscription.unsubscribe,
81
+ };
82
+ }
83
+ function formatPayloadFromEncoder(encoderResult) {
84
+ let data;
85
+ if (typeof encoderResult.output === 'string') {
86
+ data = encoderResult.output;
87
+ }
88
+ else {
89
+ data = new Blob([encoderResult.output], {
90
+ // This will set the 'Content-Type: text/plain' header. Reasoning:
91
+ // * The intake rejects the request if there is no content type.
92
+ // * The browser will issue CORS preflight requests if we set it to 'application/json', which
93
+ // could induce higher intake load (and maybe has other impacts).
94
+ // * Also it's not quite JSON, since we are concatenating multiple JSON objects separated by
95
+ // new lines.
96
+ type: 'text/plain',
97
+ });
98
+ }
99
+ return {
100
+ data,
101
+ bytesCount: encoderResult.outputBytesCount,
102
+ encoding: encoderResult.encoding,
103
+ };
104
+ }
105
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/transport/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAW5D,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,eAAe,EACf,iBAAiB,GAMlB;IACC,IAAI,YAAY,GAA8B,EAAE,CAAA;IAChD,MAAM,iBAAiB,GAAG,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAE5F,SAAS,IAAI,CAAC,iBAAyB,EAAE,0BAAkC,EAAE,GAAY;QACvF,eAAe,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;QAElE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,YAAY,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAA;YACrC,eAAe,CAAC,qBAAqB,EAAE,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,iBAAiB,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE;gBACtG,eAAe,CAAC,qBAAqB,CAAC,qBAAqB,GAAG,0BAA0B,CAAC,CAAA;YAC3F,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,GAAY;QACjC,OAAO,GAAG,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,CAAA;IAC7D,CAAC;IAED,SAAS,MAAM,CAAC,GAAW;QACzB,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACxC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QACxB,MAAM,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAA;QAC3E,eAAe,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,CAAC;IAED,SAAS,WAAW,CAAC,OAAgB,EAAE,GAAY;QACjD,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAE,CAAA;QAEjD,MAAM,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;QAEvF,IAAI,0BAA0B,IAAI,iBAAiB,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CACV,2EAA2E,iBAAiB,OAAO,YAAY,IAAI,oBAAoB,yBAAyB,CACjK,CAAA;YACD,OAAM;QACR,CAAC;QAED,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS,KAAK,CAAC,KAAiB;QAC9B,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5D,YAAY,GAAG,EAAE,CAAA;QAEjB,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;QAE9D,IACE,aAAa;YACb,6FAA6F;YAC7F,2FAA2F;YAC3F,2FAA2F;YAC3F,uCAAuC;YACvC,OAAO,CAAC,OAAO,EACf,CAAC;YACD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;YAE1C,wBAAwB;YACxB,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACnC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAA;YAC/C,CAAC;YAED,uDAAuD;YACvD,MAAM,eAAe,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9F,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,IAAI,EAAE,eAAe;oBACrB,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAAC;iBAC/C,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC,CAAA;YACzE,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAA;YAC/C,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,eAAe;QACf,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,iBAAiB,CAAC,WAAW;KACpC,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,aAA4B;IAC5D,IAAI,IAAmB,CAAA;IACvB,IAAI,OAAO,aAAa,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7C,IAAI,GAAG,aAAa,CAAC,MAAM,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACtC,kEAAkE;YAClE,gEAAgE;YAChE,6FAA6F;YAC7F,iEAAiE;YACjE,4FAA4F;YAC5F,aAAa;YACb,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,aAAa,CAAC,gBAAgB;QAC1C,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAA;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { DefaultPrivacyLevel } from '../domain/configuration';
2
+ export interface BrowserWindowWithEventBridge extends Window {
3
+ DatadogEventBridge?: DatadogEventBridge;
4
+ }
5
+ export interface DatadogEventBridge {
6
+ getCapabilities?(): string;
7
+ getPrivacyLevel?(): DefaultPrivacyLevel;
8
+ getAllowedWebViewHosts(): string;
9
+ send(msg: string): void;
10
+ }
11
+ export declare const enum BridgeCapability {
12
+ RECORDS = "records"
13
+ }
14
+ export declare function getEventBridge<T, E>(): {
15
+ getCapabilities(): BridgeCapability[];
16
+ getPrivacyLevel(): DefaultPrivacyLevel | undefined;
17
+ getAllowedWebViewHosts(): string[];
18
+ send(eventType: T, event: E, viewId?: string): void;
19
+ } | undefined;
20
+ export declare function bridgeSupports(capability: BridgeCapability): boolean;
21
+ export declare function canUseEventBridge(currentHost?: string): boolean;