@kubesense/kubesense-browser-rum-core 1.7.0 → 2.0.0-beta.1

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 (922) hide show
  1. package/LICENSE +1 -1
  2. package/cjs/boot/preStartRum.d.ts +4 -3
  3. package/cjs/boot/preStartRum.js +229 -204
  4. package/cjs/boot/preStartRum.js.map +1 -1
  5. package/cjs/boot/rumPublicApi.d.ts +190 -51
  6. package/cjs/boot/rumPublicApi.js +267 -164
  7. package/cjs/boot/rumPublicApi.js.map +1 -1
  8. package/cjs/boot/startRum.d.ts +42 -31
  9. package/cjs/boot/startRum.js +157 -150
  10. package/cjs/boot/startRum.js.map +1 -1
  11. package/cjs/browser/cookieObservable.d.ts +1 -5
  12. package/cjs/browser/cookieObservable.js +30 -34
  13. package/cjs/browser/cookieObservable.js.map +1 -1
  14. package/cjs/browser/domMutationObservable.d.ts +3 -3
  15. package/cjs/browser/domMutationObservable.js +29 -53
  16. package/cjs/browser/domMutationObservable.js.map +1 -1
  17. package/cjs/browser/htmlDomUtils.d.ts +5 -0
  18. package/cjs/browser/htmlDomUtils.js +38 -28
  19. package/cjs/browser/htmlDomUtils.js.map +1 -1
  20. package/cjs/browser/locationChangeObservable.d.ts +1 -2
  21. package/cjs/browser/locationChangeObservable.js +44 -45
  22. package/cjs/browser/locationChangeObservable.js.map +1 -1
  23. package/cjs/browser/performanceObservable.d.ts +4 -4
  24. package/cjs/browser/performanceObservable.js +50 -114
  25. package/cjs/browser/performanceObservable.js.map +1 -1
  26. package/cjs/browser/performanceUtils.d.ts +13 -1
  27. package/cjs/browser/performanceUtils.js +63 -37
  28. package/cjs/browser/performanceUtils.js.map +1 -1
  29. package/cjs/browser/scroll.js +17 -28
  30. package/cjs/browser/scroll.js.map +1 -1
  31. package/cjs/browser/viewportObservable.d.ts +2 -3
  32. package/cjs/browser/viewportObservable.js +29 -31
  33. package/cjs/browser/viewportObservable.js.map +1 -1
  34. package/cjs/browser/windowOpenObservable.js +11 -7
  35. package/cjs/browser/windowOpenObservable.js.map +1 -1
  36. package/cjs/domain/action/actionCollection.d.ts +11 -12
  37. package/cjs/domain/action/actionCollection.js +82 -89
  38. package/cjs/domain/action/actionCollection.js.map +1 -1
  39. package/cjs/domain/action/actionNameConstants.js +10 -9
  40. package/cjs/domain/action/actionNameConstants.js.map +1 -1
  41. package/cjs/domain/action/clickChain.js +51 -54
  42. package/cjs/domain/action/clickChain.js.map +1 -1
  43. package/cjs/domain/action/computeFrustration.js +30 -62
  44. package/cjs/domain/action/computeFrustration.js.map +1 -1
  45. package/cjs/domain/action/frustrationIgnore.d.ts +9 -0
  46. package/cjs/domain/action/frustrationIgnore.js +32 -0
  47. package/cjs/domain/action/frustrationIgnore.js.map +1 -0
  48. package/cjs/domain/action/getActionNameFromElement.js +141 -217
  49. package/cjs/domain/action/getActionNameFromElement.js.map +1 -1
  50. package/cjs/domain/action/interactionSelectorCache.d.ts +1 -1
  51. package/cjs/domain/action/interactionSelectorCache.js +17 -18
  52. package/cjs/domain/action/interactionSelectorCache.js.map +1 -1
  53. package/cjs/domain/action/isActionChildEvent.d.ts +2 -0
  54. package/cjs/domain/action/isActionChildEvent.js +8 -0
  55. package/cjs/domain/action/isActionChildEvent.js.map +1 -0
  56. package/cjs/domain/action/listenActionEvents.d.ts +2 -3
  57. package/cjs/domain/action/listenActionEvents.js +51 -55
  58. package/cjs/domain/action/listenActionEvents.js.map +1 -1
  59. package/cjs/domain/action/trackClickActions.d.ts +15 -21
  60. package/cjs/domain/action/trackClickActions.js +188 -226
  61. package/cjs/domain/action/trackClickActions.js.map +1 -1
  62. package/cjs/domain/action/trackManualActions.d.ts +45 -0
  63. package/cjs/domain/action/trackManualActions.js +48 -0
  64. package/cjs/domain/action/trackManualActions.js.map +1 -0
  65. package/cjs/domain/assembly.d.ts +1 -2
  66. package/cjs/domain/assembly.js +80 -95
  67. package/cjs/domain/assembly.js.map +1 -1
  68. package/cjs/domain/configuration/configuration.d.ts +575 -81
  69. package/cjs/domain/configuration/configuration.js +464 -199
  70. package/cjs/domain/configuration/configuration.js.map +1 -1
  71. package/cjs/domain/configuration/index.d.ts +1 -0
  72. package/cjs/domain/configuration/index.js +27 -21
  73. package/cjs/domain/configuration/jsonPathParser.js +125 -139
  74. package/cjs/domain/configuration/jsonPathParser.js.map +1 -1
  75. package/cjs/domain/configuration/remoteConfiguration.d.ts +18 -5
  76. package/cjs/domain/configuration/remoteConfiguration.js +268 -226
  77. package/cjs/domain/configuration/remoteConfiguration.js.map +1 -1
  78. package/cjs/domain/configuration/remoteConfiguration.types.d.ts +49 -0
  79. package/cjs/domain/configuration/remoteConfigurationCache.d.ts +42 -0
  80. package/cjs/domain/configuration/remoteConfigurationCache.js +95 -0
  81. package/cjs/domain/configuration/remoteConfigurationCache.js.map +1 -0
  82. package/cjs/domain/configuration/remoteSdkConfiguration.d.ts +11 -2
  83. package/cjs/domain/configuration/remoteSdkConfiguration.js +185 -117
  84. package/cjs/domain/configuration/remoteSdkConfiguration.js.map +1 -1
  85. package/cjs/domain/configuration/sessionReplayRoutes.d.ts +1 -6
  86. package/cjs/domain/configuration/sessionReplayRoutes.js +20 -63
  87. package/cjs/domain/configuration/sessionReplayRoutes.js.map +1 -1
  88. package/cjs/domain/contexts/ciVisibilityContext.d.ts +2 -4
  89. package/cjs/domain/contexts/ciVisibilityContext.js +36 -32
  90. package/cjs/domain/contexts/ciVisibilityContext.js.map +1 -1
  91. package/cjs/domain/contexts/connectivityContext.d.ts +2 -2
  92. package/cjs/domain/contexts/connectivityContext.js +10 -9
  93. package/cjs/domain/contexts/connectivityContext.js.map +1 -1
  94. package/cjs/domain/contexts/defaultContext.d.ts +3 -3
  95. package/cjs/domain/contexts/defaultContext.js +28 -32
  96. package/cjs/domain/contexts/defaultContext.js.map +1 -1
  97. package/cjs/domain/contexts/displayContext.d.ts +2 -3
  98. package/cjs/domain/contexts/displayContext.js +22 -26
  99. package/cjs/domain/contexts/displayContext.js.map +1 -1
  100. package/cjs/domain/contexts/featureFlagContext.d.ts +2 -2
  101. package/cjs/domain/contexts/featureFlagContext.js +38 -50
  102. package/cjs/domain/contexts/featureFlagContext.js.map +1 -1
  103. package/cjs/domain/contexts/internalContext.d.ts +2 -3
  104. package/cjs/domain/contexts/internalContext.js +26 -22
  105. package/cjs/domain/contexts/internalContext.js.map +1 -1
  106. package/cjs/domain/contexts/pageStateHistory.d.ts +3 -4
  107. package/cjs/domain/contexts/pageStateHistory.js +76 -96
  108. package/cjs/domain/contexts/pageStateHistory.js.map +1 -1
  109. package/cjs/domain/contexts/sessionContext.d.ts +9 -3
  110. package/cjs/domain/contexts/sessionContext.js +31 -45
  111. package/cjs/domain/contexts/sessionContext.js.map +1 -1
  112. package/cjs/domain/contexts/sourceCodeMfeContext.d.ts +10 -0
  113. package/cjs/domain/contexts/sourceCodeMfeContext.js +35 -0
  114. package/cjs/domain/contexts/sourceCodeMfeContext.js.map +1 -0
  115. package/cjs/domain/contexts/syntheticsContext.d.ts +2 -2
  116. package/cjs/domain/contexts/syntheticsContext.js +19 -23
  117. package/cjs/domain/contexts/syntheticsContext.js.map +1 -1
  118. package/cjs/domain/contexts/trackingConsentContext.d.ts +2 -2
  119. package/cjs/domain/contexts/trackingConsentContext.js +10 -12
  120. package/cjs/domain/contexts/trackingConsentContext.js.map +1 -1
  121. package/cjs/domain/contexts/urlContexts.d.ts +4 -3
  122. package/cjs/domain/contexts/urlContexts.js +65 -61
  123. package/cjs/domain/contexts/urlContexts.js.map +1 -1
  124. package/cjs/domain/contexts/userAgentDataContext.d.ts +2 -2
  125. package/cjs/domain/contexts/userAgentDataContext.js +20 -29
  126. package/cjs/domain/contexts/userAgentDataContext.js.map +1 -1
  127. package/cjs/domain/contexts/viewHistory.d.ts +5 -2
  128. package/cjs/domain/contexts/viewHistory.js +41 -45
  129. package/cjs/domain/contexts/viewHistory.js.map +1 -1
  130. package/cjs/domain/discardNegativeDuration.d.ts +1 -1
  131. package/cjs/domain/discardNegativeDuration.js +6 -5
  132. package/cjs/domain/discardNegativeDuration.js.map +1 -1
  133. package/cjs/domain/error/errorCollection.d.ts +3 -3
  134. package/cjs/domain/error/errorCollection.js +67 -68
  135. package/cjs/domain/error/errorCollection.js.map +1 -1
  136. package/cjs/domain/error/trackReportError.d.ts +1 -2
  137. package/cjs/domain/error/trackReportError.js +10 -14
  138. package/cjs/domain/error/trackReportError.js.map +1 -1
  139. package/cjs/domain/event/eventCollection.d.ts +2 -1
  140. package/cjs/domain/event/eventCollection.js +21 -22
  141. package/cjs/domain/event/eventCollection.js.map +1 -1
  142. package/cjs/domain/eventTracker.d.ts +37 -0
  143. package/cjs/domain/eventTracker.js +94 -0
  144. package/cjs/domain/eventTracker.js.map +1 -0
  145. package/cjs/domain/extractRegexMatch.d.ts +5 -0
  146. package/cjs/domain/extractRegexMatch.js +16 -0
  147. package/cjs/domain/extractRegexMatch.js.map +1 -0
  148. package/cjs/domain/getComposedPathSelector.d.ts +22 -0
  149. package/cjs/domain/getComposedPathSelector.js +95 -0
  150. package/cjs/domain/getComposedPathSelector.js.map +1 -0
  151. package/cjs/domain/getSelectorFromElement.d.ts +18 -6
  152. package/cjs/domain/getSelectorFromElement.js +199 -191
  153. package/cjs/domain/getSelectorFromElement.js.map +1 -1
  154. package/cjs/domain/getSessionReplayUrl.d.ts +2 -2
  155. package/cjs/domain/getSessionReplayUrl.js +17 -30
  156. package/cjs/domain/getSessionReplayUrl.js.map +1 -1
  157. package/cjs/domain/hooks.d.ts +26 -17
  158. package/cjs/domain/hooks.js +12 -5
  159. package/cjs/domain/hooks.js.map +1 -1
  160. package/cjs/domain/lifeCycle.d.ts +26 -12
  161. package/cjs/domain/lifeCycle.js +28 -5
  162. package/cjs/domain/lifeCycle.js.map +1 -1
  163. package/cjs/domain/limitModification.d.ts +5 -1
  164. package/cjs/domain/limitModification.js +32 -36
  165. package/cjs/domain/limitModification.js.map +1 -1
  166. package/cjs/domain/longTask/longTaskCollection.d.ts +0 -13
  167. package/cjs/domain/longTask/longTaskCollection.js +75 -87
  168. package/cjs/domain/longTask/longTaskCollection.js.map +1 -1
  169. package/cjs/domain/plugins.d.ts +37 -14
  170. package/cjs/domain/plugins.js +22 -13
  171. package/cjs/domain/plugins.js.map +1 -1
  172. package/cjs/domain/privacy.d.ts +6 -1
  173. package/cjs/domain/privacy.js +143 -286
  174. package/cjs/domain/privacy.js.map +1 -1
  175. package/cjs/domain/privacyConstants.js +43 -34
  176. package/cjs/domain/privacyConstants.js.map +1 -1
  177. package/cjs/domain/requestCollection.d.ts +6 -5
  178. package/cjs/domain/requestCollection.js +82 -105
  179. package/cjs/domain/requestCollection.js.map +1 -1
  180. package/cjs/domain/resource/graphql.d.ts +1 -1
  181. package/cjs/domain/resource/graphql.js +85 -86
  182. package/cjs/domain/resource/graphql.js.map +1 -1
  183. package/cjs/domain/resource/requestRegistry.js +30 -38
  184. package/cjs/domain/resource/requestRegistry.js.map +1 -1
  185. package/cjs/domain/resource/resourceCollection.d.ts +5 -3
  186. package/cjs/domain/resource/resourceCollection.js +241 -175
  187. package/cjs/domain/resource/resourceCollection.js.map +1 -1
  188. package/cjs/domain/resource/resourceUtils.d.ts +13 -13
  189. package/cjs/domain/resource/resourceUtils.js +323 -221
  190. package/cjs/domain/resource/resourceUtils.js.map +1 -1
  191. package/cjs/domain/resource/trackManualResources.d.ts +55 -0
  192. package/cjs/domain/resource/trackManualResources.js +53 -0
  193. package/cjs/domain/resource/trackManualResources.js.map +1 -0
  194. package/cjs/domain/resource/webSocketCollection.d.ts +46 -0
  195. package/cjs/domain/resource/webSocketCollection.js +163 -0
  196. package/cjs/domain/resource/webSocketCollection.js.map +1 -0
  197. package/cjs/domain/session/session.types.d.ts +4 -0
  198. package/cjs/domain/sessionReplayState.d.ts +8 -0
  199. package/cjs/domain/sessionReplayState.js +19 -0
  200. package/cjs/domain/sessionReplayState.js.map +1 -0
  201. package/cjs/domain/startCustomerDataTelemetry.js +39 -43
  202. package/cjs/domain/startCustomerDataTelemetry.js.map +1 -1
  203. package/cjs/domain/tracing/getDocumentTraceId.d.ts +1 -1
  204. package/cjs/domain/tracing/getDocumentTraceId.js +42 -63
  205. package/cjs/domain/tracing/getDocumentTraceId.js.map +1 -1
  206. package/cjs/domain/tracing/identifier.js +13 -46
  207. package/cjs/domain/tracing/identifier.js.map +1 -1
  208. package/cjs/domain/tracing/tracer.d.ts +2 -5
  209. package/cjs/domain/tracing/tracer.js +110 -150
  210. package/cjs/domain/tracing/tracer.js.map +1 -1
  211. package/cjs/domain/trackEventCounts.js +43 -48
  212. package/cjs/domain/trackEventCounts.js.map +1 -1
  213. package/cjs/domain/view/bfCacheSupport.d.ts +1 -2
  214. package/cjs/domain/view/bfCacheSupport.js +10 -11
  215. package/cjs/domain/view/bfCacheSupport.js.map +1 -1
  216. package/cjs/domain/view/trackViewEventCounts.js +14 -13
  217. package/cjs/domain/view/trackViewEventCounts.js.map +1 -1
  218. package/cjs/domain/view/trackViews.d.ts +8 -2
  219. package/cjs/domain/view/trackViews.js +221 -270
  220. package/cjs/domain/view/trackViews.js.map +1 -1
  221. package/cjs/domain/view/viewCollection.d.ts +4 -3
  222. package/cjs/domain/view/viewCollection.js +124 -148
  223. package/cjs/domain/view/viewCollection.js.map +1 -1
  224. package/cjs/domain/view/viewDiff.d.ts +22 -0
  225. package/cjs/domain/view/viewDiff.js +62 -0
  226. package/cjs/domain/view/viewDiff.js.map +1 -0
  227. package/cjs/domain/view/viewMetrics/getClsAttributionImpactedArea.js +20 -22
  228. package/cjs/domain/view/viewMetrics/getClsAttributionImpactedArea.js.map +1 -1
  229. package/cjs/domain/view/viewMetrics/interactionCountPolyfill.d.ts +1 -0
  230. package/cjs/domain/view/viewMetrics/interactionCountPolyfill.js +35 -33
  231. package/cjs/domain/view/viewMetrics/interactionCountPolyfill.js.map +1 -1
  232. package/cjs/domain/view/viewMetrics/trackBfcacheMetrics.d.ts +1 -1
  233. package/cjs/domain/view/viewMetrics/trackBfcacheMetrics.js +14 -13
  234. package/cjs/domain/view/viewMetrics/trackBfcacheMetrics.js.map +1 -1
  235. package/cjs/domain/view/viewMetrics/trackCommonViewMetrics.d.ts +4 -2
  236. package/cjs/domain/view/viewMetrics/trackCommonViewMetrics.js +51 -34
  237. package/cjs/domain/view/viewMetrics/trackCommonViewMetrics.js.map +1 -1
  238. package/cjs/domain/view/viewMetrics/trackCumulativeLayoutShift.d.ts +1 -1
  239. package/cjs/domain/view/viewMetrics/trackCumulativeLayoutShift.js +106 -122
  240. package/cjs/domain/view/viewMetrics/trackCumulativeLayoutShift.js.map +1 -1
  241. package/cjs/domain/view/viewMetrics/trackFirstContentfulPaint.d.ts +2 -3
  242. package/cjs/domain/view/viewMetrics/trackFirstContentfulPaint.js +26 -34
  243. package/cjs/domain/view/viewMetrics/trackFirstContentfulPaint.js.map +1 -1
  244. package/cjs/domain/view/viewMetrics/trackFirstHidden.d.ts +2 -3
  245. package/cjs/domain/view/viewMetrics/trackFirstHidden.js +31 -31
  246. package/cjs/domain/view/viewMetrics/trackFirstHidden.js.map +1 -1
  247. package/cjs/domain/view/viewMetrics/trackInitialViewMetrics.d.ts +1 -3
  248. package/cjs/domain/view/viewMetrics/trackInitialViewMetrics.js +33 -38
  249. package/cjs/domain/view/viewMetrics/trackInitialViewMetrics.js.map +1 -1
  250. package/cjs/domain/view/viewMetrics/trackInteractionToNextPaint.d.ts +10 -1
  251. package/cjs/domain/view/viewMetrics/trackInteractionToNextPaint.js +202 -144
  252. package/cjs/domain/view/viewMetrics/trackInteractionToNextPaint.js.map +1 -1
  253. package/cjs/domain/view/viewMetrics/trackLargestContentfulPaint.d.ts +6 -1
  254. package/cjs/domain/view/viewMetrics/trackLargestContentfulPaint.js +65 -55
  255. package/cjs/domain/view/viewMetrics/trackLargestContentfulPaint.js.map +1 -1
  256. package/cjs/domain/view/viewMetrics/trackLoadingTime.d.ts +2 -1
  257. package/cjs/domain/view/viewMetrics/trackLoadingTime.js +42 -46
  258. package/cjs/domain/view/viewMetrics/trackLoadingTime.js.map +1 -1
  259. package/cjs/domain/view/viewMetrics/trackNavigationTimings.d.ts +2 -3
  260. package/cjs/domain/view/viewMetrics/trackNavigationTimings.js +28 -36
  261. package/cjs/domain/view/viewMetrics/trackNavigationTimings.js.map +1 -1
  262. package/cjs/domain/view/viewMetrics/trackScrollMetrics.d.ts +3 -4
  263. package/cjs/domain/view/viewMetrics/trackScrollMetrics.js +63 -72
  264. package/cjs/domain/view/viewMetrics/trackScrollMetrics.js.map +1 -1
  265. package/cjs/domain/vital/vitalCollection.d.ts +44 -20
  266. package/cjs/domain/vital/vitalCollection.js +81 -109
  267. package/cjs/domain/vital/vitalCollection.js.map +1 -1
  268. package/cjs/domain/waitPageActivityEnd.d.ts +1 -4
  269. package/cjs/domain/waitPageActivityEnd.js +99 -119
  270. package/cjs/domain/waitPageActivityEnd.js.map +1 -1
  271. package/cjs/domainContext.types.d.ts +21 -13
  272. package/cjs/index.d.ts +11 -10
  273. package/cjs/index.js +84 -62
  274. package/cjs/rawRumEvent.types.d.ts +79 -13
  275. package/cjs/rawRumEvent.types.js +40 -27
  276. package/cjs/rawRumEvent.types.js.map +1 -1
  277. package/cjs/rumEvent.types.d.ts +906 -669
  278. package/cjs/transport/formDataTransport.js +43 -41
  279. package/cjs/transport/formDataTransport.js.map +1 -1
  280. package/cjs/transport/startRumBatch.d.ts +27 -3
  281. package/cjs/transport/startRumBatch.js +132 -31
  282. package/cjs/transport/startRumBatch.js.map +1 -1
  283. package/cjs/transport/startRumEventBridge.js +10 -8
  284. package/cjs/transport/startRumEventBridge.js.map +1 -1
  285. package/esm/boot/preStartRum.mjs +233 -0
  286. package/esm/boot/preStartRum.mjs.map +1 -0
  287. package/esm/boot/rumPublicApi.mjs +271 -0
  288. package/esm/boot/rumPublicApi.mjs.map +1 -0
  289. package/esm/boot/startRum.mjs +159 -0
  290. package/esm/boot/startRum.mjs.map +1 -0
  291. package/esm/browser/cookieObservable.mjs +34 -0
  292. package/esm/browser/cookieObservable.mjs.map +1 -0
  293. package/esm/browser/domMutationObservable.mjs +33 -0
  294. package/esm/browser/domMutationObservable.mjs.map +1 -0
  295. package/esm/browser/htmlDomUtils.mjs +48 -0
  296. package/esm/browser/htmlDomUtils.mjs.map +1 -0
  297. package/esm/browser/locationChangeObservable.mjs +50 -0
  298. package/esm/browser/locationChangeObservable.mjs.map +1 -0
  299. package/esm/browser/performanceObservable.mjs +60 -0
  300. package/esm/browser/performanceObservable.mjs.map +1 -0
  301. package/esm/browser/performanceUtils.mjs +64 -0
  302. package/esm/browser/performanceUtils.mjs.map +1 -0
  303. package/esm/browser/scroll.mjs +21 -0
  304. package/esm/browser/scroll.mjs.map +1 -0
  305. package/esm/browser/viewportObservable.mjs +33 -0
  306. package/esm/browser/viewportObservable.mjs.map +1 -0
  307. package/esm/browser/windowOpenObservable.mjs +14 -0
  308. package/esm/browser/windowOpenObservable.mjs.map +1 -0
  309. package/esm/domain/action/actionCollection.mjs +89 -0
  310. package/esm/domain/action/actionCollection.mjs.map +1 -0
  311. package/esm/domain/action/actionNameConstants.mjs +11 -0
  312. package/esm/domain/action/actionNameConstants.mjs.map +1 -0
  313. package/esm/domain/action/clickChain.mjs +57 -0
  314. package/esm/domain/action/clickChain.mjs.map +1 -0
  315. package/esm/domain/action/computeFrustration.mjs +36 -0
  316. package/esm/domain/action/computeFrustration.mjs.map +1 -0
  317. package/esm/domain/action/frustrationIgnore.mjs +31 -0
  318. package/esm/domain/action/frustrationIgnore.mjs.map +1 -0
  319. package/esm/domain/action/getActionNameFromElement.mjs +163 -0
  320. package/esm/domain/action/getActionNameFromElement.mjs.map +1 -0
  321. package/esm/domain/action/interactionSelectorCache.mjs +19 -0
  322. package/esm/domain/action/interactionSelectorCache.mjs.map +1 -0
  323. package/esm/domain/action/isActionChildEvent.mjs +8 -0
  324. package/esm/domain/action/isActionChildEvent.mjs.map +1 -0
  325. package/esm/domain/action/listenActionEvents.mjs +57 -0
  326. package/esm/domain/action/listenActionEvents.mjs.map +1 -0
  327. package/esm/domain/action/trackClickActions.mjs +198 -0
  328. package/esm/domain/action/trackClickActions.mjs.map +1 -0
  329. package/esm/domain/action/trackManualActions.mjs +48 -0
  330. package/esm/domain/action/trackManualActions.mjs.map +1 -0
  331. package/esm/domain/assembly.mjs +87 -0
  332. package/esm/domain/assembly.mjs.map +1 -0
  333. package/esm/domain/configuration/configuration.mjs +474 -0
  334. package/esm/domain/configuration/configuration.mjs.map +1 -0
  335. package/esm/domain/configuration/index.mjs +6 -0
  336. package/esm/domain/configuration/jsonPathParser.mjs +145 -0
  337. package/esm/domain/configuration/jsonPathParser.mjs.map +1 -0
  338. package/esm/domain/configuration/remoteConfiguration.mjs +279 -0
  339. package/esm/domain/configuration/remoteConfiguration.mjs.map +1 -0
  340. package/esm/domain/configuration/remoteConfigurationCache.mjs +92 -0
  341. package/esm/domain/configuration/remoteConfigurationCache.mjs.map +1 -0
  342. package/esm/domain/configuration/remoteSdkConfiguration.mjs +208 -0
  343. package/esm/domain/configuration/remoteSdkConfiguration.mjs.map +1 -0
  344. package/esm/domain/configuration/sessionReplayRoutes.mjs +26 -0
  345. package/esm/domain/configuration/sessionReplayRoutes.mjs.map +1 -0
  346. package/esm/domain/contexts/ciVisibilityContext.mjs +37 -0
  347. package/esm/domain/contexts/ciVisibilityContext.mjs.map +1 -0
  348. package/esm/domain/contexts/connectivityContext.mjs +12 -0
  349. package/esm/domain/contexts/connectivityContext.mjs.map +1 -0
  350. package/esm/domain/contexts/defaultContext.mjs +30 -0
  351. package/esm/domain/contexts/defaultContext.mjs.map +1 -0
  352. package/esm/domain/contexts/displayContext.mjs +24 -0
  353. package/esm/domain/contexts/displayContext.mjs.map +1 -0
  354. package/esm/domain/contexts/featureFlagContext.mjs +40 -0
  355. package/esm/domain/contexts/featureFlagContext.mjs.map +1 -0
  356. package/esm/domain/contexts/internalContext.mjs +30 -0
  357. package/esm/domain/contexts/internalContext.mjs.map +1 -0
  358. package/esm/domain/contexts/pageStateHistory.mjs +82 -0
  359. package/esm/domain/contexts/pageStateHistory.mjs.map +1 -0
  360. package/esm/domain/contexts/sessionContext.mjs +33 -0
  361. package/esm/domain/contexts/sessionContext.mjs.map +1 -0
  362. package/esm/domain/contexts/sourceCodeMfeContext.mjs +35 -0
  363. package/esm/domain/contexts/sourceCodeMfeContext.mjs.map +1 -0
  364. package/esm/domain/contexts/syntheticsContext.mjs +21 -0
  365. package/esm/domain/contexts/syntheticsContext.mjs.map +1 -0
  366. package/esm/domain/contexts/trackingConsentContext.mjs +12 -0
  367. package/esm/domain/contexts/trackingConsentContext.mjs.map +1 -0
  368. package/esm/domain/contexts/urlContexts.mjs +67 -0
  369. package/esm/domain/contexts/urlContexts.mjs.map +1 -0
  370. package/esm/domain/contexts/userAgentDataContext.mjs +22 -0
  371. package/esm/domain/contexts/userAgentDataContext.mjs.map +1 -0
  372. package/esm/domain/contexts/viewHistory.mjs +43 -0
  373. package/esm/domain/contexts/viewHistory.mjs.map +1 -0
  374. package/esm/domain/discardNegativeDuration.mjs +9 -0
  375. package/esm/domain/discardNegativeDuration.mjs.map +1 -0
  376. package/esm/domain/error/errorCollection.mjs +72 -0
  377. package/esm/domain/error/errorCollection.mjs.map +1 -0
  378. package/esm/domain/error/trackReportError.mjs +12 -0
  379. package/esm/domain/error/trackReportError.mjs.map +1 -0
  380. package/esm/domain/event/eventCollection.mjs +26 -0
  381. package/esm/domain/event/eventCollection.mjs.map +1 -0
  382. package/esm/domain/eventTracker.mjs +93 -0
  383. package/esm/domain/eventTracker.mjs.map +1 -0
  384. package/esm/domain/extractRegexMatch.mjs +16 -0
  385. package/esm/domain/extractRegexMatch.mjs.map +1 -0
  386. package/esm/domain/getComposedPathSelector.mjs +93 -0
  387. package/esm/domain/getComposedPathSelector.mjs.map +1 -0
  388. package/esm/domain/getSelectorFromElement.mjs +218 -0
  389. package/esm/domain/getSelectorFromElement.mjs.map +1 -0
  390. package/esm/domain/getSessionReplayUrl.mjs +20 -0
  391. package/esm/domain/getSessionReplayUrl.mjs.map +1 -0
  392. package/esm/domain/hooks.mjs +13 -0
  393. package/esm/domain/hooks.mjs.map +1 -0
  394. package/esm/domain/lifeCycle.mjs +28 -0
  395. package/esm/domain/lifeCycle.mjs.map +1 -0
  396. package/esm/domain/limitModification.mjs +42 -0
  397. package/esm/domain/limitModification.mjs.map +1 -0
  398. package/esm/domain/longTask/longTaskCollection.mjs +79 -0
  399. package/esm/domain/longTask/longTaskCollection.mjs.map +1 -0
  400. package/esm/domain/plugins.mjs +23 -0
  401. package/esm/domain/plugins.mjs.map +1 -0
  402. package/esm/domain/privacy.mjs +161 -0
  403. package/esm/domain/privacy.mjs.map +1 -0
  404. package/esm/domain/privacyConstants.mjs +36 -0
  405. package/esm/domain/privacyConstants.mjs.map +1 -0
  406. package/esm/domain/requestCollection.mjs +86 -0
  407. package/esm/domain/requestCollection.mjs.map +1 -0
  408. package/esm/domain/resource/graphql.mjs +93 -0
  409. package/esm/domain/resource/graphql.mjs.map +1 -0
  410. package/esm/domain/resource/requestRegistry.mjs +32 -0
  411. package/esm/domain/resource/requestRegistry.mjs.map +1 -0
  412. package/esm/domain/resource/resourceCollection.mjs +256 -0
  413. package/esm/domain/resource/resourceCollection.mjs.map +1 -0
  414. package/esm/domain/resource/resourceUtils.mjs +349 -0
  415. package/esm/domain/resource/resourceUtils.mjs.map +1 -0
  416. package/esm/domain/resource/trackManualResources.mjs +53 -0
  417. package/esm/domain/resource/trackManualResources.mjs.map +1 -0
  418. package/esm/domain/resource/webSocketCollection.mjs +160 -0
  419. package/esm/domain/resource/webSocketCollection.mjs.map +1 -0
  420. package/esm/domain/sessionReplayState.mjs +18 -0
  421. package/esm/domain/sessionReplayState.mjs.map +1 -0
  422. package/esm/domain/startCustomerDataTelemetry.mjs +51 -0
  423. package/esm/domain/startCustomerDataTelemetry.mjs.map +1 -0
  424. package/esm/domain/tracing/getDocumentTraceId.mjs +50 -0
  425. package/esm/domain/tracing/getDocumentTraceId.mjs.map +1 -0
  426. package/esm/domain/tracing/identifier.mjs +20 -0
  427. package/esm/domain/tracing/identifier.mjs.map +1 -0
  428. package/esm/domain/tracing/tracer.mjs +120 -0
  429. package/esm/domain/tracing/tracer.mjs.map +1 -0
  430. package/esm/domain/trackEventCounts.mjs +45 -0
  431. package/esm/domain/trackEventCounts.mjs.map +1 -0
  432. package/esm/domain/view/bfCacheSupport.mjs +12 -0
  433. package/esm/domain/view/bfCacheSupport.mjs.map +1 -0
  434. package/esm/domain/view/trackViewEventCounts.mjs +17 -0
  435. package/esm/domain/view/trackViewEventCounts.mjs.map +1 -0
  436. package/esm/domain/view/trackViews.mjs +230 -0
  437. package/esm/domain/view/trackViews.mjs.map +1 -0
  438. package/esm/domain/view/viewCollection.mjs +129 -0
  439. package/esm/domain/view/viewCollection.mjs.map +1 -0
  440. package/esm/domain/view/viewDiff.mjs +61 -0
  441. package/esm/domain/view/viewDiff.mjs.map +1 -0
  442. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.mjs +30 -0
  443. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.mjs.map +1 -0
  444. package/esm/domain/view/viewMetrics/interactionCountPolyfill.mjs +45 -0
  445. package/esm/domain/view/viewMetrics/interactionCountPolyfill.mjs.map +1 -0
  446. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.mjs +18 -0
  447. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.mjs.map +1 -0
  448. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.mjs +54 -0
  449. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.mjs.map +1 -0
  450. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.mjs +117 -0
  451. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.mjs.map +1 -0
  452. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.mjs +29 -0
  453. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.mjs.map +1 -0
  454. package/esm/domain/view/viewMetrics/trackFirstHidden.mjs +33 -0
  455. package/esm/domain/view/viewMetrics/trackFirstHidden.mjs.map +1 -0
  456. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.mjs +36 -0
  457. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.mjs.map +1 -0
  458. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.mjs +210 -0
  459. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.mjs.map +1 -0
  460. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.mjs +70 -0
  461. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.mjs.map +1 -0
  462. package/esm/domain/view/viewMetrics/trackLoadingTime.mjs +46 -0
  463. package/esm/domain/view/viewMetrics/trackLoadingTime.mjs.map +1 -0
  464. package/esm/domain/view/viewMetrics/trackNavigationTimings.mjs +35 -0
  465. package/esm/domain/view/viewMetrics/trackNavigationTimings.mjs.map +1 -0
  466. package/esm/domain/view/viewMetrics/trackScrollMetrics.mjs +66 -0
  467. package/esm/domain/view/viewMetrics/trackScrollMetrics.mjs.map +1 -0
  468. package/esm/domain/vital/vitalCollection.mjs +85 -0
  469. package/esm/domain/vital/vitalCollection.mjs.map +1 -0
  470. package/esm/domain/waitPageActivityEnd.mjs +107 -0
  471. package/esm/domain/waitPageActivityEnd.mjs.map +1 -0
  472. package/esm/index.mjs +23 -0
  473. package/esm/rawRumEvent.types.mjs +42 -0
  474. package/esm/rawRumEvent.types.mjs.map +1 -0
  475. package/esm/transport/formDataTransport.mjs +48 -0
  476. package/esm/transport/formDataTransport.mjs.map +1 -0
  477. package/esm/transport/startRumBatch.mjs +132 -0
  478. package/esm/transport/startRumBatch.mjs.map +1 -0
  479. package/esm/transport/startRumEventBridge.mjs +13 -0
  480. package/esm/transport/startRumEventBridge.mjs.map +1 -0
  481. package/package.json +19 -11
  482. package/src/boot/preStartRum.ts +216 -88
  483. package/src/boot/rumPublicApi.ts +358 -119
  484. package/src/boot/startRum.ts +88 -84
  485. package/src/browser/cookieObservable.ts +19 -28
  486. package/src/browser/domMutationObservable.ts +7 -12
  487. package/src/browser/htmlDomUtils.ts +15 -0
  488. package/src/browser/locationChangeObservable.ts +23 -12
  489. package/src/browser/performanceObservable.ts +23 -73
  490. package/src/browser/performanceUtils.ts +52 -4
  491. package/src/browser/viewportObservable.ts +4 -6
  492. package/src/domain/action/actionCollection.ts +94 -87
  493. package/src/domain/action/clickChain.ts +11 -10
  494. package/src/domain/action/computeFrustration.ts +19 -5
  495. package/src/domain/action/frustrationIgnore.ts +54 -0
  496. package/src/domain/action/getActionNameFromElement.ts +27 -61
  497. package/src/domain/action/interactionSelectorCache.ts +2 -2
  498. package/src/domain/action/isActionChildEvent.ts +6 -0
  499. package/src/domain/action/listenActionEvents.ts +2 -11
  500. package/src/domain/action/trackClickActions.ts +92 -82
  501. package/src/domain/action/trackManualActions.ts +104 -0
  502. package/src/domain/assembly.ts +57 -70
  503. package/src/domain/configuration/configuration.ts +587 -208
  504. package/src/domain/configuration/index.ts +1 -0
  505. package/src/domain/configuration/remoteConfiguration.ts +152 -29
  506. package/src/domain/configuration/remoteConfiguration.types.ts +51 -1
  507. package/src/domain/configuration/remoteConfigurationCache.ts +153 -0
  508. package/src/domain/configuration/remoteSdkConfiguration.ts +131 -13
  509. package/src/domain/configuration/sessionReplayRoutes.ts +2 -47
  510. package/src/domain/contexts/ciVisibilityContext.ts +23 -12
  511. package/src/domain/contexts/connectivityContext.ts +7 -10
  512. package/src/domain/contexts/defaultContext.ts +11 -14
  513. package/src/domain/contexts/displayContext.ts +8 -12
  514. package/src/domain/contexts/featureFlagContext.ts +5 -4
  515. package/src/domain/contexts/internalContext.ts +3 -3
  516. package/src/domain/contexts/pageStateHistory.ts +20 -31
  517. package/src/domain/contexts/sessionContext.ts +16 -22
  518. package/src/domain/contexts/sourceCodeMfeContext.ts +53 -0
  519. package/src/domain/contexts/syntheticsContext.ts +7 -17
  520. package/src/domain/contexts/trackingConsentContext.ts +7 -4
  521. package/src/domain/contexts/urlContexts.ts +13 -9
  522. package/src/domain/contexts/userAgentDataContext.ts +12 -13
  523. package/src/domain/contexts/viewHistory.ts +4 -3
  524. package/src/domain/discardNegativeDuration.ts +1 -1
  525. package/src/domain/error/errorCollection.ts +12 -22
  526. package/src/domain/error/trackReportError.ts +4 -7
  527. package/src/domain/event/eventCollection.ts +4 -2
  528. package/src/domain/eventTracker.ts +169 -0
  529. package/src/domain/extractRegexMatch.ts +15 -0
  530. package/src/domain/getComposedPathSelector.ts +130 -0
  531. package/src/domain/getSelectorFromElement.ts +125 -31
  532. package/src/domain/getSessionReplayUrl.ts +4 -13
  533. package/src/domain/hooks.ts +34 -21
  534. package/src/domain/lifeCycle.ts +21 -8
  535. package/src/domain/limitModification.ts +20 -4
  536. package/src/domain/longTask/longTaskCollection.ts +18 -47
  537. package/src/domain/plugins.ts +54 -25
  538. package/src/domain/privacy.ts +16 -24
  539. package/src/domain/requestCollection.ts +108 -97
  540. package/src/domain/resource/graphql.ts +71 -25
  541. package/src/domain/resource/requestRegistry.ts +1 -3
  542. package/src/domain/resource/resourceCollection.ts +319 -137
  543. package/src/domain/resource/resourceUtils.ts +24 -26
  544. package/src/domain/resource/trackManualResources.ts +121 -0
  545. package/src/domain/resource/webSocketCollection.ts +281 -0
  546. package/src/domain/session/session.types.ts +5 -0
  547. package/src/domain/sessionReplayState.ts +36 -0
  548. package/src/domain/startCustomerDataTelemetry.ts +2 -2
  549. package/src/domain/tracing/getDocumentTraceId.ts +5 -4
  550. package/src/domain/tracing/identifier.ts +6 -37
  551. package/src/domain/tracing/tracer.ts +22 -21
  552. package/src/domain/tracing/tracer.types.ts +3 -3
  553. package/src/domain/view/bfCacheSupport.ts +1 -6
  554. package/src/domain/view/trackViews.ts +40 -37
  555. package/src/domain/view/viewCollection.ts +29 -23
  556. package/src/domain/view/viewDiff.ts +115 -0
  557. package/src/domain/view/viewMetrics/interactionCountPolyfill.ts +13 -2
  558. package/src/domain/view/viewMetrics/trackBfcacheMetrics.ts +1 -1
  559. package/src/domain/view/viewMetrics/trackCommonViewMetrics.ts +27 -6
  560. package/src/domain/view/viewMetrics/trackCumulativeLayoutShift.ts +5 -3
  561. package/src/domain/view/viewMetrics/trackFirstContentfulPaint.ts +4 -9
  562. package/src/domain/view/viewMetrics/trackFirstHidden.ts +2 -8
  563. package/src/domain/view/viewMetrics/trackInitialViewMetrics.ts +4 -13
  564. package/src/domain/view/viewMetrics/trackInteractionToNextPaint.ts +180 -35
  565. package/src/domain/view/viewMetrics/trackLargestContentfulPaint.ts +47 -6
  566. package/src/domain/view/viewMetrics/trackLoadingTime.ts +4 -3
  567. package/src/domain/view/viewMetrics/trackNavigationTimings.ts +10 -18
  568. package/src/domain/view/viewMetrics/trackScrollMetrics.ts +23 -37
  569. package/src/domain/vital/vitalCollection.ts +83 -102
  570. package/src/domain/waitPageActivityEnd.ts +7 -11
  571. package/src/domainContext.types.ts +23 -15
  572. package/src/index.ts +17 -11
  573. package/src/rawRumEvent.types.ts +80 -26
  574. package/src/rumEvent.types.ts +730 -505
  575. package/src/transport/formDataTransport.ts +16 -6
  576. package/src/transport/startRumBatch.ts +181 -24
  577. package/cjs/browser/firstInputPolyfill.d.ts +0 -8
  578. package/cjs/browser/firstInputPolyfill.js +0 -68
  579. package/cjs/browser/firstInputPolyfill.js.map +0 -1
  580. package/cjs/domain/configuration/index.js.map +0 -1
  581. package/cjs/domain/configuration/remoteConfiguration.types.js +0 -7
  582. package/cjs/domain/configuration/remoteConfiguration.types.js.map +0 -1
  583. package/cjs/domain/error/trackConsoleError.d.ts +0 -4
  584. package/cjs/domain/error/trackConsoleError.js +0 -13
  585. package/cjs/domain/error/trackConsoleError.js.map +0 -1
  586. package/cjs/domain/resource/matchRequestResourceEntry.d.ts +0 -16
  587. package/cjs/domain/resource/matchRequestResourceEntry.js +0 -49
  588. package/cjs/domain/resource/matchRequestResourceEntry.js.map +0 -1
  589. package/cjs/domain/resource/retrieveInitialDocumentResourceTiming.d.ts +0 -4
  590. package/cjs/domain/resource/retrieveInitialDocumentResourceTiming.js +0 -24
  591. package/cjs/domain/resource/retrieveInitialDocumentResourceTiming.js.map +0 -1
  592. package/cjs/domain/rumSessionManager.d.ts +0 -36
  593. package/cjs/domain/rumSessionManager.js +0 -77
  594. package/cjs/domain/rumSessionManager.js.map +0 -1
  595. package/cjs/domain/sampler/sampler.d.ts +0 -10
  596. package/cjs/domain/sampler/sampler.js +0 -63
  597. package/cjs/domain/sampler/sampler.js.map +0 -1
  598. package/cjs/domain/tracing/sampler.d.ts +0 -10
  599. package/cjs/domain/tracing/sampler.js +0 -69
  600. package/cjs/domain/tracing/sampler.js.map +0 -1
  601. package/cjs/domain/tracing/tracer.types.js +0 -3
  602. package/cjs/domain/tracing/tracer.types.js.map +0 -1
  603. package/cjs/domain/view/viewMetrics/startInitialViewMetricsTelemetry.d.ts +0 -6
  604. package/cjs/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js +0 -44
  605. package/cjs/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js.map +0 -1
  606. package/cjs/domain/view/viewMetrics/trackFirstInput.d.ts +0 -19
  607. package/cjs/domain/view/viewMetrics/trackFirstInput.js +0 -43
  608. package/cjs/domain/view/viewMetrics/trackFirstInput.js.map +0 -1
  609. package/cjs/domainContext.types.js +0 -6
  610. package/cjs/domainContext.types.js.map +0 -1
  611. package/cjs/index.js.map +0 -1
  612. package/cjs/rumEvent.types.js +0 -7
  613. package/cjs/rumEvent.types.js.map +0 -1
  614. package/esm/boot/preStartRum.d.ts +0 -7
  615. package/esm/boot/preStartRum.js +0 -205
  616. package/esm/boot/preStartRum.js.map +0 -1
  617. package/esm/boot/rumPublicApi.d.ts +0 -409
  618. package/esm/boot/rumPublicApi.js +0 -165
  619. package/esm/boot/rumPublicApi.js.map +0 -1
  620. package/esm/boot/startRum.d.ts +0 -109
  621. package/esm/boot/startRum.js +0 -149
  622. package/esm/boot/startRum.js.map +0 -1
  623. package/esm/browser/cookieObservable.d.ts +0 -8
  624. package/esm/browser/cookieObservable.js +0 -35
  625. package/esm/browser/cookieObservable.js.map +0 -1
  626. package/esm/browser/domMutationObservable.d.ts +0 -27
  627. package/esm/browser/domMutationObservable.js +0 -54
  628. package/esm/browser/domMutationObservable.js.map +0 -1
  629. package/esm/browser/firstInputPolyfill.d.ts +0 -8
  630. package/esm/browser/firstInputPolyfill.js +0 -65
  631. package/esm/browser/firstInputPolyfill.js.map +0 -1
  632. package/esm/browser/htmlDomUtils.d.ts +0 -13
  633. package/esm/browser/htmlDomUtils.js +0 -36
  634. package/esm/browser/htmlDomUtils.js.map +0 -1
  635. package/esm/browser/locationChangeObservable.d.ts +0 -7
  636. package/esm/browser/locationChangeObservable.js +0 -48
  637. package/esm/browser/locationChangeObservable.js.map +0 -1
  638. package/esm/browser/performanceObservable.d.ts +0 -174
  639. package/esm/browser/performanceObservable.js +0 -121
  640. package/esm/browser/performanceObservable.js.map +0 -1
  641. package/esm/browser/performanceUtils.d.ts +0 -7
  642. package/esm/browser/performanceUtils.js +0 -38
  643. package/esm/browser/performanceUtils.js.map +0 -1
  644. package/esm/browser/scroll.d.ts +0 -2
  645. package/esm/browser/scroll.js +0 -29
  646. package/esm/browser/scroll.js.map +0 -1
  647. package/esm/browser/viewportObservable.d.ts +0 -10
  648. package/esm/browser/viewportObservable.js +0 -32
  649. package/esm/browser/viewportObservable.js.map +0 -1
  650. package/esm/browser/windowOpenObservable.d.ts +0 -5
  651. package/esm/browser/windowOpenObservable.js +0 -7
  652. package/esm/browser/windowOpenObservable.js.map +0 -1
  653. package/esm/domain/action/actionCollection.d.ts +0 -21
  654. package/esm/domain/action/actionCollection.js +0 -93
  655. package/esm/domain/action/actionCollection.js.map +0 -1
  656. package/esm/domain/action/actionNameConstants.d.ts +0 -18
  657. package/esm/domain/action/actionNameConstants.js +0 -8
  658. package/esm/domain/action/actionNameConstants.js.map +0 -1
  659. package/esm/domain/action/clickChain.d.ts +0 -8
  660. package/esm/domain/action/clickChain.js +0 -57
  661. package/esm/domain/action/clickChain.js.map +0 -1
  662. package/esm/domain/action/computeFrustration.d.ts +0 -6
  663. package/esm/domain/action/computeFrustration.js +0 -65
  664. package/esm/domain/action/computeFrustration.js.map +0 -1
  665. package/esm/domain/action/getActionNameFromElement.d.ts +0 -4
  666. package/esm/domain/action/getActionNameFromElement.js +0 -236
  667. package/esm/domain/action/getActionNameFromElement.js.map +0 -1
  668. package/esm/domain/action/interactionSelectorCache.d.ts +0 -5
  669. package/esm/domain/action/interactionSelectorCache.js +0 -18
  670. package/esm/domain/action/interactionSelectorCache.js.map +0 -1
  671. package/esm/domain/action/listenActionEvents.d.ts +0 -19
  672. package/esm/domain/action/listenActionEvents.js +0 -58
  673. package/esm/domain/action/listenActionEvents.js.map +0 -1
  674. package/esm/domain/action/trackClickActions.d.ts +0 -81
  675. package/esm/domain/action/trackClickActions.js +0 -232
  676. package/esm/domain/action/trackClickActions.js.map +0 -1
  677. package/esm/domain/assembly.d.ts +0 -5
  678. package/esm/domain/assembly.js +0 -99
  679. package/esm/domain/assembly.js.map +0 -1
  680. package/esm/domain/configuration/configuration.d.ts +0 -358
  681. package/esm/domain/configuration/configuration.js +0 -209
  682. package/esm/domain/configuration/configuration.js.map +0 -1
  683. package/esm/domain/configuration/index.d.ts +0 -4
  684. package/esm/domain/configuration/index.js +0 -5
  685. package/esm/domain/configuration/index.js.map +0 -1
  686. package/esm/domain/configuration/jsonPathParser.d.ts +0 -28
  687. package/esm/domain/configuration/jsonPathParser.js +0 -156
  688. package/esm/domain/configuration/jsonPathParser.js.map +0 -1
  689. package/esm/domain/configuration/remoteConfiguration.d.ts +0 -39
  690. package/esm/domain/configuration/remoteConfiguration.js +0 -236
  691. package/esm/domain/configuration/remoteConfiguration.js.map +0 -1
  692. package/esm/domain/configuration/remoteConfiguration.types.d.ts +0 -138
  693. package/esm/domain/configuration/remoteConfiguration.types.js +0 -6
  694. package/esm/domain/configuration/remoteConfiguration.types.js.map +0 -1
  695. package/esm/domain/configuration/remoteSdkConfiguration.d.ts +0 -18
  696. package/esm/domain/configuration/remoteSdkConfiguration.js +0 -137
  697. package/esm/domain/configuration/remoteSdkConfiguration.js.map +0 -1
  698. package/esm/domain/configuration/sessionReplayRoutes.d.ts +0 -35
  699. package/esm/domain/configuration/sessionReplayRoutes.js +0 -65
  700. package/esm/domain/configuration/sessionReplayRoutes.js.map +0 -1
  701. package/esm/domain/contexts/ciVisibilityContext.d.ts +0 -12
  702. package/esm/domain/contexts/ciVisibilityContext.js +0 -30
  703. package/esm/domain/contexts/ciVisibilityContext.js.map +0 -1
  704. package/esm/domain/contexts/connectivityContext.d.ts +0 -2
  705. package/esm/domain/contexts/connectivityContext.js +0 -8
  706. package/esm/domain/contexts/connectivityContext.js.map +0 -1
  707. package/esm/domain/contexts/defaultContext.d.ts +0 -4
  708. package/esm/domain/contexts/defaultContext.js +0 -31
  709. package/esm/domain/contexts/defaultContext.js.map +0 -1
  710. package/esm/domain/contexts/displayContext.d.ts +0 -6
  711. package/esm/domain/contexts/displayContext.js +0 -25
  712. package/esm/domain/contexts/displayContext.js.map +0 -1
  713. package/esm/domain/contexts/featureFlagContext.d.ts +0 -19
  714. package/esm/domain/contexts/featureFlagContext.js +0 -49
  715. package/esm/domain/contexts/featureFlagContext.js.map +0 -1
  716. package/esm/domain/contexts/internalContext.d.ts +0 -12
  717. package/esm/domain/contexts/internalContext.js +0 -23
  718. package/esm/domain/contexts/internalContext.js.map +0 -1
  719. package/esm/domain/contexts/pageStateHistory.d.ts +0 -23
  720. package/esm/domain/contexts/pageStateHistory.js +0 -100
  721. package/esm/domain/contexts/pageStateHistory.js.map +0 -1
  722. package/esm/domain/contexts/sessionContext.d.ts +0 -5
  723. package/esm/domain/contexts/sessionContext.js +0 -44
  724. package/esm/domain/contexts/sessionContext.js.map +0 -1
  725. package/esm/domain/contexts/syntheticsContext.d.ts +0 -2
  726. package/esm/domain/contexts/syntheticsContext.js +0 -22
  727. package/esm/domain/contexts/syntheticsContext.js.map +0 -1
  728. package/esm/domain/contexts/trackingConsentContext.d.ts +0 -3
  729. package/esm/domain/contexts/trackingConsentContext.js +0 -11
  730. package/esm/domain/contexts/trackingConsentContext.js.map +0 -1
  731. package/esm/domain/contexts/urlContexts.d.ts +0 -22
  732. package/esm/domain/contexts/urlContexts.js +0 -60
  733. package/esm/domain/contexts/urlContexts.js.map +0 -1
  734. package/esm/domain/contexts/userAgentDataContext.d.ts +0 -2
  735. package/esm/domain/contexts/userAgentDataContext.js +0 -28
  736. package/esm/domain/contexts/userAgentDataContext.js.map +0 -1
  737. package/esm/domain/contexts/viewHistory.d.ts +0 -17
  738. package/esm/domain/contexts/viewHistory.js +0 -44
  739. package/esm/domain/contexts/viewHistory.js.map +0 -1
  740. package/esm/domain/discardNegativeDuration.d.ts +0 -2
  741. package/esm/domain/discardNegativeDuration.js +0 -5
  742. package/esm/domain/discardNegativeDuration.js.map +0 -1
  743. package/esm/domain/error/errorCollection.d.ts +0 -17
  744. package/esm/domain/error/errorCollection.js +0 -70
  745. package/esm/domain/error/errorCollection.js.map +0 -1
  746. package/esm/domain/error/trackConsoleError.d.ts +0 -4
  747. package/esm/domain/error/trackConsoleError.js +0 -10
  748. package/esm/domain/error/trackConsoleError.js.map +0 -1
  749. package/esm/domain/error/trackReportError.d.ts +0 -5
  750. package/esm/domain/error/trackReportError.js +0 -13
  751. package/esm/domain/error/trackReportError.js.map +0 -1
  752. package/esm/domain/event/eventCollection.d.ts +0 -10
  753. package/esm/domain/event/eventCollection.js +0 -24
  754. package/esm/domain/event/eventCollection.js.map +0 -1
  755. package/esm/domain/getSelectorFromElement.d.ts +0 -64
  756. package/esm/domain/getSelectorFromElement.js +0 -213
  757. package/esm/domain/getSelectorFromElement.js.map +0 -1
  758. package/esm/domain/getSessionReplayUrl.d.ts +0 -9
  759. package/esm/domain/getSessionReplayUrl.js +0 -30
  760. package/esm/domain/getSessionReplayUrl.js.map +0 -1
  761. package/esm/domain/hooks.d.ts +0 -23
  762. package/esm/domain/hooks.js +0 -3
  763. package/esm/domain/hooks.js.map +0 -1
  764. package/esm/domain/lifeCycle.d.ts +0 -73
  765. package/esm/domain/lifeCycle.js +0 -3
  766. package/esm/domain/lifeCycle.js.map +0 -1
  767. package/esm/domain/limitModification.d.ts +0 -8
  768. package/esm/domain/limitModification.js +0 -43
  769. package/esm/domain/limitModification.js.map +0 -1
  770. package/esm/domain/longTask/longTaskCollection.d.ts +0 -18
  771. package/esm/domain/longTask/longTaskCollection.js +0 -87
  772. package/esm/domain/longTask/longTaskCollection.js.map +0 -1
  773. package/esm/domain/plugins.d.ts +0 -40
  774. package/esm/domain/plugins.js +0 -12
  775. package/esm/domain/plugins.js.map +0 -1
  776. package/esm/domain/privacy.d.ts +0 -44
  777. package/esm/domain/privacy.js +0 -302
  778. package/esm/domain/privacy.js.map +0 -1
  779. package/esm/domain/privacyConstants.d.ts +0 -23
  780. package/esm/domain/privacyConstants.js +0 -35
  781. package/esm/domain/privacyConstants.js.map +0 -1
  782. package/esm/domain/requestCollection.d.ts +0 -54
  783. package/esm/domain/requestCollection.js +0 -106
  784. package/esm/domain/requestCollection.js.map +0 -1
  785. package/esm/domain/resource/graphql.d.ts +0 -23
  786. package/esm/domain/resource/graphql.js +0 -91
  787. package/esm/domain/resource/graphql.js.map +0 -1
  788. package/esm/domain/resource/matchRequestResourceEntry.d.ts +0 -16
  789. package/esm/domain/resource/matchRequestResourceEntry.js +0 -46
  790. package/esm/domain/resource/matchRequestResourceEntry.js.map +0 -1
  791. package/esm/domain/resource/requestRegistry.d.ts +0 -9
  792. package/esm/domain/resource/requestRegistry.js +0 -37
  793. package/esm/domain/resource/requestRegistry.js.map +0 -1
  794. package/esm/domain/resource/resourceCollection.d.ts +0 -7
  795. package/esm/domain/resource/resourceCollection.js +0 -187
  796. package/esm/domain/resource/resourceCollection.js.map +0 -1
  797. package/esm/domain/resource/resourceUtils.d.ts +0 -55
  798. package/esm/domain/resource/resourceUtils.js +0 -244
  799. package/esm/domain/resource/resourceUtils.js.map +0 -1
  800. package/esm/domain/resource/retrieveInitialDocumentResourceTiming.d.ts +0 -4
  801. package/esm/domain/resource/retrieveInitialDocumentResourceTiming.js +0 -21
  802. package/esm/domain/resource/retrieveInitialDocumentResourceTiming.js.map +0 -1
  803. package/esm/domain/rumSessionManager.d.ts +0 -36
  804. package/esm/domain/rumSessionManager.js +0 -72
  805. package/esm/domain/rumSessionManager.js.map +0 -1
  806. package/esm/domain/sampler/sampler.d.ts +0 -10
  807. package/esm/domain/sampler/sampler.js +0 -58
  808. package/esm/domain/sampler/sampler.js.map +0 -1
  809. package/esm/domain/startCustomerDataTelemetry.d.ts +0 -4
  810. package/esm/domain/startCustomerDataTelemetry.js +0 -52
  811. package/esm/domain/startCustomerDataTelemetry.js.map +0 -1
  812. package/esm/domain/tracing/getDocumentTraceId.d.ts +0 -12
  813. package/esm/domain/tracing/getDocumentTraceId.js +0 -68
  814. package/esm/domain/tracing/getDocumentTraceId.js.map +0 -1
  815. package/esm/domain/tracing/identifier.d.ts +0 -13
  816. package/esm/domain/tracing/identifier.js +0 -50
  817. package/esm/domain/tracing/identifier.js.map +0 -1
  818. package/esm/domain/tracing/sampler.d.ts +0 -10
  819. package/esm/domain/tracing/sampler.js +0 -64
  820. package/esm/domain/tracing/sampler.js.map +0 -1
  821. package/esm/domain/tracing/tracer.d.ts +0 -30
  822. package/esm/domain/tracing/tracer.js +0 -156
  823. package/esm/domain/tracing/tracer.js.map +0 -1
  824. package/esm/domain/tracing/tracer.types.d.ts +0 -12
  825. package/esm/domain/tracing/tracer.types.js +0 -2
  826. package/esm/domain/tracing/tracer.types.js.map +0 -1
  827. package/esm/domain/trackEventCounts.d.ts +0 -17
  828. package/esm/domain/trackEventCounts.js +0 -47
  829. package/esm/domain/trackEventCounts.js.map +0 -1
  830. package/esm/domain/view/bfCacheSupport.d.ts +0 -2
  831. package/esm/domain/view/bfCacheSupport.js +0 -10
  832. package/esm/domain/view/bfCacheSupport.js.map +0 -1
  833. package/esm/domain/view/trackViewEventCounts.d.ts +0 -5
  834. package/esm/domain/view/trackViewEventCounts.js +0 -13
  835. package/esm/domain/view/trackViewEventCounts.js.map +0 -1
  836. package/esm/domain/view/trackViews.d.ts +0 -65
  837. package/esm/domain/view/trackViews.js +0 -278
  838. package/esm/domain/view/trackViews.js.map +0 -1
  839. package/esm/domain/view/viewCollection.d.ts +0 -18
  840. package/esm/domain/view/viewCollection.js +0 -150
  841. package/esm/domain/view/viewCollection.js.map +0 -1
  842. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.d.ts +0 -6
  843. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.js +0 -28
  844. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.js.map +0 -1
  845. package/esm/domain/view/viewMetrics/interactionCountPolyfill.d.ts +0 -18
  846. package/esm/domain/view/viewMetrics/interactionCountPolyfill.js +0 -39
  847. package/esm/domain/view/viewMetrics/interactionCountPolyfill.js.map +0 -1
  848. package/esm/domain/view/viewMetrics/startInitialViewMetricsTelemetry.d.ts +0 -6
  849. package/esm/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js +0 -41
  850. package/esm/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js.map +0 -1
  851. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.d.ts +0 -8
  852. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.js +0 -14
  853. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.js.map +0 -1
  854. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.d.ts +0 -21
  855. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.js +0 -34
  856. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.js.map +0 -1
  857. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.d.ts +0 -37
  858. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js +0 -130
  859. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js.map +0 -1
  860. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.d.ts +0 -13
  861. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js +0 -34
  862. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js.map +0 -1
  863. package/esm/domain/view/viewMetrics/trackFirstHidden.d.ts +0 -10
  864. package/esm/domain/view/viewMetrics/trackFirstHidden.js +0 -30
  865. package/esm/domain/view/viewMetrics/trackFirstHidden.js.map +0 -1
  866. package/esm/domain/view/viewMetrics/trackFirstInput.d.ts +0 -19
  867. package/esm/domain/view/viewMetrics/trackFirstInput.js +0 -40
  868. package/esm/domain/view/viewMetrics/trackFirstInput.js.map +0 -1
  869. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.d.ts +0 -15
  870. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.js +0 -38
  871. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.js.map +0 -1
  872. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.d.ts +0 -25
  873. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js +0 -149
  874. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js.map +0 -1
  875. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.d.ts +0 -18
  876. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js +0 -57
  877. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js.map +0 -1
  878. package/esm/domain/view/viewMetrics/trackLoadingTime.d.ts +0 -14
  879. package/esm/domain/view/viewMetrics/trackLoadingTime.js +0 -47
  880. package/esm/domain/view/viewMetrics/trackLoadingTime.js.map +0 -1
  881. package/esm/domain/view/viewMetrics/trackNavigationTimings.d.ts +0 -14
  882. package/esm/domain/view/viewMetrics/trackNavigationTimings.js +0 -40
  883. package/esm/domain/view/viewMetrics/trackNavigationTimings.js.map +0 -1
  884. package/esm/domain/view/viewMetrics/trackScrollMetrics.d.ts +0 -25
  885. package/esm/domain/view/viewMetrics/trackScrollMetrics.js +0 -72
  886. package/esm/domain/view/viewMetrics/trackScrollMetrics.js.map +0 -1
  887. package/esm/domain/vital/vitalCollection.d.ts +0 -55
  888. package/esm/domain/vital/vitalCollection.js +0 -107
  889. package/esm/domain/vital/vitalCollection.js.map +0 -1
  890. package/esm/domain/waitPageActivityEnd.d.ts +0 -54
  891. package/esm/domain/waitPageActivityEnd.js +0 -123
  892. package/esm/domain/waitPageActivityEnd.js.map +0 -1
  893. package/esm/domainContext.types.d.ts +0 -39
  894. package/esm/domainContext.types.js +0 -5
  895. package/esm/domainContext.types.js.map +0 -1
  896. package/esm/index.d.ts +0 -42
  897. package/esm/index.js +0 -22
  898. package/esm/index.js.map +0 -1
  899. package/esm/rawRumEvent.types.d.ts +0 -326
  900. package/esm/rawRumEvent.types.js +0 -31
  901. package/esm/rawRumEvent.types.js.map +0 -1
  902. package/esm/rumEvent.types.d.ts +0 -2038
  903. package/esm/rumEvent.types.js +0 -6
  904. package/esm/rumEvent.types.js.map +0 -1
  905. package/esm/transport/formDataTransport.d.ts +0 -16
  906. package/esm/transport/formDataTransport.js +0 -43
  907. package/esm/transport/formDataTransport.js.map +0 -1
  908. package/esm/transport/startRumBatch.d.ts +0 -5
  909. package/esm/transport/startRumBatch.js +0 -30
  910. package/esm/transport/startRumBatch.js.map +0 -1
  911. package/esm/transport/startRumEventBridge.d.ts +0 -2
  912. package/esm/transport/startRumEventBridge.js +0 -8
  913. package/esm/transport/startRumEventBridge.js.map +0 -1
  914. package/src/browser/firstInputPolyfill.ts +0 -87
  915. package/src/domain/error/trackConsoleError.ts +0 -14
  916. package/src/domain/resource/matchRequestResourceEntry.ts +0 -68
  917. package/src/domain/resource/retrieveInitialDocumentResourceTiming.ts +0 -27
  918. package/src/domain/rumSessionManager.ts +0 -134
  919. package/src/domain/sampler/sampler.ts +0 -63
  920. package/src/domain/tracing/sampler.ts +0 -69
  921. package/src/domain/view/viewMetrics/startInitialViewMetricsTelemetry.ts +0 -70
  922. package/src/domain/view/viewMetrics/trackFirstInput.ts +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"cookieObservable.js","sourceRoot":"","sources":["../../src/browser/cookieObservable.ts"],"names":[],"mappings":";;;AAiBA,wDAQC;AAxBD,8EAQ0C;AAQ1C,SAAgB,sBAAsB,CAAC,aAA4B,EAAE,UAAkB;IACrF,MAAM,0BAA0B,GAAI,MAA4B,CAAC,WAAW;QAC1E,CAAC,CAAC,yBAAyB,CAAC,aAAa,CAAC;QAC1C,CAAC,CAAC,mBAAmB,CAAA;IAEvB,OAAO,IAAI,mCAAU,CAAqB,CAAC,UAAU,EAAE,EAAE,CACvD,0BAA0B,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,aAA4B;IAC7D,OAAO,CAAC,UAAkB,EAAE,QAA6C,EAAE,EAAE;QAC3E,MAAM,QAAQ,GAAG,IAAA,yCAAgB,EAC/B,aAAa,EACZ,MAA4B,CAAC,WAAY,mCAE1C,CAAC,KAAK,EAAE,EAAE;YACR,sIAAsI;YACtI,8HAA8H;YAC9H,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;gBACxD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YAC1D,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC,CACF,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC,CAAA;AACH,CAAC;AAEY,QAAA,2BAA2B,GAAG,mCAAU,CAAA;AAErD,SAAS,mBAAmB,CAAC,UAAkB,EAAE,QAA6C;IAC5F,MAAM,mBAAmB,GAAG,IAAA,gDAAuB,EAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAChF,MAAM,qBAAqB,GAAG,IAAA,oCAAW,EAAC,GAAG,EAAE;QAC7C,MAAM,WAAW,GAAG,IAAA,gDAAuB,EAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACxE,IAAI,WAAW,KAAK,mBAAmB,EAAE,CAAC;YACxC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,EAAE,mCAA2B,CAAC,CAAA;IAE/B,OAAO,GAAG,EAAE;QACV,IAAA,sCAAa,EAAC,qBAAqB,CAAC,CAAA;IACtC,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"cookieObservable.js","names":["isCookieStoreSupported","Observable","addEventListener","globalObject","DOM_EVENT","ONE_SECOND","getCookie","setInterval"],"sources":["../../src/browser/cookieObservable.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { ONE_SECOND } from '@kubesense/kubesense-js-core/time'\nimport {\n setInterval,\n clearInterval,\n Observable,\n addEventListener,\n DOM_EVENT,\n getCookie,\n isCookieStoreSupported,\n} from '@kubesense/kubesense-browser-core'\n\nexport type CookieObservable = ReturnType<typeof createCookieObservable>\n\nexport function createCookieObservable(cookieName: string) {\n const detectCookieChangeStrategy = isCookieStoreSupported() ? listenToCookieStoreChange() : watchCookieFallback\n\n return new Observable<string | undefined>((observable) =>\n detectCookieChangeStrategy(cookieName, (event) => observable.notify(event))\n )\n}\n\nfunction listenToCookieStoreChange() {\n return (cookieName: string, callback: (event: string | undefined) => void) => {\n const listener = addEventListener(globalObject.cookieStore!, DOM_EVENT.CHANGE, (event) => {\n // Based on our experimentation, we're assuming that entries for the same cookie cannot be in both the 'changed' and 'deleted' arrays.\n // However, due to ambiguity in the specification, we asked for clarification: https://github.com/WICG/cookie-store/issues/226\n const changeEvent =\n event.changed.find((event) => event.name === cookieName) ||\n event.deleted.find((event) => event.name === cookieName)\n if (changeEvent) {\n callback(changeEvent.value)\n }\n })\n return listener.stop\n }\n}\n\nexport const WATCH_COOKIE_INTERVAL_DELAY = ONE_SECOND\n\nfunction watchCookieFallback(cookieName: string, callback: (event: string | undefined) => void) {\n let previousCookieValue = getCookie(cookieName)\n const watchCookieIntervalId = setInterval(() => {\n const cookieValue = getCookie(cookieName)\n if (cookieValue !== previousCookieValue) {\n previousCookieValue = cookieValue\n callback(cookieValue)\n }\n }, WATCH_COOKIE_INTERVAL_DELAY)\n\n return () => {\n clearInterval(watchCookieIntervalId)\n }\n}\n"],"mappings":";;;;AAcA,SAAgB,uBAAuB,YAAoB;CACzD,MAAM,8BAAA,GAA6BA,kCAAAA,uBAAAA,CAAuB,IAAI,0BAA0B,IAAI;CAE5F,OAAO,IAAIC,kCAAAA,YAAgC,eACzC,2BAA2B,aAAa,UAAU,WAAW,OAAO,KAAK,CAAC,CAC5E;AACF;AAEA,SAAS,4BAA4B;CACnC,QAAQ,YAAoB,aAAkD;EAW5E,QAAA,GAViBC,kCAAAA,iBAAAA,CAAiBC,kCAAAA,aAAa,aAAcC,kCAAAA,UAAU,SAAS,UAAU;GAGxF,MAAM,cACJ,MAAM,QAAQ,MAAM,UAAU,MAAM,SAAS,UAAU,KACvD,MAAM,QAAQ,MAAM,UAAU,MAAM,SAAS,UAAU;GACzD,IAAI,aACF,SAAS,YAAY,KAAK;EAE9B,CACc,CAAC,CAAC;CAClB;AACF;AAEA,MAAa,8BAA8BC,kCAAAA;AAE3C,SAAS,oBAAoB,YAAoB,UAA+C;CAC9F,IAAI,uBAAA,GAAsBC,kCAAAA,UAAAA,CAAU,UAAU;CAC9C,MAAM,yBAAA,GAAwBC,kCAAAA,YAAAA,OAAkB;EAC9C,MAAM,eAAA,GAAcD,kCAAAA,UAAAA,CAAU,UAAU;EACxC,IAAI,gBAAgB,qBAAqB;GACvC,sBAAsB;GACtB,SAAS,WAAW;EACtB;CACF,GAAG,2BAA2B;CAE9B,aAAa;EACX,CAAA,GAAA,kCAAA,cAAA,CAAc,qBAAqB;CACrC;AACF"}
@@ -8,7 +8,7 @@ export interface RumAttributesMutationRecord {
8
8
  type: 'attributes';
9
9
  target: Element;
10
10
  oldValue: string | null;
11
- attributeName: string | null;
11
+ attributeName: string;
12
12
  }
13
13
  export interface RumChildListMutationRecord {
14
14
  type: 'childList';
@@ -20,8 +20,8 @@ export type RumMutationRecord = RumCharacterDataMutationRecord | RumAttributesMu
20
20
  export declare function createDOMMutationObservable(): Observable<RumMutationRecord[]>;
21
21
  type MutationObserverConstructor = new (callback: (records: RumMutationRecord[]) => void) => MutationObserver;
22
22
  export interface BrowserWindow extends Window {
23
- MutationObserver?: MutationObserverConstructor;
23
+ MutationObserver: MutationObserverConstructor;
24
24
  Zone?: unknown;
25
25
  }
26
- export declare function getMutationObserverConstructor(): MutationObserverConstructor | undefined;
26
+ export declare function getMutationObserverConstructor(): MutationObserverConstructor;
27
27
  export {};
@@ -1,58 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDOMMutationObservable = createDOMMutationObservable;
4
- exports.getMutationObserverConstructor = getMutationObserverConstructor;
5
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
1
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
2
+ let _kubesense_kubesense_js_core_monitor = require("@kubesense/kubesense-js-core/monitor");
3
+ //#region src/browser/domMutationObservable.ts
6
4
  function createDOMMutationObservable() {
7
- const MutationObserver = getMutationObserverConstructor();
8
- return new kubesense_browser_core_1.Observable((observable) => {
9
- if (!MutationObserver) {
10
- return;
11
- }
12
- const observer = new MutationObserver((0, kubesense_browser_core_1.monitor)((records) => observable.notify(records)));
13
- observer.observe(document, {
14
- attributes: true,
15
- characterData: true,
16
- childList: true,
17
- subtree: true,
18
- });
19
- return () => observer.disconnect();
20
- });
5
+ const MutationObserver = getMutationObserverConstructor();
6
+ return new _kubesense_kubesense_browser_core.Observable((observable) => {
7
+ const observer = new MutationObserver((0, _kubesense_kubesense_js_core_monitor.monitor)((records) => observable.notify(records)));
8
+ observer.observe(document, {
9
+ attributes: true,
10
+ characterData: true,
11
+ childList: true,
12
+ subtree: true
13
+ });
14
+ return () => observer.disconnect();
15
+ });
21
16
  }
22
17
  function getMutationObserverConstructor() {
23
- let constructor;
24
- const browserWindow = window;
25
- // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the
26
- // global MutationObserver constructor with a patched version to support the context propagation.
27
- // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular
28
- // component: on some occasions, the callback is being called in an infinite loop, causing the
29
- // page to freeze (even if the callback is completely empty).
30
- //
31
- // To work around this issue, we try to get the original MutationObserver constructor stored by
32
- // Zone.js.
33
- //
34
- // [1] https://github.com/angular/angular/issues/26948
35
- // [2] https://github.com/angular/angular/issues/31712
36
- if (browserWindow.Zone) {
37
- // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].
38
- //
39
- // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288
40
- constructor = (0, kubesense_browser_core_1.getZoneJsOriginalValue)(browserWindow, 'MutationObserver');
41
- if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {
42
- // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver
43
- // in the 'window' object. Luckily, the patched MutationObserver class is storing an original
44
- // instance in its properties[4]. Let's get the original MutationObserver constructor from
45
- // there.
46
- //
47
- // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412
48
- const patchedInstance = new browserWindow.MutationObserver(kubesense_browser_core_1.noop);
49
- const originalInstance = (0, kubesense_browser_core_1.getZoneJsOriginalValue)(patchedInstance, 'originalInstance');
50
- constructor = originalInstance && originalInstance.constructor;
51
- }
52
- }
53
- if (!constructor) {
54
- constructor = browserWindow.MutationObserver;
55
- }
56
- return constructor;
18
+ let constructor;
19
+ const browserWindow = window;
20
+ if (browserWindow.Zone) {
21
+ constructor = (0, _kubesense_kubesense_browser_core.getZoneJsOriginalValue)(browserWindow, "MutationObserver");
22
+ if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {
23
+ const patchedInstance = new browserWindow.MutationObserver(_kubesense_kubesense_browser_core.noop);
24
+ constructor = (0, _kubesense_kubesense_browser_core.getZoneJsOriginalValue)(patchedInstance, "originalInstance")?.constructor;
25
+ }
26
+ }
27
+ if (!constructor) constructor = browserWindow.MutationObserver;
28
+ return constructor;
57
29
  }
30
+ //#endregion
31
+ exports.createDOMMutationObservable = createDOMMutationObservable;
32
+ exports.getMutationObserverConstructor = getMutationObserverConstructor;
33
+
58
34
  //# sourceMappingURL=domMutationObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domMutationObservable.js","sourceRoot":"","sources":["../../src/browser/domMutationObservable.ts"],"names":[],"mappings":";;AA4BA,kEAiBC;AASD,wEA2CC;AAjGD,8EAAqG;AA4BrG,SAAgB,2BAA2B;IACzC,MAAM,gBAAgB,GAAG,8BAA8B,EAAE,CAAA;IAEzD,OAAO,IAAI,mCAAU,CAAsB,CAAC,UAAU,EAAE,EAAE;QACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAA,gCAAO,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACvF,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;IACpC,CAAC,CAAC,CAAA;AACJ,CAAC;AASD,SAAgB,8BAA8B;IAC5C,IAAI,WAAoD,CAAA;IACxD,MAAM,aAAa,GAAG,MAAuB,CAAA;IAE7C,iGAAiG;IACjG,iGAAiG;IACjG,iGAAiG;IACjG,8FAA8F;IAC9F,6DAA6D;IAC7D,EAAE;IACF,+FAA+F;IAC/F,WAAW;IACX,EAAE;IACF,sDAAsD;IACtD,sDAAsD;IACtD,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QACvB,6FAA6F;QAC7F,EAAE;QACF,iIAAiI;QACjI,WAAW,GAAG,IAAA,+CAAsB,EAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA;QAEvE,IAAI,aAAa,CAAC,gBAAgB,IAAI,WAAW,KAAK,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACrF,8FAA8F;YAC9F,6FAA6F;YAC7F,0FAA0F;YAC1F,SAAS;YACT,EAAE;YACF,8EAA8E;YAE9E,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,gBAAgB,CAAC,6BAAI,CAE9D,CAAA;YAED,MAAM,gBAAgB,GAAG,IAAA,+CAAsB,EAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;YACpF,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,WAAW,CAAA;QAChE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAA;IAC9C,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"domMutationObservable.js","names":["Observable","monitor","getZoneJsOriginalValue","noop"],"sources":["../../src/browser/domMutationObservable.ts"],"sourcesContent":["import { monitor } from '@kubesense/kubesense-js-core/monitor'\nimport { noop, Observable, getZoneJsOriginalValue } from '@kubesense/kubesense-browser-core'\n\n// https://dom.spec.whatwg.org/#interface-mutationrecord\nexport interface RumCharacterDataMutationRecord {\n type: 'characterData'\n target: Node\n oldValue: string | null\n}\n\nexport interface RumAttributesMutationRecord {\n type: 'attributes'\n target: Element\n oldValue: string | null\n attributeName: string\n}\n\nexport interface RumChildListMutationRecord {\n type: 'childList'\n target: Node\n addedNodes: NodeList\n removedNodes: NodeList\n}\n\nexport type RumMutationRecord =\n RumCharacterDataMutationRecord | RumAttributesMutationRecord | RumChildListMutationRecord\n\nexport function createDOMMutationObservable() {\n const MutationObserver = getMutationObserverConstructor()\n\n return new Observable<RumMutationRecord[]>((observable) => {\n const observer = new MutationObserver(monitor((records) => observable.notify(records)))\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n })\n return () => observer.disconnect()\n })\n}\n\ntype MutationObserverConstructor = new (callback: (records: RumMutationRecord[]) => void) => MutationObserver\n\nexport interface BrowserWindow extends Window {\n MutationObserver: MutationObserverConstructor\n Zone?: unknown\n}\n\nexport function getMutationObserverConstructor(): MutationObserverConstructor {\n let constructor: MutationObserverConstructor | undefined\n const browserWindow = window as BrowserWindow\n\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver')\n\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n\n const patchedInstance = new browserWindow.MutationObserver(noop) as {\n originalInstance?: { constructor: MutationObserverConstructor }\n }\n\n const originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance')\n constructor = originalInstance?.constructor\n }\n }\n\n if (!constructor) {\n constructor = browserWindow.MutationObserver\n }\n\n return constructor\n}\n"],"mappings":";;;AA2BA,SAAgB,8BAA8B;CAC5C,MAAM,mBAAmB,+BAA+B;CAExD,OAAO,IAAIA,kCAAAA,YAAiC,eAAe;EACzD,MAAM,WAAW,IAAI,kBAAA,GAAiBC,qCAAAA,QAAAA,EAAS,YAAY,WAAW,OAAO,OAAO,CAAC,CAAC;EACtF,SAAS,QAAQ,UAAU;GACzB,YAAY;GACZ,eAAe;GACf,WAAW;GACX,SAAS;EACX,CAAC;EACD,aAAa,SAAS,WAAW;CACnC,CAAC;AACH;AASA,SAAgB,iCAA8D;CAC5E,IAAI;CACJ,MAAM,gBAAgB;CAatB,IAAI,cAAc,MAAM;EAItB,eAAA,GAAcC,kCAAAA,uBAAAA,CAAuB,eAAe,kBAAkB;EAEtE,IAAI,cAAc,oBAAoB,gBAAgB,cAAc,kBAAkB;GAQpF,MAAM,kBAAkB,IAAI,cAAc,iBAAiBC,kCAAAA,IAAI;GAK/D,eAAA,GADyBD,kCAAAA,uBAAAA,CAAuB,iBAAiB,kBACpC,CAAC,EAAE;EAClC;CACF;CAEA,IAAI,CAAC,aACH,cAAc,cAAc;CAG9B,OAAO;AACT"}
@@ -11,3 +11,8 @@ export declare function forEachChildNodes(node: Node, callback: (child: Node) =>
11
11
  * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`
12
12
  */
13
13
  export declare function getParentNode(node: Node): Node | null;
14
+ /**
15
+ * Return the parent element, crossing shadow DOM boundaries.
16
+ * If the element is a direct child of a shadow root, returns the shadow host.
17
+ */
18
+ export declare function getParentElement(element: Element): Element | null;
@@ -1,46 +1,56 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTextNode = isTextNode;
4
- exports.isCommentNode = isCommentNode;
5
- exports.isElementNode = isElementNode;
6
- exports.isNodeShadowHost = isNodeShadowHost;
7
- exports.isNodeShadowRoot = isNodeShadowRoot;
8
- exports.hasChildNodes = hasChildNodes;
9
- exports.forEachChildNodes = forEachChildNodes;
10
- exports.getParentNode = getParentNode;
1
+ //#region src/browser/htmlDomUtils.ts
11
2
  function isTextNode(node) {
12
- return node.nodeType === Node.TEXT_NODE;
3
+ return node.nodeType === Node.TEXT_NODE;
13
4
  }
14
5
  function isCommentNode(node) {
15
- return node.nodeType === Node.COMMENT_NODE;
6
+ return node.nodeType === Node.COMMENT_NODE;
16
7
  }
17
8
  function isElementNode(node) {
18
- return node.nodeType === Node.ELEMENT_NODE;
9
+ return node.nodeType === Node.ELEMENT_NODE;
19
10
  }
20
11
  function isNodeShadowHost(node) {
21
- return isElementNode(node) && Boolean(node.shadowRoot);
12
+ return isElementNode(node) && Boolean(node.shadowRoot);
22
13
  }
23
14
  function isNodeShadowRoot(node) {
24
- const shadowRoot = node;
25
- return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);
15
+ const shadowRoot = node;
16
+ return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);
26
17
  }
27
18
  function hasChildNodes(node) {
28
- return node.childNodes.length > 0 || isNodeShadowHost(node);
19
+ return node.childNodes.length > 0 || isNodeShadowHost(node);
29
20
  }
30
21
  function forEachChildNodes(node, callback) {
31
- let child = node.firstChild;
32
- while (child) {
33
- callback(child);
34
- child = child.nextSibling;
35
- }
36
- if (isNodeShadowHost(node)) {
37
- callback(node.shadowRoot);
38
- }
22
+ let child = node.firstChild;
23
+ while (child) {
24
+ callback(child);
25
+ child = child.nextSibling;
26
+ }
27
+ if (isNodeShadowHost(node)) callback(node.shadowRoot);
39
28
  }
40
29
  /**
41
- * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`
42
- */
30
+ * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`
31
+ */
43
32
  function getParentNode(node) {
44
- return isNodeShadowRoot(node) ? node.host : node.parentNode;
33
+ return isNodeShadowRoot(node) ? node.host : node.parentNode;
45
34
  }
35
+ /**
36
+ * Return the parent element, crossing shadow DOM boundaries.
37
+ * If the element is a direct child of a shadow root, returns the shadow host.
38
+ */
39
+ function getParentElement(element) {
40
+ if (element.parentElement) return element.parentElement;
41
+ const parentNode = element.parentNode;
42
+ if (parentNode && isNodeShadowRoot(parentNode)) return parentNode.host;
43
+ return null;
44
+ }
45
+ //#endregion
46
+ exports.forEachChildNodes = forEachChildNodes;
47
+ exports.getParentElement = getParentElement;
48
+ exports.getParentNode = getParentNode;
49
+ exports.hasChildNodes = hasChildNodes;
50
+ exports.isCommentNode = isCommentNode;
51
+ exports.isElementNode = isElementNode;
52
+ exports.isNodeShadowHost = isNodeShadowHost;
53
+ exports.isNodeShadowRoot = isNodeShadowRoot;
54
+ exports.isTextNode = isTextNode;
55
+
46
56
  //# sourceMappingURL=htmlDomUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"htmlDomUtils.js","sourceRoot":"","sources":["../../src/browser/htmlDomUtils.ts"],"names":[],"mappings":";;AAAA,gCAEC;AAED,sCAEC;AAED,sCAEC;AAED,4CAEC;AAED,4CAGC;AAED,sCAEC;AAED,8CAYC;AAKD,sCAEC;AA5CD,SAAgB,UAAU,CAAC,IAAU;IACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAA;AACzC,CAAC;AAED,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAU;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACxD,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAU;IACzC,MAAM,UAAU,GAAG,IAAkB,CAAA;IACrC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACnH,CAAC;AAED,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;AAC7D,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAU,EAAE,QAA+B;IAC3E,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;IAE3B,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEf,KAAK,GAAG,KAAK,CAAC,WAAW,CAAA;IAC3B,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"htmlDomUtils.js","names":[],"sources":["../../src/browser/htmlDomUtils.ts"],"sourcesContent":["export function isTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE\n}\n\nexport function isCommentNode(node: Node): node is Comment {\n return node.nodeType === Node.COMMENT_NODE\n}\n\nexport function isElementNode(node: Node): node is Element {\n return node.nodeType === Node.ELEMENT_NODE\n}\n\nexport function isNodeShadowHost(node: Node): node is Element & { shadowRoot: ShadowRoot } {\n return isElementNode(node) && Boolean(node.shadowRoot)\n}\n\nexport function isNodeShadowRoot(node: Node): node is ShadowRoot {\n const shadowRoot = node as ShadowRoot\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host)\n}\n\nexport function hasChildNodes(node: Node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node)\n}\n\nexport function forEachChildNodes(node: Node, callback: (child: Node) => void) {\n let child = node.firstChild\n\n while (child) {\n callback(child)\n\n child = child.nextSibling\n }\n\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot)\n }\n}\n\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node: Node): Node | null {\n return isNodeShadowRoot(node) ? node.host : node.parentNode\n}\n\n/**\n * Return the parent element, crossing shadow DOM boundaries.\n * If the element is a direct child of a shadow root, returns the shadow host.\n */\nexport function getParentElement(element: Element): Element | null {\n if (element.parentElement) {\n return element.parentElement\n }\n const parentNode = element.parentNode\n if (parentNode && isNodeShadowRoot(parentNode)) {\n return parentNode.host\n }\n return null\n}\n"],"mappings":";AAAA,SAAgB,WAAW,MAA0B;CACnD,OAAO,KAAK,aAAa,KAAK;AAChC;AAEA,SAAgB,cAAc,MAA6B;CACzD,OAAO,KAAK,aAAa,KAAK;AAChC;AAEA,SAAgB,cAAc,MAA6B;CACzD,OAAO,KAAK,aAAa,KAAK;AAChC;AAEA,SAAgB,iBAAiB,MAA0D;CACzF,OAAO,cAAc,IAAI,KAAK,QAAQ,KAAK,UAAU;AACvD;AAEA,SAAgB,iBAAiB,MAAgC;CAC/D,MAAM,aAAa;CACnB,OAAO,CAAC,CAAC,WAAW,QAAQ,WAAW,aAAa,KAAK,0BAA0B,cAAc,WAAW,IAAI;AAClH;AAEA,SAAgB,cAAc,MAAY;CACxC,OAAO,KAAK,WAAW,SAAS,KAAK,iBAAiB,IAAI;AAC5D;AAEA,SAAgB,kBAAkB,MAAY,UAAiC;CAC7E,IAAI,QAAQ,KAAK;CAEjB,OAAO,OAAO;EACZ,SAAS,KAAK;EAEd,QAAQ,MAAM;CAChB;CAEA,IAAI,iBAAiB,IAAI,GACvB,SAAS,KAAK,UAAU;AAE5B;;;;AAKA,SAAgB,cAAc,MAAyB;CACrD,OAAO,iBAAiB,IAAI,IAAI,KAAK,OAAO,KAAK;AACnD;;;;;AAMA,SAAgB,iBAAiB,SAAkC;CACjE,IAAI,QAAQ,eACV,OAAO,QAAQ;CAEjB,MAAM,aAAa,QAAQ;CAC3B,IAAI,cAAc,iBAAiB,UAAU,GAC3C,OAAO,WAAW;CAEpB,OAAO;AACT"}
@@ -1,7 +1,6 @@
1
1
  import { Observable } from '@kubesense/kubesense-browser-core';
2
- import type { RumConfiguration } from '../domain/configuration';
3
2
  export interface LocationChange {
4
3
  oldLocation: Readonly<Location>;
5
4
  newLocation: Readonly<Location>;
6
5
  }
7
- export declare function createLocationChangeObservable(configuration: RumConfiguration, location: Location): Observable<LocationChange>;
6
+ export declare function createLocationChangeObservable(): Observable<LocationChange>;
@@ -1,51 +1,50 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLocationChangeObservable = createLocationChangeObservable;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
5
- function createLocationChangeObservable(configuration, location) {
6
- let currentLocation = (0, kubesense_browser_core_1.shallowClone)(location);
7
- return new kubesense_browser_core_1.Observable((observable) => {
8
- const { stop: stopHistoryTracking } = trackHistory(configuration, onLocationChange);
9
- const { stop: stopHashTracking } = trackHash(configuration, onLocationChange);
10
- function onLocationChange() {
11
- if (currentLocation.href === location.href) {
12
- return;
13
- }
14
- const newLocation = (0, kubesense_browser_core_1.shallowClone)(location);
15
- observable.notify({
16
- newLocation,
17
- oldLocation: currentLocation,
18
- });
19
- currentLocation = newLocation;
20
- }
21
- return () => {
22
- stopHistoryTracking();
23
- stopHashTracking();
24
- };
25
- });
1
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
2
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
3
+ //#region src/browser/locationChangeObservable.ts
4
+ function createLocationChangeObservable() {
5
+ let currentLocation = (0, _kubesense_kubesense_browser_core.shallowClone)(getLocation());
6
+ return new _kubesense_kubesense_browser_core.Observable((observable) => {
7
+ const { stop: stopHistoryTracking } = trackHistory(onLocationChange);
8
+ const { stop: stopHashTracking } = trackHash(onLocationChange);
9
+ function onLocationChange() {
10
+ if (currentLocation.href === getLocation().href) return;
11
+ const newLocation = (0, _kubesense_kubesense_browser_core.shallowClone)(getLocation());
12
+ observable.notify({
13
+ newLocation,
14
+ oldLocation: currentLocation
15
+ });
16
+ currentLocation = newLocation;
17
+ }
18
+ return () => {
19
+ stopHistoryTracking();
20
+ stopHashTracking();
21
+ };
22
+ });
23
+ }
24
+ function getLocation() {
25
+ return (0, _kubesense_kubesense_browser_core.mockable)(_kubesense_kubesense_js_core_util.globalObject.location);
26
26
  }
27
- function trackHistory(configuration, onHistoryChange) {
28
- const { stop: stopInstrumentingPushState } = (0, kubesense_browser_core_1.instrumentMethod)(getHistoryInstrumentationTarget('pushState'), 'pushState', ({ onPostCall }) => {
29
- onPostCall(onHistoryChange);
30
- });
31
- const { stop: stopInstrumentingReplaceState } = (0, kubesense_browser_core_1.instrumentMethod)(getHistoryInstrumentationTarget('replaceState'), 'replaceState', ({ onPostCall }) => {
32
- onPostCall(onHistoryChange);
33
- });
34
- const { stop: removeListener } = (0, kubesense_browser_core_1.addEventListener)(configuration, window, "popstate" /* DOM_EVENT.POP_STATE */, onHistoryChange);
35
- return {
36
- stop: () => {
37
- stopInstrumentingPushState();
38
- stopInstrumentingReplaceState();
39
- removeListener();
40
- },
41
- };
27
+ function trackHistory(onHistoryChange) {
28
+ const { stop: stopInstrumentingPushState } = (0, _kubesense_kubesense_browser_core.instrumentMethod)(getHistoryInstrumentationTarget("pushState"), "pushState", ({ onPostCall }) => {
29
+ onPostCall(onHistoryChange);
30
+ });
31
+ const { stop: stopInstrumentingReplaceState } = (0, _kubesense_kubesense_browser_core.instrumentMethod)(getHistoryInstrumentationTarget("replaceState"), "replaceState", ({ onPostCall }) => {
32
+ onPostCall(onHistoryChange);
33
+ });
34
+ const { stop: removeListener } = (0, _kubesense_kubesense_browser_core.addEventListener)(window, _kubesense_kubesense_browser_core.DOM_EVENT.POP_STATE, onHistoryChange);
35
+ return { stop: () => {
36
+ stopInstrumentingPushState();
37
+ stopInstrumentingReplaceState();
38
+ removeListener();
39
+ } };
42
40
  }
43
- function trackHash(configuration, onHashChange) {
44
- return (0, kubesense_browser_core_1.addEventListener)(configuration, window, "hashchange" /* DOM_EVENT.HASH_CHANGE */, onHashChange);
41
+ function trackHash(onHashChange) {
42
+ return (0, _kubesense_kubesense_browser_core.addEventListener)(window, _kubesense_kubesense_browser_core.DOM_EVENT.HASH_CHANGE, onHashChange);
45
43
  }
46
44
  function getHistoryInstrumentationTarget(methodName) {
47
- // Ideally we should always instument the method on the prototype, however some frameworks (e.g [Next.js](https://github.com/vercel/next.js/blob/d3f5532065f3e3bb84fb54bd2dfd1a16d0f03a21/packages/next/src/client/components/app-router.tsx#L429))
48
- // are wrapping the instance method. In that case we should also wrap the instance method.
49
- return Object.prototype.hasOwnProperty.call(history, methodName) ? history : History.prototype;
45
+ return Object.prototype.hasOwnProperty.call(history, methodName) ? history : History.prototype;
50
46
  }
47
+ //#endregion
48
+ exports.createLocationChangeObservable = createLocationChangeObservable;
49
+
51
50
  //# sourceMappingURL=locationChangeObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locationChangeObservable.js","sourceRoot":"","sources":["../../src/browser/locationChangeObservable.ts"],"names":[],"mappings":";;AAQA,wEAwBC;AAhCD,8EAA2H;AAQ3H,SAAgB,8BAA8B,CAAC,aAA+B,EAAE,QAAkB;IAChG,IAAI,eAAe,GAAG,IAAA,qCAAY,EAAC,QAAQ,CAAC,CAAA;IAE5C,OAAO,IAAI,mCAAU,CAAiB,CAAC,UAAU,EAAE,EAAE;QACnD,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;QACnF,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;QAE7E,SAAS,gBAAgB;YACvB,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,OAAM;YACR,CAAC;YACD,MAAM,WAAW,GAAG,IAAA,qCAAY,EAAC,QAAQ,CAAC,CAAA;YAC1C,UAAU,CAAC,MAAM,CAAC;gBAChB,WAAW;gBACX,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAA;YACF,eAAe,GAAG,WAAW,CAAA;QAC/B,CAAC;QAED,OAAO,GAAG,EAAE;YACV,mBAAmB,EAAE,CAAA;YACrB,gBAAgB,EAAE,CAAA;QACpB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,aAA+B,EAAE,eAA2B;IAChF,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,IAAA,yCAAgB,EAC3D,+BAA+B,CAAC,WAAW,CAAC,EAC5C,WAAW,EACX,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACjB,UAAU,CAAC,eAAe,CAAC,CAAA;IAC7B,CAAC,CACF,CAAA;IACD,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE,GAAG,IAAA,yCAAgB,EAC9D,+BAA+B,CAAC,cAAc,CAAC,EAC/C,cAAc,EACd,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACjB,UAAU,CAAC,eAAe,CAAC,CAAA;IAC7B,CAAC,CACF,CAAA;IACD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAA,yCAAgB,EAAC,aAAa,EAAE,MAAM,wCAAuB,eAAe,CAAC,CAAA;IAE9G,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,0BAA0B,EAAE,CAAA;YAC5B,6BAA6B,EAAE,CAAA;YAC/B,cAAc,EAAE,CAAA;QAClB,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,aAA+B,EAAE,YAAwB;IAC1E,OAAO,IAAA,yCAAgB,EAAC,aAAa,EAAE,MAAM,4CAAyB,YAAY,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,+BAA+B,CAAC,UAAwC;IAC/E,mPAAmP;IACnP,0FAA0F;IAC1F,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;AAChG,CAAC"}
1
+ {"version":3,"file":"locationChangeObservable.js","names":["shallowClone","Observable","mockable","globalObject","instrumentMethod","addEventListener","DOM_EVENT"],"sources":["../../src/browser/locationChangeObservable.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport {\n addEventListener,\n DOM_EVENT,\n instrumentMethod,\n mockable,\n Observable,\n shallowClone,\n} from '@kubesense/kubesense-browser-core'\n\nexport interface LocationChange {\n oldLocation: Readonly<Location>\n newLocation: Readonly<Location>\n}\n\nexport function createLocationChangeObservable() {\n let currentLocation = shallowClone(getLocation())\n\n return new Observable<LocationChange>((observable) => {\n const { stop: stopHistoryTracking } = trackHistory(onLocationChange)\n const { stop: stopHashTracking } = trackHash(onLocationChange)\n\n function onLocationChange() {\n if (currentLocation.href === getLocation().href) {\n return\n }\n const newLocation = shallowClone(getLocation())\n observable.notify({\n newLocation,\n oldLocation: currentLocation,\n })\n currentLocation = newLocation\n }\n\n return () => {\n stopHistoryTracking()\n stopHashTracking()\n }\n })\n}\n\nfunction getLocation() {\n return mockable(globalObject.location)\n}\n\nfunction trackHistory(onHistoryChange: () => void) {\n const { stop: stopInstrumentingPushState } = instrumentMethod(\n getHistoryInstrumentationTarget('pushState'),\n 'pushState',\n ({ onPostCall }) => {\n onPostCall(onHistoryChange)\n }\n )\n const { stop: stopInstrumentingReplaceState } = instrumentMethod(\n getHistoryInstrumentationTarget('replaceState'),\n 'replaceState',\n ({ onPostCall }) => {\n onPostCall(onHistoryChange)\n }\n )\n const { stop: removeListener } = addEventListener(window, DOM_EVENT.POP_STATE, onHistoryChange)\n\n return {\n stop: () => {\n stopInstrumentingPushState()\n stopInstrumentingReplaceState()\n removeListener()\n },\n }\n}\n\nfunction trackHash(onHashChange: () => void) {\n return addEventListener(window, DOM_EVENT.HASH_CHANGE, onHashChange)\n}\n\nfunction getHistoryInstrumentationTarget(methodName: 'pushState' | 'replaceState') {\n // Ideally we should always instument the method on the prototype, however some frameworks (e.g [Next.js](https://github.com/vercel/next.js/blob/d3f5532065f3e3bb84fb54bd2dfd1a16d0f03a21/packages/next/src/client/components/app-router.tsx#L429))\n // are wrapping the instance method. In that case we should also wrap the instance method.\n return Object.prototype.hasOwnProperty.call(history, methodName) ? history : History.prototype\n}\n"],"mappings":";;;AAeA,SAAgB,iCAAiC;CAC/C,IAAI,mBAAA,GAAkBA,kCAAAA,aAAAA,CAAa,YAAY,CAAC;CAEhD,OAAO,IAAIC,kCAAAA,YAA4B,eAAe;EACpD,MAAM,EAAE,MAAM,wBAAwB,aAAa,gBAAgB;EACnE,MAAM,EAAE,MAAM,qBAAqB,UAAU,gBAAgB;EAE7D,SAAS,mBAAmB;GAC1B,IAAI,gBAAgB,SAAS,YAAY,CAAC,CAAC,MACzC;GAEF,MAAM,eAAA,GAAcD,kCAAAA,aAAAA,CAAa,YAAY,CAAC;GAC9C,WAAW,OAAO;IAChB;IACA,aAAa;GACf,CAAC;GACD,kBAAkB;EACpB;EAEA,aAAa;GACX,oBAAoB;GACpB,iBAAiB;EACnB;CACF,CAAC;AACH;AAEA,SAAS,cAAc;CACrB,QAAA,GAAOE,kCAAAA,SAAAA,CAASC,kCAAAA,aAAa,QAAQ;AACvC;AAEA,SAAS,aAAa,iBAA6B;CACjD,MAAM,EAAE,MAAM,gCAAA,GAA+BC,kCAAAA,iBAAAA,CAC3C,gCAAgC,WAAW,GAC3C,cACC,EAAE,iBAAiB;EAClB,WAAW,eAAe;CAC5B,CACF;CACA,MAAM,EAAE,MAAM,mCAAA,GAAkCA,kCAAAA,iBAAAA,CAC9C,gCAAgC,cAAc,GAC9C,iBACC,EAAE,iBAAiB;EAClB,WAAW,eAAe;CAC5B,CACF;CACA,MAAM,EAAE,MAAM,oBAAA,GAAmBC,kCAAAA,iBAAAA,CAAiB,QAAQC,kCAAAA,UAAU,WAAW,eAAe;CAE9F,OAAO,EACL,YAAY;EACV,2BAA2B;EAC3B,8BAA8B;EAC9B,eAAe;CACjB,EACF;AACF;AAEA,SAAS,UAAU,cAA0B;CAC3C,QAAA,GAAOD,kCAAAA,iBAAAA,CAAiB,QAAQC,kCAAAA,UAAU,aAAa,YAAY;AACrE;AAEA,SAAS,gCAAgC,YAA0C;CAGjF,OAAO,OAAO,UAAU,eAAe,KAAK,SAAS,UAAU,IAAI,UAAU,QAAQ;AACvF"}
@@ -1,6 +1,5 @@
1
- import type { Duration, RelativeTime } from '@kubesense/kubesense-browser-core';
1
+ import type { RelativeTime, Duration } from '@kubesense/kubesense-js-core/time';
2
2
  import { Observable } from '@kubesense/kubesense-browser-core';
3
- import type { RumConfiguration } from '../domain/configuration';
4
3
  type RumPerformanceObserverConstructor = new (callback: PerformanceObserverCallback) => RumPerformanceObserver;
5
4
  export interface BrowserWindow extends Window {
6
5
  PerformanceObserver: RumPerformanceObserverConstructor;
@@ -56,8 +55,8 @@ export interface RumPerformanceResourceTiming {
56
55
  transferSize?: number;
57
56
  nextHopProtocol?: string;
58
57
  renderBlockingStatus?: string;
59
- traceId?: string;
60
58
  deliveryType?: 'cache' | 'navigational-prefetch' | '';
59
+ contentType?: string;
61
60
  toJSON(): Omit<PerformanceEntry, 'toJSON'>;
62
61
  }
63
62
  export interface RumPerformancePaintTiming {
@@ -165,10 +164,11 @@ export interface EntryTypeToReturnType {
165
164
  [RumPerformanceEntryType.RESOURCE]: RumPerformanceResourceTiming;
166
165
  [RumPerformanceEntryType.VISIBILITY_STATE]: RumFirstHiddenTiming;
167
166
  }
168
- export declare function createPerformanceObservable<T extends RumPerformanceEntryType>(configuration: RumConfiguration, options: {
167
+ export declare function createPerformanceObservable<T extends RumPerformanceEntryType>(options: {
169
168
  type: T;
170
169
  buffered?: boolean;
171
170
  durationThreshold?: number;
172
171
  }): Observable<EntryTypeToReturnType[T][]>;
172
+ export declare function resetManageResourceTimingBufferFull(): void;
173
173
  export declare function supportPerformanceTimingEvent(entryType: RumPerformanceEntryType): boolean;
174
174
  export {};
@@ -1,126 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RumPerformanceEntryType = void 0;
4
- exports.createPerformanceObservable = createPerformanceObservable;
5
- exports.supportPerformanceTimingEvent = supportPerformanceTimingEvent;
6
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
7
- const resourceUtils_1 = require("../domain/resource/resourceUtils");
8
- const firstInputPolyfill_1 = require("./firstInputPolyfill");
9
- // We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary
10
- // string is an expected performance entry
11
- // eslint-disable-next-line no-restricted-syntax
12
- var RumPerformanceEntryType;
13
- (function (RumPerformanceEntryType) {
14
- RumPerformanceEntryType["EVENT"] = "event";
15
- RumPerformanceEntryType["FIRST_INPUT"] = "first-input";
16
- RumPerformanceEntryType["LARGEST_CONTENTFUL_PAINT"] = "largest-contentful-paint";
17
- RumPerformanceEntryType["LAYOUT_SHIFT"] = "layout-shift";
18
- RumPerformanceEntryType["LONG_TASK"] = "longtask";
19
- RumPerformanceEntryType["LONG_ANIMATION_FRAME"] = "long-animation-frame";
20
- RumPerformanceEntryType["NAVIGATION"] = "navigation";
21
- RumPerformanceEntryType["PAINT"] = "paint";
22
- RumPerformanceEntryType["RESOURCE"] = "resource";
23
- RumPerformanceEntryType["VISIBILITY_STATE"] = "visibility-state";
24
- })(RumPerformanceEntryType || (exports.RumPerformanceEntryType = RumPerformanceEntryType = {}));
25
- function createPerformanceObservable(configuration, options) {
26
- return new kubesense_browser_core_1.Observable((observable) => {
27
- if (!window.PerformanceObserver) {
28
- return;
29
- }
30
- const handlePerformanceEntries = (entries) => {
31
- const rumPerformanceEntries = filterRumPerformanceEntries(entries);
32
- if (rumPerformanceEntries.length > 0) {
33
- observable.notify(rumPerformanceEntries);
34
- }
35
- };
36
- let timeoutId;
37
- let isObserverInitializing = true;
38
- const observer = new PerformanceObserver((0, kubesense_browser_core_1.monitor)((entries) => {
39
- // In Safari the performance observer callback is synchronous.
40
- // Because the buffered performance entry list can be quite large we delay the computation to prevent the SDK from blocking the main thread on init
41
- if (isObserverInitializing) {
42
- timeoutId = (0, kubesense_browser_core_1.setTimeout)(() => handlePerformanceEntries(entries.getEntries()));
43
- }
44
- else {
45
- handlePerformanceEntries(entries.getEntries());
46
- }
47
- }));
48
- try {
49
- observer.observe(options);
50
- }
51
- catch (_a) {
52
- // Some old browser versions (<= chrome 74 ) don't support the PerformanceObserver type and buffered options
53
- // In these cases, fallback to getEntriesByType and PerformanceObserver with entryTypes
54
- // TODO: remove this fallback in the next major version
55
- const fallbackSupportedEntryTypes = [
56
- RumPerformanceEntryType.RESOURCE,
57
- RumPerformanceEntryType.NAVIGATION,
58
- RumPerformanceEntryType.LONG_TASK,
59
- RumPerformanceEntryType.PAINT,
60
- ];
61
- if (fallbackSupportedEntryTypes.includes(options.type)) {
62
- if (options.buffered) {
63
- timeoutId = (0, kubesense_browser_core_1.setTimeout)(() => handlePerformanceEntries(performance.getEntriesByType(options.type)));
64
- }
65
- try {
66
- observer.observe({ entryTypes: [options.type] });
67
- }
68
- catch (_b) {
69
- // Old versions of Safari are throwing "entryTypes contained only unsupported types"
70
- // errors when observing only unsupported entry types.
71
- //
72
- // We could use `supportPerformanceTimingEvent` to make sure we don't invoke
73
- // `observer.observe` with an unsupported entry type, but Safari 11 and 12 don't support
74
- // `Performance.supportedEntryTypes`, so doing so would lose support for these versions
75
- // even if they do support the entry type.
76
- return;
77
- }
78
- }
79
- }
80
- isObserverInitializing = false;
81
- manageResourceTimingBufferFull(configuration);
82
- let stopFirstInputTiming;
83
- if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT) &&
84
- options.type === RumPerformanceEntryType.FIRST_INPUT) {
85
- ;
86
- ({ stop: stopFirstInputTiming } = (0, firstInputPolyfill_1.retrieveFirstInputTiming)(configuration, (timing) => {
87
- handlePerformanceEntries([timing]);
88
- }));
89
- }
90
- return () => {
91
- observer.disconnect();
92
- if (stopFirstInputTiming) {
93
- stopFirstInputTiming();
94
- }
95
- (0, kubesense_browser_core_1.clearTimeout)(timeoutId);
96
- };
97
- });
1
+ const require_resourceUtils = require("../domain/resource/resourceUtils.js");
2
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
3
+ let _kubesense_kubesense_js_core_monitor = require("@kubesense/kubesense-js-core/monitor");
4
+ //#region src/browser/performanceObservable.ts
5
+ let RumPerformanceEntryType = /* @__PURE__ */ function(RumPerformanceEntryType) {
6
+ RumPerformanceEntryType["EVENT"] = "event";
7
+ RumPerformanceEntryType["FIRST_INPUT"] = "first-input";
8
+ RumPerformanceEntryType["LARGEST_CONTENTFUL_PAINT"] = "largest-contentful-paint";
9
+ RumPerformanceEntryType["LAYOUT_SHIFT"] = "layout-shift";
10
+ RumPerformanceEntryType["LONG_TASK"] = "longtask";
11
+ RumPerformanceEntryType["LONG_ANIMATION_FRAME"] = "long-animation-frame";
12
+ RumPerformanceEntryType["NAVIGATION"] = "navigation";
13
+ RumPerformanceEntryType["PAINT"] = "paint";
14
+ RumPerformanceEntryType["RESOURCE"] = "resource";
15
+ RumPerformanceEntryType["VISIBILITY_STATE"] = "visibility-state";
16
+ return RumPerformanceEntryType;
17
+ }({});
18
+ function createPerformanceObservable(options) {
19
+ return new _kubesense_kubesense_browser_core.Observable((observable) => {
20
+ const handlePerformanceEntries = (entries) => {
21
+ const rumPerformanceEntries = filterRumPerformanceEntries(entries);
22
+ if (rumPerformanceEntries.length > 0) observable.notify(rumPerformanceEntries);
23
+ };
24
+ let timeoutId;
25
+ let isObserverInitializing = true;
26
+ const observer = new PerformanceObserver((0, _kubesense_kubesense_js_core_monitor.monitor)((entries) => {
27
+ if (isObserverInitializing) timeoutId = (0, _kubesense_kubesense_browser_core.setTimeout)(() => handlePerformanceEntries(entries.getEntries()));
28
+ else handlePerformanceEntries(entries.getEntries());
29
+ }));
30
+ observer.observe(options);
31
+ isObserverInitializing = false;
32
+ manageResourceTimingBufferFull();
33
+ return () => {
34
+ observer.disconnect();
35
+ (0, _kubesense_kubesense_browser_core.clearTimeout)(timeoutId);
36
+ };
37
+ });
98
38
  }
99
39
  let resourceTimingBufferFullListener;
100
- function manageResourceTimingBufferFull(configuration) {
101
- if (!resourceTimingBufferFullListener && supportPerformanceObject() && 'addEventListener' in performance) {
102
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377
103
- resourceTimingBufferFullListener = (0, kubesense_browser_core_1.addEventListener)(configuration, performance, 'resourcetimingbufferfull', () => {
104
- performance.clearResourceTimings();
105
- });
106
- }
107
- return () => {
108
- resourceTimingBufferFullListener === null || resourceTimingBufferFullListener === void 0 ? void 0 : resourceTimingBufferFullListener.stop();
109
- };
40
+ function manageResourceTimingBufferFull() {
41
+ if (!resourceTimingBufferFullListener && supportPerformanceObject() && "addEventListener" in performance) resourceTimingBufferFullListener = (0, _kubesense_kubesense_browser_core.addEventListener)(performance, "resourcetimingbufferfull", () => {
42
+ performance.clearResourceTimings();
43
+ });
110
44
  }
111
45
  function supportPerformanceObject() {
112
- return window.performance !== undefined && 'getEntries' in performance;
46
+ return window.performance !== void 0 && "getEntries" in performance;
113
47
  }
114
48
  function supportPerformanceTimingEvent(entryType) {
115
- return (window.PerformanceObserver &&
116
- PerformanceObserver.supportedEntryTypes !== undefined &&
117
- PerformanceObserver.supportedEntryTypes.includes(entryType));
49
+ return PerformanceObserver.supportedEntryTypes.includes(entryType);
118
50
  }
119
51
  function filterRumPerformanceEntries(entries) {
120
- return entries.filter((entry) => !isForbiddenResource(entry));
52
+ return entries.filter((entry) => !isForbiddenResource(entry));
121
53
  }
122
54
  function isForbiddenResource(entry) {
123
- return (entry.entryType === RumPerformanceEntryType.RESOURCE &&
124
- (!(0, resourceUtils_1.isAllowedRequestUrl)(entry.name) || !(0, resourceUtils_1.hasValidResourceEntryDuration)(entry)));
55
+ return entry.entryType === "resource" && (!require_resourceUtils.isAllowedRequestUrl(entry.name) || !require_resourceUtils.hasValidResourceEntryDuration(entry));
125
56
  }
57
+ //#endregion
58
+ exports.RumPerformanceEntryType = RumPerformanceEntryType;
59
+ exports.createPerformanceObservable = createPerformanceObservable;
60
+ exports.supportPerformanceTimingEvent = supportPerformanceTimingEvent;
61
+
126
62
  //# sourceMappingURL=performanceObservable.js.map