@openobserve/browser-core 0.3.3 → 0.4.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 (863) hide show
  1. package/README.md +1 -1
  2. package/cjs/boot/displayAlreadyInitializedError.js +6 -7
  3. package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
  4. package/cjs/boot/init.js +26 -34
  5. package/cjs/boot/init.js.map +1 -1
  6. package/cjs/browser/addEventListener.d.ts +10 -8
  7. package/cjs/browser/addEventListener.js +107 -50
  8. package/cjs/browser/addEventListener.js.map +1 -1
  9. package/cjs/browser/browser.types.d.ts +91 -4
  10. package/cjs/browser/cookie.d.ts +0 -1
  11. package/cjs/browser/cookie.js +65 -92
  12. package/cjs/browser/cookie.js.map +1 -1
  13. package/cjs/browser/cookieAccess.d.ts +16 -0
  14. package/cjs/browser/cookieAccess.js +114 -0
  15. package/cjs/browser/cookieAccess.js.map +1 -0
  16. package/cjs/browser/fetch.d.ts +9 -0
  17. package/cjs/browser/fetch.js +18 -0
  18. package/cjs/browser/fetch.js.map +1 -0
  19. package/cjs/browser/fetchObservable.d.ts +3 -3
  20. package/cjs/browser/fetchObservable.js +80 -92
  21. package/cjs/browser/fetchObservable.js.map +1 -1
  22. package/cjs/browser/pageMayExitObservable.d.ts +1 -2
  23. package/cjs/browser/pageMayExitObservable.js +41 -40
  24. package/cjs/browser/pageMayExitObservable.js.map +1 -1
  25. package/cjs/browser/runOnReadyState.d.ts +2 -3
  26. package/cjs/browser/runOnReadyState.js +18 -17
  27. package/cjs/browser/runOnReadyState.js.map +1 -1
  28. package/cjs/browser/xhrObservable.d.ts +8 -3
  29. package/cjs/browser/xhrObservable.js +65 -77
  30. package/cjs/browser/xhrObservable.js.map +1 -1
  31. package/cjs/domain/allowedTrackingOrigins.d.ts +1 -1
  32. package/cjs/domain/allowedTrackingOrigins.js +25 -23
  33. package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
  34. package/cjs/domain/bufferedData.d.ts +20 -6
  35. package/cjs/domain/bufferedData.js +41 -19
  36. package/cjs/domain/bufferedData.js.map +1 -1
  37. package/cjs/domain/configuration/configuration.d.ts +44 -43
  38. package/cjs/domain/configuration/configuration.js +122 -125
  39. package/cjs/domain/configuration/configuration.js.map +1 -1
  40. package/cjs/domain/configuration/endpointBuilder.d.ts +42 -7
  41. package/cjs/domain/configuration/endpointBuilder.js +67 -74
  42. package/cjs/domain/configuration/endpointBuilder.js.map +1 -1
  43. package/cjs/domain/configuration/index.d.ts +2 -3
  44. package/cjs/domain/connectivity/connectivity.d.ts +1 -7
  45. package/cjs/domain/connectivity/connectivity.js +11 -11
  46. package/cjs/domain/connectivity/connectivity.js.map +1 -1
  47. package/cjs/domain/console/consoleObservable.d.ts +1 -1
  48. package/cjs/domain/console/consoleObservable.js +59 -74
  49. package/cjs/domain/console/consoleObservable.js.map +1 -1
  50. package/cjs/domain/context/contextConstants.js +24 -15
  51. package/cjs/domain/context/contextConstants.js.map +1 -1
  52. package/cjs/domain/context/contextManager.js +49 -54
  53. package/cjs/domain/context/contextManager.js.map +1 -1
  54. package/cjs/domain/context/contextUtils.js +11 -12
  55. package/cjs/domain/context/contextUtils.js.map +1 -1
  56. package/cjs/domain/context/defineContextMethod.d.ts +2 -2
  57. package/cjs/domain/context/defineContextMethod.js +15 -16
  58. package/cjs/domain/context/defineContextMethod.js.map +1 -1
  59. package/cjs/domain/context/storeContextManager.d.ts +1 -2
  60. package/cjs/domain/context/storeContextManager.js +30 -33
  61. package/cjs/domain/context/storeContextManager.js.map +1 -1
  62. package/cjs/domain/contexts/accountContext.d.ts +2 -2
  63. package/cjs/domain/contexts/accountContext.js +26 -29
  64. package/cjs/domain/contexts/accountContext.js.map +1 -1
  65. package/cjs/domain/contexts/globalContext.d.ts +2 -2
  66. package/cjs/domain/contexts/globalContext.js +17 -17
  67. package/cjs/domain/contexts/globalContext.js.map +1 -1
  68. package/cjs/domain/contexts/tabContext.d.ts +4 -0
  69. package/cjs/domain/contexts/tabContext.js +27 -0
  70. package/cjs/domain/contexts/tabContext.js.map +1 -0
  71. package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
  72. package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
  73. package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
  74. package/cjs/domain/contexts/userContext.d.ts +8 -3
  75. package/cjs/domain/contexts/userContext.js +29 -41
  76. package/cjs/domain/contexts/userContext.js.map +1 -1
  77. package/cjs/domain/deflate/deflate.types.js +11 -2
  78. package/cjs/domain/deflate/deflate.types.js.map +1 -1
  79. package/cjs/domain/error/error.d.ts +1 -1
  80. package/cjs/domain/error/error.js +62 -60
  81. package/cjs/domain/error/error.js.map +1 -1
  82. package/cjs/domain/error/error.types.d.ts +1 -1
  83. package/cjs/domain/error/error.types.js +24 -11
  84. package/cjs/domain/error/error.types.js.map +1 -1
  85. package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
  86. package/cjs/domain/error/trackRuntimeError.js +41 -41
  87. package/cjs/domain/error/trackRuntimeError.js.map +1 -1
  88. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +33 -38
  89. package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
  90. package/cjs/domain/extension/extensionUtils.js +18 -25
  91. package/cjs/domain/extension/extensionUtils.js.map +1 -1
  92. package/cjs/domain/intakeSites.d.ts +3 -3
  93. package/cjs/domain/intakeSites.js +23 -10
  94. package/cjs/domain/intakeSites.js.map +1 -1
  95. package/cjs/domain/report/reportObservable.d.ts +1 -2
  96. package/cjs/domain/report/reportObservable.js +73 -85
  97. package/cjs/domain/report/reportObservable.js.map +1 -1
  98. package/cjs/domain/resourceUtils.js +19 -17
  99. package/cjs/domain/resourceUtils.js.map +1 -1
  100. package/cjs/domain/sampler.d.ts +11 -0
  101. package/cjs/domain/sampler.js +40 -0
  102. package/cjs/domain/sampler.js.map +1 -0
  103. package/cjs/domain/session/sessionConstants.d.ts +1 -0
  104. package/cjs/domain/session/sessionConstants.js +19 -13
  105. package/cjs/domain/session/sessionConstants.js.map +1 -1
  106. package/cjs/domain/session/sessionManager.d.ts +13 -13
  107. package/cjs/domain/session/sessionManager.js +219 -193
  108. package/cjs/domain/session/sessionManager.js.map +1 -1
  109. package/cjs/domain/session/sessionState.d.ts +10 -1
  110. package/cjs/domain/session/sessionState.js +70 -55
  111. package/cjs/domain/session/sessionState.js.map +1 -1
  112. package/cjs/domain/session/sessionStateValidation.js +7 -8
  113. package/cjs/domain/session/sessionStateValidation.js.map +1 -1
  114. package/cjs/domain/session/sessionStore.d.ts +4 -33
  115. package/cjs/domain/session/sessionStore.js +42 -180
  116. package/cjs/domain/session/sessionStore.js.map +1 -1
  117. package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
  118. package/cjs/domain/session/storeStrategies/sessionInCookie.js +89 -95
  119. package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
  120. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
  121. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
  122. package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
  123. package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
  124. package/cjs/domain/session/storeStrategies/sessionInMemory.js +35 -0
  125. package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
  126. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
  127. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
  128. package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
  129. package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
  130. package/cjs/domain/synthetics/syntheticsWorkerValues.js +33 -25
  131. package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
  132. package/cjs/domain/tags.d.ts +0 -1
  133. package/cjs/domain/tags.js +22 -58
  134. package/cjs/domain/tags.js.map +1 -1
  135. package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
  136. package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
  137. package/cjs/domain/telemetry/telemetry.d.ts +8 -8
  138. package/cjs/domain/telemetry/telemetry.js +196 -211
  139. package/cjs/domain/telemetry/telemetry.js.map +1 -1
  140. package/cjs/domain/telemetry/telemetryEvent.types.d.ts +97 -17
  141. package/cjs/domain/trackingConsent.d.ts +1 -0
  142. package/cjs/domain/trackingConsent.js +35 -24
  143. package/cjs/domain/trackingConsent.js.map +1 -1
  144. package/cjs/index.d.ts +25 -22
  145. package/cjs/index.js +281 -194
  146. package/cjs/tools/abstractLifeCycle.js +19 -26
  147. package/cjs/tools/abstractLifeCycle.js.map +1 -1
  148. package/cjs/tools/catchUserErrors.js +12 -12
  149. package/cjs/tools/catchUserErrors.js.map +1 -1
  150. package/cjs/tools/display.d.ts +1 -35
  151. package/cjs/tools/display.js +11 -43
  152. package/cjs/tools/display.js.map +1 -1
  153. package/cjs/tools/encoder.js +36 -37
  154. package/cjs/tools/encoder.js.map +1 -1
  155. package/cjs/tools/experimentalFeatures.d.ts +1 -4
  156. package/cjs/tools/experimentalFeatures.js +29 -40
  157. package/cjs/tools/experimentalFeatures.js.map +1 -1
  158. package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
  159. package/cjs/tools/getZoneJsOriginalValue.js +22 -25
  160. package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
  161. package/cjs/tools/globalObject.d.ts +16 -15
  162. package/cjs/tools/globalObject.js +7 -43
  163. package/cjs/tools/globalObject.js.map +1 -1
  164. package/cjs/tools/instrumentMethod.d.ts +58 -1
  165. package/cjs/tools/instrumentMethod.js +174 -112
  166. package/cjs/tools/instrumentMethod.js.map +1 -1
  167. package/cjs/tools/matchOption.js +25 -29
  168. package/cjs/tools/matchOption.js.map +1 -1
  169. package/cjs/tools/mockable.d.ts +22 -0
  170. package/cjs/tools/mockable.js +28 -0
  171. package/cjs/tools/mockable.js.map +1 -0
  172. package/cjs/tools/monitor.d.ts +5 -7
  173. package/cjs/tools/monitor.js +13 -58
  174. package/cjs/tools/monitor.js.map +1 -1
  175. package/cjs/tools/observable.d.ts +3 -1
  176. package/cjs/tools/observable.js +75 -85
  177. package/cjs/tools/observable.js.map +1 -1
  178. package/cjs/tools/queueMicrotask.js +9 -14
  179. package/cjs/tools/queueMicrotask.js.map +1 -1
  180. package/cjs/tools/readBytesFromStream.d.ts +1 -6
  181. package/cjs/tools/readBytesFromStream.js +18 -25
  182. package/cjs/tools/readBytesFromStream.js.map +1 -1
  183. package/cjs/tools/requestIdleCallback.js +22 -29
  184. package/cjs/tools/requestIdleCallback.js.map +1 -1
  185. package/cjs/tools/sendToExtension.js +10 -8
  186. package/cjs/tools/sendToExtension.js.map +1 -1
  187. package/cjs/tools/serialisation/jsonStringify.js +37 -42
  188. package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
  189. package/cjs/tools/serialisation/sanitize.d.ts +1 -0
  190. package/cjs/tools/serialisation/sanitize.js +111 -167
  191. package/cjs/tools/serialisation/sanitize.js.map +1 -1
  192. package/cjs/tools/serialisation/stringify.d.ts +2 -0
  193. package/cjs/tools/serialisation/stringify.js +18 -0
  194. package/cjs/tools/serialisation/stringify.js.map +1 -0
  195. package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
  196. package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
  197. package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
  198. package/cjs/tools/stackTrace/handlingStack.js +39 -38
  199. package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
  200. package/cjs/tools/taskQueue.js +40 -49
  201. package/cjs/tools/taskQueue.js.map +1 -1
  202. package/cjs/tools/timer.d.ts +2 -1
  203. package/cjs/tools/timer.js +14 -13
  204. package/cjs/tools/timer.js.map +1 -1
  205. package/cjs/tools/utils/arrayUtils.d.ts +1 -0
  206. package/cjs/tools/utils/arrayUtils.js +17 -13
  207. package/cjs/tools/utils/arrayUtils.js.map +1 -1
  208. package/cjs/tools/utils/browserDetection.d.ts +1 -0
  209. package/cjs/tools/utils/browserDetection.js +25 -23
  210. package/cjs/tools/utils/browserDetection.js.map +1 -1
  211. package/cjs/tools/utils/byteUtils.js +20 -28
  212. package/cjs/tools/utils/byteUtils.js.map +1 -1
  213. package/cjs/tools/utils/functionUtils.js +33 -40
  214. package/cjs/tools/utils/functionUtils.js.map +1 -1
  215. package/cjs/tools/utils/numberUtils.js +15 -14
  216. package/cjs/tools/utils/numberUtils.js.map +1 -1
  217. package/cjs/tools/utils/objectUtils.d.ts +2 -0
  218. package/cjs/tools/utils/objectUtils.js +27 -14
  219. package/cjs/tools/utils/objectUtils.js.map +1 -1
  220. package/cjs/tools/utils/polyfills.js +12 -16
  221. package/cjs/tools/utils/polyfills.js.map +1 -1
  222. package/cjs/tools/utils/responseUtils.js +11 -12
  223. package/cjs/tools/utils/responseUtils.js.map +1 -1
  224. package/cjs/tools/utils/stringUtils.js +56 -77
  225. package/cjs/tools/utils/stringUtils.js.map +1 -1
  226. package/cjs/tools/utils/timezone.js +9 -10
  227. package/cjs/tools/utils/timezone.js.map +1 -1
  228. package/cjs/tools/utils/urlPolyfill.js +42 -46
  229. package/cjs/tools/utils/urlPolyfill.js.map +1 -1
  230. package/cjs/tools/valueHistory.d.ts +9 -1
  231. package/cjs/tools/valueHistory.js +110 -99
  232. package/cjs/tools/valueHistory.js.map +1 -1
  233. package/cjs/transport/batch.js +73 -106
  234. package/cjs/transport/batch.js.map +1 -1
  235. package/cjs/transport/eventBridge.d.ts +6 -2
  236. package/cjs/transport/eventBridge.js +53 -38
  237. package/cjs/transport/eventBridge.js.map +1 -1
  238. package/cjs/transport/flushController.d.ts +2 -12
  239. package/cjs/transport/flushController.js +98 -117
  240. package/cjs/transport/flushController.js.map +1 -1
  241. package/cjs/transport/httpRequest.d.ts +0 -1
  242. package/cjs/transport/httpRequest.js +51 -85
  243. package/cjs/transport/httpRequest.js.map +1 -1
  244. package/cjs/transport/index.d.ts +1 -0
  245. package/cjs/transport/sendWithRetryStrategy.js +133 -146
  246. package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
  247. package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
  248. package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
  249. package/esm/boot/init.mjs +30 -0
  250. package/esm/boot/init.mjs.map +1 -0
  251. package/esm/browser/addEventListener.mjs +107 -0
  252. package/esm/browser/addEventListener.mjs.map +1 -0
  253. package/esm/browser/cookie.mjs +81 -0
  254. package/esm/browser/cookie.mjs.map +1 -0
  255. package/esm/browser/cookieAccess.mjs +111 -0
  256. package/esm/browser/cookieAccess.mjs.map +1 -0
  257. package/esm/browser/fetch.mjs +18 -0
  258. package/esm/browser/fetch.mjs.map +1 -0
  259. package/esm/browser/fetchObservable.mjs +90 -0
  260. package/esm/browser/fetchObservable.mjs.map +1 -0
  261. package/esm/browser/pageMayExitObservable.mjs +44 -0
  262. package/esm/browser/pageMayExitObservable.mjs.map +1 -0
  263. package/esm/browser/runOnReadyState.mjs +19 -0
  264. package/esm/browser/runOnReadyState.mjs.map +1 -0
  265. package/esm/browser/xhrObservable.mjs +74 -0
  266. package/esm/browser/xhrObservable.mjs.map +1 -0
  267. package/esm/domain/allowedTrackingOrigins.mjs +27 -0
  268. package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
  269. package/esm/domain/bufferedData.mjs +43 -0
  270. package/esm/domain/bufferedData.mjs.map +1 -0
  271. package/esm/domain/configuration/configuration.mjs +131 -0
  272. package/esm/domain/configuration/configuration.mjs.map +1 -0
  273. package/esm/domain/configuration/endpointBuilder.mjs +72 -0
  274. package/esm/domain/configuration/endpointBuilder.mjs.map +1 -0
  275. package/esm/domain/connectivity/connectivity.mjs +14 -0
  276. package/esm/domain/connectivity/connectivity.mjs.map +1 -0
  277. package/esm/domain/console/consoleObservable.mjs +69 -0
  278. package/esm/domain/console/consoleObservable.mjs.map +1 -0
  279. package/esm/domain/context/contextConstants.mjs +25 -0
  280. package/esm/domain/context/contextConstants.mjs.map +1 -0
  281. package/esm/domain/context/contextManager.mjs +55 -0
  282. package/esm/domain/context/contextManager.mjs.map +1 -0
  283. package/esm/domain/context/contextUtils.mjs +15 -0
  284. package/esm/domain/context/contextUtils.mjs.map +1 -0
  285. package/esm/domain/context/defineContextMethod.mjs +19 -0
  286. package/esm/domain/context/defineContextMethod.mjs.map +1 -0
  287. package/esm/domain/context/storeContextManager.mjs +36 -0
  288. package/esm/domain/context/storeContextManager.mjs.map +1 -0
  289. package/esm/domain/contexts/accountContext.mjs +29 -0
  290. package/esm/domain/contexts/accountContext.mjs.map +1 -0
  291. package/esm/domain/contexts/globalContext.mjs +20 -0
  292. package/esm/domain/contexts/globalContext.mjs.map +1 -0
  293. package/esm/domain/contexts/tabContext.mjs +27 -0
  294. package/esm/domain/contexts/tabContext.mjs.map +1 -0
  295. package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
  296. package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
  297. package/esm/domain/contexts/userContext.mjs +32 -0
  298. package/esm/domain/contexts/userContext.mjs.map +1 -0
  299. package/esm/domain/deflate/deflate.types.mjs +12 -0
  300. package/esm/domain/deflate/deflate.types.mjs.map +1 -0
  301. package/esm/domain/error/error.mjs +73 -0
  302. package/esm/domain/error/error.mjs.map +1 -0
  303. package/esm/domain/error/error.types.mjs +24 -0
  304. package/esm/domain/error/error.types.mjs.map +1 -0
  305. package/esm/domain/error/trackRuntimeError.mjs +48 -0
  306. package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
  307. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +36 -0
  308. package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
  309. package/esm/domain/extension/extensionUtils.mjs +23 -0
  310. package/esm/domain/extension/extensionUtils.mjs.map +1 -0
  311. package/esm/domain/intakeSites.mjs +18 -0
  312. package/esm/domain/intakeSites.mjs.map +1 -0
  313. package/esm/domain/report/reportObservable.mjs +86 -0
  314. package/esm/domain/report/reportObservable.mjs.map +1 -0
  315. package/esm/domain/resourceUtils.mjs +21 -0
  316. package/esm/domain/resourceUtils.mjs.map +1 -0
  317. package/esm/domain/sampler.mjs +37 -0
  318. package/esm/domain/sampler.mjs.map +1 -0
  319. package/esm/domain/session/sessionConstants.mjs +18 -0
  320. package/esm/domain/session/sessionConstants.mjs.map +1 -0
  321. package/esm/domain/session/sessionManager.mjs +225 -0
  322. package/esm/domain/session/sessionManager.mjs.map +1 -0
  323. package/esm/domain/session/sessionState.mjs +76 -0
  324. package/esm/domain/session/sessionState.mjs.map +1 -0
  325. package/esm/domain/session/sessionStateValidation.mjs +9 -0
  326. package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
  327. package/esm/domain/session/sessionStore.mjs +46 -0
  328. package/esm/domain/session/sessionStore.mjs.map +1 -0
  329. package/esm/domain/session/storeStrategies/sessionInCookie.mjs +97 -0
  330. package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
  331. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
  332. package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
  333. package/esm/domain/session/storeStrategies/sessionInMemory.mjs +33 -0
  334. package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
  335. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
  336. package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
  337. package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
  338. package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
  339. package/esm/domain/tags.mjs +28 -0
  340. package/esm/domain/tags.mjs.map +1 -0
  341. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
  342. package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
  343. package/esm/domain/telemetry/telemetry.mjs +219 -0
  344. package/esm/domain/telemetry/telemetry.mjs.map +1 -0
  345. package/esm/domain/trackingConsent.mjs +38 -0
  346. package/esm/domain/trackingConsent.mjs.map +1 -0
  347. package/esm/index.mjs +81 -0
  348. package/esm/tools/abstractLifeCycle.mjs +21 -0
  349. package/esm/tools/abstractLifeCycle.mjs.map +1 -0
  350. package/esm/tools/catchUserErrors.mjs +15 -0
  351. package/esm/tools/catchUserErrors.mjs.map +1 -0
  352. package/esm/tools/display.mjs +10 -0
  353. package/esm/tools/display.mjs.map +1 -0
  354. package/esm/tools/encoder.mjs +39 -0
  355. package/esm/tools/encoder.mjs.map +1 -0
  356. package/esm/tools/experimentalFeatures.mjs +35 -0
  357. package/esm/tools/experimentalFeatures.mjs.map +1 -0
  358. package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
  359. package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
  360. package/esm/tools/globalObject.mjs +7 -0
  361. package/esm/tools/globalObject.mjs.map +1 -0
  362. package/esm/tools/instrumentMethod.mjs +178 -0
  363. package/esm/tools/instrumentMethod.mjs.map +1 -0
  364. package/esm/tools/matchOption.mjs +30 -0
  365. package/esm/tools/matchOption.mjs.map +1 -0
  366. package/esm/tools/mockable.mjs +28 -0
  367. package/esm/tools/mockable.mjs.map +1 -0
  368. package/esm/tools/monitor.mjs +13 -0
  369. package/esm/tools/monitor.mjs.map +1 -0
  370. package/esm/tools/observable.mjs +77 -0
  371. package/esm/tools/observable.mjs.map +1 -0
  372. package/esm/tools/queueMicrotask.mjs +12 -0
  373. package/esm/tools/queueMicrotask.mjs.map +1 -0
  374. package/esm/tools/readBytesFromStream.mjs +21 -0
  375. package/esm/tools/readBytesFromStream.mjs.map +1 -0
  376. package/esm/tools/requestIdleCallback.mjs +28 -0
  377. package/esm/tools/requestIdleCallback.mjs.map +1 -0
  378. package/esm/tools/sendToExtension.mjs +13 -0
  379. package/esm/tools/sendToExtension.mjs.map +1 -0
  380. package/esm/tools/serialisation/jsonStringify.mjs +42 -0
  381. package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
  382. package/esm/tools/serialisation/sanitize.mjs +131 -0
  383. package/esm/tools/serialisation/sanitize.mjs.map +1 -0
  384. package/esm/tools/serialisation/stringify.mjs +17 -0
  385. package/esm/tools/serialisation/stringify.mjs.map +1 -0
  386. package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
  387. package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
  388. package/esm/tools/stackTrace/handlingStack.mjs +45 -0
  389. package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
  390. package/esm/tools/taskQueue.mjs +45 -0
  391. package/esm/tools/taskQueue.mjs.map +1 -0
  392. package/esm/tools/timer.mjs +20 -0
  393. package/esm/tools/timer.mjs.map +1 -0
  394. package/esm/tools/utils/arrayUtils.mjs +21 -0
  395. package/esm/tools/utils/arrayUtils.mjs.map +1 -0
  396. package/esm/tools/utils/browserDetection.mjs +31 -0
  397. package/esm/tools/utils/browserDetection.mjs.map +1 -0
  398. package/esm/tools/utils/byteUtils.mjs +23 -0
  399. package/esm/tools/utils/byteUtils.mjs.map +1 -0
  400. package/esm/tools/utils/functionUtils.mjs +35 -0
  401. package/esm/tools/utils/functionUtils.mjs.map +1 -0
  402. package/esm/tools/utils/numberUtils.mjs +22 -0
  403. package/esm/tools/utils/numberUtils.mjs.map +1 -0
  404. package/esm/tools/utils/objectUtils.mjs +31 -0
  405. package/esm/tools/utils/objectUtils.mjs.map +1 -0
  406. package/esm/tools/utils/polyfills.mjs +17 -0
  407. package/esm/tools/utils/polyfills.mjs.map +1 -0
  408. package/esm/tools/utils/responseUtils.mjs +15 -0
  409. package/esm/tools/utils/responseUtils.mjs.map +1 -0
  410. package/esm/tools/utils/stringUtils.mjs +66 -0
  411. package/esm/tools/utils/stringUtils.mjs.map +1 -0
  412. package/esm/tools/utils/timezone.mjs +12 -0
  413. package/esm/tools/utils/timezone.mjs.map +1 -0
  414. package/esm/tools/utils/urlPolyfill.mjs +51 -0
  415. package/esm/tools/utils/urlPolyfill.mjs.map +1 -0
  416. package/esm/tools/valueHistory.mjs +114 -0
  417. package/esm/tools/valueHistory.mjs.map +1 -0
  418. package/esm/transport/batch.mjs +77 -0
  419. package/esm/transport/batch.mjs.map +1 -0
  420. package/esm/transport/eventBridge.mjs +58 -0
  421. package/esm/transport/eventBridge.mjs.map +1 -0
  422. package/esm/transport/flushController.mjs +104 -0
  423. package/esm/transport/flushController.mjs.map +1 -0
  424. package/esm/transport/httpRequest.mjs +60 -0
  425. package/esm/transport/httpRequest.mjs.map +1 -0
  426. package/esm/transport/sendWithRetryStrategy.mjs +149 -0
  427. package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
  428. package/package.json +16 -5
  429. package/src/boot/init.ts +2 -2
  430. package/src/browser/addEventListener.ts +37 -5
  431. package/src/browser/browser.types.ts +127 -13
  432. package/src/browser/cookie.ts +21 -27
  433. package/src/browser/cookieAccess.ts +150 -0
  434. package/src/browser/fetch.ts +14 -0
  435. package/src/browser/fetchObservable.ts +22 -22
  436. package/src/browser/pageMayExitObservable.ts +7 -4
  437. package/src/browser/runOnReadyState.ts +3 -8
  438. package/src/browser/xhrObservable.ts +22 -12
  439. package/src/domain/allowedTrackingOrigins.ts +5 -5
  440. package/src/domain/bufferedData.ts +41 -14
  441. package/src/domain/configuration/configuration.ts +87 -72
  442. package/src/domain/configuration/endpointBuilder.ts +82 -52
  443. package/src/domain/configuration/index.ts +2 -2
  444. package/src/domain/connectivity/connectivity.ts +3 -15
  445. package/src/domain/console/consoleObservable.ts +3 -3
  446. package/src/domain/context/contextManager.ts +1 -1
  447. package/src/domain/context/contextUtils.ts +1 -1
  448. package/src/domain/context/defineContextMethod.ts +3 -3
  449. package/src/domain/context/storeContextManager.ts +9 -6
  450. package/src/domain/contexts/accountContext.ts +5 -5
  451. package/src/domain/contexts/globalContext.ts +4 -5
  452. package/src/domain/contexts/tabContext.ts +43 -0
  453. package/src/domain/contexts/telemetrySessionContext.ts +26 -0
  454. package/src/domain/contexts/userContext.ts +7 -11
  455. package/src/domain/error/error.ts +53 -23
  456. package/src/domain/error/error.types.ts +1 -1
  457. package/src/domain/error/trackRuntimeError.ts +11 -4
  458. package/src/domain/eventRateLimiter/createEventRateLimiter.ts +1 -1
  459. package/src/domain/intakeSites.ts +8 -3
  460. package/src/domain/report/reportObservable.ts +11 -7
  461. package/src/domain/sampler.ts +64 -0
  462. package/src/domain/session/sessionConstants.ts +2 -1
  463. package/src/domain/session/sessionManager.ts +281 -176
  464. package/src/domain/session/sessionState.ts +64 -8
  465. package/src/domain/session/sessionStore.ts +57 -223
  466. package/src/domain/session/storeStrategies/sessionInCookie.ts +121 -107
  467. package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
  468. package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
  469. package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
  470. package/src/domain/synthetics/syntheticsWorkerValues.ts +44 -13
  471. package/src/domain/tags.ts +0 -16
  472. package/src/domain/telemetry/telemetry.ts +38 -34
  473. package/src/domain/telemetry/telemetryEvent.types.ts +116 -20
  474. package/src/domain/trackingConsent.ts +18 -3
  475. package/src/index.ts +51 -31
  476. package/src/tools/display.ts +2 -50
  477. package/src/tools/experimentalFeatures.ts +1 -4
  478. package/src/tools/getZoneJsOriginalValue.ts +3 -3
  479. package/src/tools/globalObject.ts +27 -41
  480. package/src/tools/instrumentMethod.ts +230 -20
  481. package/src/tools/matchOption.ts +3 -1
  482. package/src/tools/mockable.ts +32 -0
  483. package/src/tools/monitor.ts +14 -62
  484. package/src/tools/observable.ts +9 -1
  485. package/src/tools/queueMicrotask.ts +6 -1
  486. package/src/tools/readBytesFromStream.ts +3 -12
  487. package/src/tools/requestIdleCallback.ts +1 -1
  488. package/src/tools/serialisation/sanitize.ts +67 -65
  489. package/src/tools/serialisation/stringify.ts +18 -0
  490. package/src/tools/stackTrace/computeStackTrace.ts +15 -13
  491. package/src/tools/stackTrace/handlingStack.ts +14 -1
  492. package/src/tools/taskQueue.ts +5 -3
  493. package/src/tools/timer.ts +7 -6
  494. package/src/tools/utils/arrayUtils.ts +7 -0
  495. package/src/tools/utils/browserDetection.ts +8 -0
  496. package/src/tools/utils/byteUtils.ts +1 -5
  497. package/src/tools/utils/functionUtils.ts +2 -2
  498. package/src/tools/utils/objectUtils.ts +20 -0
  499. package/src/tools/utils/stringUtils.ts +4 -1
  500. package/src/tools/utils/urlPolyfill.ts +5 -4
  501. package/src/tools/valueHistory.ts +39 -6
  502. package/src/transport/batch.ts +9 -18
  503. package/src/transport/eventBridge.ts +23 -10
  504. package/src/transport/flushController.ts +17 -24
  505. package/src/transport/httpRequest.ts +4 -36
  506. package/src/transport/index.ts +1 -0
  507. package/src/transport/sendWithRetryStrategy.ts +1 -1
  508. package/cjs/browser/browser.types.js +0 -6
  509. package/cjs/browser/browser.types.js.map +0 -1
  510. package/cjs/domain/configuration/index.js +0 -16
  511. package/cjs/domain/configuration/index.js.map +0 -1
  512. package/cjs/domain/configuration/transportConfiguration.d.ts +0 -20
  513. package/cjs/domain/configuration/transportConfiguration.js +0 -54
  514. package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
  515. package/cjs/domain/connectivity/index.js +0 -18
  516. package/cjs/domain/connectivity/index.js.map +0 -1
  517. package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
  518. package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
  519. package/cjs/domain/deflate/index.js +0 -18
  520. package/cjs/domain/deflate/index.js.map +0 -1
  521. package/cjs/domain/report/browser.types.js +0 -3
  522. package/cjs/domain/report/browser.types.js.map +0 -1
  523. package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
  524. package/cjs/domain/session/oldCookiesMigration.js +0 -40
  525. package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
  526. package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
  527. package/cjs/domain/session/sessionStoreOperations.js +0 -119
  528. package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
  529. package/cjs/domain/telemetry/index.js +0 -28
  530. package/cjs/domain/telemetry/index.js.map +0 -1
  531. package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
  532. package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
  533. package/cjs/index.js.map +0 -1
  534. package/cjs/tools/abstractHooks.d.ts +0 -24
  535. package/cjs/tools/abstractHooks.js +0 -41
  536. package/cjs/tools/abstractHooks.js.map +0 -1
  537. package/cjs/tools/boundedBuffer.d.ts +0 -16
  538. package/cjs/tools/boundedBuffer.js +0 -32
  539. package/cjs/tools/boundedBuffer.js.map +0 -1
  540. package/cjs/tools/mergeInto.d.ts +0 -25
  541. package/cjs/tools/mergeInto.js +0 -98
  542. package/cjs/tools/mergeInto.js.map +0 -1
  543. package/cjs/tools/serialisation/context.js +0 -3
  544. package/cjs/tools/serialisation/context.js.map +0 -1
  545. package/cjs/tools/utils/timeUtils.d.ts +0 -53
  546. package/cjs/tools/utils/timeUtils.js +0 -101
  547. package/cjs/tools/utils/timeUtils.js.map +0 -1
  548. package/cjs/tools/utils/typeUtils.d.ts +0 -4
  549. package/cjs/tools/utils/typeUtils.js +0 -16
  550. package/cjs/tools/utils/typeUtils.js.map +0 -1
  551. package/cjs/transport/index.js +0 -15
  552. package/cjs/transport/index.js.map +0 -1
  553. package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
  554. package/esm/boot/displayAlreadyInitializedError.js +0 -7
  555. package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
  556. package/esm/boot/init.d.ts +0 -14
  557. package/esm/boot/init.js +0 -35
  558. package/esm/boot/init.js.map +0 -1
  559. package/esm/browser/addEventListener.d.ts +0 -87
  560. package/esm/browser/addEventListener.js +0 -51
  561. package/esm/browser/addEventListener.js.map +0 -1
  562. package/esm/browser/browser.types.d.ts +0 -51
  563. package/esm/browser/browser.types.js +0 -5
  564. package/esm/browser/browser.types.js.map +0 -1
  565. package/esm/browser/cookie.d.ts +0 -28
  566. package/esm/browser/cookie.js +0 -103
  567. package/esm/browser/cookie.js.map +0 -1
  568. package/esm/browser/fetchObservable.d.ts +0 -38
  569. package/esm/browser/fetchObservable.js +0 -99
  570. package/esm/browser/fetchObservable.js.map +0 -1
  571. package/esm/browser/pageMayExitObservable.d.ts +0 -14
  572. package/esm/browser/pageMayExitObservable.js +0 -40
  573. package/esm/browser/pageMayExitObservable.js.map +0 -1
  574. package/esm/browser/runOnReadyState.d.ts +0 -5
  575. package/esm/browser/runOnReadyState.js +0 -16
  576. package/esm/browser/runOnReadyState.js.map +0 -1
  577. package/esm/browser/xhrObservable.d.ts +0 -24
  578. package/esm/browser/xhrObservable.js +0 -83
  579. package/esm/browser/xhrObservable.js.map +0 -1
  580. package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
  581. package/esm/domain/allowedTrackingOrigins.js +0 -21
  582. package/esm/domain/allowedTrackingOrigins.js.map +0 -1
  583. package/esm/domain/bufferedData.d.ts +0 -14
  584. package/esm/domain/bufferedData.js +0 -19
  585. package/esm/domain/bufferedData.js.map +0 -1
  586. package/esm/domain/configuration/configuration.d.ts +0 -312
  587. package/esm/domain/configuration/configuration.js +0 -132
  588. package/esm/domain/configuration/configuration.js.map +0 -1
  589. package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
  590. package/esm/domain/configuration/endpointBuilder.js +0 -77
  591. package/esm/domain/configuration/endpointBuilder.js.map +0 -1
  592. package/esm/domain/configuration/index.d.ts +0 -5
  593. package/esm/domain/configuration/index.js +0 -4
  594. package/esm/domain/configuration/index.js.map +0 -1
  595. package/esm/domain/configuration/transportConfiguration.d.ts +0 -20
  596. package/esm/domain/configuration/transportConfiguration.js +0 -50
  597. package/esm/domain/configuration/transportConfiguration.js.map +0 -1
  598. package/esm/domain/connectivity/connectivity.d.ts +0 -14
  599. package/esm/domain/connectivity/connectivity.js +0 -11
  600. package/esm/domain/connectivity/connectivity.js.map +0 -1
  601. package/esm/domain/connectivity/index.d.ts +0 -1
  602. package/esm/domain/connectivity/index.js +0 -2
  603. package/esm/domain/connectivity/index.js.map +0 -1
  604. package/esm/domain/console/consoleObservable.d.ts +0 -21
  605. package/esm/domain/console/consoleObservable.js +0 -80
  606. package/esm/domain/console/consoleObservable.js.map +0 -1
  607. package/esm/domain/context/contextConstants.d.ts +0 -21
  608. package/esm/domain/context/contextConstants.js +0 -15
  609. package/esm/domain/context/contextConstants.js.map +0 -1
  610. package/esm/domain/context/contextManager.d.ts +0 -19
  611. package/esm/domain/context/contextManager.js +0 -57
  612. package/esm/domain/context/contextManager.js.map +0 -1
  613. package/esm/domain/context/contextUtils.d.ts +0 -5
  614. package/esm/domain/context/contextUtils.js +0 -13
  615. package/esm/domain/context/contextUtils.js.map +0 -1
  616. package/esm/domain/context/defineContextMethod.d.ts +0 -6
  617. package/esm/domain/context/defineContextMethod.js +0 -17
  618. package/esm/domain/context/defineContextMethod.js.map +0 -1
  619. package/esm/domain/context/storeContextManager.d.ts +0 -6
  620. package/esm/domain/context/storeContextManager.js +0 -35
  621. package/esm/domain/context/storeContextManager.js.map +0 -1
  622. package/esm/domain/contexts/accountContext.d.ts +0 -26
  623. package/esm/domain/contexts/accountContext.js +0 -29
  624. package/esm/domain/contexts/accountContext.js.map +0 -1
  625. package/esm/domain/contexts/globalContext.d.ts +0 -18
  626. package/esm/domain/contexts/globalContext.js +0 -17
  627. package/esm/domain/contexts/globalContext.js.map +0 -1
  628. package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
  629. package/esm/domain/contexts/rumInternalContext.type.js +0 -2
  630. package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
  631. package/esm/domain/contexts/userContext.d.ts +0 -29
  632. package/esm/domain/contexts/userContext.js +0 -41
  633. package/esm/domain/contexts/userContext.js.map +0 -1
  634. package/esm/domain/deflate/deflate.types.d.ts +0 -40
  635. package/esm/domain/deflate/deflate.types.js +0 -2
  636. package/esm/domain/deflate/deflate.types.js.map +0 -1
  637. package/esm/domain/deflate/index.d.ts +0 -1
  638. package/esm/domain/deflate/index.js +0 -2
  639. package/esm/domain/deflate/index.js.map +0 -1
  640. package/esm/domain/error/error.d.ts +0 -23
  641. package/esm/domain/error/error.js +0 -65
  642. package/esm/domain/error/error.js.map +0 -1
  643. package/esm/domain/error/error.types.d.ts +0 -47
  644. package/esm/domain/error/error.types.js +0 -10
  645. package/esm/domain/error/error.types.js.map +0 -1
  646. package/esm/domain/error/trackRuntimeError.d.ts +0 -11
  647. package/esm/domain/error/trackRuntimeError.js +0 -43
  648. package/esm/domain/error/trackRuntimeError.js.map +0 -1
  649. package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
  650. package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
  651. package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
  652. package/esm/domain/extension/extensionUtils.d.ts +0 -10
  653. package/esm/domain/extension/extensionUtils.js +0 -25
  654. package/esm/domain/extension/extensionUtils.js.map +0 -1
  655. package/esm/domain/intakeSites.d.ts +0 -8
  656. package/esm/domain/intakeSites.js +0 -8
  657. package/esm/domain/intakeSites.js.map +0 -1
  658. package/esm/domain/report/browser.types.d.ts +0 -34
  659. package/esm/domain/report/browser.types.js +0 -2
  660. package/esm/domain/report/browser.types.js.map +0 -1
  661. package/esm/domain/report/reportObservable.d.ts +0 -14
  662. package/esm/domain/report/reportObservable.js +0 -95
  663. package/esm/domain/report/reportObservable.js.map +0 -1
  664. package/esm/domain/resourceUtils.d.ts +0 -18
  665. package/esm/domain/resourceUtils.js +0 -17
  666. package/esm/domain/resourceUtils.js.map +0 -1
  667. package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
  668. package/esm/domain/session/oldCookiesMigration.js +0 -36
  669. package/esm/domain/session/oldCookiesMigration.js.map +0 -1
  670. package/esm/domain/session/sessionConstants.d.ts +0 -15
  671. package/esm/domain/session/sessionConstants.js +0 -13
  672. package/esm/domain/session/sessionConstants.js.map +0 -1
  673. package/esm/domain/session/sessionManager.d.ts +0 -28
  674. package/esm/domain/session/sessionManager.js +0 -196
  675. package/esm/domain/session/sessionManager.js.map +0 -1
  676. package/esm/domain/session/sessionState.d.ts +0 -16
  677. package/esm/domain/session/sessionState.js +0 -60
  678. package/esm/domain/session/sessionState.js.map +0 -1
  679. package/esm/domain/session/sessionStateValidation.d.ts +0 -3
  680. package/esm/domain/session/sessionStateValidation.js +0 -7
  681. package/esm/domain/session/sessionStateValidation.js.map +0 -1
  682. package/esm/domain/session/sessionStore.d.ts +0 -38
  683. package/esm/domain/session/sessionStore.js +0 -179
  684. package/esm/domain/session/sessionStore.js.map +0 -1
  685. package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
  686. package/esm/domain/session/sessionStoreOperations.js +0 -114
  687. package/esm/domain/session/sessionStoreOperations.js.map +0 -1
  688. package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
  689. package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
  690. package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
  691. package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
  692. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
  693. package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
  694. package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
  695. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
  696. package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
  697. package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
  698. package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
  699. package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
  700. package/esm/domain/tags.d.ts +0 -6
  701. package/esm/domain/tags.js +0 -60
  702. package/esm/domain/tags.js.map +0 -1
  703. package/esm/domain/telemetry/index.d.ts +0 -4
  704. package/esm/domain/telemetry/index.js +0 -3
  705. package/esm/domain/telemetry/index.js.map +0 -1
  706. package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
  707. package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
  708. package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
  709. package/esm/domain/telemetry/telemetry.d.ts +0 -56
  710. package/esm/domain/telemetry/telemetry.js +0 -228
  711. package/esm/domain/telemetry/telemetry.js.map +0 -1
  712. package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
  713. package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
  714. package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
  715. package/esm/domain/trackingConsent.d.ts +0 -13
  716. package/esm/domain/trackingConsent.js +0 -24
  717. package/esm/domain/trackingConsent.js.map +0 -1
  718. package/esm/index.d.ts +0 -100
  719. package/esm/index.js +0 -76
  720. package/esm/index.js.map +0 -1
  721. package/esm/tools/abstractHooks.d.ts +0 -24
  722. package/esm/tools/abstractHooks.js +0 -37
  723. package/esm/tools/abstractHooks.js.map +0 -1
  724. package/esm/tools/abstractLifeCycle.d.ts +0 -23
  725. package/esm/tools/abstractLifeCycle.js +0 -24
  726. package/esm/tools/abstractLifeCycle.js.map +0 -1
  727. package/esm/tools/boundedBuffer.d.ts +0 -16
  728. package/esm/tools/boundedBuffer.js +0 -29
  729. package/esm/tools/boundedBuffer.js.map +0 -1
  730. package/esm/tools/catchUserErrors.d.ts +0 -1
  731. package/esm/tools/catchUserErrors.js +0 -12
  732. package/esm/tools/catchUserErrors.js.map +0 -1
  733. package/esm/tools/display.d.ts +0 -38
  734. package/esm/tools/display.js +0 -41
  735. package/esm/tools/display.js.map +0 -1
  736. package/esm/tools/encoder.d.ts +0 -54
  737. package/esm/tools/encoder.js +0 -37
  738. package/esm/tools/encoder.js.map +0 -1
  739. package/esm/tools/experimentalFeatures.d.ts +0 -21
  740. package/esm/tools/experimentalFeatures.js +0 -42
  741. package/esm/tools/experimentalFeatures.js.map +0 -1
  742. package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
  743. package/esm/tools/getZoneJsOriginalValue.js +0 -26
  744. package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
  745. package/esm/tools/globalObject.d.ts +0 -19
  746. package/esm/tools/globalObject.js +0 -40
  747. package/esm/tools/globalObject.js.map +0 -1
  748. package/esm/tools/instrumentMethod.d.ts +0 -75
  749. package/esm/tools/instrumentMethod.js +0 -114
  750. package/esm/tools/instrumentMethod.js.map +0 -1
  751. package/esm/tools/matchOption.d.ts +0 -8
  752. package/esm/tools/matchOption.js +0 -31
  753. package/esm/tools/matchOption.js.map +0 -1
  754. package/esm/tools/mergeInto.d.ts +0 -25
  755. package/esm/tools/mergeInto.js +0 -93
  756. package/esm/tools/mergeInto.js.map +0 -1
  757. package/esm/tools/monitor.d.ts +0 -9
  758. package/esm/tools/monitor.js +0 -52
  759. package/esm/tools/monitor.js.map +0 -1
  760. package/esm/tools/observable.d.ts +0 -30
  761. package/esm/tools/observable.js +0 -83
  762. package/esm/tools/observable.js.map +0 -1
  763. package/esm/tools/queueMicrotask.d.ts +0 -1
  764. package/esm/tools/queueMicrotask.js +0 -14
  765. package/esm/tools/queueMicrotask.js.map +0 -1
  766. package/esm/tools/readBytesFromStream.d.ts +0 -10
  767. package/esm/tools/readBytesFromStream.js +0 -25
  768. package/esm/tools/readBytesFromStream.js.map +0 -1
  769. package/esm/tools/requestIdleCallback.d.ts +0 -12
  770. package/esm/tools/requestIdleCallback.js +0 -30
  771. package/esm/tools/requestIdleCallback.js.map +0 -1
  772. package/esm/tools/sendToExtension.d.ts +0 -3
  773. package/esm/tools/sendToExtension.js +0 -8
  774. package/esm/tools/sendToExtension.js.map +0 -1
  775. package/esm/tools/serialisation/context.d.ts +0 -9
  776. package/esm/tools/serialisation/context.js +0 -2
  777. package/esm/tools/serialisation/context.js.map +0 -1
  778. package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
  779. package/esm/tools/serialisation/jsonStringify.js +0 -44
  780. package/esm/tools/serialisation/jsonStringify.js.map +0 -1
  781. package/esm/tools/serialisation/sanitize.d.ts +0 -18
  782. package/esm/tools/serialisation/sanitize.js +0 -185
  783. package/esm/tools/serialisation/sanitize.js.map +0 -1
  784. package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
  785. package/esm/tools/stackTrace/computeStackTrace.js +0 -183
  786. package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
  787. package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
  788. package/esm/tools/stackTrace/handlingStack.js +0 -41
  789. package/esm/tools/stackTrace/handlingStack.js.map +0 -1
  790. package/esm/tools/taskQueue.d.ts +0 -15
  791. package/esm/tools/taskQueue.js +0 -50
  792. package/esm/tools/taskQueue.js.map +0 -1
  793. package/esm/tools/timer.d.ts +0 -5
  794. package/esm/tools/timer.js +0 -16
  795. package/esm/tools/timer.js.map +0 -1
  796. package/esm/tools/utils/arrayUtils.d.ts +0 -3
  797. package/esm/tools/utils/arrayUtils.js +0 -15
  798. package/esm/tools/utils/arrayUtils.js.map +0 -1
  799. package/esm/tools/utils/browserDetection.d.ts +0 -8
  800. package/esm/tools/utils/browserDetection.js +0 -28
  801. package/esm/tools/utils/browserDetection.js.map +0 -1
  802. package/esm/tools/utils/byteUtils.d.ts +0 -8
  803. package/esm/tools/utils/byteUtils.js +0 -29
  804. package/esm/tools/utils/byteUtils.js.map +0 -1
  805. package/esm/tools/utils/functionUtils.d.ts +0 -8
  806. package/esm/tools/utils/functionUtils.js +0 -39
  807. package/esm/tools/utils/functionUtils.js.map +0 -1
  808. package/esm/tools/utils/numberUtils.d.ts +0 -9
  809. package/esm/tools/utils/numberUtils.js +0 -18
  810. package/esm/tools/utils/numberUtils.js.map +0 -1
  811. package/esm/tools/utils/objectUtils.d.ts +0 -10
  812. package/esm/tools/utils/objectUtils.js +0 -17
  813. package/esm/tools/utils/objectUtils.js.map +0 -1
  814. package/esm/tools/utils/polyfills.d.ts +0 -7
  815. package/esm/tools/utils/polyfills.js +0 -18
  816. package/esm/tools/utils/polyfills.js.map +0 -1
  817. package/esm/tools/utils/responseUtils.d.ts +0 -2
  818. package/esm/tools/utils/responseUtils.js +0 -13
  819. package/esm/tools/utils/responseUtils.js.map +0 -1
  820. package/esm/tools/utils/stringUtils.d.ts +0 -23
  821. package/esm/tools/utils/stringUtils.js +0 -84
  822. package/esm/tools/utils/stringUtils.js.map +0 -1
  823. package/esm/tools/utils/timeUtils.d.ts +0 -53
  824. package/esm/tools/utils/timeUtils.js +0 -84
  825. package/esm/tools/utils/timeUtils.js.map +0 -1
  826. package/esm/tools/utils/timezone.d.ts +0 -1
  827. package/esm/tools/utils/timezone.js +0 -10
  828. package/esm/tools/utils/timezone.js.map +0 -1
  829. package/esm/tools/utils/typeUtils.d.ts +0 -4
  830. package/esm/tools/utils/typeUtils.js +0 -13
  831. package/esm/tools/utils/typeUtils.js.map +0 -1
  832. package/esm/tools/utils/urlPolyfill.d.ts +0 -5
  833. package/esm/tools/utils/urlPolyfill.js +0 -52
  834. package/esm/tools/utils/urlPolyfill.js.map +0 -1
  835. package/esm/tools/valueHistory.d.ts +0 -27
  836. package/esm/tools/valueHistory.js +0 -100
  837. package/esm/tools/valueHistory.js.map +0 -1
  838. package/esm/transport/batch.d.ts +0 -16
  839. package/esm/transport/batch.js +0 -106
  840. package/esm/transport/batch.js.map +0 -1
  841. package/esm/transport/eventBridge.d.ts +0 -21
  842. package/esm/transport/eventBridge.js +0 -41
  843. package/esm/transport/eventBridge.js.map +0 -1
  844. package/esm/transport/flushController.d.ts +0 -65
  845. package/esm/transport/flushController.js +0 -119
  846. package/esm/transport/flushController.js.map +0 -1
  847. package/esm/transport/httpRequest.d.ts +0 -56
  848. package/esm/transport/httpRequest.js +0 -89
  849. package/esm/transport/httpRequest.js.map +0 -1
  850. package/esm/transport/index.d.ts +0 -7
  851. package/esm/transport/index.js +0 -5
  852. package/esm/transport/index.js.map +0 -1
  853. package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
  854. package/esm/transport/sendWithRetryStrategy.js +0 -158
  855. package/esm/transport/sendWithRetryStrategy.js.map +0 -1
  856. package/src/domain/configuration/transportConfiguration.ts +0 -78
  857. package/src/domain/session/oldCookiesMigration.ts +0 -42
  858. package/src/domain/session/sessionStoreOperations.ts +0 -131
  859. package/src/tools/abstractHooks.ts +0 -72
  860. package/src/tools/boundedBuffer.ts +0 -45
  861. package/src/tools/mergeInto.ts +0 -177
  862. package/src/tools/utils/timeUtils.ts +0 -117
  863. package/src/tools/utils/typeUtils.ts +0 -12
@@ -1,187 +1,149 @@
1
- "use strict";
1
+ let _openobserve_js_core_util = require("@openobserve/js-core/util");
2
+ //#region src/tools/stackTrace/computeStackTrace.ts
2
3
  /**
3
- * Cross-browser stack trace computation.
4
- *
5
- * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.computeStackTrace = computeStackTrace;
9
- exports.computeStackTraceFromOnErrorMessage = computeStackTraceFromOnErrorMessage;
10
- const UNKNOWN_FUNCTION = '?';
4
+ * Cross-browser stack trace computation.
5
+ *
6
+ * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js
7
+ */
8
+ const UNKNOWN_FUNCTION = "?";
11
9
  function computeStackTrace(ex) {
12
- var _a, _b;
13
- const stack = [];
14
- let stackProperty = tryToGetString(ex, 'stack');
15
- const exString = String(ex);
16
- if (stackProperty && stackProperty.startsWith(exString)) {
17
- stackProperty = stackProperty.slice(exString.length);
18
- }
19
- if (stackProperty) {
20
- stackProperty.split('\n').forEach((line) => {
21
- const stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);
22
- if (stackFrame) {
23
- if (!stackFrame.func && stackFrame.line) {
24
- stackFrame.func = UNKNOWN_FUNCTION;
25
- }
26
- stack.push(stackFrame);
27
- }
28
- });
29
- }
30
- if (stack.length > 0 && isWronglyReportingCustomErrors() && ex instanceof Error) {
31
- // if we are wrongly reporting custom errors
32
- const constructors = [];
33
- // go through each inherited constructor
34
- let currentPrototype = ex;
35
- while ((currentPrototype = Object.getPrototypeOf(currentPrototype)) &&
36
- isNonNativeClassPrototype(currentPrototype)) {
37
- const constructorName = ((_a = currentPrototype.constructor) === null || _a === void 0 ? void 0 : _a.name) || UNKNOWN_FUNCTION;
38
- constructors.push(constructorName);
39
- }
40
- // traverse the stacktrace in reverse order because the stacktrace starts with the last inherited constructor
41
- // we check constructor names to ensure we remove the correct frame (and there isn't a weird unsupported environment behavior)
42
- for (let i = constructors.length - 1; i >= 0 && ((_b = stack[0]) === null || _b === void 0 ? void 0 : _b.func) === constructors[i]; i--) {
43
- // if the first stack frame is the custom error constructor
44
- // null stack frames may represent frames that failed to be parsed because the error class did not have a constructor
45
- stack.shift(); // remove it
46
- }
47
- }
48
- return {
49
- message: tryToGetString(ex, 'message'),
50
- name: tryToGetString(ex, 'name'),
51
- stack,
52
- };
10
+ const stack = [];
11
+ let stackProperty = tryToGetString(ex, "stack");
12
+ const exString = String(ex);
13
+ if (stackProperty?.startsWith(exString)) stackProperty = stackProperty.slice(exString.length);
14
+ if (stackProperty) stackProperty.split("\n").forEach((line) => {
15
+ const stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);
16
+ if (stackFrame) {
17
+ if (!stackFrame.func && stackFrame.line) stackFrame.func = UNKNOWN_FUNCTION;
18
+ stack.push(stackFrame);
19
+ }
20
+ });
21
+ if (stack.length > 0 && isWronglyReportingCustomErrors() && ex instanceof Error) {
22
+ const constructors = [];
23
+ let currentPrototype = ex;
24
+ while ((currentPrototype = Object.getPrototypeOf(currentPrototype)) && isNonNativeClassPrototype(currentPrototype)) {
25
+ const constructorName = currentPrototype.constructor?.name || UNKNOWN_FUNCTION;
26
+ constructors.push(constructorName);
27
+ }
28
+ for (let i = constructors.length - 1; i >= 0 && stack[0]?.func === constructors[i]; i--) stack.shift();
29
+ }
30
+ return {
31
+ message: tryToGetString(ex, "message"),
32
+ name: tryToGetString(ex, "name"),
33
+ stack
34
+ };
53
35
  }
54
- const fileUrl = '((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet|<anonymous>|\\w+\\.|\\/).*?)';
55
- const filePosition = '(?::(\\d+))';
56
- const CHROME_LINE_RE = new RegExp(`^\\s*at (.*?) ?\\(${fileUrl}${filePosition}?${filePosition}?\\)?\\s*$`, 'i');
36
+ const fileUrl = "((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet|<anonymous>|\\w+\\.|\\/).*?)";
37
+ const filePosition = "(?::(\\d+))";
38
+ const CHROME_LINE_RE = new RegExp(`^\\s*at (.*?) ?\\(${fileUrl}${filePosition}?${filePosition}?\\)?\\s*$`, "i");
57
39
  const CHROME_EVAL_RE = new RegExp(`\\((\\S*)${filePosition}${filePosition}\\)`);
58
40
  function parseChromeLine(line) {
59
- const parts = CHROME_LINE_RE.exec(line);
60
- if (!parts) {
61
- return;
62
- }
63
- const isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
64
- const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
65
- const submatch = CHROME_EVAL_RE.exec(parts[2]);
66
- if (isEval && submatch) {
67
- // throw out eval line/column and use top-most line/column number
68
- parts[2] = submatch[1]; // url
69
- parts[3] = submatch[2]; // line
70
- parts[4] = submatch[3]; // column
71
- }
72
- return {
73
- args: isNative ? [parts[2]] : [],
74
- column: parts[4] ? +parts[4] : undefined,
75
- func: parts[1] || UNKNOWN_FUNCTION,
76
- line: parts[3] ? +parts[3] : undefined,
77
- url: !isNative ? parts[2] : undefined,
78
- };
41
+ const parts = CHROME_LINE_RE.exec(line);
42
+ if (!parts) return;
43
+ const isNative = parts[2]?.indexOf("native") === 0;
44
+ const isEval = parts[2]?.indexOf("eval") === 0;
45
+ const submatch = CHROME_EVAL_RE.exec(parts[2]);
46
+ if (isEval && submatch) {
47
+ parts[2] = submatch[1];
48
+ parts[3] = submatch[2];
49
+ parts[4] = submatch[3];
50
+ }
51
+ return {
52
+ args: isNative ? [parts[2]] : [],
53
+ column: parts[4] ? +parts[4] : void 0,
54
+ func: parts[1] || UNKNOWN_FUNCTION,
55
+ line: parts[3] ? +parts[3] : void 0,
56
+ url: !isNative ? parts[2] : void 0
57
+ };
79
58
  }
80
- const CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(`^\\s*at ?${fileUrl}${filePosition}?${filePosition}??\\s*$`, 'i');
59
+ const CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(`^\\s*at\\s*(?:(.*)?(?: @))?\\s*${fileUrl}${filePosition}?${filePosition}??\\s*$`, "i");
81
60
  function parseChromeAnonymousLine(line) {
82
- const parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);
83
- if (!parts) {
84
- return;
85
- }
86
- return {
87
- args: [],
88
- column: parts[3] ? +parts[3] : undefined,
89
- func: UNKNOWN_FUNCTION,
90
- line: parts[2] ? +parts[2] : undefined,
91
- url: parts[1],
92
- };
61
+ const parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);
62
+ if (!parts) return;
63
+ return {
64
+ args: [],
65
+ column: parts[4] ? +parts[4] : void 0,
66
+ func: parts[1] || UNKNOWN_FUNCTION,
67
+ line: parts[3] ? +parts[3] : void 0,
68
+ url: parts[2]
69
+ };
93
70
  }
94
71
  const WINJS_LINE_RE = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
95
72
  function parseWinLine(line) {
96
- const parts = WINJS_LINE_RE.exec(line);
97
- if (!parts) {
98
- return;
99
- }
100
- return {
101
- args: [],
102
- column: parts[4] ? +parts[4] : undefined,
103
- func: parts[1] || UNKNOWN_FUNCTION,
104
- line: +parts[3],
105
- url: parts[2],
106
- };
73
+ const parts = WINJS_LINE_RE.exec(line);
74
+ if (!parts) return;
75
+ return {
76
+ args: [],
77
+ column: parts[4] ? +parts[4] : void 0,
78
+ func: parts[1] || UNKNOWN_FUNCTION,
79
+ line: +parts[3],
80
+ url: parts[2]
81
+ };
107
82
  }
108
83
  const GECKO_LINE_RE = /^\s*(.*?)(?:\((.*?)\))?(?:(?:(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle|\[wasm code\])(?::(\d+))?(?::(\d+))?)|@)\s*$/i;
109
84
  const GECKO_EVAL_RE = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
110
85
  function parseGeckoLine(line) {
111
- const parts = GECKO_LINE_RE.exec(line);
112
- if (!parts) {
113
- return;
114
- }
115
- const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
116
- const submatch = GECKO_EVAL_RE.exec(parts[3]);
117
- if (isEval && submatch) {
118
- // throw out eval line/column and use top-most line number
119
- parts[3] = submatch[1];
120
- parts[4] = submatch[2];
121
- parts[5] = undefined; // no column when eval
122
- }
123
- return {
124
- args: parts[2] ? parts[2].split(',') : [],
125
- column: parts[5] ? +parts[5] : undefined,
126
- func: parts[1] || UNKNOWN_FUNCTION,
127
- line: parts[4] ? +parts[4] : undefined,
128
- url: parts[3],
129
- };
86
+ const parts = GECKO_LINE_RE.exec(line);
87
+ if (!parts) return;
88
+ const isEval = parts[3] && parts[3].indexOf(" > eval") > -1;
89
+ const submatch = GECKO_EVAL_RE.exec(parts[3]);
90
+ if (isEval && submatch) {
91
+ parts[3] = submatch[1];
92
+ parts[4] = submatch[2];
93
+ parts[5] = void 0;
94
+ }
95
+ return {
96
+ args: parts[2] ? parts[2].split(",") : [],
97
+ column: parts[5] ? +parts[5] : void 0,
98
+ func: parts[1] || UNKNOWN_FUNCTION,
99
+ line: parts[4] ? +parts[4] : void 0,
100
+ url: parts[3]
101
+ };
130
102
  }
131
103
  function tryToGetString(candidate, property) {
132
- if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {
133
- return undefined;
134
- }
135
- const value = candidate[property];
136
- return typeof value === 'string' ? value : undefined;
104
+ return (0, _openobserve_js_core_util.isIndexableObject)(candidate) && typeof candidate[property] === "string" ? candidate[property] : void 0;
137
105
  }
138
106
  function computeStackTraceFromOnErrorMessage(messageObj, url, line, column) {
139
- if (url === undefined) {
140
- return;
141
- }
142
- const { name, message } = tryToParseMessage(messageObj);
143
- return {
144
- name,
145
- message,
146
- stack: [{ url, column, line }],
147
- };
107
+ if (url === void 0) return;
108
+ const { name, message } = tryToParseMessage(messageObj);
109
+ return {
110
+ name,
111
+ message,
112
+ stack: [{
113
+ url,
114
+ column,
115
+ line
116
+ }]
117
+ };
148
118
  }
149
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
150
119
  const ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;
151
120
  function tryToParseMessage(messageObj) {
152
- let name;
153
- let message;
154
- if ({}.toString.call(messageObj) === '[object String]') {
155
- ;
156
- [, name, message] = ERROR_TYPES_RE.exec(messageObj);
157
- }
158
- return { name, message };
121
+ let name;
122
+ let message;
123
+ if ({}.toString.call(messageObj) === "[object String]") [, name, message] = ERROR_TYPES_RE.exec(messageObj);
124
+ return {
125
+ name,
126
+ message
127
+ };
159
128
  }
160
- // Custom error stacktrace fix
161
- // Some browsers (safari/firefox) add the error constructor as a frame in the stacktrace
162
- // In order to normalize the stacktrace, we need to remove it
163
129
  function isNonNativeClassPrototype(prototype) {
164
- return String(prototype.constructor).startsWith('class ');
130
+ return String(prototype.constructor).startsWith("class ");
165
131
  }
166
132
  let isWronglyReportingCustomErrorsCache;
167
133
  function isWronglyReportingCustomErrors() {
168
- if (isWronglyReportingCustomErrorsCache !== undefined) {
169
- return isWronglyReportingCustomErrorsCache;
170
- }
171
- /* eslint-disable no-restricted-syntax */
172
- class DatadogTestCustomError extends Error {
173
- constructor() {
174
- super();
175
- this.name = 'Error'; // set name to Error so that no browser would default to the constructor name
176
- }
177
- }
178
- const [customError, nativeError] = [DatadogTestCustomError, Error].map((errConstructor) => new errConstructor()); // so that both errors should exactly have the same stacktrace
179
- isWronglyReportingCustomErrorsCache =
180
- // If customError is not a class, it means that this was built with ES5 as target, converting the class to a normal object.
181
- // Thus, error constructors will be reported on all browsers, which is the expected behavior.
182
- isNonNativeClassPrototype(Object.getPrototypeOf(customError)) &&
183
- // If the browser is correctly reporting the stacktrace, the normal error stacktrace should be the same as the custom error stacktrace
184
- nativeError.stack !== customError.stack;
185
- return isWronglyReportingCustomErrorsCache;
134
+ if (isWronglyReportingCustomErrorsCache !== void 0) return isWronglyReportingCustomErrorsCache;
135
+ class DatadogTestCustomError extends Error {
136
+ constructor() {
137
+ super();
138
+ this.name = "Error";
139
+ }
140
+ }
141
+ const [customError, nativeError] = [DatadogTestCustomError, Error].map((errConstructor) => new errConstructor());
142
+ isWronglyReportingCustomErrorsCache = isNonNativeClassPrototype(Object.getPrototypeOf(customError)) && nativeError.stack !== customError.stack;
143
+ return isWronglyReportingCustomErrorsCache;
186
144
  }
145
+ //#endregion
146
+ exports.computeStackTrace = computeStackTrace;
147
+ exports.computeStackTraceFromOnErrorMessage = computeStackTraceFromOnErrorMessage;
148
+
187
149
  //# sourceMappingURL=computeStackTrace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"computeStackTrace.js","sourceRoot":"","sources":["../../../src/tools/stackTrace/computeStackTrace.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAwBH,8CAkDC;AA4GD,kFAeC;AA/KD,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,SAAgB,iBAAiB,CAAC,EAAW;;IAC3C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAE9B,IAAI,aAAa,GAAG,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3B,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,UAAU,GACd,eAAe,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;YACvG,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBACxC,UAAU,CAAC,IAAI,GAAG,gBAAgB,CAAA;gBACpC,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,8BAA8B,EAAE,IAAI,EAAE,YAAY,KAAK,EAAE,CAAC;QAChF,4CAA4C;QAC5C,MAAM,YAAY,GAAa,EAAE,CAAA;QAEjC,wCAAwC;QACxC,IAAI,gBAAgB,GAAuB,EAAE,CAAA;QAC7C,OACE,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC5D,yBAAyB,CAAC,gBAAgB,CAAC,EAC3C,CAAC;YACD,MAAM,eAAe,GAAG,CAAA,MAAA,gBAAgB,CAAC,WAAW,0CAAE,IAAI,KAAI,gBAAgB,CAAA;YAC9E,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACpC,CAAC;QAED,6GAA6G;QAC7G,8HAA8H;QAC9H,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxF,2DAA2D;YAC3D,qHAAqH;YACrH,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,YAAY;QAC5B,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC;QACtC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC;QAChC,KAAK;KACN,CAAA;AACH,CAAC;AACD,MAAM,OAAO,GACX,yGAAyG,CAAA;AAC3G,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,qBAAqB,OAAO,GAAG,YAAY,IAAI,YAAY,YAAY,EAAE,GAAG,CAAC,CAAA;AAE/G,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,YAAY,YAAY,GAAG,YAAY,KAAK,CAAC,CAAA;AAE/E,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,gBAAgB;IAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,gBAAgB;IAC1E,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9C,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QACvB,iEAAiE;QACjE,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,MAAM;QAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,OAAO;QAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,SAAS;IAClC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAChC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB;QAClC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACtC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KACtC,CAAA;AACH,CAAC;AAED,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAAC,YAAY,OAAO,GAAG,YAAY,IAAI,YAAY,SAAS,EAAE,GAAG,CAAC,CAAA;AAEjH,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAErD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,OAAO;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACtC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;KACd,CAAA;AACH,CAAC;AAED,MAAM,aAAa,GACjB,+GAA+G,CAAA;AAEjH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,OAAO;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB;QAClC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;KACd,CAAA;AACH,CAAC;AAED,MAAM,aAAa,GACjB,mKAAmK,CAAA;AACrK,MAAM,aAAa,GAAG,+CAA+C,CAAA;AAErE,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE7C,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QACvB,0DAA0D;QAC1D,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtB,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtB,KAAK,CAAC,CAAC,CAAC,GAAG,SAAU,CAAA,CAAC,sBAAsB;IAC9C,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACzC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB;QAClC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACtC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;KACd,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,SAAkB,EAAE,QAAgB;IAC1D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,GAAI,SAAsC,CAAC,QAAQ,CAAC,CAAA;IAC/D,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED,SAAgB,mCAAmC,CACjD,UAAmB,EACnB,GAAY,EACZ,IAAa,EACb,MAAe;IAEf,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACvD,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC/B,CAAA;AACH,CAAC;AAED,qGAAqG;AACrG,MAAM,cAAc,GAClB,8GAA8G,CAAA;AAEhH,SAAS,iBAAiB,CAAC,UAAmB;IAC5C,IAAI,IAAI,CAAA;IACR,IAAI,OAAO,CAAA;IACX,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,iBAAiB,EAAE,CAAC;QACvD,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,UAAoB,CAAE,CAAA;IACjE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC;AAED,8BAA8B;AAC9B,wFAAwF;AACxF,6DAA6D;AAE7D,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAC3D,CAAC;AAED,IAAI,mCAAwD,CAAA;AAE5D,SAAS,8BAA8B;IACrC,IAAI,mCAAmC,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,mCAAmC,CAAA;IAC5C,CAAC;IAED,yCAAyC;IACzC,MAAM,sBAAuB,SAAQ,KAAK;QACxC;YACE,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA,CAAC,6EAA6E;QACnG,CAAC;KACF;IAED,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,CAAA,CAAC,8DAA8D;IAE/K,mCAAmC;QACjC,2HAA2H;QAC3H,6FAA6F;QAC7F,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC7D,sIAAsI;YACtI,WAAW,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAA;IAEzC,OAAO,mCAAmC,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"computeStackTrace.js","names":[],"sources":["../../../src/tools/stackTrace/computeStackTrace.ts"],"sourcesContent":["/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\n\nimport { isIndexableObject } from '@openobserve/js-core/util'\n\nexport interface StackFrame {\n url?: string\n func?: string\n /** The arguments passed to the function, if known. */\n args?: string[]\n line?: number\n column?: number\n /** An array of source code lines; the middle element corresponds to the correct line. */\n context?: string[]\n}\n\nexport interface StackTrace {\n name?: string\n message?: string\n url?: string\n stack: StackFrame[]\n incomplete?: boolean\n partial?: boolean\n}\n\nconst UNKNOWN_FUNCTION = '?'\n\nexport function computeStackTrace(ex: unknown): StackTrace {\n const stack: StackFrame[] = []\n\n let stackProperty = tryToGetString(ex, 'stack')\n const exString = String(ex)\n if (stackProperty?.startsWith(exString)) {\n stackProperty = stackProperty.slice(exString.length)\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach((line) => {\n const stackFrame =\n parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line)\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION\n }\n\n stack.push(stackFrame)\n }\n })\n }\n\n if (stack.length > 0 && isWronglyReportingCustomErrors() && ex instanceof Error) {\n // if we are wrongly reporting custom errors\n const constructors: string[] = []\n\n // go through each inherited constructor\n let currentPrototype: object | undefined = ex\n while (\n (currentPrototype = Object.getPrototypeOf(currentPrototype)) &&\n isNonNativeClassPrototype(currentPrototype)\n ) {\n const constructorName = currentPrototype.constructor?.name || UNKNOWN_FUNCTION\n constructors.push(constructorName)\n }\n\n // traverse the stacktrace in reverse order because the stacktrace starts with the last inherited constructor\n // we check constructor names to ensure we remove the correct frame (and there isn't a weird unsupported environment behavior)\n for (let i = constructors.length - 1; i >= 0 && stack[0]?.func === constructors[i]; i--) {\n // if the first stack frame is the custom error constructor\n // null stack frames may represent frames that failed to be parsed because the error class did not have a constructor\n stack.shift() // remove it\n }\n }\n\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack,\n }\n}\nconst fileUrl =\n '((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet|<anonymous>|\\\\w+\\\\.|\\\\/).*?)'\nconst filePosition = '(?::(\\\\d+))'\nconst CHROME_LINE_RE = new RegExp(`^\\\\s*at (.*?) ?\\\\(${fileUrl}${filePosition}?${filePosition}?\\\\)?\\\\s*$`, 'i')\n\nconst CHROME_EVAL_RE = new RegExp(`\\\\((\\\\S*)${filePosition}${filePosition}\\\\)`)\n\nfunction parseChromeLine(line: string): StackFrame | undefined {\n const parts = CHROME_LINE_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n const isNative = parts[2]?.indexOf('native') === 0 // start of line\n const isEval = parts[2]?.indexOf('eval') === 0 // start of line\n const submatch = CHROME_EVAL_RE.exec(parts[2])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1] // url\n parts[3] = submatch[2] // line\n parts[4] = submatch[3] // column\n }\n\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n }\n}\n\nconst htmlAnonymousPart = '(?:(.*)?(?: @))'\nconst CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\n `^\\\\s*at\\\\s*${htmlAnonymousPart}?\\\\s*${fileUrl}${filePosition}?${filePosition}??\\\\s*$`,\n 'i'\n)\n\nfunction parseChromeAnonymousLine(line: string): StackFrame | undefined {\n const parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: parts[2],\n }\n}\n\nconst WINJS_LINE_RE =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i\n\nfunction parseWinLine(line: string): StackFrame | undefined {\n const parts = WINJS_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n }\n}\n\nconst GECKO_LINE_RE =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:(?:(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle|\\[wasm code\\])(?::(\\d+))?(?::(\\d+))?)|@)\\s*$/i\nconst GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i\n\nfunction parseGeckoLine(line: string): StackFrame | undefined {\n const parts = GECKO_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1\n const submatch = GECKO_EVAL_RE.exec(parts[3])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1]\n parts[4] = submatch[2]\n parts[5] = undefined! // no column when eval\n }\n\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n }\n}\n\nfunction tryToGetString(candidate: unknown, property: string) {\n return isIndexableObject(candidate) && typeof candidate[property] === 'string' ? candidate[property] : undefined\n}\n\nexport function computeStackTraceFromOnErrorMessage(\n messageObj: unknown,\n url?: string,\n line?: number,\n column?: number\n): StackTrace | undefined {\n if (url === undefined) {\n return\n }\n const { name, message } = tryToParseMessage(messageObj)\n return {\n name,\n message,\n stack: [{ url, column, line }],\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nconst ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/\n\nfunction tryToParseMessage(messageObj: unknown) {\n let name\n let message\n if ({}.toString.call(messageObj) === '[object String]') {\n ;[, name, message] = ERROR_TYPES_RE.exec(messageObj as string)!\n }\n return { name, message }\n}\n\n// Custom error stacktrace fix\n// Some browsers (safari/firefox) add the error constructor as a frame in the stacktrace\n// In order to normalize the stacktrace, we need to remove it\n\nfunction isNonNativeClassPrototype(prototype: object) {\n return String(prototype.constructor).startsWith('class ')\n}\n\nlet isWronglyReportingCustomErrorsCache: boolean | undefined\n\nfunction isWronglyReportingCustomErrors() {\n if (isWronglyReportingCustomErrorsCache !== undefined) {\n return isWronglyReportingCustomErrorsCache\n }\n\n /* eslint-disable no-restricted-syntax */\n class DatadogTestCustomError extends Error {\n constructor() {\n super()\n this.name = 'Error' // set name to Error so that no browser would default to the constructor name\n }\n }\n\n const [customError, nativeError] = [DatadogTestCustomError, Error].map((errConstructor) => new errConstructor()) // so that both errors should exactly have the same stacktrace\n\n isWronglyReportingCustomErrorsCache =\n // If customError is not a class, it means that this was built with ES5 as target, converting the class to a normal object.\n // Thus, error constructors will be reported on all browsers, which is the expected behavior.\n isNonNativeClassPrototype(Object.getPrototypeOf(customError)) &&\n // If the browser is correctly reporting the stacktrace, the normal error stacktrace should be the same as the custom error stacktrace\n nativeError.stack !== customError.stack\n\n return isWronglyReportingCustomErrorsCache\n}\n"],"mappings":"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"}
@@ -5,6 +5,6 @@ import type { StackTrace } from './computeStackTrace';
5
5
  * - Has to be called at the utmost position of the call stack.
6
6
  * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.
7
7
  */
8
- export declare function createHandlingStack(type: 'console error' | 'action' | 'error' | 'instrumented method' | 'log' | 'react error'): string;
8
+ export declare function createHandlingStack(type: 'console error' | 'action' | 'error' | 'instrumented method' | 'instrumented constructor' | 'log' | 'nuxt error' | 'react error' | 'nextjs error' | 'vue error' | 'angular error' | 'view' | 'vital'): string;
9
9
  export declare function toStackTraceString(stack: StackTrace): string;
10
10
  export declare function formatErrorMessage(stack: StackTrace): string;
@@ -1,46 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createHandlingStack = createHandlingStack;
4
- exports.toStackTraceString = toStackTraceString;
5
- exports.formatErrorMessage = formatErrorMessage;
6
- const monitor_1 = require("../monitor");
7
- const computeStackTrace_1 = require("./computeStackTrace");
1
+ const require_monitor = require("../monitor.js");
2
+ const require_computeStackTrace = require("./computeStackTrace.js");
3
+ //#region src/tools/stackTrace/handlingStack.ts
8
4
  /**
9
- * Creates a stacktrace without SDK internal frames.
10
- * Constraints:
11
- * - Has to be called at the utmost position of the call stack.
12
- * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.
13
- */
5
+ * Creates a stacktrace without SDK internal frames.
6
+ * Constraints:
7
+ * - Has to be called at the utmost position of the call stack.
8
+ * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.
9
+ */
14
10
  function createHandlingStack(type) {
15
- /**
16
- * Skip the two internal frames:
17
- * - SDK API (console.error, ...)
18
- * - this function
19
- * in order to keep only the user calls
20
- */
21
- const internalFramesToSkip = 2;
22
- const error = new Error(type);
23
- error.name = 'HandlingStack';
24
- let formattedStack;
25
- (0, monitor_1.callMonitored)(() => {
26
- const stackTrace = (0, computeStackTrace_1.computeStackTrace)(error);
27
- stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);
28
- formattedStack = toStackTraceString(stackTrace);
29
- });
30
- return formattedStack;
11
+ /**
12
+ * Skip the two internal frames:
13
+ * - SDK API (console.error, ...)
14
+ * - this function
15
+ * in order to keep only the user calls
16
+ */
17
+ const internalFramesToSkip = 2;
18
+ const error = new Error(type);
19
+ error.name = "HandlingStack";
20
+ let formattedStack;
21
+ require_monitor.callMonitored(() => {
22
+ const stackTrace = require_computeStackTrace.computeStackTrace(error);
23
+ stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);
24
+ formattedStack = toStackTraceString(stackTrace);
25
+ });
26
+ return formattedStack;
31
27
  }
32
28
  function toStackTraceString(stack) {
33
- let result = formatErrorMessage(stack);
34
- stack.stack.forEach((frame) => {
35
- const func = frame.func === '?' ? '<anonymous>' : frame.func;
36
- const args = frame.args && frame.args.length > 0 ? `(${frame.args.join(', ')})` : '';
37
- const line = frame.line ? `:${frame.line}` : '';
38
- const column = frame.line && frame.column ? `:${frame.column}` : '';
39
- result += `\n at ${func}${args} @ ${frame.url}${line}${column}`;
40
- });
41
- return result;
29
+ let result = formatErrorMessage(stack);
30
+ stack.stack.forEach((frame) => {
31
+ const func = frame.func === "?" ? "<anonymous>" : frame.func;
32
+ const args = frame.args && frame.args.length > 0 ? `(${frame.args.join(", ")})` : "";
33
+ const line = frame.line ? `:${frame.line}` : "";
34
+ const column = frame.line && frame.column ? `:${frame.column}` : "";
35
+ result += `\n at ${func}${args} @ ${frame.url}${line}${column}`;
36
+ });
37
+ return result;
42
38
  }
43
39
  function formatErrorMessage(stack) {
44
- return `${stack.name || 'Error'}: ${stack.message}`;
40
+ return `${stack.name || "Error"}: ${stack.message}`;
45
41
  }
42
+ //#endregion
43
+ exports.createHandlingStack = createHandlingStack;
44
+ exports.formatErrorMessage = formatErrorMessage;
45
+ exports.toStackTraceString = toStackTraceString;
46
+
46
47
  //# sourceMappingURL=handlingStack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlingStack.js","sourceRoot":"","sources":["../../../src/tools/stackTrace/handlingStack.ts"],"names":[],"mappings":";;AAUA,kDAqBC;AAED,gDAUC;AAED,gDAEC;AA/CD,wCAA0C;AAE1C,2DAAuD;AAEvD;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,IAA0F;IAE1F;;;;;OAKG;IACH,MAAM,oBAAoB,GAAG,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,GAAG,eAAe,CAAA;IAC5B,IAAI,cAAsB,CAAA;IAE1B,IAAA,uBAAa,EAAC,GAAG,EAAE;QACjB,MAAM,UAAU,GAAG,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAA;QAC3C,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC/D,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,OAAO,cAAe,CAAA;AACxB,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAiB;IAClD,IAAI,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACpF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACnE,MAAM,IAAI,UAAU,IAAK,GAAG,IAAI,MAAM,KAAK,CAAC,GAAI,GAAG,IAAI,GAAG,MAAM,EAAE,CAAA;IACpE,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAiB;IAClD,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,OAAQ,EAAE,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"handlingStack.js","names":["computeStackTrace"],"sources":["../../../src/tools/stackTrace/handlingStack.ts"],"sourcesContent":["import { callMonitored } from '../monitor'\nimport type { StackTrace } from './computeStackTrace'\nimport { computeStackTrace } from './computeStackTrace'\n\n/**\n * Creates a stacktrace without SDK internal frames.\n * Constraints:\n * - Has to be called at the utmost position of the call stack.\n * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack(\n type:\n | 'console error'\n | 'action'\n | 'error'\n | 'instrumented method'\n | 'instrumented constructor'\n | 'log'\n | 'nuxt error'\n | 'react error'\n | 'nextjs error'\n | 'vue error'\n | 'angular error'\n | 'view'\n | 'vital'\n): string {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n const internalFramesToSkip = 2\n const error = new Error(type)\n error.name = 'HandlingStack'\n let formattedStack: string\n\n callMonitored(() => {\n const stackTrace = computeStackTrace(error)\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip)\n formattedStack = toStackTraceString(stackTrace)\n })\n\n return formattedStack!\n}\n\nexport function toStackTraceString(stack: StackTrace) {\n let result = formatErrorMessage(stack)\n stack.stack.forEach((frame) => {\n const func = frame.func === '?' ? '<anonymous>' : frame.func\n const args = frame.args && frame.args.length > 0 ? `(${frame.args.join(', ')})` : ''\n const line = frame.line ? `:${frame.line}` : ''\n const column = frame.line && frame.column ? `:${frame.column}` : ''\n result += `\\n at ${func!}${args} @ ${frame.url!}${line}${column}`\n })\n return result\n}\n\nexport function formatErrorMessage(stack: StackTrace) {\n return `${stack.name || 'Error'}: ${stack.message!}`\n}\n"],"mappings":";;;;;;;;;AAUA,SAAgB,oBACd,MAcQ;;;;;;;CAOR,MAAM,uBAAuB;CAC7B,MAAM,QAAQ,IAAI,MAAM,IAAI;CAC5B,MAAM,OAAO;CACb,IAAI;CAEJ,gBAAA,oBAAoB;EAClB,MAAM,aAAaA,0BAAAA,kBAAkB,KAAK;EAC1C,WAAW,QAAQ,WAAW,MAAM,MAAM,oBAAoB;EAC9D,iBAAiB,mBAAmB,UAAU;CAChD,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,mBAAmB,OAAmB;CACpD,IAAI,SAAS,mBAAmB,KAAK;CACrC,MAAM,MAAM,SAAS,UAAU;EAC7B,MAAM,OAAO,MAAM,SAAS,MAAM,gBAAgB,MAAM;EACxD,MAAM,OAAO,MAAM,QAAQ,MAAM,KAAK,SAAS,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,EAAE,KAAK;EAClF,MAAM,OAAO,MAAM,OAAO,IAAI,MAAM,SAAS;EAC7C,MAAM,SAAS,MAAM,QAAQ,MAAM,SAAS,IAAI,MAAM,WAAW;EACjE,UAAU,UAAU,OAAQ,KAAK,KAAK,MAAM,MAAO,OAAO;CAC5D,CAAC;CACD,OAAO;AACT;AAEA,SAAgB,mBAAmB,OAAmB;CACpD,OAAO,GAAG,MAAM,QAAQ,QAAQ,IAAI,MAAM;AAC5C"}
@@ -1,54 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_EXECUTION_TIME_ON_TIMEOUT = void 0;
4
- exports.createTaskQueue = createTaskQueue;
5
- const timeUtils_1 = require("./utils/timeUtils");
6
- const requestIdleCallback_1 = require("./requestIdleCallback");
1
+ const require_requestIdleCallback = require("./requestIdleCallback.js");
2
+ //#region src/tools/taskQueue.ts
7
3
  /**
8
- * Maximum delay before starting to execute tasks in the queue. We don't want to wait too long
9
- * before running tasks, as it might hurt reliability (ex: if the user navigates away, we might lose
10
- * the opportunity to send some data). We also don't want to run tasks too often, as it might hurt
11
- * performance.
12
- */
13
- const IDLE_CALLBACK_TIMEOUT = timeUtils_1.ONE_SECOND;
4
+ * Maximum delay before starting to execute tasks in the queue. We don't want to wait too long
5
+ * before running tasks, as it might hurt reliability (ex: if the user navigates away, we might lose
6
+ * the opportunity to send some data). We also don't want to run tasks too often, as it might hurt
7
+ * performance.
8
+ */
9
+ const IDLE_CALLBACK_TIMEOUT = require("@openobserve/js-core/time").ONE_SECOND;
14
10
  /**
15
- * Maximum amount of time allocated to running tasks when a timeout (`IDLE_CALLBACK_TIMEOUT`) is
16
- * reached. We should not run tasks for too long as it will hurt performance, but we should still
17
- * run some tasks to avoid postponing them forever.
18
- *
19
- * Rational: Running tasks for 30ms every second (IDLE_CALLBACK_TIMEOUT) should be acceptable.
20
- */
21
- exports.MAX_EXECUTION_TIME_ON_TIMEOUT = 30;
11
+ * Maximum amount of time allocated to running tasks when a timeout (`IDLE_CALLBACK_TIMEOUT`) is
12
+ * reached. We should not run tasks for too long as it will hurt performance, but we should still
13
+ * run some tasks to avoid postponing them forever.
14
+ *
15
+ * Rational: Running tasks for 30ms every second (IDLE_CALLBACK_TIMEOUT) should be acceptable.
16
+ */
17
+ const MAX_EXECUTION_TIME_ON_TIMEOUT = 30;
22
18
  function createTaskQueue() {
23
- const pendingTasks = [];
24
- function run(deadline) {
25
- let executionTimeRemaining;
26
- if (deadline.didTimeout) {
27
- const start = performance.now();
28
- executionTimeRemaining = () => exports.MAX_EXECUTION_TIME_ON_TIMEOUT - (performance.now() - start);
29
- }
30
- else {
31
- executionTimeRemaining = deadline.timeRemaining.bind(deadline);
32
- }
33
- while (executionTimeRemaining() > 0 && pendingTasks.length) {
34
- pendingTasks.shift()();
35
- }
36
- if (pendingTasks.length) {
37
- scheduleNextRun();
38
- }
39
- }
40
- function scheduleNextRun() {
41
- (0, requestIdleCallback_1.requestIdleCallback)(run, { timeout: IDLE_CALLBACK_TIMEOUT });
42
- }
43
- return {
44
- push(task) {
45
- if (pendingTasks.push(task) === 1) {
46
- scheduleNextRun();
47
- }
48
- },
49
- stop() {
50
- pendingTasks.length = 0;
51
- },
52
- };
19
+ const pendingTasks = [];
20
+ function run(deadline) {
21
+ let executionTimeRemaining;
22
+ if (!deadline || deadline.didTimeout) {
23
+ const start = performance.now();
24
+ executionTimeRemaining = () => 30 - (performance.now() - start);
25
+ } else executionTimeRemaining = deadline.timeRemaining.bind(deadline);
26
+ while (executionTimeRemaining() > 0 && pendingTasks.length) pendingTasks.shift()();
27
+ if (pendingTasks.length) scheduleNextRun();
28
+ }
29
+ function scheduleNextRun() {
30
+ require_requestIdleCallback.requestIdleCallback(run, { timeout: IDLE_CALLBACK_TIMEOUT });
31
+ }
32
+ return {
33
+ push(task) {
34
+ if (pendingTasks.push(task) === 1) scheduleNextRun();
35
+ },
36
+ stop() {
37
+ pendingTasks.length = 0;
38
+ }
39
+ };
53
40
  }
41
+ //#endregion
42
+ exports.MAX_EXECUTION_TIME_ON_TIMEOUT = MAX_EXECUTION_TIME_ON_TIMEOUT;
43
+ exports.createTaskQueue = createTaskQueue;
44
+
54
45
  //# sourceMappingURL=taskQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taskQueue.js","sourceRoot":"","sources":["../../src/tools/taskQueue.ts"],"names":[],"mappings":";;;AA2BA,0CAmCC;AA9DD,iDAA8C;AAC9C,+DAA2D;AAE3D;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,sBAAU,CAAA;AAExC;;;;;;GAMG;AACU,QAAA,6BAA6B,GAAG,EAAE,CAAA;AAS/C,SAAgB,eAAe;IAC7B,MAAM,YAAY,GAAW,EAAE,CAAA;IAE/B,SAAS,GAAG,CAAC,QAAsB;QACjC,IAAI,sBAAoC,CAAA;QACxC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAC/B,sBAAsB,GAAG,GAAG,EAAE,CAAC,qCAA6B,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QAC5F,CAAC;aAAM,CAAC;YACN,sBAAsB,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,sBAAsB,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3D,YAAY,CAAC,KAAK,EAAG,EAAE,CAAA;QACzB,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,eAAe,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;IAED,SAAS,eAAe;QACtB,IAAA,yCAAmB,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI;YACP,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,eAAe,EAAE,CAAA;YACnB,CAAC;QACH,CAAC;QACD,IAAI;YACF,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;QACzB,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"taskQueue.js","names":["ONE_SECOND"],"sources":["../../src/tools/taskQueue.ts"],"sourcesContent":["import { ONE_SECOND } from '@openobserve/js-core/time'\nimport { requestIdleCallback } from './requestIdleCallback'\n\n/**\n * Maximum delay before starting to execute tasks in the queue. We don't want to wait too long\n * before running tasks, as it might hurt reliability (ex: if the user navigates away, we might lose\n * the opportunity to send some data). We also don't want to run tasks too often, as it might hurt\n * performance.\n */\nconst IDLE_CALLBACK_TIMEOUT = ONE_SECOND\n\n/**\n * Maximum amount of time allocated to running tasks when a timeout (`IDLE_CALLBACK_TIMEOUT`) is\n * reached. We should not run tasks for too long as it will hurt performance, but we should still\n * run some tasks to avoid postponing them forever.\n *\n * Rational: Running tasks for 30ms every second (IDLE_CALLBACK_TIMEOUT) should be acceptable.\n */\nexport const MAX_EXECUTION_TIME_ON_TIMEOUT = 30\n\nexport interface TaskQueue {\n push(task: Task): void\n stop(): void\n}\n\ntype Task = () => void\n\nexport function createTaskQueue(): TaskQueue {\n const pendingTasks: Task[] = []\n\n function run(deadline: IdleDeadline | null) {\n let executionTimeRemaining: () => number\n // `deadline` can be null when `requestIdleCallback` is replaced by a page-injected polyfill\n // (e.g. `setTimeout(cb, 0)` in some WKWebViews) that invokes the callback with no argument.\n if (!deadline || deadline.didTimeout) {\n const start = performance.now()\n executionTimeRemaining = () => MAX_EXECUTION_TIME_ON_TIMEOUT - (performance.now() - start)\n } else {\n executionTimeRemaining = deadline.timeRemaining.bind(deadline)\n }\n\n while (executionTimeRemaining() > 0 && pendingTasks.length) {\n pendingTasks.shift()!()\n }\n\n if (pendingTasks.length) {\n scheduleNextRun()\n }\n }\n\n function scheduleNextRun() {\n requestIdleCallback(run, { timeout: IDLE_CALLBACK_TIMEOUT })\n }\n\n return {\n push(task) {\n if (pendingTasks.push(task) === 1) {\n scheduleNextRun()\n }\n },\n stop() {\n pendingTasks.length = 0\n },\n }\n}\n"],"mappings":";;;;;;;;AASA,MAAM,2DAAwBA,CAAAA,CAAAA;;;;;;;;AAS9B,MAAa,gCAAgC;AAS7C,SAAgB,kBAA6B;CAC3C,MAAM,eAAuB,CAAC;CAE9B,SAAS,IAAI,UAA+B;EAC1C,IAAI;EAGJ,IAAI,CAAC,YAAY,SAAS,YAAY;GACpC,MAAM,QAAQ,YAAY,IAAI;GAC9B,+BAAA,MAAgE,YAAY,IAAI,IAAI;EACtF,OACE,yBAAyB,SAAS,cAAc,KAAK,QAAQ;EAG/D,OAAO,uBAAuB,IAAI,KAAK,aAAa,QAClD,aAAa,MAAM,CAAC,CAAE;EAGxB,IAAI,aAAa,QACf,gBAAgB;CAEpB;CAEA,SAAS,kBAAkB;EACzB,4BAAA,oBAAoB,KAAK,EAAE,SAAS,sBAAsB,CAAC;CAC7D;CAEA,OAAO;EACL,KAAK,MAAM;GACT,IAAI,aAAa,KAAK,IAAI,MAAM,GAC9B,gBAAgB;EAEpB;EACA,OAAO;GACL,aAAa,SAAS;EACxB;CACF;AACF"}
@@ -1,4 +1,5 @@
1
- export type TimeoutId = ReturnType<typeof globalThis.setTimeout>;
1
+ import type { GlobalObject } from './globalObject';
2
+ export type TimeoutId = ReturnType<GlobalObject['setTimeout']>;
2
3
  export declare function setTimeout(callback: () => void, delay?: number): TimeoutId;
3
4
  export declare function clearTimeout(timeoutId: TimeoutId | undefined): void;
4
5
  export declare function setInterval(callback: () => void, delay?: number): TimeoutId;