@openobserve/browser-core 0.2.12-beta.20 → 0.2.12-beta.22

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 (612) hide show
  1. package/cjs/boot/displayAlreadyInitializedError.d.ts +2 -0
  2. package/cjs/boot/displayAlreadyInitializedError.js +10 -0
  3. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -0
  4. package/cjs/boot/init.d.ts +14 -0
  5. package/cjs/boot/init.js +39 -0
  6. package/cjs/boot/init.js.map +1 -0
  7. package/cjs/browser/addEventListener.d.ts +87 -0
  8. package/cjs/browser/addEventListener.js +55 -0
  9. package/cjs/browser/addEventListener.js.map +1 -0
  10. package/cjs/browser/browser.types.d.ts +51 -0
  11. package/cjs/browser/browser.types.js +6 -0
  12. package/cjs/browser/browser.types.js.map +1 -0
  13. package/cjs/browser/cookie.d.ts +28 -0
  14. package/cjs/browser/cookie.js +114 -0
  15. package/cjs/browser/cookie.js.map +1 -0
  16. package/cjs/browser/fetchObservable.d.ts +38 -0
  17. package/cjs/browser/fetchObservable.js +103 -0
  18. package/cjs/browser/fetchObservable.js.map +1 -0
  19. package/cjs/browser/pageMayExitObservable.d.ts +14 -0
  20. package/cjs/browser/pageMayExitObservable.js +45 -0
  21. package/cjs/browser/pageMayExitObservable.js.map +1 -0
  22. package/cjs/browser/runOnReadyState.d.ts +5 -0
  23. package/cjs/browser/runOnReadyState.js +20 -0
  24. package/cjs/browser/runOnReadyState.js.map +1 -0
  25. package/cjs/browser/xhrObservable.d.ts +24 -0
  26. package/cjs/browser/xhrObservable.js +86 -0
  27. package/cjs/browser/xhrObservable.js.map +1 -0
  28. package/cjs/domain/allowedTrackingOrigins.d.ts +4 -0
  29. package/cjs/domain/allowedTrackingOrigins.js +25 -0
  30. package/cjs/domain/allowedTrackingOrigins.js.map +1 -0
  31. package/cjs/domain/bufferedData.d.ts +14 -0
  32. package/cjs/domain/bufferedData.js +22 -0
  33. package/cjs/domain/bufferedData.js.map +1 -0
  34. package/cjs/domain/configuration/configuration.d.ts +312 -0
  35. package/cjs/domain/configuration/configuration.js +137 -0
  36. package/cjs/domain/configuration/configuration.js.map +1 -0
  37. package/cjs/domain/configuration/endpointBuilder.d.ts +12 -0
  38. package/cjs/domain/configuration/endpointBuilder.js +78 -0
  39. package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
  40. package/cjs/domain/configuration/index.d.ts +5 -0
  41. package/cjs/domain/configuration/index.js +16 -0
  42. package/cjs/domain/configuration/index.js.map +1 -0
  43. package/cjs/domain/configuration/transportConfiguration.d.ts +20 -0
  44. package/cjs/domain/configuration/transportConfiguration.js +54 -0
  45. package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
  46. package/cjs/domain/connectivity/connectivity.d.ts +14 -0
  47. package/cjs/domain/connectivity/connectivity.js +14 -0
  48. package/cjs/domain/connectivity/connectivity.js.map +1 -0
  49. package/cjs/domain/connectivity/index.d.ts +1 -0
  50. package/cjs/domain/connectivity/index.js +18 -0
  51. package/cjs/domain/connectivity/index.js.map +1 -0
  52. package/cjs/domain/console/consoleObservable.d.ts +21 -0
  53. package/cjs/domain/console/consoleObservable.js +84 -0
  54. package/cjs/domain/console/consoleObservable.js.map +1 -0
  55. package/cjs/domain/context/contextConstants.d.ts +21 -0
  56. package/cjs/domain/context/contextConstants.js +18 -0
  57. package/cjs/domain/context/contextConstants.js.map +1 -0
  58. package/cjs/domain/context/contextManager.d.ts +19 -0
  59. package/cjs/domain/context/contextManager.js +60 -0
  60. package/cjs/domain/context/contextManager.js.map +1 -0
  61. package/cjs/domain/context/contextUtils.d.ts +5 -0
  62. package/cjs/domain/context/contextUtils.js +16 -0
  63. package/cjs/domain/context/contextUtils.js.map +1 -0
  64. package/cjs/domain/context/defineContextMethod.d.ts +6 -0
  65. package/cjs/domain/context/defineContextMethod.js +21 -0
  66. package/cjs/domain/context/defineContextMethod.js.map +1 -0
  67. package/cjs/domain/context/storeContextManager.d.ts +6 -0
  68. package/cjs/domain/context/storeContextManager.js +40 -0
  69. package/cjs/domain/context/storeContextManager.js.map +1 -0
  70. package/cjs/domain/contexts/accountContext.d.ts +26 -0
  71. package/cjs/domain/contexts/accountContext.js +33 -0
  72. package/cjs/domain/contexts/accountContext.js.map +1 -0
  73. package/cjs/domain/contexts/globalContext.d.ts +18 -0
  74. package/cjs/domain/contexts/globalContext.js +21 -0
  75. package/cjs/domain/contexts/globalContext.js.map +1 -0
  76. package/cjs/domain/contexts/rumInternalContext.type.d.ts +14 -0
  77. package/cjs/domain/contexts/rumInternalContext.type.js +3 -0
  78. package/cjs/domain/contexts/rumInternalContext.type.js.map +1 -0
  79. package/cjs/domain/contexts/userContext.d.ts +29 -0
  80. package/cjs/domain/contexts/userContext.js +45 -0
  81. package/cjs/domain/contexts/userContext.js.map +1 -0
  82. package/cjs/domain/deflate/deflate.types.d.ts +40 -0
  83. package/cjs/domain/deflate/deflate.types.js +3 -0
  84. package/cjs/domain/deflate/deflate.types.js.map +1 -0
  85. package/cjs/domain/deflate/index.d.ts +1 -0
  86. package/cjs/domain/deflate/index.js +18 -0
  87. package/cjs/domain/deflate/index.js.map +1 -0
  88. package/cjs/domain/error/error.d.ts +23 -0
  89. package/cjs/domain/error/error.js +74 -0
  90. package/cjs/domain/error/error.js.map +1 -0
  91. package/cjs/domain/error/error.types.d.ts +47 -0
  92. package/cjs/domain/error/error.types.js +13 -0
  93. package/cjs/domain/error/error.types.js.map +1 -0
  94. package/cjs/domain/error/trackRuntimeError.d.ts +11 -0
  95. package/cjs/domain/error/trackRuntimeError.js +48 -0
  96. package/cjs/domain/error/trackRuntimeError.js.map +1 -0
  97. package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  98. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +41 -0
  99. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  100. package/cjs/domain/extension/extensionUtils.d.ts +10 -0
  101. package/cjs/domain/extension/extensionUtils.js +30 -0
  102. package/cjs/domain/extension/extensionUtils.js.map +1 -0
  103. package/cjs/domain/intakeSites.d.ts +8 -0
  104. package/cjs/domain/intakeSites.js +11 -0
  105. package/cjs/domain/intakeSites.js.map +1 -0
  106. package/cjs/domain/report/browser.types.d.ts +34 -0
  107. package/cjs/domain/report/browser.types.js +3 -0
  108. package/cjs/domain/report/browser.types.js.map +1 -0
  109. package/cjs/domain/report/reportObservable.d.ts +14 -0
  110. package/cjs/domain/report/reportObservable.js +99 -0
  111. package/cjs/domain/report/reportObservable.js.map +1 -0
  112. package/cjs/domain/resourceUtils.d.ts +18 -0
  113. package/cjs/domain/resourceUtils.js +20 -0
  114. package/cjs/domain/resourceUtils.js.map +1 -0
  115. package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
  116. package/cjs/domain/session/oldCookiesMigration.js +40 -0
  117. package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
  118. package/cjs/domain/session/sessionConstants.d.ts +15 -0
  119. package/cjs/domain/session/sessionConstants.js +16 -0
  120. package/cjs/domain/session/sessionConstants.js.map +1 -0
  121. package/cjs/domain/session/sessionManager.d.ts +28 -0
  122. package/cjs/domain/session/sessionManager.js +201 -0
  123. package/cjs/domain/session/sessionManager.js.map +1 -0
  124. package/cjs/domain/session/sessionState.d.ts +16 -0
  125. package/cjs/domain/session/sessionState.js +70 -0
  126. package/cjs/domain/session/sessionState.js.map +1 -0
  127. package/cjs/domain/session/sessionStateValidation.d.ts +3 -0
  128. package/cjs/domain/session/sessionStateValidation.js +11 -0
  129. package/cjs/domain/session/sessionStateValidation.js.map +1 -0
  130. package/cjs/domain/session/sessionStore.d.ts +38 -0
  131. package/cjs/domain/session/sessionStore.js +185 -0
  132. package/cjs/domain/session/sessionStore.js.map +1 -0
  133. package/cjs/domain/session/sessionStoreOperations.d.ts +12 -0
  134. package/cjs/domain/session/sessionStoreOperations.js +119 -0
  135. package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
  136. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +12 -0
  137. package/cjs/domain/session/storeStrategies/sessionInCookie.js +104 -0
  138. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  139. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -0
  140. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +42 -0
  141. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  142. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
  143. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
  144. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  145. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
  146. package/cjs/domain/synthetics/syntheticsWorkerValues.js +31 -0
  147. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  148. package/cjs/domain/tags.d.ts +6 -0
  149. package/cjs/domain/tags.js +67 -0
  150. package/cjs/domain/tags.js.map +1 -0
  151. package/cjs/domain/telemetry/index.d.ts +4 -0
  152. package/cjs/domain/telemetry/index.js +28 -0
  153. package/cjs/domain/telemetry/index.js.map +1 -0
  154. package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
  155. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +9 -0
  156. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  157. package/cjs/domain/telemetry/telemetry.d.ts +56 -0
  158. package/cjs/domain/telemetry/telemetry.js +241 -0
  159. package/cjs/domain/telemetry/telemetry.js.map +1 -0
  160. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +866 -0
  161. package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
  162. package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
  163. package/cjs/domain/trackingConsent.d.ts +13 -0
  164. package/cjs/domain/trackingConsent.js +28 -0
  165. package/cjs/domain/trackingConsent.js.map +1 -0
  166. package/cjs/index.d.ts +100 -0
  167. package/cjs/index.js +194 -0
  168. package/cjs/index.js.map +1 -0
  169. package/cjs/tools/abstractHooks.d.ts +24 -0
  170. package/cjs/tools/abstractHooks.js +41 -0
  171. package/cjs/tools/abstractHooks.js.map +1 -0
  172. package/cjs/tools/abstractLifeCycle.d.ts +23 -0
  173. package/cjs/tools/abstractLifeCycle.js +28 -0
  174. package/cjs/tools/abstractLifeCycle.js.map +1 -0
  175. package/cjs/tools/boundedBuffer.d.ts +16 -0
  176. package/cjs/tools/boundedBuffer.js +32 -0
  177. package/cjs/tools/boundedBuffer.js.map +1 -0
  178. package/cjs/tools/catchUserErrors.d.ts +1 -0
  179. package/cjs/tools/catchUserErrors.js +15 -0
  180. package/cjs/tools/catchUserErrors.js.map +1 -0
  181. package/cjs/tools/display.d.ts +38 -0
  182. package/cjs/tools/display.js +44 -0
  183. package/cjs/tools/display.js.map +1 -0
  184. package/cjs/tools/encoder.d.ts +54 -0
  185. package/cjs/tools/encoder.js +40 -0
  186. package/cjs/tools/encoder.js.map +1 -0
  187. package/cjs/tools/experimentalFeatures.d.ts +21 -0
  188. package/cjs/tools/experimentalFeatures.js +50 -0
  189. package/cjs/tools/experimentalFeatures.js.map +1 -0
  190. package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
  191. package/cjs/tools/getZoneJsOriginalValue.js +29 -0
  192. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
  193. package/cjs/tools/globalObject.d.ts +19 -0
  194. package/cjs/tools/globalObject.js +44 -0
  195. package/cjs/tools/globalObject.js.map +1 -0
  196. package/cjs/tools/instrumentMethod.d.ts +75 -0
  197. package/cjs/tools/instrumentMethod.js +118 -0
  198. package/cjs/tools/instrumentMethod.js.map +1 -0
  199. package/cjs/tools/matchOption.d.ts +8 -0
  200. package/cjs/tools/matchOption.js +35 -0
  201. package/cjs/tools/matchOption.js.map +1 -0
  202. package/cjs/tools/mergeInto.d.ts +25 -0
  203. package/cjs/tools/mergeInto.js +98 -0
  204. package/cjs/tools/mergeInto.js.map +1 -0
  205. package/cjs/tools/monitor.d.ts +9 -0
  206. package/cjs/tools/monitor.js +62 -0
  207. package/cjs/tools/monitor.js.map +1 -0
  208. package/cjs/tools/observable.d.ts +30 -0
  209. package/cjs/tools/observable.js +89 -0
  210. package/cjs/tools/observable.js.map +1 -0
  211. package/cjs/tools/queueMicrotask.d.ts +1 -0
  212. package/cjs/tools/queueMicrotask.js +17 -0
  213. package/cjs/tools/queueMicrotask.js.map +1 -0
  214. package/cjs/tools/readBytesFromStream.d.ts +10 -0
  215. package/cjs/tools/readBytesFromStream.js +28 -0
  216. package/cjs/tools/readBytesFromStream.js.map +1 -0
  217. package/cjs/tools/requestIdleCallback.d.ts +12 -0
  218. package/cjs/tools/requestIdleCallback.js +35 -0
  219. package/cjs/tools/requestIdleCallback.js.map +1 -0
  220. package/cjs/tools/sendToExtension.d.ts +3 -0
  221. package/cjs/tools/sendToExtension.js +11 -0
  222. package/cjs/tools/sendToExtension.js.map +1 -0
  223. package/cjs/tools/serialisation/context.d.ts +9 -0
  224. package/cjs/tools/serialisation/context.js +3 -0
  225. package/cjs/tools/serialisation/context.js.map +1 -0
  226. package/cjs/tools/serialisation/jsonStringify.d.ts +13 -0
  227. package/cjs/tools/serialisation/jsonStringify.js +48 -0
  228. package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
  229. package/cjs/tools/serialisation/sanitize.d.ts +18 -0
  230. package/cjs/tools/serialisation/sanitize.js +188 -0
  231. package/cjs/tools/serialisation/sanitize.js.map +1 -0
  232. package/cjs/tools/stackTrace/computeStackTrace.d.ts +25 -0
  233. package/cjs/tools/stackTrace/computeStackTrace.js +187 -0
  234. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -0
  235. package/cjs/tools/stackTrace/handlingStack.d.ts +10 -0
  236. package/cjs/tools/stackTrace/handlingStack.js +46 -0
  237. package/cjs/tools/stackTrace/handlingStack.js.map +1 -0
  238. package/cjs/tools/taskQueue.d.ts +15 -0
  239. package/cjs/tools/taskQueue.js +54 -0
  240. package/cjs/tools/taskQueue.js.map +1 -0
  241. package/cjs/tools/timer.d.ts +5 -0
  242. package/cjs/tools/timer.js +22 -0
  243. package/cjs/tools/timer.js.map +1 -0
  244. package/cjs/tools/utils/arrayUtils.d.ts +3 -0
  245. package/cjs/tools/utils/arrayUtils.js +20 -0
  246. package/cjs/tools/utils/arrayUtils.js.map +1 -0
  247. package/cjs/tools/utils/browserDetection.d.ts +8 -0
  248. package/cjs/tools/utils/browserDetection.js +33 -0
  249. package/cjs/tools/utils/browserDetection.js.map +1 -0
  250. package/cjs/tools/utils/byteUtils.d.ts +8 -0
  251. package/cjs/tools/utils/byteUtils.js +34 -0
  252. package/cjs/tools/utils/byteUtils.js.map +1 -0
  253. package/cjs/tools/utils/functionUtils.d.ts +8 -0
  254. package/cjs/tools/utils/functionUtils.js +43 -0
  255. package/cjs/tools/utils/functionUtils.js.map +1 -0
  256. package/cjs/tools/utils/numberUtils.d.ts +9 -0
  257. package/cjs/tools/utils/numberUtils.js +24 -0
  258. package/cjs/tools/utils/numberUtils.js.map +1 -0
  259. package/cjs/tools/utils/objectUtils.d.ts +10 -0
  260. package/cjs/tools/utils/objectUtils.js +23 -0
  261. package/cjs/tools/utils/objectUtils.js.map +1 -0
  262. package/cjs/tools/utils/polyfills.d.ts +7 -0
  263. package/cjs/tools/utils/polyfills.js +23 -0
  264. package/cjs/tools/utils/polyfills.js.map +1 -0
  265. package/cjs/tools/utils/responseUtils.d.ts +2 -0
  266. package/cjs/tools/utils/responseUtils.js +17 -0
  267. package/cjs/tools/utils/responseUtils.js.map +1 -0
  268. package/cjs/tools/utils/stringUtils.d.ts +23 -0
  269. package/cjs/tools/utils/stringUtils.js +91 -0
  270. package/cjs/tools/utils/stringUtils.js.map +1 -0
  271. package/cjs/tools/utils/timeUtils.d.ts +53 -0
  272. package/cjs/tools/utils/timeUtils.js +101 -0
  273. package/cjs/tools/utils/timeUtils.js.map +1 -0
  274. package/cjs/tools/utils/timezone.d.ts +1 -0
  275. package/cjs/tools/utils/timezone.js +13 -0
  276. package/cjs/tools/utils/timezone.js.map +1 -0
  277. package/cjs/tools/utils/typeUtils.d.ts +4 -0
  278. package/cjs/tools/utils/typeUtils.js +16 -0
  279. package/cjs/tools/utils/typeUtils.js.map +1 -0
  280. package/cjs/tools/utils/urlPolyfill.d.ts +5 -0
  281. package/cjs/tools/utils/urlPolyfill.js +59 -0
  282. package/cjs/tools/utils/urlPolyfill.js.map +1 -0
  283. package/cjs/tools/valueHistory.d.ts +27 -0
  284. package/cjs/tools/valueHistory.js +104 -0
  285. package/cjs/tools/valueHistory.js.map +1 -0
  286. package/cjs/transport/batch.d.ts +16 -0
  287. package/cjs/transport/batch.js +110 -0
  288. package/cjs/transport/batch.js.map +1 -0
  289. package/cjs/transport/eventBridge.d.ts +21 -0
  290. package/cjs/transport/eventBridge.js +46 -0
  291. package/cjs/transport/eventBridge.js.map +1 -0
  292. package/cjs/transport/flushController.d.ts +65 -0
  293. package/cjs/transport/flushController.js +123 -0
  294. package/cjs/transport/flushController.js.map +1 -0
  295. package/cjs/transport/httpRequest.d.ts +56 -0
  296. package/cjs/transport/httpRequest.js +95 -0
  297. package/cjs/transport/httpRequest.js.map +1 -0
  298. package/cjs/transport/index.d.ts +7 -0
  299. package/cjs/transport/index.js +15 -0
  300. package/cjs/transport/index.js.map +1 -0
  301. package/cjs/transport/sendWithRetryStrategy.d.ts +41 -0
  302. package/cjs/transport/sendWithRetryStrategy.js +163 -0
  303. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  304. package/esm/boot/displayAlreadyInitializedError.d.ts +2 -0
  305. package/esm/boot/displayAlreadyInitializedError.js +7 -0
  306. package/esm/boot/displayAlreadyInitializedError.js.map +1 -0
  307. package/esm/boot/init.d.ts +14 -0
  308. package/esm/boot/init.js +35 -0
  309. package/esm/boot/init.js.map +1 -0
  310. package/esm/browser/addEventListener.d.ts +87 -0
  311. package/esm/browser/addEventListener.js +51 -0
  312. package/esm/browser/addEventListener.js.map +1 -0
  313. package/esm/browser/browser.types.d.ts +51 -0
  314. package/esm/browser/browser.types.js +5 -0
  315. package/esm/browser/browser.types.js.map +1 -0
  316. package/esm/browser/cookie.d.ts +28 -0
  317. package/esm/browser/cookie.js +103 -0
  318. package/esm/browser/cookie.js.map +1 -0
  319. package/esm/browser/fetchObservable.d.ts +38 -0
  320. package/esm/browser/fetchObservable.js +99 -0
  321. package/esm/browser/fetchObservable.js.map +1 -0
  322. package/esm/browser/pageMayExitObservable.d.ts +14 -0
  323. package/esm/browser/pageMayExitObservable.js +40 -0
  324. package/esm/browser/pageMayExitObservable.js.map +1 -0
  325. package/esm/browser/runOnReadyState.d.ts +5 -0
  326. package/esm/browser/runOnReadyState.js +16 -0
  327. package/esm/browser/runOnReadyState.js.map +1 -0
  328. package/esm/browser/xhrObservable.d.ts +24 -0
  329. package/esm/browser/xhrObservable.js +83 -0
  330. package/esm/browser/xhrObservable.js.map +1 -0
  331. package/esm/domain/allowedTrackingOrigins.d.ts +4 -0
  332. package/esm/domain/allowedTrackingOrigins.js +21 -0
  333. package/esm/domain/allowedTrackingOrigins.js.map +1 -0
  334. package/esm/domain/bufferedData.d.ts +14 -0
  335. package/esm/domain/bufferedData.js +19 -0
  336. package/esm/domain/bufferedData.js.map +1 -0
  337. package/esm/domain/configuration/configuration.d.ts +312 -0
  338. package/esm/domain/configuration/configuration.js +131 -0
  339. package/esm/domain/configuration/configuration.js.map +1 -0
  340. package/esm/domain/configuration/endpointBuilder.d.ts +12 -0
  341. package/esm/domain/configuration/endpointBuilder.js +74 -0
  342. package/esm/domain/configuration/endpointBuilder.js.map +1 -0
  343. package/esm/domain/configuration/index.d.ts +5 -0
  344. package/esm/domain/configuration/index.js +4 -0
  345. package/esm/domain/configuration/index.js.map +1 -0
  346. package/esm/domain/configuration/transportConfiguration.d.ts +20 -0
  347. package/esm/domain/configuration/transportConfiguration.js +50 -0
  348. package/esm/domain/configuration/transportConfiguration.js.map +1 -0
  349. package/esm/domain/connectivity/connectivity.d.ts +14 -0
  350. package/esm/domain/connectivity/connectivity.js +11 -0
  351. package/esm/domain/connectivity/connectivity.js.map +1 -0
  352. package/esm/domain/connectivity/index.d.ts +1 -0
  353. package/esm/domain/connectivity/index.js +2 -0
  354. package/esm/domain/connectivity/index.js.map +1 -0
  355. package/esm/domain/console/consoleObservable.d.ts +21 -0
  356. package/esm/domain/console/consoleObservable.js +80 -0
  357. package/esm/domain/console/consoleObservable.js.map +1 -0
  358. package/esm/domain/context/contextConstants.d.ts +21 -0
  359. package/esm/domain/context/contextConstants.js +15 -0
  360. package/esm/domain/context/contextConstants.js.map +1 -0
  361. package/esm/domain/context/contextManager.d.ts +19 -0
  362. package/esm/domain/context/contextManager.js +57 -0
  363. package/esm/domain/context/contextManager.js.map +1 -0
  364. package/esm/domain/context/contextUtils.d.ts +5 -0
  365. package/esm/domain/context/contextUtils.js +13 -0
  366. package/esm/domain/context/contextUtils.js.map +1 -0
  367. package/esm/domain/context/defineContextMethod.d.ts +6 -0
  368. package/esm/domain/context/defineContextMethod.js +17 -0
  369. package/esm/domain/context/defineContextMethod.js.map +1 -0
  370. package/esm/domain/context/storeContextManager.d.ts +6 -0
  371. package/esm/domain/context/storeContextManager.js +35 -0
  372. package/esm/domain/context/storeContextManager.js.map +1 -0
  373. package/esm/domain/contexts/accountContext.d.ts +26 -0
  374. package/esm/domain/contexts/accountContext.js +29 -0
  375. package/esm/domain/contexts/accountContext.js.map +1 -0
  376. package/esm/domain/contexts/globalContext.d.ts +18 -0
  377. package/esm/domain/contexts/globalContext.js +17 -0
  378. package/esm/domain/contexts/globalContext.js.map +1 -0
  379. package/esm/domain/contexts/rumInternalContext.type.d.ts +14 -0
  380. package/esm/domain/contexts/rumInternalContext.type.js +2 -0
  381. package/esm/domain/contexts/rumInternalContext.type.js.map +1 -0
  382. package/esm/domain/contexts/userContext.d.ts +29 -0
  383. package/esm/domain/contexts/userContext.js +41 -0
  384. package/esm/domain/contexts/userContext.js.map +1 -0
  385. package/esm/domain/deflate/deflate.types.d.ts +40 -0
  386. package/esm/domain/deflate/deflate.types.js +2 -0
  387. package/esm/domain/deflate/deflate.types.js.map +1 -0
  388. package/esm/domain/deflate/index.d.ts +1 -0
  389. package/esm/domain/deflate/index.js +2 -0
  390. package/esm/domain/deflate/index.js.map +1 -0
  391. package/esm/domain/error/error.d.ts +23 -0
  392. package/esm/domain/error/error.js +65 -0
  393. package/esm/domain/error/error.js.map +1 -0
  394. package/esm/domain/error/error.types.d.ts +47 -0
  395. package/esm/domain/error/error.types.js +10 -0
  396. package/esm/domain/error/error.types.js.map +1 -0
  397. package/esm/domain/error/trackRuntimeError.d.ts +11 -0
  398. package/esm/domain/error/trackRuntimeError.js +43 -0
  399. package/esm/domain/error/trackRuntimeError.js.map +1 -0
  400. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
  401. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +38 -0
  402. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
  403. package/esm/domain/extension/extensionUtils.d.ts +10 -0
  404. package/esm/domain/extension/extensionUtils.js +25 -0
  405. package/esm/domain/extension/extensionUtils.js.map +1 -0
  406. package/esm/domain/intakeSites.d.ts +8 -0
  407. package/esm/domain/intakeSites.js +8 -0
  408. package/esm/domain/intakeSites.js.map +1 -0
  409. package/esm/domain/report/browser.types.d.ts +34 -0
  410. package/esm/domain/report/browser.types.js +2 -0
  411. package/esm/domain/report/browser.types.js.map +1 -0
  412. package/esm/domain/report/reportObservable.d.ts +14 -0
  413. package/esm/domain/report/reportObservable.js +95 -0
  414. package/esm/domain/report/reportObservable.js.map +1 -0
  415. package/esm/domain/resourceUtils.d.ts +18 -0
  416. package/esm/domain/resourceUtils.js +17 -0
  417. package/esm/domain/resourceUtils.js.map +1 -0
  418. package/esm/domain/session/oldCookiesMigration.d.ts +11 -0
  419. package/esm/domain/session/oldCookiesMigration.js +36 -0
  420. package/esm/domain/session/oldCookiesMigration.js.map +1 -0
  421. package/esm/domain/session/sessionConstants.d.ts +15 -0
  422. package/esm/domain/session/sessionConstants.js +13 -0
  423. package/esm/domain/session/sessionConstants.js.map +1 -0
  424. package/esm/domain/session/sessionManager.d.ts +28 -0
  425. package/esm/domain/session/sessionManager.js +196 -0
  426. package/esm/domain/session/sessionManager.js.map +1 -0
  427. package/esm/domain/session/sessionState.d.ts +16 -0
  428. package/esm/domain/session/sessionState.js +60 -0
  429. package/esm/domain/session/sessionState.js.map +1 -0
  430. package/esm/domain/session/sessionStateValidation.d.ts +3 -0
  431. package/esm/domain/session/sessionStateValidation.js +7 -0
  432. package/esm/domain/session/sessionStateValidation.js.map +1 -0
  433. package/esm/domain/session/sessionStore.d.ts +38 -0
  434. package/esm/domain/session/sessionStore.js +179 -0
  435. package/esm/domain/session/sessionStore.js.map +1 -0
  436. package/esm/domain/session/sessionStoreOperations.d.ts +12 -0
  437. package/esm/domain/session/sessionStoreOperations.js +114 -0
  438. package/esm/domain/session/sessionStoreOperations.js.map +1 -0
  439. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +12 -0
  440. package/esm/domain/session/storeStrategies/sessionInCookie.js +98 -0
  441. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
  442. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -0
  443. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +37 -0
  444. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
  445. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
  446. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +2 -0
  447. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
  448. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
  449. package/esm/domain/synthetics/syntheticsWorkerValues.js +24 -0
  450. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
  451. package/esm/domain/tags.d.ts +6 -0
  452. package/esm/domain/tags.js +60 -0
  453. package/esm/domain/tags.js.map +1 -0
  454. package/esm/domain/telemetry/index.d.ts +4 -0
  455. package/esm/domain/telemetry/index.js +3 -0
  456. package/esm/domain/telemetry/index.js.map +1 -0
  457. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
  458. package/esm/domain/telemetry/rawTelemetryEvent.types.js +6 -0
  459. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
  460. package/esm/domain/telemetry/telemetry.d.ts +56 -0
  461. package/esm/domain/telemetry/telemetry.js +228 -0
  462. package/esm/domain/telemetry/telemetry.js.map +1 -0
  463. package/esm/domain/telemetry/telemetryEvent.types.d.ts +866 -0
  464. package/esm/domain/telemetry/telemetryEvent.types.js +6 -0
  465. package/esm/domain/telemetry/telemetryEvent.types.js.map +1 -0
  466. package/esm/domain/trackingConsent.d.ts +13 -0
  467. package/esm/domain/trackingConsent.js +24 -0
  468. package/esm/domain/trackingConsent.js.map +1 -0
  469. package/esm/index.d.ts +100 -0
  470. package/esm/index.js +76 -0
  471. package/esm/index.js.map +1 -0
  472. package/esm/tools/abstractHooks.d.ts +24 -0
  473. package/esm/tools/abstractHooks.js +37 -0
  474. package/esm/tools/abstractHooks.js.map +1 -0
  475. package/esm/tools/abstractLifeCycle.d.ts +23 -0
  476. package/esm/tools/abstractLifeCycle.js +24 -0
  477. package/esm/tools/abstractLifeCycle.js.map +1 -0
  478. package/esm/tools/boundedBuffer.d.ts +16 -0
  479. package/esm/tools/boundedBuffer.js +29 -0
  480. package/esm/tools/boundedBuffer.js.map +1 -0
  481. package/esm/tools/catchUserErrors.d.ts +1 -0
  482. package/esm/tools/catchUserErrors.js +12 -0
  483. package/esm/tools/catchUserErrors.js.map +1 -0
  484. package/esm/tools/display.d.ts +38 -0
  485. package/esm/tools/display.js +41 -0
  486. package/esm/tools/display.js.map +1 -0
  487. package/esm/tools/encoder.d.ts +54 -0
  488. package/esm/tools/encoder.js +37 -0
  489. package/esm/tools/encoder.js.map +1 -0
  490. package/esm/tools/experimentalFeatures.d.ts +21 -0
  491. package/esm/tools/experimentalFeatures.js +42 -0
  492. package/esm/tools/experimentalFeatures.js.map +1 -0
  493. package/esm/tools/getZoneJsOriginalValue.d.ts +19 -0
  494. package/esm/tools/getZoneJsOriginalValue.js +26 -0
  495. package/esm/tools/getZoneJsOriginalValue.js.map +1 -0
  496. package/esm/tools/globalObject.d.ts +19 -0
  497. package/esm/tools/globalObject.js +40 -0
  498. package/esm/tools/globalObject.js.map +1 -0
  499. package/esm/tools/instrumentMethod.d.ts +75 -0
  500. package/esm/tools/instrumentMethod.js +114 -0
  501. package/esm/tools/instrumentMethod.js.map +1 -0
  502. package/esm/tools/matchOption.d.ts +8 -0
  503. package/esm/tools/matchOption.js +31 -0
  504. package/esm/tools/matchOption.js.map +1 -0
  505. package/esm/tools/mergeInto.d.ts +25 -0
  506. package/esm/tools/mergeInto.js +93 -0
  507. package/esm/tools/mergeInto.js.map +1 -0
  508. package/esm/tools/monitor.d.ts +9 -0
  509. package/esm/tools/monitor.js +52 -0
  510. package/esm/tools/monitor.js.map +1 -0
  511. package/esm/tools/observable.d.ts +30 -0
  512. package/esm/tools/observable.js +83 -0
  513. package/esm/tools/observable.js.map +1 -0
  514. package/esm/tools/queueMicrotask.d.ts +1 -0
  515. package/esm/tools/queueMicrotask.js +14 -0
  516. package/esm/tools/queueMicrotask.js.map +1 -0
  517. package/esm/tools/readBytesFromStream.d.ts +10 -0
  518. package/esm/tools/readBytesFromStream.js +25 -0
  519. package/esm/tools/readBytesFromStream.js.map +1 -0
  520. package/esm/tools/requestIdleCallback.d.ts +12 -0
  521. package/esm/tools/requestIdleCallback.js +30 -0
  522. package/esm/tools/requestIdleCallback.js.map +1 -0
  523. package/esm/tools/sendToExtension.d.ts +3 -0
  524. package/esm/tools/sendToExtension.js +8 -0
  525. package/esm/tools/sendToExtension.js.map +1 -0
  526. package/esm/tools/serialisation/context.d.ts +9 -0
  527. package/esm/tools/serialisation/context.js +2 -0
  528. package/esm/tools/serialisation/context.js.map +1 -0
  529. package/esm/tools/serialisation/jsonStringify.d.ts +13 -0
  530. package/esm/tools/serialisation/jsonStringify.js +44 -0
  531. package/esm/tools/serialisation/jsonStringify.js.map +1 -0
  532. package/esm/tools/serialisation/sanitize.d.ts +18 -0
  533. package/esm/tools/serialisation/sanitize.js +185 -0
  534. package/esm/tools/serialisation/sanitize.js.map +1 -0
  535. package/esm/tools/stackTrace/computeStackTrace.d.ts +25 -0
  536. package/esm/tools/stackTrace/computeStackTrace.js +183 -0
  537. package/esm/tools/stackTrace/computeStackTrace.js.map +1 -0
  538. package/esm/tools/stackTrace/handlingStack.d.ts +10 -0
  539. package/esm/tools/stackTrace/handlingStack.js +41 -0
  540. package/esm/tools/stackTrace/handlingStack.js.map +1 -0
  541. package/esm/tools/taskQueue.d.ts +15 -0
  542. package/esm/tools/taskQueue.js +50 -0
  543. package/esm/tools/taskQueue.js.map +1 -0
  544. package/esm/tools/timer.d.ts +5 -0
  545. package/esm/tools/timer.js +16 -0
  546. package/esm/tools/timer.js.map +1 -0
  547. package/esm/tools/utils/arrayUtils.d.ts +3 -0
  548. package/esm/tools/utils/arrayUtils.js +15 -0
  549. package/esm/tools/utils/arrayUtils.js.map +1 -0
  550. package/esm/tools/utils/browserDetection.d.ts +8 -0
  551. package/esm/tools/utils/browserDetection.js +28 -0
  552. package/esm/tools/utils/browserDetection.js.map +1 -0
  553. package/esm/tools/utils/byteUtils.d.ts +8 -0
  554. package/esm/tools/utils/byteUtils.js +29 -0
  555. package/esm/tools/utils/byteUtils.js.map +1 -0
  556. package/esm/tools/utils/functionUtils.d.ts +8 -0
  557. package/esm/tools/utils/functionUtils.js +39 -0
  558. package/esm/tools/utils/functionUtils.js.map +1 -0
  559. package/esm/tools/utils/numberUtils.d.ts +9 -0
  560. package/esm/tools/utils/numberUtils.js +18 -0
  561. package/esm/tools/utils/numberUtils.js.map +1 -0
  562. package/esm/tools/utils/objectUtils.d.ts +10 -0
  563. package/esm/tools/utils/objectUtils.js +17 -0
  564. package/esm/tools/utils/objectUtils.js.map +1 -0
  565. package/esm/tools/utils/polyfills.d.ts +7 -0
  566. package/esm/tools/utils/polyfills.js +18 -0
  567. package/esm/tools/utils/polyfills.js.map +1 -0
  568. package/esm/tools/utils/responseUtils.d.ts +2 -0
  569. package/esm/tools/utils/responseUtils.js +13 -0
  570. package/esm/tools/utils/responseUtils.js.map +1 -0
  571. package/esm/tools/utils/stringUtils.d.ts +23 -0
  572. package/esm/tools/utils/stringUtils.js +84 -0
  573. package/esm/tools/utils/stringUtils.js.map +1 -0
  574. package/esm/tools/utils/timeUtils.d.ts +53 -0
  575. package/esm/tools/utils/timeUtils.js +84 -0
  576. package/esm/tools/utils/timeUtils.js.map +1 -0
  577. package/esm/tools/utils/timezone.d.ts +1 -0
  578. package/esm/tools/utils/timezone.js +10 -0
  579. package/esm/tools/utils/timezone.js.map +1 -0
  580. package/esm/tools/utils/typeUtils.d.ts +4 -0
  581. package/esm/tools/utils/typeUtils.js +13 -0
  582. package/esm/tools/utils/typeUtils.js.map +1 -0
  583. package/esm/tools/utils/urlPolyfill.d.ts +5 -0
  584. package/esm/tools/utils/urlPolyfill.js +52 -0
  585. package/esm/tools/utils/urlPolyfill.js.map +1 -0
  586. package/esm/tools/valueHistory.d.ts +27 -0
  587. package/esm/tools/valueHistory.js +100 -0
  588. package/esm/tools/valueHistory.js.map +1 -0
  589. package/esm/transport/batch.d.ts +16 -0
  590. package/esm/transport/batch.js +106 -0
  591. package/esm/transport/batch.js.map +1 -0
  592. package/esm/transport/eventBridge.d.ts +21 -0
  593. package/esm/transport/eventBridge.js +41 -0
  594. package/esm/transport/eventBridge.js.map +1 -0
  595. package/esm/transport/flushController.d.ts +65 -0
  596. package/esm/transport/flushController.js +119 -0
  597. package/esm/transport/flushController.js.map +1 -0
  598. package/esm/transport/httpRequest.d.ts +56 -0
  599. package/esm/transport/httpRequest.js +89 -0
  600. package/esm/transport/httpRequest.js.map +1 -0
  601. package/esm/transport/index.d.ts +7 -0
  602. package/esm/transport/index.js +5 -0
  603. package/esm/transport/index.js.map +1 -0
  604. package/esm/transport/sendWithRetryStrategy.d.ts +41 -0
  605. package/esm/transport/sendWithRetryStrategy.js +158 -0
  606. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  607. package/package.json +1 -1
  608. package/src/boot/displayAlreadyInitializedError.ts +1 -1
  609. package/src/boot/init.ts +1 -1
  610. package/src/browser/addEventListener.ts +2 -2
  611. package/src/domain/configuration/endpointBuilder.ts +16 -15
  612. package/src/domain/context/storeContextManager.ts +1 -1
@@ -0,0 +1,51 @@
1
+ export interface VisualViewportEventMap {
2
+ resize: Event;
3
+ scroll: Event;
4
+ }
5
+ export interface VisualViewport extends EventTarget {
6
+ readonly height: number;
7
+ readonly offsetLeft: number;
8
+ readonly offsetTop: number;
9
+ onresize: ((this: VisualViewport, ev: Event) => any) | null;
10
+ onscroll: ((this: VisualViewport, ev: Event) => any) | null;
11
+ readonly pageLeft: number;
12
+ readonly pageTop: number;
13
+ readonly scale: number;
14
+ readonly width: number;
15
+ addEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
17
+ removeEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
19
+ }
20
+ export interface WeakRef<T extends object> {
21
+ readonly [Symbol.toStringTag]: 'WeakRef';
22
+ deref(): T | undefined;
23
+ }
24
+ export interface WeakRefConstructor {
25
+ readonly prototype: WeakRef<any>;
26
+ new <T extends object>(target: T): WeakRef<T>;
27
+ }
28
+ export interface CookieStore extends EventTarget {
29
+ get(name: string): Promise<unknown>;
30
+ getAll(name?: string): Promise<Array<{
31
+ name: string;
32
+ value: string;
33
+ domain?: string;
34
+ path?: string;
35
+ expires?: number;
36
+ secure?: boolean;
37
+ sameSite?: 'strict' | 'lax' | 'none';
38
+ partitioned?: boolean;
39
+ }>>;
40
+ }
41
+ export interface CookieStoreEventMap {
42
+ change: CookieChangeEvent;
43
+ }
44
+ export interface CookieChangeItem {
45
+ name: string;
46
+ value: string | undefined;
47
+ }
48
+ export type CookieChangeEvent = Event & {
49
+ changed: CookieChangeItem[];
50
+ deleted: CookieChangeItem[];
51
+ };
@@ -0,0 +1,5 @@
1
+ // Those types come from the official TypeScript DOM library, but are not included in our minimal
2
+ // supported TS version.
3
+ // https://github.com/microsoft/TypeScript/blob/13c374a868c926f6a907666a5599992c1351b773/src/lib/dom.generated.d.ts#L15399-L15418
4
+ export {};
5
+ //# sourceMappingURL=browser.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.types.js","sourceRoot":"","sources":["../../src/browser/browser.types.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,wBAAwB;AACxB,iIAAiI"}
@@ -0,0 +1,28 @@
1
+ export interface CookieOptions {
2
+ secure?: boolean;
3
+ crossSite?: boolean;
4
+ partitioned?: boolean;
5
+ domain?: string;
6
+ }
7
+ export declare function setCookie(name: string, value: string, expireDelay?: number, options?: CookieOptions): void;
8
+ /**
9
+ * Returns the value of the cookie with the given name
10
+ * If there are multiple cookies with the same name, returns the first one
11
+ */
12
+ export declare function getCookie(name: string): string | undefined;
13
+ /**
14
+ * Returns all the values of the cookies with the given name
15
+ */
16
+ export declare function getCookies(name: string): string[];
17
+ /**
18
+ * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
19
+ * to avoid accessing document.cookie multiple times.
20
+ *
21
+ * ⚠️ If there are multiple cookies with the same name, returns the LAST one (unlike `getCookie()`)
22
+ */
23
+ export declare function getInitCookie(name: string): string | undefined;
24
+ export declare function resetInitCookies(): void;
25
+ export declare function deleteCookie(name: string, options?: CookieOptions): void;
26
+ export declare function areCookiesAuthorized(options: CookieOptions): boolean;
27
+ export declare function getCurrentSite(hostname?: string, referrer?: string): string | undefined;
28
+ export declare function resetGetCurrentSite(): void;
@@ -0,0 +1,103 @@
1
+ import { display } from '../tools/display';
2
+ import { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';
3
+ import { findAllCommaSeparatedValues, findCommaSeparatedValue, findCommaSeparatedValues, generateUUID, } from '../tools/utils/stringUtils';
4
+ import { buildUrl } from '../tools/utils/urlPolyfill';
5
+ export function setCookie(name, value, expireDelay = 0, options) {
6
+ const date = new Date();
7
+ date.setTime(date.getTime() + expireDelay);
8
+ const expires = `expires=${date.toUTCString()}`;
9
+ const sameSite = options && options.crossSite ? 'none' : 'strict';
10
+ const domain = options && options.domain ? `;domain=${options.domain}` : '';
11
+ const secure = options && options.secure ? ';secure' : '';
12
+ const partitioned = options && options.partitioned ? ';partitioned' : '';
13
+ document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`;
14
+ }
15
+ /**
16
+ * Returns the value of the cookie with the given name
17
+ * If there are multiple cookies with the same name, returns the first one
18
+ */
19
+ export function getCookie(name) {
20
+ return findCommaSeparatedValue(document.cookie, name);
21
+ }
22
+ /**
23
+ * Returns all the values of the cookies with the given name
24
+ */
25
+ export function getCookies(name) {
26
+ return findAllCommaSeparatedValues(document.cookie).get(name) || [];
27
+ }
28
+ let initCookieParsed;
29
+ /**
30
+ * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
31
+ * to avoid accessing document.cookie multiple times.
32
+ *
33
+ * ⚠️ If there are multiple cookies with the same name, returns the LAST one (unlike `getCookie()`)
34
+ */
35
+ export function getInitCookie(name) {
36
+ if (!initCookieParsed) {
37
+ initCookieParsed = findCommaSeparatedValues(document.cookie);
38
+ }
39
+ return initCookieParsed.get(name);
40
+ }
41
+ export function resetInitCookies() {
42
+ initCookieParsed = undefined;
43
+ }
44
+ export function deleteCookie(name, options) {
45
+ setCookie(name, '', 0, options);
46
+ }
47
+ export function areCookiesAuthorized(options) {
48
+ if (document.cookie === undefined || document.cookie === null) {
49
+ return false;
50
+ }
51
+ try {
52
+ // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
53
+ // the test cookie lifetime
54
+ const testCookieName = `oo_cookie_test_${generateUUID()}`;
55
+ const testCookieValue = 'test';
56
+ setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);
57
+ const isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;
58
+ deleteCookie(testCookieName, options);
59
+ return isCookieCorrectlySet;
60
+ }
61
+ catch (error) {
62
+ display.error(error);
63
+ return false;
64
+ }
65
+ }
66
+ /**
67
+ * No API to retrieve it, number of levels for subdomain and suffix are unknown
68
+ * strategy: find the minimal domain on which cookies are allowed to be set
69
+ * https://web.dev/same-site-same-origin/#site
70
+ */
71
+ let getCurrentSiteCache;
72
+ export function getCurrentSite(hostname = location.hostname, referrer = document.referrer) {
73
+ if (getCurrentSiteCache === undefined) {
74
+ const defaultHostName = getCookieDefaultHostName(hostname, referrer);
75
+ if (defaultHostName) {
76
+ // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
77
+ // the test cookie lifetime
78
+ const testCookieName = `oo_site_test_${generateUUID()}`;
79
+ const testCookieValue = 'test';
80
+ const domainLevels = defaultHostName.split('.');
81
+ let candidateDomain = domainLevels.pop();
82
+ while (domainLevels.length && !getCookie(testCookieName)) {
83
+ candidateDomain = `${domainLevels.pop()}.${candidateDomain}`;
84
+ setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });
85
+ }
86
+ deleteCookie(testCookieName, { domain: candidateDomain });
87
+ getCurrentSiteCache = candidateDomain;
88
+ }
89
+ }
90
+ return getCurrentSiteCache;
91
+ }
92
+ function getCookieDefaultHostName(hostname, referrer) {
93
+ try {
94
+ return hostname || buildUrl(referrer).hostname;
95
+ }
96
+ catch (_a) {
97
+ // Ignore
98
+ }
99
+ }
100
+ export function resetGetCurrentSite() {
101
+ getCurrentSiteCache = undefined;
102
+ }
103
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/browser/cookie.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Observable } from '../tools/observable';
2
+ import type { ClocksState } from '../tools/utils/timeUtils';
3
+ interface FetchContextBase {
4
+ method: string;
5
+ startClocks: ClocksState;
6
+ input: unknown;
7
+ init?: RequestInit;
8
+ url: string;
9
+ handlingStack?: string;
10
+ }
11
+ export interface FetchStartContext extends FetchContextBase {
12
+ state: 'start';
13
+ }
14
+ export interface FetchResolveContext extends FetchContextBase {
15
+ state: 'resolve';
16
+ status: number;
17
+ response?: Response;
18
+ responseBody?: string;
19
+ responseType?: string;
20
+ isAborted: boolean;
21
+ error?: Error;
22
+ }
23
+ export type FetchContext = FetchStartContext | FetchResolveContext;
24
+ type ResponseBodyActionGetter = (context: FetchResolveContext) => ResponseBodyAction;
25
+ /**
26
+ * Action to take with the response body of a fetch request.
27
+ * Values are ordered by priority: higher values take precedence when multiple actions are requested.
28
+ */
29
+ export declare const enum ResponseBodyAction {
30
+ IGNORE = 0,
31
+ WAIT = 1,
32
+ COLLECT = 2
33
+ }
34
+ export declare function initFetchObservable({ responseBodyAction }?: {
35
+ responseBodyAction?: ResponseBodyActionGetter;
36
+ }): Observable<FetchContext>;
37
+ export declare function resetFetchObservable(): void;
38
+ export {};
@@ -0,0 +1,99 @@
1
+ import { instrumentMethod } from '../tools/instrumentMethod';
2
+ import { monitorError } from '../tools/monitor';
3
+ import { Observable } from '../tools/observable';
4
+ import { clocksNow } from '../tools/utils/timeUtils';
5
+ import { normalizeUrl } from '../tools/utils/urlPolyfill';
6
+ import { globalObject } from '../tools/globalObject';
7
+ import { readBytesFromStream } from '../tools/readBytesFromStream';
8
+ import { tryToClone } from '../tools/utils/responseUtils';
9
+ let fetchObservable;
10
+ const responseBodyActionGetters = [];
11
+ export function initFetchObservable({ responseBodyAction } = {}) {
12
+ if (responseBodyAction) {
13
+ responseBodyActionGetters.push(responseBodyAction);
14
+ }
15
+ if (!fetchObservable) {
16
+ fetchObservable = createFetchObservable();
17
+ }
18
+ return fetchObservable;
19
+ }
20
+ export function resetFetchObservable() {
21
+ fetchObservable = undefined;
22
+ responseBodyActionGetters.length = 0;
23
+ }
24
+ function createFetchObservable() {
25
+ return new Observable((observable) => {
26
+ if (!globalObject.fetch) {
27
+ return;
28
+ }
29
+ const { stop } = instrumentMethod(globalObject, 'fetch', (call) => beforeSend(call, observable), {
30
+ computeHandlingStack: true,
31
+ });
32
+ return stop;
33
+ });
34
+ }
35
+ function beforeSend({ parameters, onPostCall, handlingStack }, observable) {
36
+ const [input, init] = parameters;
37
+ let methodFromParams = init && init.method;
38
+ if (methodFromParams === undefined && input instanceof Request) {
39
+ methodFromParams = input.method;
40
+ }
41
+ const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';
42
+ const url = input instanceof Request ? input.url : normalizeUrl(String(input));
43
+ const startClocks = clocksNow();
44
+ const context = {
45
+ state: 'start',
46
+ init,
47
+ input,
48
+ method,
49
+ startClocks,
50
+ url,
51
+ handlingStack,
52
+ };
53
+ observable.notify(context);
54
+ // Those properties can be changed by observable subscribers
55
+ parameters[0] = context.input;
56
+ parameters[1] = context.init;
57
+ onPostCall((responsePromise) => {
58
+ afterSend(observable, responsePromise, context).catch(monitorError);
59
+ });
60
+ }
61
+ async function afterSend(observable, responsePromise, startContext) {
62
+ var _a, _b;
63
+ const context = startContext;
64
+ context.state = 'resolve';
65
+ let response;
66
+ try {
67
+ response = await responsePromise;
68
+ }
69
+ catch (error) {
70
+ context.status = 0;
71
+ context.isAborted =
72
+ ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR);
73
+ context.error = error;
74
+ observable.notify(context);
75
+ return;
76
+ }
77
+ context.response = response;
78
+ context.status = response.status;
79
+ context.responseType = response.type;
80
+ context.isAborted = false;
81
+ const responseBodyCondition = responseBodyActionGetters.reduce((action, getter) => Math.max(action, getter(context)), 0 /* ResponseBodyAction.IGNORE */);
82
+ if (responseBodyCondition !== 0 /* ResponseBodyAction.IGNORE */) {
83
+ const clonedResponse = tryToClone(response);
84
+ if (clonedResponse && clonedResponse.body) {
85
+ try {
86
+ const bytes = await readBytesFromStream(clonedResponse.body, {
87
+ collectStreamBody: responseBodyCondition === 2 /* ResponseBodyAction.COLLECT */,
88
+ });
89
+ context.responseBody = bytes && new TextDecoder().decode(bytes);
90
+ }
91
+ catch (_c) {
92
+ // Ignore errors when reading the response body (e.g., stream aborted, network errors)
93
+ // This is not critical and should not be reported as an SDK error
94
+ }
95
+ }
96
+ }
97
+ observable.notify(context);
98
+ }
99
+ //# sourceMappingURL=fetchObservable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchObservable.js","sourceRoot":"","sources":["../../src/browser/fetchObservable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Observable } from '../tools/observable';
2
+ import type { Configuration } from '../domain/configuration';
3
+ export declare const PageExitReason: {
4
+ readonly HIDDEN: "visibility_hidden";
5
+ readonly UNLOADING: "before_unload";
6
+ readonly PAGEHIDE: "page_hide";
7
+ readonly FROZEN: "page_frozen";
8
+ };
9
+ export type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason];
10
+ export interface PageMayExitEvent {
11
+ reason: PageExitReason;
12
+ }
13
+ export declare function createPageMayExitObservable(configuration: Configuration): Observable<PageMayExitEvent>;
14
+ export declare function isPageExitReason(reason: string): reason is PageExitReason;
@@ -0,0 +1,40 @@
1
+ import { Observable } from '../tools/observable';
2
+ import { objectValues } from '../tools/utils/polyfills';
3
+ import { addEventListeners, addEventListener } from './addEventListener';
4
+ export const PageExitReason = {
5
+ HIDDEN: 'visibility_hidden',
6
+ UNLOADING: 'before_unload',
7
+ PAGEHIDE: 'page_hide',
8
+ FROZEN: 'page_frozen',
9
+ };
10
+ export function createPageMayExitObservable(configuration) {
11
+ return new Observable((observable) => {
12
+ const { stop: stopListeners } = addEventListeners(configuration, window, ["visibilitychange" /* DOM_EVENT.VISIBILITY_CHANGE */, "freeze" /* DOM_EVENT.FREEZE */], (event) => {
13
+ if (event.type === "visibilitychange" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {
14
+ /**
15
+ * Only event that guarantee to fire on mobile devices when the page transitions to background state
16
+ * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
17
+ */
18
+ observable.notify({ reason: PageExitReason.HIDDEN });
19
+ }
20
+ else if (event.type === "freeze" /* DOM_EVENT.FREEZE */) {
21
+ /**
22
+ * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)
23
+ * Allow to collect events happening between hidden and frozen state.
24
+ */
25
+ observable.notify({ reason: PageExitReason.FROZEN });
26
+ }
27
+ }, { capture: true });
28
+ const stopBeforeUnloadListener = addEventListener(configuration, window, "beforeunload" /* DOM_EVENT.BEFORE_UNLOAD */, () => {
29
+ observable.notify({ reason: PageExitReason.UNLOADING });
30
+ }).stop;
31
+ return () => {
32
+ stopListeners();
33
+ stopBeforeUnloadListener();
34
+ };
35
+ });
36
+ }
37
+ export function isPageExitReason(reason) {
38
+ return objectValues(PageExitReason).includes(reason);
39
+ }
40
+ //# sourceMappingURL=pageMayExitObservable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAa,MAAM,oBAAoB,CAAA;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,MAAM,UAAU,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,UAAU,CAAmB,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAC/C,aAAa,EACb,MAAM,EACN,uFAA+C,EAC/C,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,IAAI,yDAAgC,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxF;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,oCAAqB,EAAE,CAAC;gBAC3C;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;QAED,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,gDAA2B,GAAG,EAAE;YACrG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;QAC5B,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAwB,CAAC,CAAA;AACxE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Configuration } from '../domain/configuration';
2
+ export declare function runOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive', callback: () => void): {
3
+ stop: () => void;
4
+ };
5
+ export declare function asyncRunOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive'): Promise<void>;
@@ -0,0 +1,16 @@
1
+ import { noop } from '../tools/utils/functionUtils';
2
+ import { addEventListener } from './addEventListener';
3
+ export function runOnReadyState(configuration, expectedReadyState, callback) {
4
+ if (document.readyState === expectedReadyState || document.readyState === 'complete') {
5
+ callback();
6
+ return { stop: noop };
7
+ }
8
+ const eventName = expectedReadyState === 'complete' ? "load" /* DOM_EVENT.LOAD */ : "DOMContentLoaded" /* DOM_EVENT.DOM_CONTENT_LOADED */;
9
+ return addEventListener(configuration, window, eventName, callback, { once: true });
10
+ }
11
+ export function asyncRunOnReadyState(configuration, expectedReadyState) {
12
+ return new Promise((resolve) => {
13
+ runOnReadyState(configuration, expectedReadyState, resolve);
14
+ });
15
+ }
16
+ //# sourceMappingURL=runOnReadyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runOnReadyState.js","sourceRoot":"","sources":["../../src/browser/runOnReadyState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAa,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,MAAM,UAAU,eAAe,CAC7B,aAA4B,EAC5B,kBAA8C,EAC9C,QAAoB;IAEpB,IAAI,QAAQ,CAAC,UAAU,KAAK,kBAAkB,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACrF,QAAQ,EAAE,CAAA;QACV,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,KAAK,UAAU,CAAC,CAAC,6BAAgB,CAAC,sDAA6B,CAAA;IACnG,OAAO,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,kBAA8C;IAE9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,eAAe,CAAC,aAAa,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Observable } from '../tools/observable';
2
+ import type { Duration, ClocksState } from '../tools/utils/timeUtils';
3
+ import type { Configuration } from '../domain/configuration';
4
+ export interface XhrOpenContext {
5
+ state: 'open';
6
+ method: string;
7
+ url: string;
8
+ }
9
+ export interface XhrStartContext extends Omit<XhrOpenContext, 'state'> {
10
+ state: 'start';
11
+ startClocks: ClocksState;
12
+ isAborted: boolean;
13
+ xhr: XMLHttpRequest;
14
+ handlingStack?: string;
15
+ requestBody?: unknown;
16
+ }
17
+ export interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {
18
+ state: 'complete';
19
+ duration: Duration;
20
+ status: number;
21
+ responseBody?: string;
22
+ }
23
+ export type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext;
24
+ export declare function initXhrObservable(configuration: Configuration): Observable<XhrContext>;
@@ -0,0 +1,83 @@
1
+ import { instrumentMethod } from '../tools/instrumentMethod';
2
+ import { Observable } from '../tools/observable';
3
+ import { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils';
4
+ import { normalizeUrl } from '../tools/utils/urlPolyfill';
5
+ import { shallowClone } from '../tools/utils/objectUtils';
6
+ import { addEventListener } from './addEventListener';
7
+ let xhrObservable;
8
+ const xhrContexts = new WeakMap();
9
+ export function initXhrObservable(configuration) {
10
+ if (!xhrObservable) {
11
+ xhrObservable = createXhrObservable(configuration);
12
+ }
13
+ return xhrObservable;
14
+ }
15
+ function createXhrObservable(configuration) {
16
+ return new Observable((observable) => {
17
+ const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr);
18
+ const { stop: stopInstrumentingSend } = instrumentMethod(XMLHttpRequest.prototype, 'send', (call) => {
19
+ sendXhr(call, configuration, observable);
20
+ }, { computeHandlingStack: true });
21
+ const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr);
22
+ return () => {
23
+ stopInstrumentingStart();
24
+ stopInstrumentingSend();
25
+ stopInstrumentingAbort();
26
+ };
27
+ });
28
+ }
29
+ function openXhr({ target: xhr, parameters: [method, url] }) {
30
+ xhrContexts.set(xhr, {
31
+ state: 'open',
32
+ method: String(method).toUpperCase(),
33
+ url: normalizeUrl(String(url)),
34
+ });
35
+ }
36
+ function sendXhr({ target: xhr, parameters: [body], handlingStack }, configuration, observable) {
37
+ const context = xhrContexts.get(xhr);
38
+ if (!context) {
39
+ return;
40
+ }
41
+ const startContext = context;
42
+ startContext.state = 'start';
43
+ startContext.startClocks = clocksNow();
44
+ startContext.isAborted = false;
45
+ startContext.xhr = xhr;
46
+ startContext.handlingStack = handlingStack;
47
+ startContext.requestBody = body;
48
+ let hasBeenReported = false;
49
+ const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, 'onreadystatechange', () => {
50
+ if (xhr.readyState === XMLHttpRequest.DONE) {
51
+ // Try to report the XHR as soon as possible, because the XHR may be mutated by the
52
+ // application during a future event. For example, Angular is calling .abort() on
53
+ // completed requests during an onreadystatechange event, so the status becomes '0'
54
+ // before the request is collected.
55
+ onEnd();
56
+ }
57
+ });
58
+ const onEnd = () => {
59
+ unsubscribeLoadEndListener();
60
+ stopInstrumentingOnReadyStateChange();
61
+ if (hasBeenReported) {
62
+ return;
63
+ }
64
+ hasBeenReported = true;
65
+ const completeContext = context;
66
+ completeContext.state = 'complete';
67
+ completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());
68
+ completeContext.status = xhr.status;
69
+ if (typeof xhr.response === 'string') {
70
+ completeContext.responseBody = xhr.response;
71
+ }
72
+ observable.notify(shallowClone(completeContext));
73
+ };
74
+ const { stop: unsubscribeLoadEndListener } = addEventListener(configuration, xhr, 'loadend', onEnd);
75
+ observable.notify(startContext);
76
+ }
77
+ function abortXhr({ target: xhr }) {
78
+ const context = xhrContexts.get(xhr);
79
+ if (context) {
80
+ context.isAborted = true;
81
+ }
82
+ }
83
+ //# sourceMappingURL=xhrObservable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhrObservable.js","sourceRoot":"","sources":["../../src/browser/xhrObservable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { InitConfiguration } from './configuration';
2
+ export declare const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = "Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.";
3
+ export declare const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = "SDK initialized on a non-allowed domain.";
4
+ export declare function isAllowedTrackingOrigins(configuration: InitConfiguration, errorStack: string, windowOrigin?: string): boolean;
@@ -0,0 +1,21 @@
1
+ import { display } from '../tools/display';
2
+ import { matchList } from '../tools/matchOption';
3
+ import { isUnsupportedExtensionEnvironment } from './extension/extensionUtils';
4
+ export const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = 'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.';
5
+ export const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.';
6
+ export function isAllowedTrackingOrigins(configuration, errorStack, windowOrigin = typeof location !== 'undefined' ? location.origin : '') {
7
+ const allowedTrackingOrigins = configuration.allowedTrackingOrigins;
8
+ if (!allowedTrackingOrigins) {
9
+ if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {
10
+ display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN);
11
+ return false;
12
+ }
13
+ return true;
14
+ }
15
+ const isAllowed = matchList(allowedTrackingOrigins, windowOrigin);
16
+ if (!isAllowed) {
17
+ display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN);
18
+ }
19
+ return isAllowed;
20
+ }
21
+ //# sourceMappingURL=allowedTrackingOrigins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowedTrackingOrigins.js","sourceRoot":"","sources":["../../src/domain/allowedTrackingOrigins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAA;AAE9E,MAAM,CAAC,MAAM,2CAA2C,GACtD,gIAAgI,CAAA;AAClI,MAAM,CAAC,MAAM,iCAAiC,GAAG,0CAA0C,CAAA;AAE3F,MAAM,UAAU,wBAAwB,CACtC,aAAgC,EAChC,UAAkB,EAClB,YAAY,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;IAErE,MAAM,sBAAsB,GAAG,aAAa,CAAC,sBAAsB,CAAA;IACnE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,IAAI,iCAAiC,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAE1D,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAA;IACjE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { BufferedObservable } from '../tools/observable';
2
+ import type { RawError } from './error/error.types';
3
+ import { trackRuntimeError } from './error/trackRuntimeError';
4
+ export declare const enum BufferedDataType {
5
+ RUNTIME_ERROR = 0
6
+ }
7
+ export interface BufferedData {
8
+ type: BufferedDataType.RUNTIME_ERROR;
9
+ error: RawError;
10
+ }
11
+ export declare function startBufferingData(trackRuntimeErrorImpl?: typeof trackRuntimeError): {
12
+ observable: BufferedObservable<BufferedData>;
13
+ stop: () => void;
14
+ };
@@ -0,0 +1,19 @@
1
+ import { BufferedObservable } from '../tools/observable';
2
+ import { trackRuntimeError } from './error/trackRuntimeError';
3
+ const BUFFER_LIMIT = 500;
4
+ export function startBufferingData(trackRuntimeErrorImpl = trackRuntimeError) {
5
+ const observable = new BufferedObservable(BUFFER_LIMIT);
6
+ const runtimeErrorSubscription = trackRuntimeErrorImpl().subscribe((error) => {
7
+ observable.notify({
8
+ type: 0 /* BufferedDataType.RUNTIME_ERROR */,
9
+ error,
10
+ });
11
+ });
12
+ return {
13
+ observable,
14
+ stop: () => {
15
+ runtimeErrorSubscription.unsubscribe();
16
+ },
17
+ };
18
+ }
19
+ //# sourceMappingURL=bufferedData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bufferedData.js","sourceRoot":"","sources":["../../src/domain/bufferedData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,YAAY,GAAG,GAAG,CAAA;AAWxB,MAAM,UAAU,kBAAkB,CAAC,qBAAqB,GAAG,iBAAiB;IAC1E,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAe,YAAY,CAAC,CAAA;IAErE,MAAM,wBAAwB,GAAG,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3E,UAAU,CAAC,MAAM,CAAC;YAChB,IAAI,wCAAgC;YACpC,KAAK;SACN,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,UAAU;QACV,IAAI,EAAE,GAAG,EAAE;YACT,wBAAwB,CAAC,WAAW,EAAE,CAAA;QACxC,CAAC;KACF,CAAA;AACH,CAAC"}