@kubesense/kubesense-browser-core 1.7.0 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/LICENSE +1 -1
  2. package/cjs/boot/displayAlreadyInitializedError.js +6 -7
  3. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
  4. package/cjs/boot/init.d.ts +1 -0
  5. package/cjs/boot/init.js +26 -34
  6. package/cjs/boot/init.js.map +1 -1
  7. package/cjs/browser/addEventListener.d.ts +12 -9
  8. package/cjs/browser/addEventListener.js +107 -50
  9. package/cjs/browser/addEventListener.js.map +1 -1
  10. package/cjs/browser/browser.types.d.ts +0 -24
  11. package/cjs/browser/cookie.d.ts +4 -1
  12. package/cjs/browser/cookie.js +76 -89
  13. package/cjs/browser/cookie.js.map +1 -1
  14. package/cjs/browser/cookieAccess.d.ts +18 -0
  15. package/cjs/browser/cookieAccess.js +129 -0
  16. package/cjs/browser/cookieAccess.js.map +1 -0
  17. package/cjs/browser/fetch.d.ts +9 -0
  18. package/cjs/browser/fetch.js +18 -0
  19. package/cjs/browser/fetch.js.map +1 -0
  20. package/cjs/browser/fetchObservable.d.ts +3 -3
  21. package/cjs/browser/fetchObservable.js +79 -92
  22. package/cjs/browser/fetchObservable.js.map +1 -1
  23. package/cjs/browser/pageMayExitObservable.d.ts +1 -2
  24. package/cjs/browser/pageMayExitObservable.js +53 -51
  25. package/cjs/browser/pageMayExitObservable.js.map +1 -1
  26. package/cjs/browser/runOnReadyState.d.ts +2 -3
  27. package/cjs/browser/runOnReadyState.js +18 -17
  28. package/cjs/browser/runOnReadyState.js.map +1 -1
  29. package/cjs/browser/webSocketObservable.d.ts +44 -0
  30. package/cjs/browser/webSocketObservable.js +92 -0
  31. package/cjs/browser/webSocketObservable.js.map +1 -0
  32. package/cjs/browser/xhrObservable.d.ts +8 -3
  33. package/cjs/browser/xhrObservable.js +64 -77
  34. package/cjs/browser/xhrObservable.js.map +1 -1
  35. package/cjs/domain/allowedTrackingOrigins.d.ts +2 -2
  36. package/cjs/domain/allowedTrackingOrigins.js +27 -23
  37. package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
  38. package/cjs/domain/bufferedData.d.ts +20 -6
  39. package/cjs/domain/bufferedData.js +41 -19
  40. package/cjs/domain/bufferedData.js.map +1 -1
  41. package/cjs/domain/configuration/configuration.d.ts +169 -76
  42. package/cjs/domain/configuration/configuration.js +159 -128
  43. package/cjs/domain/configuration/configuration.js.map +1 -1
  44. package/cjs/domain/configuration/index.d.ts +5 -7
  45. package/cjs/domain/configuration/remoteSdkConfig.d.ts +26 -6
  46. package/cjs/domain/configuration/remoteSdkConfig.js +152 -159
  47. package/cjs/domain/configuration/remoteSdkConfig.js.map +1 -1
  48. package/cjs/domain/connectivity/connectivity.d.ts +2 -10
  49. package/cjs/domain/connectivity/connectivity.js +13 -13
  50. package/cjs/domain/connectivity/connectivity.js.map +1 -1
  51. package/cjs/domain/console/consoleObservable.d.ts +1 -1
  52. package/cjs/domain/console/consoleObservable.js +62 -74
  53. package/cjs/domain/console/consoleObservable.js.map +1 -1
  54. package/cjs/domain/context/contextConstants.js +24 -15
  55. package/cjs/domain/context/contextConstants.js.map +1 -1
  56. package/cjs/domain/context/contextManager.js +49 -53
  57. package/cjs/domain/context/contextManager.js.map +1 -1
  58. package/cjs/domain/context/contextUtils.js +11 -12
  59. package/cjs/domain/context/contextUtils.js.map +1 -1
  60. package/cjs/domain/context/defineContextMethod.d.ts +2 -2
  61. package/cjs/domain/context/defineContextMethod.js +15 -16
  62. package/cjs/domain/context/defineContextMethod.js.map +1 -1
  63. package/cjs/domain/context/storeContextManager.d.ts +1 -2
  64. package/cjs/domain/context/storeContextManager.js +31 -33
  65. package/cjs/domain/context/storeContextManager.js.map +1 -1
  66. package/cjs/domain/contexts/accountContext.d.ts +2 -2
  67. package/cjs/domain/contexts/accountContext.js +26 -29
  68. package/cjs/domain/contexts/accountContext.js.map +1 -1
  69. package/cjs/domain/contexts/globalContext.d.ts +2 -2
  70. package/cjs/domain/contexts/globalContext.js +17 -17
  71. package/cjs/domain/contexts/globalContext.js.map +1 -1
  72. package/cjs/domain/contexts/tabContext.d.ts +4 -0
  73. package/cjs/domain/contexts/tabContext.js +28 -0
  74. package/cjs/domain/contexts/tabContext.js.map +1 -0
  75. package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
  76. package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
  77. package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
  78. package/cjs/domain/contexts/userContext.d.ts +8 -3
  79. package/cjs/domain/contexts/userContext.js +79 -114
  80. package/cjs/domain/contexts/userContext.js.map +1 -1
  81. package/cjs/domain/deflate/deflate.types.js +11 -2
  82. package/cjs/domain/deflate/deflate.types.js.map +1 -1
  83. package/cjs/domain/error/error.d.ts +14 -6
  84. package/cjs/domain/error/error.js +101 -70
  85. package/cjs/domain/error/error.js.map +1 -1
  86. package/cjs/domain/error/error.types.d.ts +6 -4
  87. package/cjs/domain/error/error.types.js +24 -11
  88. package/cjs/domain/error/error.types.js.map +1 -1
  89. package/cjs/domain/error/isError.d.ts +2 -0
  90. package/cjs/domain/error/isError.js +14 -0
  91. package/cjs/domain/error/isError.js.map +1 -0
  92. package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
  93. package/cjs/domain/error/trackRuntimeError.js +44 -41
  94. package/cjs/domain/error/trackRuntimeError.js.map +1 -1
  95. package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +1 -2
  96. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +28 -38
  97. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
  98. package/cjs/domain/extension/extensionUtils.js +20 -25
  99. package/cjs/domain/extension/extensionUtils.js.map +1 -1
  100. package/cjs/domain/geo/geocoding.js +64 -0
  101. package/cjs/domain/geo/geocoding.js.map +1 -0
  102. package/cjs/domain/geo/geolocation.js +72 -0
  103. package/cjs/domain/geo/geolocation.js.map +1 -0
  104. package/cjs/domain/report/reportObservable.d.ts +1 -2
  105. package/cjs/domain/report/reportObservable.js +76 -85
  106. package/cjs/domain/report/reportObservable.js.map +1 -1
  107. package/cjs/domain/resourceUtils.d.ts +1 -0
  108. package/cjs/domain/resourceUtils.js +20 -17
  109. package/cjs/domain/resourceUtils.js.map +1 -1
  110. package/cjs/domain/sampler.d.ts +11 -0
  111. package/cjs/domain/sampler.js +40 -0
  112. package/cjs/domain/sampler.js.map +1 -0
  113. package/cjs/domain/session/sessionConstants.d.ts +1 -0
  114. package/cjs/domain/session/sessionConstants.js +19 -13
  115. package/cjs/domain/session/sessionConstants.js.map +1 -1
  116. package/cjs/domain/session/sessionManager.d.ts +21 -13
  117. package/cjs/domain/session/sessionManager.js +254 -191
  118. package/cjs/domain/session/sessionManager.js.map +1 -1
  119. package/cjs/domain/session/sessionState.d.ts +10 -1
  120. package/cjs/domain/session/sessionState.js +72 -56
  121. package/cjs/domain/session/sessionState.js.map +1 -1
  122. package/cjs/domain/session/sessionStateValidation.js +7 -8
  123. package/cjs/domain/session/sessionStateValidation.js.map +1 -1
  124. package/cjs/domain/session/sessionStore.d.ts +4 -33
  125. package/cjs/domain/session/sessionStore.js +41 -181
  126. package/cjs/domain/session/sessionStore.js.map +1 -1
  127. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
  128. package/cjs/domain/session/storeStrategies/sessionInCookie.js +90 -96
  129. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
  130. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
  131. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
  132. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
  133. package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
  134. package/cjs/domain/session/storeStrategies/sessionInMemory.js +36 -0
  135. package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
  136. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
  137. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
  138. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
  139. package/cjs/domain/sourceCodeContext.d.ts +22 -0
  140. package/cjs/domain/sourceCodeContext.js +56 -0
  141. package/cjs/domain/sourceCodeContext.js.map +1 -0
  142. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
  143. package/cjs/domain/synthetics/syntheticsWorkerValues.js +37 -25
  144. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
  145. package/cjs/domain/tags.d.ts +1 -2
  146. package/cjs/domain/tags.js +23 -57
  147. package/cjs/domain/tags.js.map +1 -1
  148. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
  149. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
  150. package/cjs/domain/telemetry/telemetry.d.ts +7 -8
  151. package/cjs/domain/telemetry/telemetry.js +192 -215
  152. package/cjs/domain/telemetry/telemetry.js.map +1 -1
  153. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +161 -16
  154. package/cjs/domain/trackingConsent.d.ts +1 -0
  155. package/cjs/domain/trackingConsent.js +35 -24
  156. package/cjs/domain/trackingConsent.js.map +1 -1
  157. package/cjs/domain/userAgentData/userAgentData.js +65 -96
  158. package/cjs/domain/userAgentData/userAgentData.js.map +1 -1
  159. package/cjs/index.d.ts +34 -30
  160. package/cjs/index.js +297 -213
  161. package/cjs/tools/abstractLifeCycle.js +19 -26
  162. package/cjs/tools/abstractLifeCycle.js.map +1 -1
  163. package/cjs/tools/catchUserErrors.js +12 -12
  164. package/cjs/tools/catchUserErrors.js.map +1 -1
  165. package/cjs/tools/display.d.ts +1 -37
  166. package/cjs/tools/display.js +8 -43
  167. package/cjs/tools/display.js.map +1 -1
  168. package/cjs/tools/encoder.js +36 -37
  169. package/cjs/tools/encoder.js.map +1 -1
  170. package/cjs/tools/experimentalFeatures.d.ts +1 -4
  171. package/cjs/tools/experimentalFeatures.js +29 -40
  172. package/cjs/tools/experimentalFeatures.js.map +1 -1
  173. package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
  174. package/cjs/tools/getZoneJsOriginalValue.js +22 -25
  175. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
  176. package/cjs/tools/instrumentMethod.d.ts +57 -0
  177. package/cjs/tools/instrumentMethod.js +179 -112
  178. package/cjs/tools/instrumentMethod.js.map +1 -1
  179. package/cjs/tools/matchOption.d.ts +0 -1
  180. package/cjs/tools/matchOption.js +21 -31
  181. package/cjs/tools/matchOption.js.map +1 -1
  182. package/cjs/tools/mockable.d.ts +22 -0
  183. package/cjs/tools/mockable.js +28 -0
  184. package/cjs/tools/mockable.js.map +1 -0
  185. package/cjs/tools/observable.d.ts +3 -1
  186. package/cjs/tools/observable.js +75 -85
  187. package/cjs/tools/observable.js.map +1 -1
  188. package/cjs/tools/queueMicrotask.js +9 -14
  189. package/cjs/tools/queueMicrotask.js.map +1 -1
  190. package/cjs/tools/readBytesFromStream.d.ts +1 -6
  191. package/cjs/tools/readBytesFromStream.js +18 -25
  192. package/cjs/tools/readBytesFromStream.js.map +1 -1
  193. package/cjs/tools/requestIdleCallback.js +23 -29
  194. package/cjs/tools/requestIdleCallback.js.map +1 -1
  195. package/cjs/tools/sendToExtension.js +10 -8
  196. package/cjs/tools/sendToExtension.js.map +1 -1
  197. package/cjs/tools/serialisation/jsonStringify.js +37 -42
  198. package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
  199. package/cjs/tools/serialisation/sanitize.d.ts +1 -0
  200. package/cjs/tools/serialisation/sanitize.js +112 -167
  201. package/cjs/tools/serialisation/sanitize.js.map +1 -1
  202. package/cjs/tools/serialisation/stringify.d.ts +2 -0
  203. package/cjs/tools/serialisation/stringify.js +18 -0
  204. package/cjs/tools/serialisation/stringify.js.map +1 -0
  205. package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
  206. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
  207. package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
  208. package/cjs/tools/stackTrace/handlingStack.js +39 -38
  209. package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
  210. package/cjs/tools/taskQueue.js +40 -49
  211. package/cjs/tools/taskQueue.js.map +1 -1
  212. package/cjs/tools/thenable.d.ts +8 -0
  213. package/cjs/tools/thenable.js +27 -0
  214. package/cjs/tools/thenable.js.map +1 -0
  215. package/cjs/tools/timer.d.ts +2 -1
  216. package/cjs/tools/timer.js +14 -13
  217. package/cjs/tools/timer.js.map +1 -1
  218. package/cjs/tools/utils/arrayUtils.d.ts +1 -0
  219. package/cjs/tools/utils/arrayUtils.js +17 -13
  220. package/cjs/tools/utils/arrayUtils.js.map +1 -1
  221. package/cjs/tools/utils/browserDetection.d.ts +1 -0
  222. package/cjs/tools/utils/browserDetection.js +25 -23
  223. package/cjs/tools/utils/browserDetection.js.map +1 -1
  224. package/cjs/tools/utils/byteUtils.js +20 -28
  225. package/cjs/tools/utils/byteUtils.js.map +1 -1
  226. package/cjs/tools/utils/functionUtils.js +33 -40
  227. package/cjs/tools/utils/functionUtils.js.map +1 -1
  228. package/cjs/tools/utils/numberUtils.d.ts +0 -6
  229. package/cjs/tools/utils/numberUtils.js +7 -18
  230. package/cjs/tools/utils/numberUtils.js.map +1 -1
  231. package/cjs/tools/utils/objectUtils.d.ts +2 -0
  232. package/cjs/tools/utils/objectUtils.js +27 -14
  233. package/cjs/tools/utils/objectUtils.js.map +1 -1
  234. package/cjs/tools/utils/polyfills.js +12 -16
  235. package/cjs/tools/utils/polyfills.js.map +1 -1
  236. package/cjs/tools/utils/responseUtils.js +11 -12
  237. package/cjs/tools/utils/responseUtils.js.map +1 -1
  238. package/cjs/tools/utils/stringUtils.d.ts +9 -0
  239. package/cjs/tools/utils/stringUtils.js +73 -77
  240. package/cjs/tools/utils/stringUtils.js.map +1 -1
  241. package/cjs/tools/utils/timezone.js +9 -10
  242. package/cjs/tools/utils/timezone.js.map +1 -1
  243. package/cjs/tools/valueHistory.d.ts +16 -3
  244. package/cjs/tools/valueHistory.js +113 -99
  245. package/cjs/tools/valueHistory.js.map +1 -1
  246. package/cjs/transport/batch.d.ts +11 -7
  247. package/cjs/transport/batch.js +93 -106
  248. package/cjs/transport/batch.js.map +1 -1
  249. package/cjs/transport/eventBridge.d.ts +6 -2
  250. package/cjs/transport/eventBridge.js +54 -38
  251. package/cjs/transport/eventBridge.js.map +1 -1
  252. package/cjs/transport/flushController.d.ts +6 -15
  253. package/cjs/transport/flushController.js +99 -118
  254. package/cjs/transport/flushController.js.map +1 -1
  255. package/cjs/transport/httpRequest.d.ts +8 -9
  256. package/cjs/transport/httpRequest.js +61 -97
  257. package/cjs/transport/httpRequest.js.map +1 -1
  258. package/cjs/transport/index.d.ts +3 -2
  259. package/cjs/transport/sendWithRetryStrategy.d.ts +9 -4
  260. package/cjs/transport/sendWithRetryStrategy.js +144 -148
  261. package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
  262. package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
  263. package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
  264. package/esm/boot/init.mjs +30 -0
  265. package/esm/boot/init.mjs.map +1 -0
  266. package/esm/browser/addEventListener.mjs +107 -0
  267. package/esm/browser/addEventListener.mjs.map +1 -0
  268. package/esm/browser/cookie.mjs +92 -0
  269. package/esm/browser/cookie.mjs.map +1 -0
  270. package/esm/browser/cookieAccess.mjs +124 -0
  271. package/esm/browser/cookieAccess.mjs.map +1 -0
  272. package/esm/browser/fetch.mjs +18 -0
  273. package/esm/browser/fetch.mjs.map +1 -0
  274. package/esm/browser/fetchObservable.mjs +89 -0
  275. package/esm/browser/fetchObservable.mjs.map +1 -0
  276. package/esm/browser/pageMayExitObservable.mjs +56 -0
  277. package/esm/browser/pageMayExitObservable.mjs.map +1 -0
  278. package/esm/browser/runOnReadyState.mjs +19 -0
  279. package/esm/browser/runOnReadyState.mjs.map +1 -0
  280. package/esm/browser/webSocketObservable.mjs +92 -0
  281. package/esm/browser/webSocketObservable.mjs.map +1 -0
  282. package/esm/browser/xhrObservable.mjs +73 -0
  283. package/esm/browser/xhrObservable.mjs.map +1 -0
  284. package/esm/domain/allowedTrackingOrigins.mjs +27 -0
  285. package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
  286. package/esm/domain/bufferedData.mjs +43 -0
  287. package/esm/domain/bufferedData.mjs.map +1 -0
  288. package/esm/domain/configuration/configuration.mjs +163 -0
  289. package/esm/domain/configuration/configuration.mjs.map +1 -0
  290. package/esm/domain/configuration/remoteSdkConfig.mjs +163 -0
  291. package/esm/domain/configuration/remoteSdkConfig.mjs.map +1 -0
  292. package/esm/domain/connectivity/connectivity.mjs +16 -0
  293. package/esm/domain/connectivity/connectivity.mjs.map +1 -0
  294. package/esm/domain/console/consoleObservable.mjs +72 -0
  295. package/esm/domain/console/consoleObservable.mjs.map +1 -0
  296. package/esm/domain/context/contextConstants.mjs +25 -0
  297. package/esm/domain/context/contextConstants.mjs.map +1 -0
  298. package/esm/domain/context/contextManager.mjs +55 -0
  299. package/esm/domain/context/contextManager.mjs.map +1 -0
  300. package/esm/domain/context/contextUtils.mjs +15 -0
  301. package/esm/domain/context/contextUtils.mjs.map +1 -0
  302. package/esm/domain/context/defineContextMethod.mjs +19 -0
  303. package/esm/domain/context/defineContextMethod.mjs.map +1 -0
  304. package/esm/domain/context/storeContextManager.mjs +36 -0
  305. package/esm/domain/context/storeContextManager.mjs.map +1 -0
  306. package/esm/domain/contexts/accountContext.mjs +29 -0
  307. package/esm/domain/contexts/accountContext.mjs.map +1 -0
  308. package/esm/domain/contexts/globalContext.mjs +20 -0
  309. package/esm/domain/contexts/globalContext.mjs.map +1 -0
  310. package/esm/domain/contexts/tabContext.mjs +27 -0
  311. package/esm/domain/contexts/tabContext.mjs.map +1 -0
  312. package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
  313. package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
  314. package/esm/domain/contexts/userContext.mjs +88 -0
  315. package/esm/domain/contexts/userContext.mjs.map +1 -0
  316. package/esm/domain/deflate/deflate.types.mjs +12 -0
  317. package/esm/domain/deflate/deflate.types.mjs.map +1 -0
  318. package/esm/domain/error/error.mjs +104 -0
  319. package/esm/domain/error/error.mjs.map +1 -0
  320. package/esm/domain/error/error.types.mjs +24 -0
  321. package/esm/domain/error/error.types.mjs.map +1 -0
  322. package/esm/domain/error/isError.mjs +13 -0
  323. package/esm/domain/error/isError.mjs.map +1 -0
  324. package/esm/domain/error/trackRuntimeError.mjs +49 -0
  325. package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
  326. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +31 -0
  327. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
  328. package/esm/domain/extension/extensionUtils.mjs +23 -0
  329. package/esm/domain/extension/extensionUtils.mjs.map +1 -0
  330. package/esm/domain/geo/geocoding.mjs +60 -0
  331. package/esm/domain/geo/geocoding.mjs.map +1 -0
  332. package/esm/domain/geo/geolocation.mjs +69 -0
  333. package/esm/domain/geo/geolocation.mjs.map +1 -0
  334. package/esm/domain/report/reportObservable.mjs +89 -0
  335. package/esm/domain/report/reportObservable.mjs.map +1 -0
  336. package/esm/domain/resourceUtils.mjs +22 -0
  337. package/esm/domain/resourceUtils.mjs.map +1 -0
  338. package/esm/domain/sampler.mjs +37 -0
  339. package/esm/domain/sampler.mjs.map +1 -0
  340. package/esm/domain/session/sessionConstants.mjs +18 -0
  341. package/esm/domain/session/sessionConstants.mjs.map +1 -0
  342. package/esm/domain/session/sessionManager.mjs +258 -0
  343. package/esm/domain/session/sessionManager.mjs.map +1 -0
  344. package/esm/domain/session/sessionState.mjs +76 -0
  345. package/esm/domain/session/sessionState.mjs.map +1 -0
  346. package/esm/domain/session/sessionStateValidation.mjs +9 -0
  347. package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
  348. package/esm/domain/session/sessionStore.mjs +45 -0
  349. package/esm/domain/session/sessionStore.mjs.map +1 -0
  350. package/esm/domain/session/storeStrategies/sessionInCookie.mjs +96 -0
  351. package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
  352. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
  353. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
  354. package/esm/domain/session/storeStrategies/sessionInMemory.mjs +34 -0
  355. package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
  356. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
  357. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
  358. package/esm/domain/sourceCodeContext.mjs +55 -0
  359. package/esm/domain/sourceCodeContext.mjs.map +1 -0
  360. package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
  361. package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
  362. package/esm/domain/tags.mjs +29 -0
  363. package/esm/domain/tags.mjs.map +1 -0
  364. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
  365. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
  366. package/esm/domain/telemetry/telemetry.mjs +210 -0
  367. package/esm/domain/telemetry/telemetry.mjs.map +1 -0
  368. package/esm/domain/trackingConsent.mjs +38 -0
  369. package/esm/domain/trackingConsent.mjs.map +1 -0
  370. package/esm/domain/userAgentData/userAgentData.mjs +77 -0
  371. package/esm/domain/userAgentData/userAgentData.mjs.map +1 -0
  372. package/esm/index.mjs +85 -0
  373. package/esm/tools/abstractLifeCycle.mjs +21 -0
  374. package/esm/tools/abstractLifeCycle.mjs.map +1 -0
  375. package/esm/tools/catchUserErrors.mjs +15 -0
  376. package/esm/tools/catchUserErrors.mjs.map +1 -0
  377. package/esm/tools/display.mjs +8 -0
  378. package/esm/tools/display.mjs.map +1 -0
  379. package/esm/tools/encoder.mjs +39 -0
  380. package/esm/tools/encoder.mjs.map +1 -0
  381. package/esm/tools/experimentalFeatures.mjs +35 -0
  382. package/esm/tools/experimentalFeatures.mjs.map +1 -0
  383. package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
  384. package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
  385. package/esm/tools/instrumentMethod.mjs +183 -0
  386. package/esm/tools/instrumentMethod.mjs.map +1 -0
  387. package/esm/tools/matchOption.mjs +25 -0
  388. package/esm/tools/matchOption.mjs.map +1 -0
  389. package/esm/tools/mockable.mjs +28 -0
  390. package/esm/tools/mockable.mjs.map +1 -0
  391. package/esm/tools/observable.mjs +77 -0
  392. package/esm/tools/observable.mjs.map +1 -0
  393. package/esm/tools/queueMicrotask.mjs +12 -0
  394. package/esm/tools/queueMicrotask.mjs.map +1 -0
  395. package/esm/tools/readBytesFromStream.mjs +21 -0
  396. package/esm/tools/readBytesFromStream.mjs.map +1 -0
  397. package/esm/tools/requestIdleCallback.mjs +28 -0
  398. package/esm/tools/requestIdleCallback.mjs.map +1 -0
  399. package/esm/tools/sendToExtension.mjs +13 -0
  400. package/esm/tools/sendToExtension.mjs.map +1 -0
  401. package/esm/tools/serialisation/jsonStringify.mjs +42 -0
  402. package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
  403. package/esm/tools/serialisation/sanitize.mjs +132 -0
  404. package/esm/tools/serialisation/sanitize.mjs.map +1 -0
  405. package/esm/tools/serialisation/stringify.mjs +17 -0
  406. package/esm/tools/serialisation/stringify.mjs.map +1 -0
  407. package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
  408. package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
  409. package/esm/tools/stackTrace/handlingStack.mjs +45 -0
  410. package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
  411. package/esm/tools/taskQueue.mjs +45 -0
  412. package/esm/tools/taskQueue.mjs.map +1 -0
  413. package/esm/tools/thenable.mjs +24 -0
  414. package/esm/tools/thenable.mjs.map +1 -0
  415. package/esm/tools/timer.mjs +20 -0
  416. package/esm/tools/timer.mjs.map +1 -0
  417. package/esm/tools/utils/arrayUtils.mjs +21 -0
  418. package/esm/tools/utils/arrayUtils.mjs.map +1 -0
  419. package/esm/tools/utils/browserDetection.mjs +31 -0
  420. package/esm/tools/utils/browserDetection.mjs.map +1 -0
  421. package/esm/tools/utils/byteUtils.mjs +23 -0
  422. package/esm/tools/utils/byteUtils.mjs.map +1 -0
  423. package/esm/tools/utils/functionUtils.mjs +35 -0
  424. package/esm/tools/utils/functionUtils.mjs.map +1 -0
  425. package/esm/tools/utils/numberUtils.mjs +11 -0
  426. package/esm/tools/utils/numberUtils.mjs.map +1 -0
  427. package/esm/tools/utils/objectUtils.mjs +31 -0
  428. package/esm/tools/utils/objectUtils.mjs.map +1 -0
  429. package/esm/tools/utils/polyfills.mjs +17 -0
  430. package/esm/tools/utils/polyfills.mjs.map +1 -0
  431. package/esm/tools/utils/responseUtils.mjs +15 -0
  432. package/esm/tools/utils/responseUtils.mjs.map +1 -0
  433. package/esm/tools/utils/stringUtils.mjs +81 -0
  434. package/esm/tools/utils/stringUtils.mjs.map +1 -0
  435. package/esm/tools/utils/timezone.mjs +12 -0
  436. package/esm/tools/utils/timezone.mjs.map +1 -0
  437. package/esm/tools/valueHistory.mjs +117 -0
  438. package/esm/tools/valueHistory.mjs.map +1 -0
  439. package/esm/transport/batch.mjs +96 -0
  440. package/esm/transport/batch.mjs.map +1 -0
  441. package/esm/transport/eventBridge.mjs +58 -0
  442. package/esm/transport/eventBridge.mjs.map +1 -0
  443. package/esm/transport/flushController.mjs +103 -0
  444. package/esm/transport/flushController.mjs.map +1 -0
  445. package/esm/transport/httpRequest.mjs +69 -0
  446. package/esm/transport/httpRequest.mjs.map +1 -0
  447. package/esm/transport/sendWithRetryStrategy.mjs +154 -0
  448. package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
  449. package/package.json +20 -11
  450. package/src/boot/displayAlreadyInitializedError.ts +4 -1
  451. package/src/boot/init.ts +3 -2
  452. package/src/browser/addEventListener.ts +43 -8
  453. package/src/browser/browser.types.ts +0 -32
  454. package/src/browser/cookie.ts +45 -30
  455. package/src/browser/cookieAccess.ts +172 -0
  456. package/src/browser/fetch.ts +14 -0
  457. package/src/browser/fetchObservable.ts +25 -26
  458. package/src/browser/pageMayExitObservable.ts +9 -5
  459. package/src/browser/runOnReadyState.ts +3 -8
  460. package/src/browser/webSocketObservable.ts +181 -0
  461. package/src/browser/xhrObservable.ts +22 -13
  462. package/src/domain/allowedTrackingOrigins.ts +7 -6
  463. package/src/domain/bufferedData.ts +41 -14
  464. package/src/domain/configuration/configuration.ts +121 -171
  465. package/src/domain/configuration/index.ts +6 -7
  466. package/src/domain/configuration/remoteSdkConfig.ts +65 -16
  467. package/src/domain/connectivity/connectivity.ts +11 -23
  468. package/src/domain/console/consoleObservable.ts +9 -5
  469. package/src/domain/context/contextManager.ts +6 -2
  470. package/src/domain/context/contextUtils.ts +1 -1
  471. package/src/domain/context/defineContextMethod.ts +4 -4
  472. package/src/domain/context/storeContextManager.ts +9 -6
  473. package/src/domain/contexts/accountContext.ts +5 -5
  474. package/src/domain/contexts/globalContext.ts +4 -5
  475. package/src/domain/contexts/tabContext.ts +43 -0
  476. package/src/domain/contexts/telemetrySessionContext.ts +26 -0
  477. package/src/domain/contexts/userContext.ts +21 -16
  478. package/src/domain/error/error.ts +83 -35
  479. package/src/domain/error/error.types.ts +6 -4
  480. package/src/domain/error/isError.ts +13 -0
  481. package/src/domain/error/trackRuntimeError.ts +11 -4
  482. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +3 -9
  483. package/src/{tools/utils → domain/geo}/geocoding.ts +7 -18
  484. package/src/{tools/utils → domain/geo}/geolocation.ts +1 -1
  485. package/src/domain/report/reportObservable.ts +15 -8
  486. package/src/domain/resourceUtils.ts +1 -0
  487. package/src/domain/sampler.ts +59 -0
  488. package/src/domain/session/sessionConstants.ts +2 -1
  489. package/src/domain/session/sessionManager.ts +347 -178
  490. package/src/domain/session/sessionState.ts +71 -10
  491. package/src/domain/session/sessionStore.ts +53 -226
  492. package/src/domain/session/storeStrategies/sessionInCookie.ts +122 -107
  493. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
  494. package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
  495. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
  496. package/src/domain/sourceCodeContext.ts +100 -0
  497. package/src/domain/synthetics/syntheticsWorkerValues.ts +47 -15
  498. package/src/domain/tags.ts +5 -19
  499. package/src/domain/telemetry/rawTelemetryEvent.types.ts +1 -1
  500. package/src/domain/telemetry/telemetry.ts +44 -52
  501. package/src/domain/telemetry/telemetryEvent.types.ts +177 -19
  502. package/src/domain/trackingConsent.ts +18 -3
  503. package/src/domain/userAgentData/userAgentData.ts +1 -1
  504. package/src/index.ts +59 -43
  505. package/src/tools/display.ts +2 -52
  506. package/src/tools/experimentalFeatures.ts +3 -4
  507. package/src/tools/getZoneJsOriginalValue.ts +3 -3
  508. package/src/tools/instrumentMethod.ts +228 -18
  509. package/src/tools/matchOption.ts +2 -6
  510. package/src/tools/mockable.ts +32 -0
  511. package/src/tools/observable.ts +11 -2
  512. package/src/tools/queueMicrotask.ts +8 -3
  513. package/src/tools/readBytesFromStream.ts +3 -12
  514. package/src/tools/requestIdleCallback.ts +2 -2
  515. package/src/tools/sendToExtension.ts +1 -1
  516. package/src/tools/serialisation/sanitize.ts +71 -64
  517. package/src/tools/serialisation/stringify.ts +18 -0
  518. package/src/tools/stackTrace/computeStackTrace.ts +19 -19
  519. package/src/tools/stackTrace/handlingStack.ts +15 -2
  520. package/src/tools/taskQueue.ts +5 -3
  521. package/src/tools/thenable.ts +23 -0
  522. package/src/tools/timer.ts +8 -7
  523. package/src/tools/utils/arrayUtils.ts +8 -2
  524. package/src/tools/utils/browserDetection.ts +8 -0
  525. package/src/tools/utils/byteUtils.ts +2 -6
  526. package/src/tools/utils/functionUtils.ts +2 -2
  527. package/src/tools/utils/numberUtils.ts +0 -12
  528. package/src/tools/utils/objectUtils.ts +20 -0
  529. package/src/tools/utils/stringUtils.ts +23 -1
  530. package/src/tools/valueHistory.ts +59 -18
  531. package/src/transport/batch.ts +50 -31
  532. package/src/transport/eventBridge.ts +24 -10
  533. package/src/transport/flushController.ts +22 -30
  534. package/src/transport/httpRequest.ts +18 -47
  535. package/src/transport/index.ts +3 -2
  536. package/src/transport/sendWithRetryStrategy.ts +29 -17
  537. package/cjs/browser/browser.types.js +0 -6
  538. package/cjs/browser/browser.types.js.map +0 -1
  539. package/cjs/domain/configuration/endpointBuilder.d.ts +0 -12
  540. package/cjs/domain/configuration/endpointBuilder.js +0 -66
  541. package/cjs/domain/configuration/endpointBuilder.js.map +0 -1
  542. package/cjs/domain/configuration/index.js +0 -44
  543. package/cjs/domain/configuration/index.js.map +0 -1
  544. package/cjs/domain/configuration/transportConfiguration.d.ts +0 -21
  545. package/cjs/domain/configuration/transportConfiguration.js +0 -58
  546. package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
  547. package/cjs/domain/connectivity/index.js +0 -18
  548. package/cjs/domain/connectivity/index.js.map +0 -1
  549. package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
  550. package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
  551. package/cjs/domain/deflate/index.js +0 -18
  552. package/cjs/domain/deflate/index.js.map +0 -1
  553. package/cjs/domain/intakeSites.d.ts +0 -4
  554. package/cjs/domain/intakeSites.js +0 -7
  555. package/cjs/domain/intakeSites.js.map +0 -1
  556. package/cjs/domain/report/browser.types.js +0 -3
  557. package/cjs/domain/report/browser.types.js.map +0 -1
  558. package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
  559. package/cjs/domain/session/oldCookiesMigration.js +0 -40
  560. package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
  561. package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
  562. package/cjs/domain/session/sessionStoreOperations.js +0 -119
  563. package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
  564. package/cjs/domain/telemetry/index.js +0 -28
  565. package/cjs/domain/telemetry/index.js.map +0 -1
  566. package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
  567. package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
  568. package/cjs/domain/userAgentData/index.js +0 -18
  569. package/cjs/domain/userAgentData/index.js.map +0 -1
  570. package/cjs/index.js.map +0 -1
  571. package/cjs/tools/abstractHooks.d.ts +0 -24
  572. package/cjs/tools/abstractHooks.js +0 -41
  573. package/cjs/tools/abstractHooks.js.map +0 -1
  574. package/cjs/tools/boundedBuffer.d.ts +0 -16
  575. package/cjs/tools/boundedBuffer.js +0 -32
  576. package/cjs/tools/boundedBuffer.js.map +0 -1
  577. package/cjs/tools/globalObject.d.ts +0 -19
  578. package/cjs/tools/globalObject.js +0 -44
  579. package/cjs/tools/globalObject.js.map +0 -1
  580. package/cjs/tools/mergeInto.d.ts +0 -25
  581. package/cjs/tools/mergeInto.js +0 -98
  582. package/cjs/tools/mergeInto.js.map +0 -1
  583. package/cjs/tools/monitor.d.ts +0 -9
  584. package/cjs/tools/monitor.js +0 -61
  585. package/cjs/tools/monitor.js.map +0 -1
  586. package/cjs/tools/serialisation/context.js +0 -3
  587. package/cjs/tools/serialisation/context.js.map +0 -1
  588. package/cjs/tools/utils/geocoding.js +0 -80
  589. package/cjs/tools/utils/geocoding.js.map +0 -1
  590. package/cjs/tools/utils/geolocation.js +0 -77
  591. package/cjs/tools/utils/geolocation.js.map +0 -1
  592. package/cjs/tools/utils/timeUtils.d.ts +0 -53
  593. package/cjs/tools/utils/timeUtils.js +0 -101
  594. package/cjs/tools/utils/timeUtils.js.map +0 -1
  595. package/cjs/tools/utils/typeUtils.d.ts +0 -4
  596. package/cjs/tools/utils/typeUtils.js +0 -16
  597. package/cjs/tools/utils/typeUtils.js.map +0 -1
  598. package/cjs/tools/utils/urlPolyfill.d.ts +0 -5
  599. package/cjs/tools/utils/urlPolyfill.js +0 -59
  600. package/cjs/tools/utils/urlPolyfill.js.map +0 -1
  601. package/cjs/transport/index.js +0 -15
  602. package/cjs/transport/index.js.map +0 -1
  603. package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
  604. package/esm/boot/displayAlreadyInitializedError.js +0 -7
  605. package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
  606. package/esm/boot/init.d.ts +0 -13
  607. package/esm/boot/init.js +0 -35
  608. package/esm/boot/init.js.map +0 -1
  609. package/esm/browser/addEventListener.d.ts +0 -87
  610. package/esm/browser/addEventListener.js +0 -51
  611. package/esm/browser/addEventListener.js.map +0 -1
  612. package/esm/browser/browser.types.d.ts +0 -51
  613. package/esm/browser/browser.types.js +0 -5
  614. package/esm/browser/browser.types.js.map +0 -1
  615. package/esm/browser/cookie.d.ts +0 -26
  616. package/esm/browser/cookie.js +0 -101
  617. package/esm/browser/cookie.js.map +0 -1
  618. package/esm/browser/fetchObservable.d.ts +0 -38
  619. package/esm/browser/fetchObservable.js +0 -99
  620. package/esm/browser/fetchObservable.js.map +0 -1
  621. package/esm/browser/pageMayExitObservable.d.ts +0 -14
  622. package/esm/browser/pageMayExitObservable.js +0 -51
  623. package/esm/browser/pageMayExitObservable.js.map +0 -1
  624. package/esm/browser/runOnReadyState.d.ts +0 -5
  625. package/esm/browser/runOnReadyState.js +0 -16
  626. package/esm/browser/runOnReadyState.js.map +0 -1
  627. package/esm/browser/xhrObservable.d.ts +0 -24
  628. package/esm/browser/xhrObservable.js +0 -83
  629. package/esm/browser/xhrObservable.js.map +0 -1
  630. package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
  631. package/esm/domain/allowedTrackingOrigins.js +0 -21
  632. package/esm/domain/allowedTrackingOrigins.js.map +0 -1
  633. package/esm/domain/bufferedData.d.ts +0 -14
  634. package/esm/domain/bufferedData.js +0 -19
  635. package/esm/domain/bufferedData.js.map +0 -1
  636. package/esm/domain/configuration/configuration.d.ts +0 -284
  637. package/esm/domain/configuration/configuration.js +0 -129
  638. package/esm/domain/configuration/configuration.js.map +0 -1
  639. package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
  640. package/esm/domain/configuration/endpointBuilder.js +0 -62
  641. package/esm/domain/configuration/endpointBuilder.js.map +0 -1
  642. package/esm/domain/configuration/index.d.ts +0 -8
  643. package/esm/domain/configuration/index.js +0 -6
  644. package/esm/domain/configuration/index.js.map +0 -1
  645. package/esm/domain/configuration/remoteSdkConfig.d.ts +0 -81
  646. package/esm/domain/configuration/remoteSdkConfig.js +0 -172
  647. package/esm/domain/configuration/remoteSdkConfig.js.map +0 -1
  648. package/esm/domain/configuration/transportConfiguration.d.ts +0 -21
  649. package/esm/domain/configuration/transportConfiguration.js +0 -54
  650. package/esm/domain/configuration/transportConfiguration.js.map +0 -1
  651. package/esm/domain/connectivity/connectivity.d.ts +0 -18
  652. package/esm/domain/connectivity/connectivity.js +0 -13
  653. package/esm/domain/connectivity/connectivity.js.map +0 -1
  654. package/esm/domain/connectivity/index.d.ts +0 -1
  655. package/esm/domain/connectivity/index.js +0 -2
  656. package/esm/domain/connectivity/index.js.map +0 -1
  657. package/esm/domain/console/consoleObservable.d.ts +0 -21
  658. package/esm/domain/console/consoleObservable.js +0 -80
  659. package/esm/domain/console/consoleObservable.js.map +0 -1
  660. package/esm/domain/context/contextConstants.d.ts +0 -21
  661. package/esm/domain/context/contextConstants.js +0 -15
  662. package/esm/domain/context/contextConstants.js.map +0 -1
  663. package/esm/domain/context/contextManager.d.ts +0 -19
  664. package/esm/domain/context/contextManager.js +0 -56
  665. package/esm/domain/context/contextManager.js.map +0 -1
  666. package/esm/domain/context/contextUtils.d.ts +0 -5
  667. package/esm/domain/context/contextUtils.js +0 -13
  668. package/esm/domain/context/contextUtils.js.map +0 -1
  669. package/esm/domain/context/defineContextMethod.d.ts +0 -6
  670. package/esm/domain/context/defineContextMethod.js +0 -17
  671. package/esm/domain/context/defineContextMethod.js.map +0 -1
  672. package/esm/domain/context/storeContextManager.d.ts +0 -6
  673. package/esm/domain/context/storeContextManager.js +0 -35
  674. package/esm/domain/context/storeContextManager.js.map +0 -1
  675. package/esm/domain/contexts/accountContext.d.ts +0 -26
  676. package/esm/domain/contexts/accountContext.js +0 -29
  677. package/esm/domain/contexts/accountContext.js.map +0 -1
  678. package/esm/domain/contexts/globalContext.d.ts +0 -18
  679. package/esm/domain/contexts/globalContext.js +0 -17
  680. package/esm/domain/contexts/globalContext.js.map +0 -1
  681. package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
  682. package/esm/domain/contexts/rumInternalContext.type.js +0 -2
  683. package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
  684. package/esm/domain/contexts/userContext.d.ts +0 -32
  685. package/esm/domain/contexts/userContext.js +0 -120
  686. package/esm/domain/contexts/userContext.js.map +0 -1
  687. package/esm/domain/deflate/deflate.types.d.ts +0 -40
  688. package/esm/domain/deflate/deflate.types.js +0 -2
  689. package/esm/domain/deflate/deflate.types.js.map +0 -1
  690. package/esm/domain/deflate/index.d.ts +0 -1
  691. package/esm/domain/deflate/index.js +0 -2
  692. package/esm/domain/deflate/index.js.map +0 -1
  693. package/esm/domain/error/error.d.ts +0 -23
  694. package/esm/domain/error/error.js +0 -72
  695. package/esm/domain/error/error.js.map +0 -1
  696. package/esm/domain/error/error.types.d.ts +0 -47
  697. package/esm/domain/error/error.types.js +0 -10
  698. package/esm/domain/error/error.types.js.map +0 -1
  699. package/esm/domain/error/trackRuntimeError.d.ts +0 -11
  700. package/esm/domain/error/trackRuntimeError.js +0 -43
  701. package/esm/domain/error/trackRuntimeError.js.map +0 -1
  702. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
  703. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
  704. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
  705. package/esm/domain/extension/extensionUtils.d.ts +0 -10
  706. package/esm/domain/extension/extensionUtils.js +0 -25
  707. package/esm/domain/extension/extensionUtils.js.map +0 -1
  708. package/esm/domain/intakeSites.d.ts +0 -4
  709. package/esm/domain/intakeSites.js +0 -4
  710. package/esm/domain/intakeSites.js.map +0 -1
  711. package/esm/domain/report/browser.types.d.ts +0 -34
  712. package/esm/domain/report/browser.types.js +0 -2
  713. package/esm/domain/report/browser.types.js.map +0 -1
  714. package/esm/domain/report/reportObservable.d.ts +0 -14
  715. package/esm/domain/report/reportObservable.js +0 -95
  716. package/esm/domain/report/reportObservable.js.map +0 -1
  717. package/esm/domain/resourceUtils.d.ts +0 -18
  718. package/esm/domain/resourceUtils.js +0 -17
  719. package/esm/domain/resourceUtils.js.map +0 -1
  720. package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
  721. package/esm/domain/session/oldCookiesMigration.js +0 -36
  722. package/esm/domain/session/oldCookiesMigration.js.map +0 -1
  723. package/esm/domain/session/sessionConstants.d.ts +0 -15
  724. package/esm/domain/session/sessionConstants.js +0 -13
  725. package/esm/domain/session/sessionConstants.js.map +0 -1
  726. package/esm/domain/session/sessionManager.d.ts +0 -28
  727. package/esm/domain/session/sessionManager.js +0 -196
  728. package/esm/domain/session/sessionManager.js.map +0 -1
  729. package/esm/domain/session/sessionState.d.ts +0 -16
  730. package/esm/domain/session/sessionState.js +0 -60
  731. package/esm/domain/session/sessionState.js.map +0 -1
  732. package/esm/domain/session/sessionStateValidation.d.ts +0 -3
  733. package/esm/domain/session/sessionStateValidation.js +0 -7
  734. package/esm/domain/session/sessionStateValidation.js.map +0 -1
  735. package/esm/domain/session/sessionStore.d.ts +0 -38
  736. package/esm/domain/session/sessionStore.js +0 -180
  737. package/esm/domain/session/sessionStore.js.map +0 -1
  738. package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
  739. package/esm/domain/session/sessionStoreOperations.js +0 -114
  740. package/esm/domain/session/sessionStoreOperations.js.map +0 -1
  741. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
  742. package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
  743. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
  744. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
  745. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
  746. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
  747. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
  748. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
  749. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
  750. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
  751. package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
  752. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
  753. package/esm/domain/tags.d.ts +0 -6
  754. package/esm/domain/tags.js +0 -59
  755. package/esm/domain/tags.js.map +0 -1
  756. package/esm/domain/telemetry/index.d.ts +0 -4
  757. package/esm/domain/telemetry/index.js +0 -3
  758. package/esm/domain/telemetry/index.js.map +0 -1
  759. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
  760. package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
  761. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
  762. package/esm/domain/telemetry/telemetry.d.ts +0 -56
  763. package/esm/domain/telemetry/telemetry.js +0 -232
  764. package/esm/domain/telemetry/telemetry.js.map +0 -1
  765. package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
  766. package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
  767. package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
  768. package/esm/domain/trackingConsent.d.ts +0 -13
  769. package/esm/domain/trackingConsent.js +0 -24
  770. package/esm/domain/trackingConsent.js.map +0 -1
  771. package/esm/domain/userAgentData/index.d.ts +0 -1
  772. package/esm/domain/userAgentData/index.js +0 -2
  773. package/esm/domain/userAgentData/index.js.map +0 -1
  774. package/esm/domain/userAgentData/userAgentData.d.ts +0 -22
  775. package/esm/domain/userAgentData/userAgentData.js +0 -105
  776. package/esm/domain/userAgentData/userAgentData.js.map +0 -1
  777. package/esm/index.d.ts +0 -104
  778. package/esm/index.js +0 -79
  779. package/esm/index.js.map +0 -1
  780. package/esm/tools/abstractHooks.d.ts +0 -24
  781. package/esm/tools/abstractHooks.js +0 -37
  782. package/esm/tools/abstractHooks.js.map +0 -1
  783. package/esm/tools/abstractLifeCycle.d.ts +0 -23
  784. package/esm/tools/abstractLifeCycle.js +0 -24
  785. package/esm/tools/abstractLifeCycle.js.map +0 -1
  786. package/esm/tools/boundedBuffer.d.ts +0 -16
  787. package/esm/tools/boundedBuffer.js +0 -29
  788. package/esm/tools/boundedBuffer.js.map +0 -1
  789. package/esm/tools/catchUserErrors.d.ts +0 -1
  790. package/esm/tools/catchUserErrors.js +0 -12
  791. package/esm/tools/catchUserErrors.js.map +0 -1
  792. package/esm/tools/display.d.ts +0 -38
  793. package/esm/tools/display.js +0 -41
  794. package/esm/tools/display.js.map +0 -1
  795. package/esm/tools/encoder.d.ts +0 -54
  796. package/esm/tools/encoder.js +0 -37
  797. package/esm/tools/encoder.js.map +0 -1
  798. package/esm/tools/experimentalFeatures.d.ts +0 -21
  799. package/esm/tools/experimentalFeatures.js +0 -42
  800. package/esm/tools/experimentalFeatures.js.map +0 -1
  801. package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
  802. package/esm/tools/getZoneJsOriginalValue.js +0 -26
  803. package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
  804. package/esm/tools/globalObject.d.ts +0 -19
  805. package/esm/tools/globalObject.js +0 -40
  806. package/esm/tools/globalObject.js.map +0 -1
  807. package/esm/tools/instrumentMethod.d.ts +0 -75
  808. package/esm/tools/instrumentMethod.js +0 -114
  809. package/esm/tools/instrumentMethod.js.map +0 -1
  810. package/esm/tools/matchOption.d.ts +0 -8
  811. package/esm/tools/matchOption.js +0 -31
  812. package/esm/tools/matchOption.js.map +0 -1
  813. package/esm/tools/mergeInto.d.ts +0 -25
  814. package/esm/tools/mergeInto.js +0 -93
  815. package/esm/tools/mergeInto.js.map +0 -1
  816. package/esm/tools/monitor.d.ts +0 -9
  817. package/esm/tools/monitor.js +0 -51
  818. package/esm/tools/monitor.js.map +0 -1
  819. package/esm/tools/observable.d.ts +0 -30
  820. package/esm/tools/observable.js +0 -83
  821. package/esm/tools/observable.js.map +0 -1
  822. package/esm/tools/queueMicrotask.d.ts +0 -1
  823. package/esm/tools/queueMicrotask.js +0 -14
  824. package/esm/tools/queueMicrotask.js.map +0 -1
  825. package/esm/tools/readBytesFromStream.d.ts +0 -10
  826. package/esm/tools/readBytesFromStream.js +0 -25
  827. package/esm/tools/readBytesFromStream.js.map +0 -1
  828. package/esm/tools/requestIdleCallback.d.ts +0 -12
  829. package/esm/tools/requestIdleCallback.js +0 -30
  830. package/esm/tools/requestIdleCallback.js.map +0 -1
  831. package/esm/tools/sendToExtension.d.ts +0 -3
  832. package/esm/tools/sendToExtension.js +0 -8
  833. package/esm/tools/sendToExtension.js.map +0 -1
  834. package/esm/tools/serialisation/context.d.ts +0 -9
  835. package/esm/tools/serialisation/context.js +0 -2
  836. package/esm/tools/serialisation/context.js.map +0 -1
  837. package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
  838. package/esm/tools/serialisation/jsonStringify.js +0 -44
  839. package/esm/tools/serialisation/jsonStringify.js.map +0 -1
  840. package/esm/tools/serialisation/sanitize.d.ts +0 -18
  841. package/esm/tools/serialisation/sanitize.js +0 -185
  842. package/esm/tools/serialisation/sanitize.js.map +0 -1
  843. package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
  844. package/esm/tools/stackTrace/computeStackTrace.js +0 -183
  845. package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
  846. package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
  847. package/esm/tools/stackTrace/handlingStack.js +0 -41
  848. package/esm/tools/stackTrace/handlingStack.js.map +0 -1
  849. package/esm/tools/taskQueue.d.ts +0 -15
  850. package/esm/tools/taskQueue.js +0 -50
  851. package/esm/tools/taskQueue.js.map +0 -1
  852. package/esm/tools/timer.d.ts +0 -5
  853. package/esm/tools/timer.js +0 -16
  854. package/esm/tools/timer.js.map +0 -1
  855. package/esm/tools/utils/arrayUtils.d.ts +0 -3
  856. package/esm/tools/utils/arrayUtils.js +0 -15
  857. package/esm/tools/utils/arrayUtils.js.map +0 -1
  858. package/esm/tools/utils/browserDetection.d.ts +0 -8
  859. package/esm/tools/utils/browserDetection.js +0 -28
  860. package/esm/tools/utils/browserDetection.js.map +0 -1
  861. package/esm/tools/utils/byteUtils.d.ts +0 -8
  862. package/esm/tools/utils/byteUtils.js +0 -29
  863. package/esm/tools/utils/byteUtils.js.map +0 -1
  864. package/esm/tools/utils/functionUtils.d.ts +0 -8
  865. package/esm/tools/utils/functionUtils.js +0 -39
  866. package/esm/tools/utils/functionUtils.js.map +0 -1
  867. package/esm/tools/utils/geocoding.d.ts +0 -60
  868. package/esm/tools/utils/geocoding.js +0 -73
  869. package/esm/tools/utils/geocoding.js.map +0 -1
  870. package/esm/tools/utils/geolocation.d.ts +0 -24
  871. package/esm/tools/utils/geolocation.js +0 -71
  872. package/esm/tools/utils/geolocation.js.map +0 -1
  873. package/esm/tools/utils/numberUtils.d.ts +0 -8
  874. package/esm/tools/utils/numberUtils.js +0 -17
  875. package/esm/tools/utils/numberUtils.js.map +0 -1
  876. package/esm/tools/utils/objectUtils.d.ts +0 -10
  877. package/esm/tools/utils/objectUtils.js +0 -17
  878. package/esm/tools/utils/objectUtils.js.map +0 -1
  879. package/esm/tools/utils/polyfills.d.ts +0 -7
  880. package/esm/tools/utils/polyfills.js +0 -18
  881. package/esm/tools/utils/polyfills.js.map +0 -1
  882. package/esm/tools/utils/responseUtils.d.ts +0 -2
  883. package/esm/tools/utils/responseUtils.js +0 -13
  884. package/esm/tools/utils/responseUtils.js.map +0 -1
  885. package/esm/tools/utils/stringUtils.d.ts +0 -23
  886. package/esm/tools/utils/stringUtils.js +0 -84
  887. package/esm/tools/utils/stringUtils.js.map +0 -1
  888. package/esm/tools/utils/timeUtils.d.ts +0 -53
  889. package/esm/tools/utils/timeUtils.js +0 -84
  890. package/esm/tools/utils/timeUtils.js.map +0 -1
  891. package/esm/tools/utils/timezone.d.ts +0 -1
  892. package/esm/tools/utils/timezone.js +0 -10
  893. package/esm/tools/utils/timezone.js.map +0 -1
  894. package/esm/tools/utils/typeUtils.d.ts +0 -4
  895. package/esm/tools/utils/typeUtils.js +0 -13
  896. package/esm/tools/utils/typeUtils.js.map +0 -1
  897. package/esm/tools/utils/urlPolyfill.d.ts +0 -5
  898. package/esm/tools/utils/urlPolyfill.js +0 -52
  899. package/esm/tools/utils/urlPolyfill.js.map +0 -1
  900. package/esm/tools/valueHistory.d.ts +0 -27
  901. package/esm/tools/valueHistory.js +0 -100
  902. package/esm/tools/valueHistory.js.map +0 -1
  903. package/esm/transport/batch.d.ts +0 -16
  904. package/esm/transport/batch.js +0 -106
  905. package/esm/transport/batch.js.map +0 -1
  906. package/esm/transport/eventBridge.d.ts +0 -21
  907. package/esm/transport/eventBridge.js +0 -41
  908. package/esm/transport/eventBridge.js.map +0 -1
  909. package/esm/transport/flushController.d.ts +0 -65
  910. package/esm/transport/flushController.js +0 -119
  911. package/esm/transport/flushController.js.map +0 -1
  912. package/esm/transport/httpRequest.d.ts +0 -57
  913. package/esm/transport/httpRequest.js +0 -101
  914. package/esm/transport/httpRequest.js.map +0 -1
  915. package/esm/transport/index.d.ts +0 -7
  916. package/esm/transport/index.js +0 -5
  917. package/esm/transport/index.js.map +0 -1
  918. package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
  919. package/esm/transport/sendWithRetryStrategy.js +0 -158
  920. package/esm/transport/sendWithRetryStrategy.js.map +0 -1
  921. package/src/domain/configuration/endpointBuilder.ts +0 -105
  922. package/src/domain/configuration/transportConfiguration.ts +0 -86
  923. package/src/domain/intakeSites.ts +0 -6
  924. package/src/domain/session/oldCookiesMigration.ts +0 -42
  925. package/src/domain/session/sessionStoreOperations.ts +0 -131
  926. package/src/tools/abstractHooks.ts +0 -72
  927. package/src/tools/boundedBuffer.ts +0 -44
  928. package/src/tools/globalObject.ts +0 -51
  929. package/src/tools/mergeInto.ts +0 -177
  930. package/src/tools/monitor.ts +0 -71
  931. package/src/tools/utils/timeUtils.ts +0 -117
  932. package/src/tools/utils/typeUtils.ts +0 -12
  933. package/src/tools/utils/urlPolyfill.ts +0 -55
  934. /package/cjs/{tools/utils → domain/geo}/geocoding.d.ts +0 -0
  935. /package/cjs/{tools/utils → domain/geo}/geolocation.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":";;;AAkBA,kEA6CC;AAED,4CAEC;AAnED,oDAAgD;AAChD,wDAAuD;AAEvD,yDAAmF;AAEtE,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,SAAgB,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,uBAAU,CAAmB,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAA,oCAAiB,EAC/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,sBAAc,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,sBAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;QAED,MAAM,wBAAwB,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,gDAA2B,GAAG,EAAE;YACrG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP;;;;;;WAMG;QACH,MAAM,oBAAoB,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,wCAAuB,GAAG,EAAE;YAC7F,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;YAC1B,oBAAoB,EAAE,CAAA;QACxB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,OAAO,IAAA,wBAAY,EAAC,sBAAc,CAAC,CAAC,QAAQ,CAAC,MAAwB,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"pageMayExitObservable.js","names":["Observable","globalObject","addEventListeners","addEventListener","objectValues"],"sources":["../../src/browser/pageMayExitObservable.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { Observable } from '../tools/observable'\nimport { objectValues } from '../tools/utils/polyfills'\nimport { addEventListeners, addEventListener, DOM_EVENT } from './addEventListener'\n\nexport const PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n} as const\n\nexport type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason]\n\nexport interface PageMayExitEvent {\n reason: PageExitReason\n}\n\nexport function createPageMayExitObservable(): Observable<PageMayExitEvent> {\n return new Observable<PageMayExitEvent>((observable) => {\n const window = globalObject.window\n if (!window) {\n // Page exit is not observable in non-browser environments\n return\n }\n const { stop: stopListeners } = addEventListeners(\n window,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE],\n (event) => {\n if (event.type === DOM_EVENT.VISIBILITY_CHANGE && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n const stopBeforeUnloadListener = addEventListener(window, DOM_EVENT.BEFORE_UNLOAD, () => {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }).stop\n\n /**\n * Fires when the page is actually going away — a closed tab, a navigation,\n * or a move into the bfcache — and unlike beforeunload it is not skipped on\n * mobile or when the browser discards the tab. It does not fire on a plain\n * tab switch, so it says \"this page is done\" in a way visibilitychange\n * cannot.\n */\n const stopPageHideListener = addEventListener(window, DOM_EVENT.PAGE_HIDE, () => {\n observable.notify({ reason: PageExitReason.PAGEHIDE })\n }).stop\n\n return () => {\n stopListeners()\n stopBeforeUnloadListener()\n stopPageHideListener()\n }\n })\n}\n\nexport function isPageExitReason(reason: string): reason is PageExitReason {\n return objectValues(PageExitReason).includes(reason as PageExitReason)\n}\n"],"mappings":";;;;;AAKA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,WAAW;CACX,UAAU;CACV,QAAQ;AACV;AAQA,SAAgB,8BAA4D;CAC1E,OAAO,IAAIA,mBAAAA,YAA8B,eAAe;EACtD,MAAM,SAASC,kCAAAA,aAAa;EAC5B,IAAI,CAAC,QAEH;EAEF,MAAM,EAAE,MAAM,kBAAkBC,yBAAAA,kBAC9B,QACA,CAAA,oBAAA,QAA8C,IAC7C,UAAU;GACT,IAAI,MAAM,SAAA,sBAAwC,SAAS,oBAAoB;;;;;GAK7E,WAAW,OAAO,EAAE,QAAQ,eAAe,OAAO,CAAC;QAC9C,IAAI,MAAM,SAAA;;;;;GAKf,WAAW,OAAO,EAAE,QAAQ,eAAe,OAAO,CAAC;EAEvD,GACA,EAAE,SAAS,KAAK,CAClB;EAEA,MAAM,2BAA2BC,yBAAAA,iBAAiB,QAAA,sBAAuC;GACvF,WAAW,OAAO,EAAE,QAAQ,eAAe,UAAU,CAAC;EACxD,CAAC,CAAC,CAAC;;;;;;;;EASH,MAAM,uBAAuBA,yBAAAA,iBAAiB,QAAA,kBAAmC;GAC/E,WAAW,OAAO,EAAE,QAAQ,eAAe,SAAS,CAAC;EACvD,CAAC,CAAC,CAAC;EAEH,aAAa;GACX,cAAc;GACd,yBAAyB;GACzB,qBAAqB;EACvB;CACF,CAAC;AACH;AAEA,SAAgB,iBAAiB,QAA0C;CACzE,OAAOC,kBAAAA,aAAa,cAAc,CAAC,CAAC,SAAS,MAAwB;AACvE"}
@@ -1,5 +1,4 @@
1
- import type { Configuration } from '../domain/configuration';
2
- export declare function runOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive', callback: () => void): {
1
+ export declare function runOnReadyState(expectedReadyState: 'complete' | 'interactive', callback: () => void): {
3
2
  stop: () => void;
4
3
  };
5
- export declare function asyncRunOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive'): Promise<void>;
4
+ export declare function asyncRunOnReadyState(expectedReadyState: 'complete' | 'interactive'): Promise<void>;
@@ -1,20 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runOnReadyState = runOnReadyState;
4
- exports.asyncRunOnReadyState = asyncRunOnReadyState;
5
- const functionUtils_1 = require("../tools/utils/functionUtils");
6
- const addEventListener_1 = require("./addEventListener");
7
- function runOnReadyState(configuration, expectedReadyState, callback) {
8
- if (document.readyState === expectedReadyState || document.readyState === 'complete') {
9
- callback();
10
- return { stop: functionUtils_1.noop };
11
- }
12
- const eventName = expectedReadyState === 'complete' ? "load" /* DOM_EVENT.LOAD */ : "DOMContentLoaded" /* DOM_EVENT.DOM_CONTENT_LOADED */;
13
- return (0, addEventListener_1.addEventListener)(configuration, window, eventName, callback, { once: true });
1
+ const require_functionUtils = require("../tools/utils/functionUtils.js");
2
+ const require_addEventListener = require("./addEventListener.js");
3
+ //#region src/browser/runOnReadyState.ts
4
+ function runOnReadyState(expectedReadyState, callback) {
5
+ if (document.readyState === expectedReadyState || document.readyState === "complete") {
6
+ callback();
7
+ return { stop: require_functionUtils.noop };
8
+ }
9
+ const eventName = expectedReadyState === "complete" ? "load" : "DOMContentLoaded";
10
+ return require_addEventListener.addEventListener(window, eventName, callback, { once: true });
14
11
  }
15
- function asyncRunOnReadyState(configuration, expectedReadyState) {
16
- return new Promise((resolve) => {
17
- runOnReadyState(configuration, expectedReadyState, resolve);
18
- });
12
+ function asyncRunOnReadyState(expectedReadyState) {
13
+ return new Promise((resolve) => {
14
+ runOnReadyState(expectedReadyState, resolve);
15
+ });
19
16
  }
17
+ //#endregion
18
+ exports.asyncRunOnReadyState = asyncRunOnReadyState;
19
+ exports.runOnReadyState = runOnReadyState;
20
+
20
21
  //# sourceMappingURL=runOnReadyState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runOnReadyState.js","sourceRoot":"","sources":["../../src/browser/runOnReadyState.ts"],"names":[],"mappings":";;AAIA,0CAWC;AAED,oDAOC;AAvBD,gEAAmD;AACnD,yDAAgE;AAEhE,SAAgB,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,oBAAI,EAAE,CAAA;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,KAAK,UAAU,CAAC,CAAC,6BAAgB,CAAC,sDAA6B,CAAA;IACnG,OAAO,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,SAAgB,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"}
1
+ {"version":3,"file":"runOnReadyState.js","names":["noop","addEventListener"],"sources":["../../src/browser/runOnReadyState.ts"],"sourcesContent":["import { noop } from '../tools/utils/functionUtils'\nimport { DOM_EVENT, addEventListener } from './addEventListener'\n\nexport function runOnReadyState(\n expectedReadyState: 'complete' | 'interactive',\n callback: () => void\n): { stop: () => void } {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback()\n return { stop: noop }\n }\n const eventName = expectedReadyState === 'complete' ? DOM_EVENT.LOAD : DOM_EVENT.DOM_CONTENT_LOADED\n return addEventListener(window, eventName, callback, { once: true })\n}\n\nexport function asyncRunOnReadyState(expectedReadyState: 'complete' | 'interactive'): Promise<void> {\n return new Promise((resolve) => {\n runOnReadyState(expectedReadyState, resolve)\n })\n}\n"],"mappings":";;;AAGA,SAAgB,gBACd,oBACA,UACsB;CACtB,IAAI,SAAS,eAAe,sBAAsB,SAAS,eAAe,YAAY;EACpF,SAAS;EACT,OAAO,EAAE,MAAMA,sBAAAA,KAAK;CACtB;CACA,MAAM,YAAY,uBAAuB,aAAA,SAAA;CACzC,OAAOC,yBAAAA,iBAAiB,QAAQ,WAAW,UAAU,EAAE,MAAM,KAAK,CAAC;AACrE;AAEA,SAAgB,qBAAqB,oBAA+D;CAClG,OAAO,IAAI,SAAS,YAAY;EAC9B,gBAAgB,oBAAoB,OAAO;CAC7C,CAAC;AACH"}
@@ -0,0 +1,44 @@
1
+ import type { ClocksState } from '@kubesense/kubesense-js-core/time';
2
+ import { Observable } from '../tools/observable';
3
+ export interface WebSocketConnectingContext {
4
+ state: 'connecting';
5
+ instance: WebSocket;
6
+ url: string;
7
+ protocols?: string | string[];
8
+ startClocks: ClocksState;
9
+ }
10
+ export interface WebSocketOpenContext {
11
+ state: 'open';
12
+ instance: WebSocket;
13
+ openClocks: ClocksState;
14
+ protocol: string;
15
+ }
16
+ export interface WebSocketMessageInContext {
17
+ state: 'message-in';
18
+ instance: WebSocket;
19
+ size: number;
20
+ at: ClocksState;
21
+ }
22
+ export interface WebSocketMessageOutContext {
23
+ state: 'message-out';
24
+ instance: WebSocket;
25
+ size: number;
26
+ bufferedAmountPreSend: number;
27
+ at: ClocksState;
28
+ }
29
+ export interface WebSocketClosedContext {
30
+ state: 'closed';
31
+ instance: WebSocket;
32
+ code: number;
33
+ reason: string;
34
+ wasClean: boolean;
35
+ at: ClocksState;
36
+ }
37
+ export type WebSocketContext = WebSocketConnectingContext | WebSocketOpenContext | WebSocketMessageInContext | WebSocketMessageOutContext | WebSocketClosedContext;
38
+ export declare function initWebSocketObservable(): Observable<WebSocketContext>;
39
+ /**
40
+ * Reset the WebSocket observable global state. Test-only.
41
+ *
42
+ * @internal
43
+ */
44
+ export declare function resetWebSocketObservable(): void;
@@ -0,0 +1,92 @@
1
+ const require_observable = require("../tools/observable.js");
2
+ const require_instrumentMethod = require("../tools/instrumentMethod.js");
3
+ const require_addEventListener = require("./addEventListener.js");
4
+ const require_byteUtils = require("../tools/utils/byteUtils.js");
5
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
6
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
7
+ //#region src/browser/webSocketObservable.ts
8
+ function isGlobalWithWebSocket(global) {
9
+ return typeof global.WebSocket === "function";
10
+ }
11
+ let webSocketObservable;
12
+ function initWebSocketObservable() {
13
+ if (!webSocketObservable) webSocketObservable = createWebSocketObservable();
14
+ return webSocketObservable;
15
+ }
16
+ function createWebSocketObservable() {
17
+ return new require_observable.Observable((observable) => {
18
+ if (!isGlobalWithWebSocket(_kubesense_kubesense_js_core_util.globalObject)) return;
19
+ const { stop: stopInstrumentingConstructor } = require_instrumentMethod.instrumentConstructor(_kubesense_kubesense_js_core_util.globalObject, "WebSocket", ({ parameters, onPostCall }) => {
20
+ const protocols = Array.isArray(parameters[1]) ? [].concat(parameters[1]) : parameters[1];
21
+ const startClocks = (0, _kubesense_kubesense_js_core_time.clocksNow)();
22
+ onPostCall((instance) => {
23
+ observable.notify({
24
+ state: "connecting",
25
+ instance,
26
+ url: instance.url,
27
+ protocols,
28
+ startClocks
29
+ });
30
+ attachInstanceListeners(instance, observable);
31
+ });
32
+ });
33
+ const { stop: stopInstrumentingSend } = require_instrumentMethod.instrumentMethod(_kubesense_kubesense_js_core_util.globalObject.WebSocket.prototype, "send", ({ target: instance, parameters: [data], onPostCall }) => {
34
+ const size = computePayloadSize(data);
35
+ const bufferedAmountPreSend = instance.bufferedAmount;
36
+ onPostCall(() => {
37
+ observable.notify({
38
+ state: "message-out",
39
+ instance,
40
+ size,
41
+ bufferedAmountPreSend,
42
+ at: (0, _kubesense_kubesense_js_core_time.clocksNow)()
43
+ });
44
+ });
45
+ });
46
+ return () => {
47
+ stopInstrumentingConstructor();
48
+ stopInstrumentingSend();
49
+ };
50
+ });
51
+ }
52
+ function attachInstanceListeners(instance, observable) {
53
+ const { stop: stopOpen } = require_addEventListener.addEventListener(instance, "open", () => {
54
+ observable.notify({
55
+ state: "open",
56
+ instance,
57
+ openClocks: (0, _kubesense_kubesense_js_core_time.clocksNow)(),
58
+ protocol: instance.protocol || ""
59
+ });
60
+ stopOpen();
61
+ });
62
+ const { stop: stopMessage } = require_addEventListener.addEventListener(instance, "message", (event) => {
63
+ observable.notify({
64
+ state: "message-in",
65
+ instance,
66
+ size: computePayloadSize(event.data),
67
+ at: (0, _kubesense_kubesense_js_core_time.clocksNow)()
68
+ });
69
+ });
70
+ const { stop: stopClose } = require_addEventListener.addEventListener(instance, "close", (event) => {
71
+ observable.notify({
72
+ state: "closed",
73
+ instance,
74
+ code: event.code,
75
+ reason: event.reason,
76
+ wasClean: event.wasClean,
77
+ at: (0, _kubesense_kubesense_js_core_time.clocksNow)()
78
+ });
79
+ stopMessage();
80
+ stopClose();
81
+ });
82
+ }
83
+ function computePayloadSize(data) {
84
+ if (typeof data === "string") return require_byteUtils.computeBytesCount(data);
85
+ if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) return data.byteLength;
86
+ if (typeof Blob !== "undefined" && data instanceof Blob) return data.size;
87
+ return 0;
88
+ }
89
+ //#endregion
90
+ exports.initWebSocketObservable = initWebSocketObservable;
91
+
92
+ //# sourceMappingURL=webSocketObservable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webSocketObservable.js","names":["Observable","globalObject","instrumentConstructor","clocksNow","instrumentMethod","addEventListener","computeBytesCount"],"sources":["../../src/browser/webSocketObservable.ts"],"sourcesContent":["import type { ClocksState } from '@kubesense/kubesense-js-core/time'\nimport { clocksNow } from '@kubesense/kubesense-js-core/time'\nimport type { GlobalObject } from '@kubesense/kubesense-js-core/util'\nimport { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { instrumentConstructor, instrumentMethod } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport { computeBytesCount } from '../tools/utils/byteUtils'\nimport { addEventListener } from './addEventListener'\n\ntype GlobalWithWebSocket = GlobalObject & { WebSocket: typeof WebSocket }\n\nfunction isGlobalWithWebSocket(global: GlobalObject): global is GlobalWithWebSocket {\n return typeof (global as { WebSocket?: unknown }).WebSocket === 'function'\n}\n\nexport interface WebSocketConnectingContext {\n state: 'connecting'\n instance: WebSocket\n url: string\n protocols?: string | string[]\n startClocks: ClocksState\n}\n\nexport interface WebSocketOpenContext {\n state: 'open'\n instance: WebSocket\n openClocks: ClocksState\n protocol: string\n}\n\nexport interface WebSocketMessageInContext {\n state: 'message-in'\n instance: WebSocket\n size: number\n at: ClocksState\n}\n\nexport interface WebSocketMessageOutContext {\n state: 'message-out'\n instance: WebSocket\n size: number\n bufferedAmountPreSend: number\n at: ClocksState\n}\n\nexport interface WebSocketClosedContext {\n state: 'closed'\n instance: WebSocket\n code: number\n reason: string\n wasClean: boolean\n at: ClocksState\n}\n\nexport type WebSocketContext =\n | WebSocketConnectingContext\n | WebSocketOpenContext\n | WebSocketMessageInContext\n | WebSocketMessageOutContext\n | WebSocketClosedContext\n\nlet webSocketObservable: Observable<WebSocketContext> | undefined\n\nexport function initWebSocketObservable(): Observable<WebSocketContext> {\n if (!webSocketObservable) {\n webSocketObservable = createWebSocketObservable()\n }\n\n return webSocketObservable\n}\n\nfunction createWebSocketObservable() {\n return new Observable<WebSocketContext>((observable) => {\n if (!isGlobalWithWebSocket(globalObject)) {\n return undefined\n }\n\n const { stop: stopInstrumentingConstructor } = instrumentConstructor(\n globalObject,\n 'WebSocket',\n ({ parameters, onPostCall }) => {\n const protocols = Array.isArray(parameters[1]) ? ([] as string[]).concat(parameters[1]) : parameters[1]\n const startClocks = clocksNow()\n\n onPostCall((instance) => {\n observable.notify({\n state: 'connecting',\n instance,\n url: instance.url,\n protocols,\n startClocks,\n })\n\n attachInstanceListeners(instance, observable)\n })\n }\n )\n\n const { stop: stopInstrumentingSend } = instrumentMethod(\n globalObject.WebSocket.prototype,\n 'send',\n ({ target: instance, parameters: [data], onPostCall }) => {\n const size = computePayloadSize(data)\n const bufferedAmountPreSend = instance.bufferedAmount\n\n onPostCall(() => {\n observable.notify({\n state: 'message-out',\n instance,\n size,\n bufferedAmountPreSend,\n at: clocksNow(),\n })\n })\n }\n )\n\n return () => {\n stopInstrumentingConstructor()\n stopInstrumentingSend()\n }\n })\n}\n\nfunction attachInstanceListeners(instance: WebSocket, observable: Observable<WebSocketContext>) {\n const { stop: stopOpen } = addEventListener(instance, 'open', () => {\n observable.notify({\n state: 'open',\n instance,\n openClocks: clocksNow(),\n protocol: instance.protocol || '',\n })\n\n stopOpen()\n })\n\n const { stop: stopMessage } = addEventListener(instance, 'message', (event) => {\n observable.notify({\n state: 'message-in',\n instance,\n size: computePayloadSize(event.data),\n at: clocksNow(),\n })\n })\n\n const { stop: stopClose } = addEventListener(instance, 'close', (event) => {\n observable.notify({\n state: 'closed',\n instance,\n code: event.code,\n reason: event.reason,\n wasClean: event.wasClean,\n at: clocksNow(),\n })\n\n stopMessage()\n stopClose()\n })\n}\n\nfunction computePayloadSize(data: unknown): number {\n if (typeof data === 'string') {\n return computeBytesCount(data)\n }\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n return data.byteLength\n }\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return data.size\n }\n return 0\n}\n\n/**\n * Reset the WebSocket observable global state. Test-only.\n *\n * @internal\n */\nexport function resetWebSocketObservable() {\n webSocketObservable = undefined\n}\n"],"mappings":";;;;;;;AAWA,SAAS,sBAAsB,QAAqD;CAClF,OAAO,OAAQ,OAAmC,cAAc;AAClE;AAgDA,IAAI;AAEJ,SAAgB,0BAAwD;CACtE,IAAI,CAAC,qBACH,sBAAsB,0BAA0B;CAGlD,OAAO;AACT;AAEA,SAAS,4BAA4B;CACnC,OAAO,IAAIA,mBAAAA,YAA8B,eAAe;EACtD,IAAI,CAAC,sBAAsBC,kCAAAA,YAAY,GACrC;EAGF,MAAM,EAAE,MAAM,iCAAiCC,yBAAAA,sBAC7CD,kCAAAA,cACA,cACC,EAAE,YAAY,iBAAiB;GAC9B,MAAM,YAAY,MAAM,QAAQ,WAAW,EAAE,IAAK,CAAC,CAAC,CAAc,OAAO,WAAW,EAAE,IAAI,WAAW;GACrG,MAAM,eAAA,GAAcE,kCAAAA,UAAAA,CAAU;GAE9B,YAAY,aAAa;IACvB,WAAW,OAAO;KAChB,OAAO;KACP;KACA,KAAK,SAAS;KACd;KACA;IACF,CAAC;IAED,wBAAwB,UAAU,UAAU;GAC9C,CAAC;EACH,CACF;EAEA,MAAM,EAAE,MAAM,0BAA0BC,yBAAAA,iBACtCH,kCAAAA,aAAa,UAAU,WACvB,SACC,EAAE,QAAQ,UAAU,YAAY,CAAC,OAAO,iBAAiB;GACxD,MAAM,OAAO,mBAAmB,IAAI;GACpC,MAAM,wBAAwB,SAAS;GAEvC,iBAAiB;IACf,WAAW,OAAO;KAChB,OAAO;KACP;KACA;KACA;KACA,KAAA,GAAIE,kCAAAA,UAAAA,CAAU;IAChB,CAAC;GACH,CAAC;EACH,CACF;EAEA,aAAa;GACX,6BAA6B;GAC7B,sBAAsB;EACxB;CACF,CAAC;AACH;AAEA,SAAS,wBAAwB,UAAqB,YAA0C;CAC9F,MAAM,EAAE,MAAM,aAAaE,yBAAAA,iBAAiB,UAAU,cAAc;EAClE,WAAW,OAAO;GAChB,OAAO;GACP;GACA,aAAA,GAAYF,kCAAAA,UAAAA,CAAU;GACtB,UAAU,SAAS,YAAY;EACjC,CAAC;EAED,SAAS;CACX,CAAC;CAED,MAAM,EAAE,MAAM,gBAAgBE,yBAAAA,iBAAiB,UAAU,YAAY,UAAU;EAC7E,WAAW,OAAO;GAChB,OAAO;GACP;GACA,MAAM,mBAAmB,MAAM,IAAI;GACnC,KAAA,GAAIF,kCAAAA,UAAAA,CAAU;EAChB,CAAC;CACH,CAAC;CAED,MAAM,EAAE,MAAM,cAAcE,yBAAAA,iBAAiB,UAAU,UAAU,UAAU;EACzE,WAAW,OAAO;GAChB,OAAO;GACP;GACA,MAAM,MAAM;GACZ,QAAQ,MAAM;GACd,UAAU,MAAM;GAChB,KAAA,GAAIF,kCAAAA,UAAAA,CAAU;EAChB,CAAC;EAED,YAAY;EACZ,UAAU;CACZ,CAAC;AACH;AAEA,SAAS,mBAAmB,MAAuB;CACjD,IAAI,OAAO,SAAS,UAClB,OAAOG,kBAAAA,kBAAkB,IAAI;CAE/B,IAAI,gBAAgB,eAAe,YAAY,OAAO,IAAI,GACxD,OAAO,KAAK;CAEd,IAAI,OAAO,SAAS,eAAe,gBAAgB,MACjD,OAAO,KAAK;CAEd,OAAO;AACT"}
@@ -1,6 +1,5 @@
1
+ import type { Duration, ClocksState } from '@kubesense/kubesense-js-core/time';
1
2
  import { Observable } from '../tools/observable';
2
- import type { Duration, ClocksState } from '../tools/utils/timeUtils';
3
- import type { Configuration } from '../domain/configuration';
4
3
  export interface XhrOpenContext {
5
4
  state: 'open';
6
5
  method: string;
@@ -21,4 +20,10 @@ export interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {
21
20
  responseBody?: string;
22
21
  }
23
22
  export type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext;
24
- export declare function initXhrObservable(configuration: Configuration): Observable<XhrContext>;
23
+ export declare function initXhrObservable(): Observable<XhrContext>;
24
+ /**
25
+ * Reset the XHR observable global state. This is useful for testing to ensure clean state between tests.
26
+ *
27
+ * @internal
28
+ */
29
+ export declare function resetXhrObservable(): void;
@@ -1,86 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initXhrObservable = initXhrObservable;
4
- const instrumentMethod_1 = require("../tools/instrumentMethod");
5
- const observable_1 = require("../tools/observable");
6
- const timeUtils_1 = require("../tools/utils/timeUtils");
7
- const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
8
- const objectUtils_1 = require("../tools/utils/objectUtils");
9
- const addEventListener_1 = require("./addEventListener");
1
+ const require_observable = require("../tools/observable.js");
2
+ const require_instrumentMethod = require("../tools/instrumentMethod.js");
3
+ const require_addEventListener = require("./addEventListener.js");
4
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
5
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
6
+ //#region src/browser/xhrObservable.ts
10
7
  let xhrObservable;
11
- const xhrContexts = new WeakMap();
12
- function initXhrObservable(configuration) {
13
- if (!xhrObservable) {
14
- xhrObservable = createXhrObservable(configuration);
15
- }
16
- return xhrObservable;
8
+ const xhrContexts = /* @__PURE__ */ new WeakMap();
9
+ function initXhrObservable() {
10
+ if (!xhrObservable) xhrObservable = createXhrObservable();
11
+ return xhrObservable;
17
12
  }
18
- function createXhrObservable(configuration) {
19
- return new observable_1.Observable((observable) => {
20
- const { stop: stopInstrumentingStart } = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'open', openXhr);
21
- const { stop: stopInstrumentingSend } = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'send', (call) => {
22
- sendXhr(call, configuration, observable);
23
- }, { computeHandlingStack: true });
24
- const { stop: stopInstrumentingAbort } = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'abort', abortXhr);
25
- return () => {
26
- stopInstrumentingStart();
27
- stopInstrumentingSend();
28
- stopInstrumentingAbort();
29
- };
30
- });
13
+ function createXhrObservable() {
14
+ if (!("XMLHttpRequest" in _kubesense_kubesense_js_core_util.globalObject)) return new require_observable.Observable();
15
+ return new require_observable.Observable((observable) => {
16
+ const { stop: stopInstrumentingStart } = require_instrumentMethod.instrumentMethod(XMLHttpRequest.prototype, "open", openXhr);
17
+ const { stop: stopInstrumentingSend } = require_instrumentMethod.instrumentMethod(XMLHttpRequest.prototype, "send", (call) => {
18
+ sendXhr(call, observable);
19
+ }, { computeHandlingStack: true });
20
+ const { stop: stopInstrumentingAbort } = require_instrumentMethod.instrumentMethod(XMLHttpRequest.prototype, "abort", abortXhr);
21
+ return () => {
22
+ stopInstrumentingStart();
23
+ stopInstrumentingSend();
24
+ stopInstrumentingAbort();
25
+ };
26
+ });
31
27
  }
32
28
  function openXhr({ target: xhr, parameters: [method, url] }) {
33
- xhrContexts.set(xhr, {
34
- state: 'open',
35
- method: String(method).toUpperCase(),
36
- url: (0, urlPolyfill_1.normalizeUrl)(String(url)),
37
- });
29
+ xhrContexts.set(xhr, {
30
+ state: "open",
31
+ method: String(method).toUpperCase(),
32
+ url: (0, _kubesense_kubesense_js_core_util.normalizeUrl)(String(url))
33
+ });
38
34
  }
39
- function sendXhr({ target: xhr, parameters: [body], handlingStack }, configuration, observable) {
40
- const context = xhrContexts.get(xhr);
41
- if (!context) {
42
- return;
43
- }
44
- const startContext = context;
45
- startContext.state = 'start';
46
- startContext.startClocks = (0, timeUtils_1.clocksNow)();
47
- startContext.isAborted = false;
48
- startContext.xhr = xhr;
49
- startContext.handlingStack = handlingStack;
50
- startContext.requestBody = body;
51
- let hasBeenReported = false;
52
- const { stop: stopInstrumentingOnReadyStateChange } = (0, instrumentMethod_1.instrumentMethod)(xhr, 'onreadystatechange', () => {
53
- if (xhr.readyState === XMLHttpRequest.DONE) {
54
- // Try to report the XHR as soon as possible, because the XHR may be mutated by the
55
- // application during a future event. For example, Angular is calling .abort() on
56
- // completed requests during an onreadystatechange event, so the status becomes '0'
57
- // before the request is collected.
58
- onEnd();
59
- }
60
- });
61
- const onEnd = () => {
62
- unsubscribeLoadEndListener();
63
- stopInstrumentingOnReadyStateChange();
64
- if (hasBeenReported) {
65
- return;
66
- }
67
- hasBeenReported = true;
68
- const completeContext = context;
69
- completeContext.state = 'complete';
70
- completeContext.duration = (0, timeUtils_1.elapsed)(startContext.startClocks.timeStamp, (0, timeUtils_1.timeStampNow)());
71
- completeContext.status = xhr.status;
72
- if (typeof xhr.response === 'string') {
73
- completeContext.responseBody = xhr.response;
74
- }
75
- observable.notify((0, objectUtils_1.shallowClone)(completeContext));
76
- };
77
- const { stop: unsubscribeLoadEndListener } = (0, addEventListener_1.addEventListener)(configuration, xhr, 'loadend', onEnd);
78
- observable.notify(startContext);
35
+ function sendXhr({ target: xhr, parameters: [body], handlingStack }, observable) {
36
+ const context = xhrContexts.get(xhr);
37
+ if (!context) return;
38
+ const startContext = context;
39
+ startContext.state = "start";
40
+ startContext.startClocks = (0, _kubesense_kubesense_js_core_time.clocksNow)();
41
+ startContext.isAborted = false;
42
+ startContext.xhr = xhr;
43
+ startContext.handlingStack = handlingStack;
44
+ startContext.requestBody = body;
45
+ let hasBeenReported = false;
46
+ const { stop: stopInstrumentingOnReadyStateChange } = require_instrumentMethod.instrumentMethod(xhr, "onreadystatechange", () => {
47
+ if (xhr.readyState === XMLHttpRequest.DONE) onEnd();
48
+ });
49
+ const onEnd = () => {
50
+ unsubscribeLoadEndListener();
51
+ stopInstrumentingOnReadyStateChange();
52
+ if (hasBeenReported) return;
53
+ hasBeenReported = true;
54
+ const completeContext = context;
55
+ completeContext.duration = (0, _kubesense_kubesense_js_core_time.elapsed)(startContext.startClocks.timeStamp, (0, _kubesense_kubesense_js_core_time.timeStampNow)());
56
+ completeContext.status = xhr.status;
57
+ if (typeof xhr.response === "string") completeContext.responseBody = xhr.response;
58
+ observable.notify({
59
+ ...completeContext,
60
+ state: "complete"
61
+ });
62
+ };
63
+ const { stop: unsubscribeLoadEndListener } = require_addEventListener.addEventListener(xhr, "loadend", onEnd);
64
+ observable.notify(startContext);
79
65
  }
80
66
  function abortXhr({ target: xhr }) {
81
- const context = xhrContexts.get(xhr);
82
- if (context) {
83
- context.isAborted = true;
84
- }
67
+ const context = xhrContexts.get(xhr);
68
+ if (context) context.isAborted = true;
85
69
  }
70
+ //#endregion
71
+ exports.initXhrObservable = initXhrObservable;
72
+
86
73
  //# sourceMappingURL=xhrObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xhrObservable.js","sourceRoot":"","sources":["../../src/browser/xhrObservable.ts"],"names":[],"mappings":";;AAqCA,8CAKC;AAzCD,gEAA4D;AAC5D,oDAAgD;AAEhD,wDAA2E;AAC3E,4DAAyD;AACzD,4DAAyD;AAEzD,yDAAqD;AA0BrD,IAAI,aAAiD,CAAA;AACrD,MAAM,WAAW,GAAG,IAAI,OAAO,EAA8B,CAAA;AAE7D,SAAgB,iBAAiB,CAAC,aAA4B;IAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,aAA4B;IACvD,OAAO,IAAI,uBAAU,CAAa,CAAC,UAAU,EAAE,EAAE;QAC/C,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,IAAA,mCAAgB,EAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAEpG,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,IAAA,mCAAgB,EACtD,cAAc,CAAC,SAAS,EACxB,MAAM,EACN,CAAC,IAAI,EAAE,EAAE;YACP,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;QAC1C,CAAC,EACD,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAC/B,CAAA;QAED,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,IAAA,mCAAgB,EAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAEtG,OAAO,GAAG,EAAE;YACV,sBAAsB,EAAE,CAAA;YACxB,qBAAqB,EAAE,CAAA;YACvB,sBAAsB,EAAE,CAAA;QAC1B,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAkD;IACzG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;QACnB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;QACpC,GAAG,EAAE,IAAA,0BAAY,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC/B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,OAAO,CACd,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAkD,EAClG,aAA4B,EAC5B,UAAkC;IAElC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,OAA0B,CAAA;IAC/C,YAAY,CAAC,KAAK,GAAG,OAAO,CAAA;IAC5B,YAAY,CAAC,WAAW,GAAG,IAAA,qBAAS,GAAE,CAAA;IACtC,YAAY,CAAC,SAAS,GAAG,KAAK,CAAA;IAC9B,YAAY,CAAC,GAAG,GAAG,GAAG,CAAA;IACtB,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;IAC1C,YAAY,CAAC,WAAW,GAAG,IAAI,CAAA;IAE/B,IAAI,eAAe,GAAG,KAAK,CAAA;IAE3B,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE;QACrG,IAAI,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3C,mFAAmF;YACnF,iFAAiF;YACjF,mFAAmF;YACnF,mCAAmC;YACnC,KAAK,EAAE,CAAA;QACT,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,0BAA0B,EAAE,CAAA;QAC5B,mCAAmC,EAAE,CAAA;QACrC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QACD,eAAe,GAAG,IAAI,CAAA;QAEtB,MAAM,eAAe,GAAG,OAA6B,CAAA;QACrD,eAAe,CAAC,KAAK,GAAG,UAAU,CAAA;QAClC,eAAe,CAAC,QAAQ,GAAG,IAAA,mBAAO,EAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,IAAA,wBAAY,GAAE,CAAC,CAAA;QACtF,eAAe,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACnC,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,eAAe,CAAC,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAA;QAC7C,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,IAAA,0BAAY,EAAC,eAAe,CAAC,CAAC,CAAA;IAClD,CAAC,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAEnG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAmD;IAChF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAgC,CAAA;IACnE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAA;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"xhrObservable.js","names":["globalObject","Observable","instrumentMethod","normalizeUrl","clocksNow","elapsed","timeStampNow","addEventListener"],"sources":["../../src/browser/xhrObservable.ts"],"sourcesContent":["import { elapsed, timeStampNow, clocksNow } from '@kubesense/kubesense-js-core/time'\nimport type { Duration, ClocksState } from '@kubesense/kubesense-js-core/time'\nimport { normalizeUrl, globalObject } from '@kubesense/kubesense-js-core/util'\nimport type { InstrumentedMethodCall } from '../tools/instrumentMethod'\nimport { instrumentMethod } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport { addEventListener } from './addEventListener'\n\nexport interface XhrOpenContext {\n state: 'open'\n method: string\n url: string\n}\n\nexport interface XhrStartContext extends Omit<XhrOpenContext, 'state'> {\n state: 'start'\n startClocks: ClocksState\n isAborted: boolean\n xhr: XMLHttpRequest\n handlingStack?: string\n requestBody?: unknown\n}\n\nexport interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {\n state: 'complete'\n duration: Duration\n status: number\n responseBody?: string\n}\n\nexport type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext\n\nlet xhrObservable: Observable<XhrContext> | undefined\nconst xhrContexts = new WeakMap<XMLHttpRequest, XhrContext>()\n\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n if (!('XMLHttpRequest' in globalObject)) {\n return new Observable<XhrContext>()\n }\n\n return new Observable<XhrContext>((observable) => {\n const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr)\n\n const { stop: stopInstrumentingSend } = instrumentMethod(\n XMLHttpRequest.prototype,\n 'send',\n (call) => {\n sendXhr(call, observable)\n },\n { computeHandlingStack: true }\n )\n\n const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr)\n\n return () => {\n stopInstrumentingStart()\n stopInstrumentingSend()\n stopInstrumentingAbort()\n }\n })\n}\n\nfunction openXhr({ target: xhr, parameters: [method, url] }: InstrumentedMethodCall<XMLHttpRequest, 'open'>) {\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n })\n}\n\nfunction sendXhr(\n { target: xhr, parameters: [body], handlingStack }: InstrumentedMethodCall<XMLHttpRequest, 'send'>,\n observable: Observable<XhrContext>\n) {\n const context = xhrContexts.get(xhr)\n if (!context) {\n return\n }\n\n const startContext = context as XhrStartContext\n startContext.state = 'start'\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = xhr\n startContext.handlingStack = handlingStack\n startContext.requestBody = body\n\n let hasBeenReported = false\n\n const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, 'onreadystatechange', () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd()\n }\n })\n\n const onEnd = () => {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n\n const completeContext = context as XhrCompleteContext\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow())\n completeContext.status = xhr.status\n if (typeof xhr.response === 'string') {\n completeContext.responseBody = xhr.response\n }\n observable.notify({ ...completeContext, state: 'complete' })\n }\n\n const { stop: unsubscribeLoadEndListener } = addEventListener(xhr, 'loadend', onEnd)\n\n observable.notify(startContext)\n}\n\nfunction abortXhr({ target: xhr }: InstrumentedMethodCall<XMLHttpRequest, 'abort'>) {\n const context = xhrContexts.get(xhr) as XhrStartContext | undefined\n if (context) {\n context.isAborted = true\n }\n}\n\n/**\n * Reset the XHR observable global state. This is useful for testing to ensure clean state between tests.\n *\n * @internal\n */\nexport function resetXhrObservable() {\n xhrObservable = undefined\n}\n"],"mappings":";;;;;;AAgCA,IAAI;AACJ,MAAM,8BAAc,IAAI,QAAoC;AAE5D,SAAgB,oBAAoB;CAClC,IAAI,CAAC,eACH,gBAAgB,oBAAoB;CAEtC,OAAO;AACT;AAEA,SAAS,sBAAsB;CAC7B,IAAI,EAAE,oBAAoBA,kCAAAA,eACxB,OAAO,IAAIC,mBAAAA,WAAuB;CAGpC,OAAO,IAAIA,mBAAAA,YAAwB,eAAe;EAChD,MAAM,EAAE,MAAM,2BAA2BC,yBAAAA,iBAAiB,eAAe,WAAW,QAAQ,OAAO;EAEnG,MAAM,EAAE,MAAM,0BAA0BA,yBAAAA,iBACtC,eAAe,WACf,SACC,SAAS;GACR,QAAQ,MAAM,UAAU;EAC1B,GACA,EAAE,sBAAsB,KAAK,CAC/B;EAEA,MAAM,EAAE,MAAM,2BAA2BA,yBAAAA,iBAAiB,eAAe,WAAW,SAAS,QAAQ;EAErG,aAAa;GACX,uBAAuB;GACvB,sBAAsB;GACtB,uBAAuB;EACzB;CACF,CAAC;AACH;AAEA,SAAS,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,QAAQ,QAAwD;CAC3G,YAAY,IAAI,KAAK;EACnB,OAAO;EACP,QAAQ,OAAO,MAAM,CAAC,CAAC,YAAY;EACnC,MAAA,GAAKC,kCAAAA,aAAAA,CAAa,OAAO,GAAG,CAAC;CAC/B,CAAC;AACH;AAEA,SAAS,QACP,EAAE,QAAQ,KAAK,YAAY,CAAC,OAAO,iBACnC,YACA;CACA,MAAM,UAAU,YAAY,IAAI,GAAG;CACnC,IAAI,CAAC,SACH;CAGF,MAAM,eAAe;CACrB,aAAa,QAAQ;CACrB,aAAa,eAAA,GAAcC,kCAAAA,UAAAA,CAAU;CACrC,aAAa,YAAY;CACzB,aAAa,MAAM;CACnB,aAAa,gBAAgB;CAC7B,aAAa,cAAc;CAE3B,IAAI,kBAAkB;CAEtB,MAAM,EAAE,MAAM,wCAAwCF,yBAAAA,iBAAiB,KAAK,4BAA4B;EACtG,IAAI,IAAI,eAAe,eAAe,MAKpC,MAAM;CAEV,CAAC;CAED,MAAM,cAAc;EAClB,2BAA2B;EAC3B,oCAAoC;EACpC,IAAI,iBACF;EAEF,kBAAkB;EAElB,MAAM,kBAAkB;EACxB,gBAAgB,YAAA,GAAWG,kCAAAA,QAAAA,CAAQ,aAAa,YAAY,YAAA,GAAWC,kCAAAA,aAAAA,CAAa,CAAC;EACrF,gBAAgB,SAAS,IAAI;EAC7B,IAAI,OAAO,IAAI,aAAa,UAC1B,gBAAgB,eAAe,IAAI;EAErC,WAAW,OAAO;GAAE,GAAG;GAAiB,OAAO;EAAW,CAAC;CAC7D;CAEA,MAAM,EAAE,MAAM,+BAA+BC,yBAAAA,iBAAiB,KAAK,WAAW,KAAK;CAEnF,WAAW,OAAO,YAAY;AAChC;AAEA,SAAS,SAAS,EAAE,QAAQ,OAAwD;CAClF,MAAM,UAAU,YAAY,IAAI,GAAG;CACnC,IAAI,SACF,QAAQ,YAAY;AAExB"}
@@ -1,4 +1,4 @@
1
- import type { InitConfiguration } from './configuration';
1
+ import type { Configuration } from './configuration';
2
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
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;
4
+ export declare function isAllowedTrackingOrigins(configuration: Configuration, errorStack: string): boolean;
@@ -1,25 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = void 0;
4
- exports.isAllowedTrackingOrigins = isAllowedTrackingOrigins;
5
- const display_1 = require("../tools/display");
6
- const matchOption_1 = require("../tools/matchOption");
7
- const extensionUtils_1 = require("./extension/extensionUtils");
8
- exports.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.';
9
- exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.';
10
- function isAllowedTrackingOrigins(configuration, errorStack, windowOrigin = typeof location !== 'undefined' ? location.origin : '') {
11
- const allowedTrackingOrigins = configuration.allowedTrackingOrigins;
12
- if (!allowedTrackingOrigins) {
13
- if ((0, extensionUtils_1.isUnsupportedExtensionEnvironment)(windowOrigin, errorStack)) {
14
- display_1.display.error(exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN);
15
- return false;
16
- }
17
- return true;
18
- }
19
- const isAllowed = (0, matchOption_1.matchList)(allowedTrackingOrigins, windowOrigin);
20
- if (!isAllowed) {
21
- display_1.display.error(exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN);
22
- }
23
- return isAllowed;
1
+ const require_display = require("../tools/display.js");
2
+ const require_matchOption = require("../tools/matchOption.js");
3
+ const require_mockable = require("../tools/mockable.js");
4
+ const require_extensionUtils = require("./extension/extensionUtils.js");
5
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
6
+ //#region src/domain/allowedTrackingOrigins.ts
7
+ 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.";
8
+ const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = "SDK initialized on a non-allowed domain.";
9
+ function isAllowedTrackingOrigins(configuration, errorStack) {
10
+ const location = require_mockable.mockable(_kubesense_kubesense_js_core_util.globalObject.location);
11
+ const windowOrigin = location ? location.origin : "";
12
+ const allowedTrackingOrigins = configuration.allowedTrackingOrigins;
13
+ if (!allowedTrackingOrigins) {
14
+ if (require_extensionUtils.isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {
15
+ require_display.display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN);
16
+ return false;
17
+ }
18
+ return true;
19
+ }
20
+ const isAllowed = require_matchOption.matchList(allowedTrackingOrigins, windowOrigin);
21
+ if (!isAllowed) require_display.display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN);
22
+ return isAllowed;
24
23
  }
24
+ //#endregion
25
+ exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN;
26
+ exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = ERROR_NOT_ALLOWED_TRACKING_ORIGIN;
27
+ exports.isAllowedTrackingOrigins = isAllowedTrackingOrigins;
28
+
25
29
  //# sourceMappingURL=allowedTrackingOrigins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allowedTrackingOrigins.js","sourceRoot":"","sources":["../../src/domain/allowedTrackingOrigins.ts"],"names":[],"mappings":";;;AASA,4DAmBC;AA5BD,8CAA0C;AAC1C,sDAAgD;AAEhD,+DAA8E;AAEjE,QAAA,2CAA2C,GACtD,gIAAgI,CAAA;AACrH,QAAA,iCAAiC,GAAG,0CAA0C,CAAA;AAE3F,SAAgB,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,IAAA,kDAAiC,EAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;YAChE,iBAAO,CAAC,KAAK,CAAC,mDAA2C,CAAC,CAAA;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,uBAAS,EAAC,sBAAsB,EAAE,YAAY,CAAC,CAAA;IACjE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,iBAAO,CAAC,KAAK,CAAC,yCAAiC,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"allowedTrackingOrigins.js","names":["mockable","globalObject","isUnsupportedExtensionEnvironment","matchList"],"sources":["../../src/domain/allowedTrackingOrigins.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { display } from '../tools/display'\nimport { matchList } from '../tools/matchOption'\nimport { mockable } from '../tools/mockable'\nimport type { Configuration } from './configuration'\nimport { isUnsupportedExtensionEnvironment } from './extension/extensionUtils'\n\nexport const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN =\n 'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.'\nexport const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.'\n\nexport function isAllowedTrackingOrigins(configuration: Configuration, errorStack: string): boolean {\n const location = mockable(globalObject.location)\n const windowOrigin = location ? location.origin : ''\n const allowedTrackingOrigins = configuration.allowedTrackingOrigins\n if (!allowedTrackingOrigins) {\n if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {\n display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN)\n\n return false\n }\n return true\n }\n\n const isAllowed = matchList(allowedTrackingOrigins, windowOrigin)\n if (!isAllowed) {\n display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN)\n }\n return isAllowed\n}\n"],"mappings":";;;;;;AAOA,MAAa,8CACX;AACF,MAAa,oCAAoC;AAEjD,SAAgB,yBAAyB,eAA8B,YAA6B;CAClG,MAAM,WAAWA,iBAAAA,SAASC,kCAAAA,aAAa,QAAQ;CAC/C,MAAM,eAAe,WAAW,SAAS,SAAS;CAClD,MAAM,yBAAyB,cAAc;CAC7C,IAAI,CAAC,wBAAwB;EAC3B,IAAIC,uBAAAA,kCAAkC,cAAc,UAAU,GAAG;GAC/D,gBAAA,QAAQ,MAAM,2CAA2C;GAEzD,OAAO;EACT;EACA,OAAO;CACT;CAEA,MAAM,YAAYC,oBAAAA,UAAU,wBAAwB,YAAY;CAChE,IAAI,CAAC,WACH,gBAAA,QAAQ,MAAM,iCAAiC;CAEjD,OAAO;AACT"}
@@ -1,14 +1,28 @@
1
1
  import { BufferedObservable } from '../tools/observable';
2
+ import type { FetchContext } from '../browser/fetchObservable';
3
+ import type { XhrContext } from '../browser/xhrObservable';
2
4
  import type { RawError } from './error/error.types';
3
- import { trackRuntimeError } from './error/trackRuntimeError';
5
+ import type { ConsoleLog } from './console/consoleObservable';
4
6
  export declare const enum BufferedDataType {
5
- RUNTIME_ERROR = 0
7
+ RUNTIME_ERROR = 0,
8
+ FETCH = 1,
9
+ XHR = 2,
10
+ CONSOLE = 3
6
11
  }
7
- export interface BufferedData {
12
+ export type BufferedData = {
8
13
  type: BufferedDataType.RUNTIME_ERROR;
9
- error: RawError;
10
- }
11
- export declare function startBufferingData(trackRuntimeErrorImpl?: typeof trackRuntimeError): {
14
+ data: RawError;
15
+ } | {
16
+ type: BufferedDataType.FETCH;
17
+ data: FetchContext;
18
+ } | {
19
+ type: BufferedDataType.XHR;
20
+ data: XhrContext;
21
+ } | {
22
+ type: BufferedDataType.CONSOLE;
23
+ data: ConsoleLog;
24
+ };
25
+ export declare function startBufferingData(): {
12
26
  observable: BufferedObservable<BufferedData>;
13
27
  stop: () => void;
14
28
  };