@openobserve/browser-core 0.3.4 → 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.
- package/README.md +1 -1
- package/cjs/boot/displayAlreadyInitializedError.js +6 -7
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
- package/cjs/boot/init.js +26 -34
- package/cjs/boot/init.js.map +1 -1
- package/cjs/browser/addEventListener.d.ts +10 -8
- package/cjs/browser/addEventListener.js +107 -50
- package/cjs/browser/addEventListener.js.map +1 -1
- package/cjs/browser/browser.types.d.ts +91 -4
- package/cjs/browser/cookie.d.ts +0 -1
- package/cjs/browser/cookie.js +65 -92
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/browser/cookieAccess.d.ts +16 -0
- package/cjs/browser/cookieAccess.js +114 -0
- package/cjs/browser/cookieAccess.js.map +1 -0
- package/cjs/browser/fetch.d.ts +9 -0
- package/cjs/browser/fetch.js +18 -0
- package/cjs/browser/fetch.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +3 -3
- package/cjs/browser/fetchObservable.js +80 -92
- package/cjs/browser/fetchObservable.js.map +1 -1
- package/cjs/browser/pageMayExitObservable.d.ts +1 -2
- package/cjs/browser/pageMayExitObservable.js +41 -40
- package/cjs/browser/pageMayExitObservable.js.map +1 -1
- package/cjs/browser/runOnReadyState.d.ts +2 -3
- package/cjs/browser/runOnReadyState.js +18 -17
- package/cjs/browser/runOnReadyState.js.map +1 -1
- package/cjs/browser/xhrObservable.d.ts +8 -3
- package/cjs/browser/xhrObservable.js +65 -77
- package/cjs/browser/xhrObservable.js.map +1 -1
- package/cjs/domain/allowedTrackingOrigins.d.ts +1 -1
- package/cjs/domain/allowedTrackingOrigins.js +25 -23
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
- package/cjs/domain/bufferedData.d.ts +20 -6
- package/cjs/domain/bufferedData.js +41 -19
- package/cjs/domain/bufferedData.js.map +1 -1
- package/cjs/domain/configuration/configuration.d.ts +44 -43
- package/cjs/domain/configuration/configuration.js +122 -125
- package/cjs/domain/configuration/configuration.js.map +1 -1
- package/cjs/domain/configuration/endpointBuilder.d.ts +42 -7
- package/cjs/domain/configuration/endpointBuilder.js +67 -74
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -1
- package/cjs/domain/configuration/index.d.ts +2 -3
- package/cjs/domain/connectivity/connectivity.d.ts +1 -7
- package/cjs/domain/connectivity/connectivity.js +11 -11
- package/cjs/domain/connectivity/connectivity.js.map +1 -1
- package/cjs/domain/console/consoleObservable.d.ts +1 -1
- package/cjs/domain/console/consoleObservable.js +59 -74
- package/cjs/domain/console/consoleObservable.js.map +1 -1
- package/cjs/domain/context/contextConstants.js +24 -15
- package/cjs/domain/context/contextConstants.js.map +1 -1
- package/cjs/domain/context/contextManager.js +49 -54
- package/cjs/domain/context/contextManager.js.map +1 -1
- package/cjs/domain/context/contextUtils.js +11 -12
- package/cjs/domain/context/contextUtils.js.map +1 -1
- package/cjs/domain/context/defineContextMethod.d.ts +2 -2
- package/cjs/domain/context/defineContextMethod.js +15 -16
- package/cjs/domain/context/defineContextMethod.js.map +1 -1
- package/cjs/domain/context/storeContextManager.d.ts +1 -2
- package/cjs/domain/context/storeContextManager.js +30 -33
- package/cjs/domain/context/storeContextManager.js.map +1 -1
- package/cjs/domain/contexts/accountContext.d.ts +2 -2
- package/cjs/domain/contexts/accountContext.js +26 -29
- package/cjs/domain/contexts/accountContext.js.map +1 -1
- package/cjs/domain/contexts/globalContext.d.ts +2 -2
- package/cjs/domain/contexts/globalContext.js +17 -17
- package/cjs/domain/contexts/globalContext.js.map +1 -1
- package/cjs/domain/contexts/tabContext.d.ts +4 -0
- package/cjs/domain/contexts/tabContext.js +27 -0
- package/cjs/domain/contexts/tabContext.js.map +1 -0
- package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
- package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
- package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +8 -3
- package/cjs/domain/contexts/userContext.js +29 -41
- package/cjs/domain/contexts/userContext.js.map +1 -1
- package/cjs/domain/deflate/deflate.types.js +11 -2
- package/cjs/domain/deflate/deflate.types.js.map +1 -1
- package/cjs/domain/error/error.d.ts +1 -1
- package/cjs/domain/error/error.js +62 -60
- package/cjs/domain/error/error.js.map +1 -1
- package/cjs/domain/error/error.types.d.ts +1 -1
- package/cjs/domain/error/error.types.js +24 -11
- package/cjs/domain/error/error.types.js.map +1 -1
- package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
- package/cjs/domain/error/trackRuntimeError.js +41 -41
- package/cjs/domain/error/trackRuntimeError.js.map +1 -1
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +33 -38
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
- package/cjs/domain/extension/extensionUtils.js +18 -25
- package/cjs/domain/extension/extensionUtils.js.map +1 -1
- package/cjs/domain/intakeSites.d.ts +3 -3
- package/cjs/domain/intakeSites.js +23 -10
- package/cjs/domain/intakeSites.js.map +1 -1
- package/cjs/domain/report/reportObservable.d.ts +1 -2
- package/cjs/domain/report/reportObservable.js +73 -85
- package/cjs/domain/report/reportObservable.js.map +1 -1
- package/cjs/domain/resourceUtils.js +19 -17
- package/cjs/domain/resourceUtils.js.map +1 -1
- package/cjs/domain/sampler.d.ts +11 -0
- package/cjs/domain/sampler.js +40 -0
- package/cjs/domain/sampler.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +1 -0
- package/cjs/domain/session/sessionConstants.js +19 -13
- package/cjs/domain/session/sessionConstants.js.map +1 -1
- package/cjs/domain/session/sessionManager.d.ts +13 -13
- package/cjs/domain/session/sessionManager.js +219 -193
- package/cjs/domain/session/sessionManager.js.map +1 -1
- package/cjs/domain/session/sessionState.d.ts +10 -1
- package/cjs/domain/session/sessionState.js +70 -55
- package/cjs/domain/session/sessionState.js.map +1 -1
- package/cjs/domain/session/sessionStateValidation.js +7 -8
- package/cjs/domain/session/sessionStateValidation.js.map +1 -1
- package/cjs/domain/session/sessionStore.d.ts +4 -33
- package/cjs/domain/session/sessionStore.js +42 -180
- package/cjs/domain/session/sessionStore.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +89 -95
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js +35 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +33 -25
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/domain/tags.d.ts +0 -1
- package/cjs/domain/tags.js +22 -58
- package/cjs/domain/tags.js.map +1 -1
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
- package/cjs/domain/telemetry/telemetry.d.ts +8 -8
- package/cjs/domain/telemetry/telemetry.js +196 -211
- package/cjs/domain/telemetry/telemetry.js.map +1 -1
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +97 -17
- package/cjs/domain/trackingConsent.d.ts +1 -0
- package/cjs/domain/trackingConsent.js +35 -24
- package/cjs/domain/trackingConsent.js.map +1 -1
- package/cjs/index.d.ts +25 -22
- package/cjs/index.js +281 -194
- package/cjs/tools/abstractLifeCycle.js +19 -26
- package/cjs/tools/abstractLifeCycle.js.map +1 -1
- package/cjs/tools/catchUserErrors.js +12 -12
- package/cjs/tools/catchUserErrors.js.map +1 -1
- package/cjs/tools/display.d.ts +1 -35
- package/cjs/tools/display.js +11 -43
- package/cjs/tools/display.js.map +1 -1
- package/cjs/tools/encoder.js +36 -37
- package/cjs/tools/encoder.js.map +1 -1
- package/cjs/tools/experimentalFeatures.d.ts +1 -4
- package/cjs/tools/experimentalFeatures.js +29 -40
- package/cjs/tools/experimentalFeatures.js.map +1 -1
- package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
- package/cjs/tools/getZoneJsOriginalValue.js +22 -25
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
- package/cjs/tools/globalObject.d.ts +16 -15
- package/cjs/tools/globalObject.js +7 -43
- package/cjs/tools/globalObject.js.map +1 -1
- package/cjs/tools/instrumentMethod.d.ts +58 -1
- package/cjs/tools/instrumentMethod.js +174 -112
- package/cjs/tools/instrumentMethod.js.map +1 -1
- package/cjs/tools/matchOption.js +25 -29
- package/cjs/tools/matchOption.js.map +1 -1
- package/cjs/tools/mockable.d.ts +22 -0
- package/cjs/tools/mockable.js +28 -0
- package/cjs/tools/mockable.js.map +1 -0
- package/cjs/tools/monitor.d.ts +5 -7
- package/cjs/tools/monitor.js +13 -58
- package/cjs/tools/monitor.js.map +1 -1
- package/cjs/tools/observable.d.ts +3 -1
- package/cjs/tools/observable.js +75 -85
- package/cjs/tools/observable.js.map +1 -1
- package/cjs/tools/queueMicrotask.js +9 -14
- package/cjs/tools/queueMicrotask.js.map +1 -1
- package/cjs/tools/readBytesFromStream.d.ts +1 -6
- package/cjs/tools/readBytesFromStream.js +18 -25
- package/cjs/tools/readBytesFromStream.js.map +1 -1
- package/cjs/tools/requestIdleCallback.js +22 -29
- package/cjs/tools/requestIdleCallback.js.map +1 -1
- package/cjs/tools/sendToExtension.js +10 -8
- package/cjs/tools/sendToExtension.js.map +1 -1
- package/cjs/tools/serialisation/jsonStringify.js +37 -42
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
- package/cjs/tools/serialisation/sanitize.d.ts +1 -0
- package/cjs/tools/serialisation/sanitize.js +111 -167
- package/cjs/tools/serialisation/sanitize.js.map +1 -1
- package/cjs/tools/serialisation/stringify.d.ts +2 -0
- package/cjs/tools/serialisation/stringify.js +18 -0
- package/cjs/tools/serialisation/stringify.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
- package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
- package/cjs/tools/stackTrace/handlingStack.js +39 -38
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
- package/cjs/tools/taskQueue.js +40 -49
- package/cjs/tools/taskQueue.js.map +1 -1
- package/cjs/tools/timer.d.ts +2 -1
- package/cjs/tools/timer.js +14 -13
- package/cjs/tools/timer.js.map +1 -1
- package/cjs/tools/utils/arrayUtils.d.ts +1 -0
- package/cjs/tools/utils/arrayUtils.js +17 -13
- package/cjs/tools/utils/arrayUtils.js.map +1 -1
- package/cjs/tools/utils/browserDetection.d.ts +1 -0
- package/cjs/tools/utils/browserDetection.js +25 -23
- package/cjs/tools/utils/browserDetection.js.map +1 -1
- package/cjs/tools/utils/byteUtils.js +20 -28
- package/cjs/tools/utils/byteUtils.js.map +1 -1
- package/cjs/tools/utils/functionUtils.js +33 -40
- package/cjs/tools/utils/functionUtils.js.map +1 -1
- package/cjs/tools/utils/numberUtils.js +15 -14
- package/cjs/tools/utils/numberUtils.js.map +1 -1
- package/cjs/tools/utils/objectUtils.d.ts +2 -0
- package/cjs/tools/utils/objectUtils.js +27 -14
- package/cjs/tools/utils/objectUtils.js.map +1 -1
- package/cjs/tools/utils/polyfills.js +12 -16
- package/cjs/tools/utils/polyfills.js.map +1 -1
- package/cjs/tools/utils/responseUtils.js +11 -12
- package/cjs/tools/utils/responseUtils.js.map +1 -1
- package/cjs/tools/utils/stringUtils.js +56 -77
- package/cjs/tools/utils/stringUtils.js.map +1 -1
- package/cjs/tools/utils/timezone.js +9 -10
- package/cjs/tools/utils/timezone.js.map +1 -1
- package/cjs/tools/utils/urlPolyfill.js +42 -46
- package/cjs/tools/utils/urlPolyfill.js.map +1 -1
- package/cjs/tools/valueHistory.d.ts +9 -1
- package/cjs/tools/valueHistory.js +110 -99
- package/cjs/tools/valueHistory.js.map +1 -1
- package/cjs/transport/batch.js +73 -106
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.d.ts +6 -2
- package/cjs/transport/eventBridge.js +53 -38
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.d.ts +2 -12
- package/cjs/transport/flushController.js +98 -117
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.d.ts +0 -1
- package/cjs/transport/httpRequest.js +51 -85
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.d.ts +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +133 -146
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
- package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
- package/esm/boot/init.mjs +30 -0
- package/esm/boot/init.mjs.map +1 -0
- package/esm/browser/addEventListener.mjs +107 -0
- package/esm/browser/addEventListener.mjs.map +1 -0
- package/esm/browser/cookie.mjs +81 -0
- package/esm/browser/cookie.mjs.map +1 -0
- package/esm/browser/cookieAccess.mjs +111 -0
- package/esm/browser/cookieAccess.mjs.map +1 -0
- package/esm/browser/fetch.mjs +18 -0
- package/esm/browser/fetch.mjs.map +1 -0
- package/esm/browser/fetchObservable.mjs +90 -0
- package/esm/browser/fetchObservable.mjs.map +1 -0
- package/esm/browser/pageMayExitObservable.mjs +44 -0
- package/esm/browser/pageMayExitObservable.mjs.map +1 -0
- package/esm/browser/runOnReadyState.mjs +19 -0
- package/esm/browser/runOnReadyState.mjs.map +1 -0
- package/esm/browser/xhrObservable.mjs +74 -0
- package/esm/browser/xhrObservable.mjs.map +1 -0
- package/esm/domain/allowedTrackingOrigins.mjs +27 -0
- package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
- package/esm/domain/bufferedData.mjs +43 -0
- package/esm/domain/bufferedData.mjs.map +1 -0
- package/esm/domain/configuration/configuration.mjs +131 -0
- package/esm/domain/configuration/configuration.mjs.map +1 -0
- package/esm/domain/configuration/endpointBuilder.mjs +72 -0
- package/esm/domain/configuration/endpointBuilder.mjs.map +1 -0
- package/esm/domain/connectivity/connectivity.mjs +14 -0
- package/esm/domain/connectivity/connectivity.mjs.map +1 -0
- package/esm/domain/console/consoleObservable.mjs +69 -0
- package/esm/domain/console/consoleObservable.mjs.map +1 -0
- package/esm/domain/context/contextConstants.mjs +25 -0
- package/esm/domain/context/contextConstants.mjs.map +1 -0
- package/esm/domain/context/contextManager.mjs +55 -0
- package/esm/domain/context/contextManager.mjs.map +1 -0
- package/esm/domain/context/contextUtils.mjs +15 -0
- package/esm/domain/context/contextUtils.mjs.map +1 -0
- package/esm/domain/context/defineContextMethod.mjs +19 -0
- package/esm/domain/context/defineContextMethod.mjs.map +1 -0
- package/esm/domain/context/storeContextManager.mjs +36 -0
- package/esm/domain/context/storeContextManager.mjs.map +1 -0
- package/esm/domain/contexts/accountContext.mjs +29 -0
- package/esm/domain/contexts/accountContext.mjs.map +1 -0
- package/esm/domain/contexts/globalContext.mjs +20 -0
- package/esm/domain/contexts/globalContext.mjs.map +1 -0
- package/esm/domain/contexts/tabContext.mjs +27 -0
- package/esm/domain/contexts/tabContext.mjs.map +1 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
- package/esm/domain/contexts/userContext.mjs +32 -0
- package/esm/domain/contexts/userContext.mjs.map +1 -0
- package/esm/domain/deflate/deflate.types.mjs +12 -0
- package/esm/domain/deflate/deflate.types.mjs.map +1 -0
- package/esm/domain/error/error.mjs +73 -0
- package/esm/domain/error/error.mjs.map +1 -0
- package/esm/domain/error/error.types.mjs +24 -0
- package/esm/domain/error/error.types.mjs.map +1 -0
- package/esm/domain/error/trackRuntimeError.mjs +48 -0
- package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +36 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
- package/esm/domain/extension/extensionUtils.mjs +23 -0
- package/esm/domain/extension/extensionUtils.mjs.map +1 -0
- package/esm/domain/intakeSites.mjs +18 -0
- package/esm/domain/intakeSites.mjs.map +1 -0
- package/esm/domain/report/reportObservable.mjs +86 -0
- package/esm/domain/report/reportObservable.mjs.map +1 -0
- package/esm/domain/resourceUtils.mjs +21 -0
- package/esm/domain/resourceUtils.mjs.map +1 -0
- package/esm/domain/sampler.mjs +37 -0
- package/esm/domain/sampler.mjs.map +1 -0
- package/esm/domain/session/sessionConstants.mjs +18 -0
- package/esm/domain/session/sessionConstants.mjs.map +1 -0
- package/esm/domain/session/sessionManager.mjs +225 -0
- package/esm/domain/session/sessionManager.mjs.map +1 -0
- package/esm/domain/session/sessionState.mjs +76 -0
- package/esm/domain/session/sessionState.mjs.map +1 -0
- package/esm/domain/session/sessionStateValidation.mjs +9 -0
- package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
- package/esm/domain/session/sessionStore.mjs +46 -0
- package/esm/domain/session/sessionStore.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs +97 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs +33 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
- package/esm/domain/tags.mjs +28 -0
- package/esm/domain/tags.mjs.map +1 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
- package/esm/domain/telemetry/telemetry.mjs +219 -0
- package/esm/domain/telemetry/telemetry.mjs.map +1 -0
- package/esm/domain/trackingConsent.mjs +38 -0
- package/esm/domain/trackingConsent.mjs.map +1 -0
- package/esm/index.mjs +81 -0
- package/esm/tools/abstractLifeCycle.mjs +21 -0
- package/esm/tools/abstractLifeCycle.mjs.map +1 -0
- package/esm/tools/catchUserErrors.mjs +15 -0
- package/esm/tools/catchUserErrors.mjs.map +1 -0
- package/esm/tools/display.mjs +10 -0
- package/esm/tools/display.mjs.map +1 -0
- package/esm/tools/encoder.mjs +39 -0
- package/esm/tools/encoder.mjs.map +1 -0
- package/esm/tools/experimentalFeatures.mjs +35 -0
- package/esm/tools/experimentalFeatures.mjs.map +1 -0
- package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
- package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
- package/esm/tools/globalObject.mjs +7 -0
- package/esm/tools/globalObject.mjs.map +1 -0
- package/esm/tools/instrumentMethod.mjs +178 -0
- package/esm/tools/instrumentMethod.mjs.map +1 -0
- package/esm/tools/matchOption.mjs +30 -0
- package/esm/tools/matchOption.mjs.map +1 -0
- package/esm/tools/mockable.mjs +28 -0
- package/esm/tools/mockable.mjs.map +1 -0
- package/esm/tools/monitor.mjs +13 -0
- package/esm/tools/monitor.mjs.map +1 -0
- package/esm/tools/observable.mjs +77 -0
- package/esm/tools/observable.mjs.map +1 -0
- package/esm/tools/queueMicrotask.mjs +12 -0
- package/esm/tools/queueMicrotask.mjs.map +1 -0
- package/esm/tools/readBytesFromStream.mjs +21 -0
- package/esm/tools/readBytesFromStream.mjs.map +1 -0
- package/esm/tools/requestIdleCallback.mjs +28 -0
- package/esm/tools/requestIdleCallback.mjs.map +1 -0
- package/esm/tools/sendToExtension.mjs +13 -0
- package/esm/tools/sendToExtension.mjs.map +1 -0
- package/esm/tools/serialisation/jsonStringify.mjs +42 -0
- package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
- package/esm/tools/serialisation/sanitize.mjs +131 -0
- package/esm/tools/serialisation/sanitize.mjs.map +1 -0
- package/esm/tools/serialisation/stringify.mjs +17 -0
- package/esm/tools/serialisation/stringify.mjs.map +1 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
- package/esm/tools/stackTrace/handlingStack.mjs +45 -0
- package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
- package/esm/tools/taskQueue.mjs +45 -0
- package/esm/tools/taskQueue.mjs.map +1 -0
- package/esm/tools/timer.mjs +20 -0
- package/esm/tools/timer.mjs.map +1 -0
- package/esm/tools/utils/arrayUtils.mjs +21 -0
- package/esm/tools/utils/arrayUtils.mjs.map +1 -0
- package/esm/tools/utils/browserDetection.mjs +31 -0
- package/esm/tools/utils/browserDetection.mjs.map +1 -0
- package/esm/tools/utils/byteUtils.mjs +23 -0
- package/esm/tools/utils/byteUtils.mjs.map +1 -0
- package/esm/tools/utils/functionUtils.mjs +35 -0
- package/esm/tools/utils/functionUtils.mjs.map +1 -0
- package/esm/tools/utils/numberUtils.mjs +22 -0
- package/esm/tools/utils/numberUtils.mjs.map +1 -0
- package/esm/tools/utils/objectUtils.mjs +31 -0
- package/esm/tools/utils/objectUtils.mjs.map +1 -0
- package/esm/tools/utils/polyfills.mjs +17 -0
- package/esm/tools/utils/polyfills.mjs.map +1 -0
- package/esm/tools/utils/responseUtils.mjs +15 -0
- package/esm/tools/utils/responseUtils.mjs.map +1 -0
- package/esm/tools/utils/stringUtils.mjs +66 -0
- package/esm/tools/utils/stringUtils.mjs.map +1 -0
- package/esm/tools/utils/timezone.mjs +12 -0
- package/esm/tools/utils/timezone.mjs.map +1 -0
- package/esm/tools/utils/urlPolyfill.mjs +51 -0
- package/esm/tools/utils/urlPolyfill.mjs.map +1 -0
- package/esm/tools/valueHistory.mjs +114 -0
- package/esm/tools/valueHistory.mjs.map +1 -0
- package/esm/transport/batch.mjs +77 -0
- package/esm/transport/batch.mjs.map +1 -0
- package/esm/transport/eventBridge.mjs +58 -0
- package/esm/transport/eventBridge.mjs.map +1 -0
- package/esm/transport/flushController.mjs +104 -0
- package/esm/transport/flushController.mjs.map +1 -0
- package/esm/transport/httpRequest.mjs +60 -0
- package/esm/transport/httpRequest.mjs.map +1 -0
- package/esm/transport/sendWithRetryStrategy.mjs +149 -0
- package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
- package/package.json +15 -4
- package/src/boot/init.ts +2 -2
- package/src/browser/addEventListener.ts +37 -5
- package/src/browser/browser.types.ts +127 -13
- package/src/browser/cookie.ts +21 -27
- package/src/browser/cookieAccess.ts +150 -0
- package/src/browser/fetch.ts +14 -0
- package/src/browser/fetchObservable.ts +22 -22
- package/src/browser/pageMayExitObservable.ts +7 -4
- package/src/browser/runOnReadyState.ts +3 -8
- package/src/browser/xhrObservable.ts +22 -12
- package/src/domain/allowedTrackingOrigins.ts +5 -5
- package/src/domain/bufferedData.ts +41 -14
- package/src/domain/configuration/configuration.ts +87 -72
- package/src/domain/configuration/endpointBuilder.ts +82 -52
- package/src/domain/configuration/index.ts +2 -2
- package/src/domain/connectivity/connectivity.ts +3 -15
- package/src/domain/console/consoleObservable.ts +3 -3
- package/src/domain/context/contextManager.ts +1 -1
- package/src/domain/context/contextUtils.ts +1 -1
- package/src/domain/context/defineContextMethod.ts +3 -3
- package/src/domain/context/storeContextManager.ts +9 -6
- package/src/domain/contexts/accountContext.ts +5 -5
- package/src/domain/contexts/globalContext.ts +4 -5
- package/src/domain/contexts/tabContext.ts +43 -0
- package/src/domain/contexts/telemetrySessionContext.ts +26 -0
- package/src/domain/contexts/userContext.ts +7 -11
- package/src/domain/error/error.ts +53 -23
- package/src/domain/error/error.types.ts +1 -1
- package/src/domain/error/trackRuntimeError.ts +11 -4
- package/src/domain/eventRateLimiter/createEventRateLimiter.ts +1 -1
- package/src/domain/intakeSites.ts +8 -3
- package/src/domain/report/reportObservable.ts +11 -7
- package/src/domain/sampler.ts +64 -0
- package/src/domain/session/sessionConstants.ts +2 -1
- package/src/domain/session/sessionManager.ts +281 -176
- package/src/domain/session/sessionState.ts +64 -8
- package/src/domain/session/sessionStore.ts +57 -223
- package/src/domain/session/storeStrategies/sessionInCookie.ts +121 -107
- package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
- package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
- package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
- package/src/domain/synthetics/syntheticsWorkerValues.ts +44 -13
- package/src/domain/tags.ts +0 -16
- package/src/domain/telemetry/telemetry.ts +38 -34
- package/src/domain/telemetry/telemetryEvent.types.ts +116 -20
- package/src/domain/trackingConsent.ts +18 -3
- package/src/index.ts +51 -31
- package/src/tools/display.ts +2 -50
- package/src/tools/experimentalFeatures.ts +1 -4
- package/src/tools/getZoneJsOriginalValue.ts +3 -3
- package/src/tools/globalObject.ts +27 -41
- package/src/tools/instrumentMethod.ts +230 -20
- package/src/tools/matchOption.ts +3 -1
- package/src/tools/mockable.ts +32 -0
- package/src/tools/monitor.ts +14 -62
- package/src/tools/observable.ts +9 -1
- package/src/tools/queueMicrotask.ts +6 -1
- package/src/tools/readBytesFromStream.ts +3 -12
- package/src/tools/requestIdleCallback.ts +1 -1
- package/src/tools/serialisation/sanitize.ts +67 -65
- package/src/tools/serialisation/stringify.ts +18 -0
- package/src/tools/stackTrace/computeStackTrace.ts +15 -13
- package/src/tools/stackTrace/handlingStack.ts +14 -1
- package/src/tools/taskQueue.ts +5 -3
- package/src/tools/timer.ts +7 -6
- package/src/tools/utils/arrayUtils.ts +7 -0
- package/src/tools/utils/browserDetection.ts +8 -0
- package/src/tools/utils/byteUtils.ts +1 -5
- package/src/tools/utils/functionUtils.ts +2 -2
- package/src/tools/utils/objectUtils.ts +20 -0
- package/src/tools/utils/stringUtils.ts +4 -1
- package/src/tools/utils/urlPolyfill.ts +5 -4
- package/src/tools/valueHistory.ts +39 -6
- package/src/transport/batch.ts +9 -18
- package/src/transport/eventBridge.ts +23 -10
- package/src/transport/flushController.ts +17 -24
- package/src/transport/httpRequest.ts +4 -36
- package/src/transport/index.ts +1 -0
- package/src/transport/sendWithRetryStrategy.ts +1 -1
- package/cjs/browser/browser.types.js +0 -6
- package/cjs/browser/browser.types.js.map +0 -1
- package/cjs/domain/configuration/index.js +0 -16
- package/cjs/domain/configuration/index.js.map +0 -1
- package/cjs/domain/configuration/transportConfiguration.d.ts +0 -20
- package/cjs/domain/configuration/transportConfiguration.js +0 -54
- package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
- package/cjs/domain/connectivity/index.js +0 -18
- package/cjs/domain/connectivity/index.js.map +0 -1
- package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
- package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/cjs/domain/deflate/index.js +0 -18
- package/cjs/domain/deflate/index.js.map +0 -1
- package/cjs/domain/report/browser.types.js +0 -3
- package/cjs/domain/report/browser.types.js.map +0 -1
- package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
- package/cjs/domain/session/oldCookiesMigration.js +0 -40
- package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
- package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
- package/cjs/domain/session/sessionStoreOperations.js +0 -119
- package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
- package/cjs/domain/telemetry/index.js +0 -28
- package/cjs/domain/telemetry/index.js.map +0 -1
- package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/tools/abstractHooks.d.ts +0 -24
- package/cjs/tools/abstractHooks.js +0 -41
- package/cjs/tools/abstractHooks.js.map +0 -1
- package/cjs/tools/boundedBuffer.d.ts +0 -16
- package/cjs/tools/boundedBuffer.js +0 -32
- package/cjs/tools/boundedBuffer.js.map +0 -1
- package/cjs/tools/mergeInto.d.ts +0 -25
- package/cjs/tools/mergeInto.js +0 -98
- package/cjs/tools/mergeInto.js.map +0 -1
- package/cjs/tools/serialisation/context.js +0 -3
- package/cjs/tools/serialisation/context.js.map +0 -1
- package/cjs/tools/utils/timeUtils.d.ts +0 -53
- package/cjs/tools/utils/timeUtils.js +0 -101
- package/cjs/tools/utils/timeUtils.js.map +0 -1
- package/cjs/tools/utils/typeUtils.d.ts +0 -4
- package/cjs/tools/utils/typeUtils.js +0 -16
- package/cjs/tools/utils/typeUtils.js.map +0 -1
- package/cjs/transport/index.js +0 -15
- package/cjs/transport/index.js.map +0 -1
- package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
- package/esm/boot/displayAlreadyInitializedError.js +0 -7
- package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
- package/esm/boot/init.d.ts +0 -14
- package/esm/boot/init.js +0 -35
- package/esm/boot/init.js.map +0 -1
- package/esm/browser/addEventListener.d.ts +0 -87
- package/esm/browser/addEventListener.js +0 -51
- package/esm/browser/addEventListener.js.map +0 -1
- package/esm/browser/browser.types.d.ts +0 -51
- package/esm/browser/browser.types.js +0 -5
- package/esm/browser/browser.types.js.map +0 -1
- package/esm/browser/cookie.d.ts +0 -28
- package/esm/browser/cookie.js +0 -103
- package/esm/browser/cookie.js.map +0 -1
- package/esm/browser/fetchObservable.d.ts +0 -38
- package/esm/browser/fetchObservable.js +0 -99
- package/esm/browser/fetchObservable.js.map +0 -1
- package/esm/browser/pageMayExitObservable.d.ts +0 -14
- package/esm/browser/pageMayExitObservable.js +0 -40
- package/esm/browser/pageMayExitObservable.js.map +0 -1
- package/esm/browser/runOnReadyState.d.ts +0 -5
- package/esm/browser/runOnReadyState.js +0 -16
- package/esm/browser/runOnReadyState.js.map +0 -1
- package/esm/browser/xhrObservable.d.ts +0 -24
- package/esm/browser/xhrObservable.js +0 -83
- package/esm/browser/xhrObservable.js.map +0 -1
- package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
- package/esm/domain/allowedTrackingOrigins.js +0 -21
- package/esm/domain/allowedTrackingOrigins.js.map +0 -1
- package/esm/domain/bufferedData.d.ts +0 -14
- package/esm/domain/bufferedData.js +0 -19
- package/esm/domain/bufferedData.js.map +0 -1
- package/esm/domain/configuration/configuration.d.ts +0 -312
- package/esm/domain/configuration/configuration.js +0 -132
- package/esm/domain/configuration/configuration.js.map +0 -1
- package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
- package/esm/domain/configuration/endpointBuilder.js +0 -77
- package/esm/domain/configuration/endpointBuilder.js.map +0 -1
- package/esm/domain/configuration/index.d.ts +0 -5
- package/esm/domain/configuration/index.js +0 -4
- package/esm/domain/configuration/index.js.map +0 -1
- package/esm/domain/configuration/transportConfiguration.d.ts +0 -20
- package/esm/domain/configuration/transportConfiguration.js +0 -50
- package/esm/domain/configuration/transportConfiguration.js.map +0 -1
- package/esm/domain/connectivity/connectivity.d.ts +0 -14
- package/esm/domain/connectivity/connectivity.js +0 -11
- package/esm/domain/connectivity/connectivity.js.map +0 -1
- package/esm/domain/connectivity/index.d.ts +0 -1
- package/esm/domain/connectivity/index.js +0 -2
- package/esm/domain/connectivity/index.js.map +0 -1
- package/esm/domain/console/consoleObservable.d.ts +0 -21
- package/esm/domain/console/consoleObservable.js +0 -80
- package/esm/domain/console/consoleObservable.js.map +0 -1
- package/esm/domain/context/contextConstants.d.ts +0 -21
- package/esm/domain/context/contextConstants.js +0 -15
- package/esm/domain/context/contextConstants.js.map +0 -1
- package/esm/domain/context/contextManager.d.ts +0 -19
- package/esm/domain/context/contextManager.js +0 -57
- package/esm/domain/context/contextManager.js.map +0 -1
- package/esm/domain/context/contextUtils.d.ts +0 -5
- package/esm/domain/context/contextUtils.js +0 -13
- package/esm/domain/context/contextUtils.js.map +0 -1
- package/esm/domain/context/defineContextMethod.d.ts +0 -6
- package/esm/domain/context/defineContextMethod.js +0 -17
- package/esm/domain/context/defineContextMethod.js.map +0 -1
- package/esm/domain/context/storeContextManager.d.ts +0 -6
- package/esm/domain/context/storeContextManager.js +0 -35
- package/esm/domain/context/storeContextManager.js.map +0 -1
- package/esm/domain/contexts/accountContext.d.ts +0 -26
- package/esm/domain/contexts/accountContext.js +0 -29
- package/esm/domain/contexts/accountContext.js.map +0 -1
- package/esm/domain/contexts/globalContext.d.ts +0 -18
- package/esm/domain/contexts/globalContext.js +0 -17
- package/esm/domain/contexts/globalContext.js.map +0 -1
- package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
- package/esm/domain/contexts/rumInternalContext.type.js +0 -2
- package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/esm/domain/contexts/userContext.d.ts +0 -29
- package/esm/domain/contexts/userContext.js +0 -41
- package/esm/domain/contexts/userContext.js.map +0 -1
- package/esm/domain/deflate/deflate.types.d.ts +0 -40
- package/esm/domain/deflate/deflate.types.js +0 -2
- package/esm/domain/deflate/deflate.types.js.map +0 -1
- package/esm/domain/deflate/index.d.ts +0 -1
- package/esm/domain/deflate/index.js +0 -2
- package/esm/domain/deflate/index.js.map +0 -1
- package/esm/domain/error/error.d.ts +0 -23
- package/esm/domain/error/error.js +0 -65
- package/esm/domain/error/error.js.map +0 -1
- package/esm/domain/error/error.types.d.ts +0 -47
- package/esm/domain/error/error.types.js +0 -10
- package/esm/domain/error/error.types.js.map +0 -1
- package/esm/domain/error/trackRuntimeError.d.ts +0 -11
- package/esm/domain/error/trackRuntimeError.js +0 -43
- package/esm/domain/error/trackRuntimeError.js.map +0 -1
- package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
- package/esm/domain/extension/extensionUtils.d.ts +0 -10
- package/esm/domain/extension/extensionUtils.js +0 -25
- package/esm/domain/extension/extensionUtils.js.map +0 -1
- package/esm/domain/intakeSites.d.ts +0 -8
- package/esm/domain/intakeSites.js +0 -8
- package/esm/domain/intakeSites.js.map +0 -1
- package/esm/domain/report/browser.types.d.ts +0 -34
- package/esm/domain/report/browser.types.js +0 -2
- package/esm/domain/report/browser.types.js.map +0 -1
- package/esm/domain/report/reportObservable.d.ts +0 -14
- package/esm/domain/report/reportObservable.js +0 -95
- package/esm/domain/report/reportObservable.js.map +0 -1
- package/esm/domain/resourceUtils.d.ts +0 -18
- package/esm/domain/resourceUtils.js +0 -17
- package/esm/domain/resourceUtils.js.map +0 -1
- package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
- package/esm/domain/session/oldCookiesMigration.js +0 -36
- package/esm/domain/session/oldCookiesMigration.js.map +0 -1
- package/esm/domain/session/sessionConstants.d.ts +0 -15
- package/esm/domain/session/sessionConstants.js +0 -13
- package/esm/domain/session/sessionConstants.js.map +0 -1
- package/esm/domain/session/sessionManager.d.ts +0 -28
- package/esm/domain/session/sessionManager.js +0 -196
- package/esm/domain/session/sessionManager.js.map +0 -1
- package/esm/domain/session/sessionState.d.ts +0 -16
- package/esm/domain/session/sessionState.js +0 -60
- package/esm/domain/session/sessionState.js.map +0 -1
- package/esm/domain/session/sessionStateValidation.d.ts +0 -3
- package/esm/domain/session/sessionStateValidation.js +0 -7
- package/esm/domain/session/sessionStateValidation.js.map +0 -1
- package/esm/domain/session/sessionStore.d.ts +0 -38
- package/esm/domain/session/sessionStore.js +0 -179
- package/esm/domain/session/sessionStore.js.map +0 -1
- package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
- package/esm/domain/session/sessionStoreOperations.js +0 -114
- package/esm/domain/session/sessionStoreOperations.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
- package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
- package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
- package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
- package/esm/domain/tags.d.ts +0 -6
- package/esm/domain/tags.js +0 -60
- package/esm/domain/tags.js.map +0 -1
- package/esm/domain/telemetry/index.d.ts +0 -4
- package/esm/domain/telemetry/index.js +0 -3
- package/esm/domain/telemetry/index.js.map +0 -1
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
- package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
- package/esm/domain/telemetry/telemetry.d.ts +0 -56
- package/esm/domain/telemetry/telemetry.js +0 -228
- package/esm/domain/telemetry/telemetry.js.map +0 -1
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
- package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/esm/domain/trackingConsent.d.ts +0 -13
- package/esm/domain/trackingConsent.js +0 -24
- package/esm/domain/trackingConsent.js.map +0 -1
- package/esm/index.d.ts +0 -100
- package/esm/index.js +0 -76
- package/esm/index.js.map +0 -1
- package/esm/tools/abstractHooks.d.ts +0 -24
- package/esm/tools/abstractHooks.js +0 -37
- package/esm/tools/abstractHooks.js.map +0 -1
- package/esm/tools/abstractLifeCycle.d.ts +0 -23
- package/esm/tools/abstractLifeCycle.js +0 -24
- package/esm/tools/abstractLifeCycle.js.map +0 -1
- package/esm/tools/boundedBuffer.d.ts +0 -16
- package/esm/tools/boundedBuffer.js +0 -29
- package/esm/tools/boundedBuffer.js.map +0 -1
- package/esm/tools/catchUserErrors.d.ts +0 -1
- package/esm/tools/catchUserErrors.js +0 -12
- package/esm/tools/catchUserErrors.js.map +0 -1
- package/esm/tools/display.d.ts +0 -38
- package/esm/tools/display.js +0 -41
- package/esm/tools/display.js.map +0 -1
- package/esm/tools/encoder.d.ts +0 -54
- package/esm/tools/encoder.js +0 -37
- package/esm/tools/encoder.js.map +0 -1
- package/esm/tools/experimentalFeatures.d.ts +0 -21
- package/esm/tools/experimentalFeatures.js +0 -42
- package/esm/tools/experimentalFeatures.js.map +0 -1
- package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
- package/esm/tools/getZoneJsOriginalValue.js +0 -26
- package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
- package/esm/tools/globalObject.d.ts +0 -19
- package/esm/tools/globalObject.js +0 -40
- package/esm/tools/globalObject.js.map +0 -1
- package/esm/tools/instrumentMethod.d.ts +0 -75
- package/esm/tools/instrumentMethod.js +0 -114
- package/esm/tools/instrumentMethod.js.map +0 -1
- package/esm/tools/matchOption.d.ts +0 -8
- package/esm/tools/matchOption.js +0 -31
- package/esm/tools/matchOption.js.map +0 -1
- package/esm/tools/mergeInto.d.ts +0 -25
- package/esm/tools/mergeInto.js +0 -93
- package/esm/tools/mergeInto.js.map +0 -1
- package/esm/tools/monitor.d.ts +0 -9
- package/esm/tools/monitor.js +0 -52
- package/esm/tools/monitor.js.map +0 -1
- package/esm/tools/observable.d.ts +0 -30
- package/esm/tools/observable.js +0 -83
- package/esm/tools/observable.js.map +0 -1
- package/esm/tools/queueMicrotask.d.ts +0 -1
- package/esm/tools/queueMicrotask.js +0 -14
- package/esm/tools/queueMicrotask.js.map +0 -1
- package/esm/tools/readBytesFromStream.d.ts +0 -10
- package/esm/tools/readBytesFromStream.js +0 -25
- package/esm/tools/readBytesFromStream.js.map +0 -1
- package/esm/tools/requestIdleCallback.d.ts +0 -12
- package/esm/tools/requestIdleCallback.js +0 -30
- package/esm/tools/requestIdleCallback.js.map +0 -1
- package/esm/tools/sendToExtension.d.ts +0 -3
- package/esm/tools/sendToExtension.js +0 -8
- package/esm/tools/sendToExtension.js.map +0 -1
- package/esm/tools/serialisation/context.d.ts +0 -9
- package/esm/tools/serialisation/context.js +0 -2
- package/esm/tools/serialisation/context.js.map +0 -1
- package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
- package/esm/tools/serialisation/jsonStringify.js +0 -44
- package/esm/tools/serialisation/jsonStringify.js.map +0 -1
- package/esm/tools/serialisation/sanitize.d.ts +0 -18
- package/esm/tools/serialisation/sanitize.js +0 -185
- package/esm/tools/serialisation/sanitize.js.map +0 -1
- package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
- package/esm/tools/stackTrace/computeStackTrace.js +0 -183
- package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
- package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
- package/esm/tools/stackTrace/handlingStack.js +0 -41
- package/esm/tools/stackTrace/handlingStack.js.map +0 -1
- package/esm/tools/taskQueue.d.ts +0 -15
- package/esm/tools/taskQueue.js +0 -50
- package/esm/tools/taskQueue.js.map +0 -1
- package/esm/tools/timer.d.ts +0 -5
- package/esm/tools/timer.js +0 -16
- package/esm/tools/timer.js.map +0 -1
- package/esm/tools/utils/arrayUtils.d.ts +0 -3
- package/esm/tools/utils/arrayUtils.js +0 -15
- package/esm/tools/utils/arrayUtils.js.map +0 -1
- package/esm/tools/utils/browserDetection.d.ts +0 -8
- package/esm/tools/utils/browserDetection.js +0 -28
- package/esm/tools/utils/browserDetection.js.map +0 -1
- package/esm/tools/utils/byteUtils.d.ts +0 -8
- package/esm/tools/utils/byteUtils.js +0 -29
- package/esm/tools/utils/byteUtils.js.map +0 -1
- package/esm/tools/utils/functionUtils.d.ts +0 -8
- package/esm/tools/utils/functionUtils.js +0 -39
- package/esm/tools/utils/functionUtils.js.map +0 -1
- package/esm/tools/utils/numberUtils.d.ts +0 -9
- package/esm/tools/utils/numberUtils.js +0 -18
- package/esm/tools/utils/numberUtils.js.map +0 -1
- package/esm/tools/utils/objectUtils.d.ts +0 -10
- package/esm/tools/utils/objectUtils.js +0 -17
- package/esm/tools/utils/objectUtils.js.map +0 -1
- package/esm/tools/utils/polyfills.d.ts +0 -7
- package/esm/tools/utils/polyfills.js +0 -18
- package/esm/tools/utils/polyfills.js.map +0 -1
- package/esm/tools/utils/responseUtils.d.ts +0 -2
- package/esm/tools/utils/responseUtils.js +0 -13
- package/esm/tools/utils/responseUtils.js.map +0 -1
- package/esm/tools/utils/stringUtils.d.ts +0 -23
- package/esm/tools/utils/stringUtils.js +0 -84
- package/esm/tools/utils/stringUtils.js.map +0 -1
- package/esm/tools/utils/timeUtils.d.ts +0 -53
- package/esm/tools/utils/timeUtils.js +0 -84
- package/esm/tools/utils/timeUtils.js.map +0 -1
- package/esm/tools/utils/timezone.d.ts +0 -1
- package/esm/tools/utils/timezone.js +0 -10
- package/esm/tools/utils/timezone.js.map +0 -1
- package/esm/tools/utils/typeUtils.d.ts +0 -4
- package/esm/tools/utils/typeUtils.js +0 -13
- package/esm/tools/utils/typeUtils.js.map +0 -1
- package/esm/tools/utils/urlPolyfill.d.ts +0 -5
- package/esm/tools/utils/urlPolyfill.js +0 -52
- package/esm/tools/utils/urlPolyfill.js.map +0 -1
- package/esm/tools/valueHistory.d.ts +0 -27
- package/esm/tools/valueHistory.js +0 -100
- package/esm/tools/valueHistory.js.map +0 -1
- package/esm/transport/batch.d.ts +0 -16
- package/esm/transport/batch.js +0 -106
- package/esm/transport/batch.js.map +0 -1
- package/esm/transport/eventBridge.d.ts +0 -21
- package/esm/transport/eventBridge.js +0 -41
- package/esm/transport/eventBridge.js.map +0 -1
- package/esm/transport/flushController.d.ts +0 -65
- package/esm/transport/flushController.js +0 -119
- package/esm/transport/flushController.js.map +0 -1
- package/esm/transport/httpRequest.d.ts +0 -56
- package/esm/transport/httpRequest.js +0 -89
- package/esm/transport/httpRequest.js.map +0 -1
- package/esm/transport/index.d.ts +0 -7
- package/esm/transport/index.js +0 -5
- package/esm/transport/index.js.map +0 -1
- package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
- package/esm/transport/sendWithRetryStrategy.js +0 -158
- package/esm/transport/sendWithRetryStrategy.js.map +0 -1
- package/src/boot/displayAlreadyInitializedError.spec.ts +0 -18
- package/src/boot/init.spec.ts +0 -50
- package/src/browser/addEventListener.spec.ts +0 -141
- package/src/browser/cookie.spec.ts +0 -53
- package/src/browser/fetchObservable.spec.ts +0 -334
- package/src/browser/pageMayExitObservable.spec.ts +0 -56
- package/src/browser/xhrObservable.spec.ts +0 -405
- package/src/domain/allowedTrackingOrigins.spec.ts +0 -210
- package/src/domain/bufferedData.spec.ts +0 -34
- package/src/domain/configuration/configuration.spec.ts +0 -236
- package/src/domain/configuration/endpointBuilder.spec.ts +0 -173
- package/src/domain/configuration/transportConfiguration.spec.ts +0 -130
- package/src/domain/configuration/transportConfiguration.ts +0 -78
- package/src/domain/connectivity/connectivity.spec.ts +0 -50
- package/src/domain/console/consoleObservable.spec.ts +0 -151
- package/src/domain/context/contextManager.spec.ts +0 -152
- package/src/domain/context/contextUtils.spec.ts +0 -26
- package/src/domain/context/storeContextManager.spec.ts +0 -103
- package/src/domain/contexts/accountContext.spec.ts +0 -99
- package/src/domain/contexts/globalContext.spec.ts +0 -88
- package/src/domain/contexts/userContext.spec.ts +0 -156
- package/src/domain/error/error.spec.ts +0 -294
- package/src/domain/error/trackRuntimeError.spec.ts +0 -343
- package/src/domain/eventRateLimiter/createEventRateLimiter.spec.ts +0 -119
- package/src/domain/extension/extensionUtils.spec.ts +0 -47
- package/src/domain/report/reportObservable.spec.ts +0 -71
- package/src/domain/session/oldCookiesMigration.spec.ts +0 -76
- package/src/domain/session/oldCookiesMigration.ts +0 -42
- package/src/domain/session/sessionManager.spec.ts +0 -684
- package/src/domain/session/sessionState.spec.ts +0 -88
- package/src/domain/session/sessionStore.spec.ts +0 -647
- package/src/domain/session/sessionStoreOperations.spec.ts +0 -234
- package/src/domain/session/sessionStoreOperations.ts +0 -131
- package/src/domain/session/storeStrategies/sessionInCookie.spec.ts +0 -228
- package/src/domain/session/storeStrategies/sessionInLocalStorage.spec.ts +0 -75
- package/src/domain/synthetics/syntheticsWorkerValues.spec.ts +0 -82
- package/src/domain/tags.spec.ts +0 -74
- package/src/domain/telemetry/telemetry.spec.ts +0 -494
- package/src/domain/trackingConsent.spec.ts +0 -44
- package/src/tools/abstractHooks.spec.ts +0 -76
- package/src/tools/abstractHooks.ts +0 -72
- package/src/tools/abstractLifeCycle.spec.ts +0 -46
- package/src/tools/boundedBuffer.spec.ts +0 -40
- package/src/tools/boundedBuffer.ts +0 -45
- package/src/tools/catchUserErrors.spec.ts +0 -20
- package/src/tools/encoder.spec.ts +0 -112
- package/src/tools/experimentalFeatures.spec.ts +0 -60
- package/src/tools/getZoneJsOriginalValue.spec.ts +0 -36
- package/src/tools/instrumentMethod.spec.ts +0 -381
- package/src/tools/matchOption.spec.ts +0 -41
- package/src/tools/mergeInto.spec.ts +0 -198
- package/src/tools/mergeInto.ts +0 -177
- package/src/tools/monitor.spec.ts +0 -172
- package/src/tools/observable.spec.ts +0 -259
- package/src/tools/queueMicrotask.spec.ts +0 -24
- package/src/tools/readBytesFromStream.spec.ts +0 -62
- package/src/tools/requestIdleCallback.spec.ts +0 -65
- package/src/tools/serialisation/jsonStringify.spec.ts +0 -76
- package/src/tools/serialisation/sanitize.spec.ts +0 -284
- package/src/tools/stackTrace/capturedExceptions.specHelper.ts +0 -316
- package/src/tools/stackTrace/computeStackTrace.spec.ts +0 -1007
- package/src/tools/stackTrace/handlingStack.spec.ts +0 -20
- package/src/tools/taskQueue.spec.ts +0 -60
- package/src/tools/timer.spec.ts +0 -76
- package/src/tools/utils/browserDetection.spec.ts +0 -120
- package/src/tools/utils/byteUtils.spec.ts +0 -29
- package/src/tools/utils/functionUtils.spec.ts +0 -229
- package/src/tools/utils/numberUtils.spec.ts +0 -27
- package/src/tools/utils/stringUtils.spec.ts +0 -74
- package/src/tools/utils/timeUtils.ts +0 -117
- package/src/tools/utils/typeUtils.spec.ts +0 -25
- package/src/tools/utils/typeUtils.ts +0 -12
- package/src/tools/utils/urlPolyfill.spec.ts +0 -55
- package/src/tools/valueHistory.spec.ts +0 -180
- package/src/transport/batch.spec.ts +0 -261
- package/src/transport/eventBridge.spec.ts +0 -90
- package/src/transport/flushController.spec.ts +0 -267
- package/src/transport/httpRequest.spec.ts +0 -400
- package/src/transport/sendWithRetryStrategy.spec.ts +0 -393
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.catchUserErrors = catchUserErrors;
|
|
4
|
-
const display_1 = require("./display");
|
|
1
|
+
const require_display = require("./display.js");
|
|
2
|
+
//#region src/tools/catchUserErrors.ts
|
|
5
3
|
function catchUserErrors(fn, errorMsg) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
4
|
+
return (...args) => {
|
|
5
|
+
try {
|
|
6
|
+
return fn(...args);
|
|
7
|
+
} catch (err) {
|
|
8
|
+
require_display.display.error(errorMsg, err);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
14
11
|
}
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.catchUserErrors = catchUserErrors;
|
|
14
|
+
|
|
15
15
|
//# sourceMappingURL=catchUserErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catchUserErrors.js","
|
|
1
|
+
{"version":3,"file":"catchUserErrors.js","names":[],"sources":["../../src/tools/catchUserErrors.ts"],"sourcesContent":["import { display } from './display'\n\nexport function catchUserErrors<Args extends any[], R>(fn: (...args: Args) => R, errorMsg: string) {\n return (...args: Args) => {\n try {\n return fn(...args)\n } catch (err) {\n display.error(errorMsg, err)\n }\n }\n}\n"],"mappings":";;AAEA,SAAgB,gBAAuC,IAA0B,UAAkB;CACjG,QAAQ,GAAG,SAAe;EACxB,IAAI;GACF,OAAO,GAAG,GAAG,IAAI;EACnB,SAAS,KAAK;GACZ,gBAAA,QAAQ,MAAM,UAAU,GAAG;EAC7B;CACF;AACF"}
|
package/cjs/tools/display.d.ts
CHANGED
|
@@ -1,38 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Keep references on console methods to avoid triggering patched behaviors
|
|
3
|
-
*
|
|
4
|
-
* NB: in some setup, console could already be patched by another SDK.
|
|
5
|
-
* In this case, some display messages can be sent by the other SDK
|
|
6
|
-
* but we should be safe from infinite loop nonetheless.
|
|
7
|
-
*/
|
|
8
|
-
export declare const ConsoleApiName: {
|
|
9
|
-
readonly log: "log";
|
|
10
|
-
readonly debug: "debug";
|
|
11
|
-
readonly info: "info";
|
|
12
|
-
readonly warn: "warn";
|
|
13
|
-
readonly error: "error";
|
|
14
|
-
};
|
|
15
|
-
export type ConsoleApiName = (typeof ConsoleApiName)[keyof typeof ConsoleApiName];
|
|
16
|
-
interface Display {
|
|
17
|
-
debug: typeof console.debug;
|
|
18
|
-
log: typeof console.log;
|
|
19
|
-
info: typeof console.info;
|
|
20
|
-
warn: typeof console.warn;
|
|
21
|
-
error: typeof console.error;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* When building JS bundles, some users might use a plugin[1] or configuration[2] to remove
|
|
25
|
-
* "console.*" references. This causes some issue as we expect `console.*` to be defined.
|
|
26
|
-
* As a workaround, let's use a variable alias, so those expressions won't be taken into account by
|
|
27
|
-
* simple static analysis.
|
|
28
|
-
*
|
|
29
|
-
* [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/
|
|
30
|
-
* [2]: https://github.com/terser/terser#compress-options (look for drop_console)
|
|
31
|
-
*/
|
|
32
|
-
export declare const globalConsole: Console;
|
|
33
|
-
export declare const originalConsoleMethods: Display;
|
|
34
|
-
export declare const display: Display;
|
|
1
|
+
export declare const display: import("@openobserve/js-core/util").Display;
|
|
35
2
|
export declare const DOCS_ORIGIN = "https://openobserve.ai";
|
|
36
3
|
export declare const DOCS_TROUBLESHOOTING = "https://openobserve.ai/docs/user-guide/rum/";
|
|
37
4
|
export declare const MORE_DETAILS = "More details:";
|
|
38
|
-
export {};
|
package/cjs/tools/display.js
CHANGED
|
@@ -1,44 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
exports.ConsoleApiName = {
|
|
13
|
-
log: 'log',
|
|
14
|
-
debug: 'debug',
|
|
15
|
-
info: 'info',
|
|
16
|
-
warn: 'warn',
|
|
17
|
-
error: 'error',
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* When building JS bundles, some users might use a plugin[1] or configuration[2] to remove
|
|
21
|
-
* "console.*" references. This causes some issue as we expect `console.*` to be defined.
|
|
22
|
-
* As a workaround, let's use a variable alias, so those expressions won't be taken into account by
|
|
23
|
-
* simple static analysis.
|
|
24
|
-
*
|
|
25
|
-
* [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/
|
|
26
|
-
* [2]: https://github.com/terser/terser#compress-options (look for drop_console)
|
|
27
|
-
*/
|
|
28
|
-
exports.globalConsole = console;
|
|
29
|
-
exports.originalConsoleMethods = {};
|
|
30
|
-
Object.keys(exports.ConsoleApiName).forEach((name) => {
|
|
31
|
-
exports.originalConsoleMethods[name] = exports.globalConsole[name];
|
|
32
|
-
});
|
|
33
|
-
const PREFIX = 'Openobserve Browser SDK:';
|
|
34
|
-
exports.display = {
|
|
35
|
-
debug: exports.originalConsoleMethods.debug.bind(exports.globalConsole, PREFIX),
|
|
36
|
-
log: exports.originalConsoleMethods.log.bind(exports.globalConsole, PREFIX),
|
|
37
|
-
info: exports.originalConsoleMethods.info.bind(exports.globalConsole, PREFIX),
|
|
38
|
-
warn: exports.originalConsoleMethods.warn.bind(exports.globalConsole, PREFIX),
|
|
39
|
-
error: exports.originalConsoleMethods.error.bind(exports.globalConsole, PREFIX),
|
|
40
|
-
};
|
|
41
|
-
exports.DOCS_ORIGIN = 'https://openobserve.ai';
|
|
42
|
-
exports.DOCS_TROUBLESHOOTING = `${exports.DOCS_ORIGIN}/docs/user-guide/rum/`;
|
|
43
|
-
exports.MORE_DETAILS = 'More details:';
|
|
1
|
+
//#region src/tools/display.ts
|
|
2
|
+
const display = (0, require("@openobserve/js-core/util").createDisplay)("OpenObserve Browser SDK:");
|
|
3
|
+
const DOCS_ORIGIN = "https://openobserve.ai";
|
|
4
|
+
const DOCS_TROUBLESHOOTING = `${DOCS_ORIGIN}/docs/user-guide/rum/`;
|
|
5
|
+
const MORE_DETAILS = "More details:";
|
|
6
|
+
//#endregion
|
|
7
|
+
exports.DOCS_ORIGIN = DOCS_ORIGIN;
|
|
8
|
+
exports.DOCS_TROUBLESHOOTING = DOCS_TROUBLESHOOTING;
|
|
9
|
+
exports.MORE_DETAILS = MORE_DETAILS;
|
|
10
|
+
exports.display = display;
|
|
11
|
+
|
|
44
12
|
//# sourceMappingURL=display.js.map
|
package/cjs/tools/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","
|
|
1
|
+
{"version":3,"file":"display.js","names":[],"sources":["../../src/tools/display.ts"],"sourcesContent":["/* eslint-disable local-rules/disallow-side-effects */\nimport { createDisplay } from '@openobserve/js-core/util'\n\nexport const display = createDisplay('OpenObserve Browser SDK:')\n\nexport const DOCS_ORIGIN = 'https://openobserve.ai'\nexport const DOCS_TROUBLESHOOTING = `${DOCS_ORIGIN}/docs/user-guide/rum/`\nexport const MORE_DETAILS = 'More details:'\n"],"mappings":";AAGA,MAAa,WAAA,sCAAA,CAAA,CAAA,cAAA,CAAwB,0BAA0B;AAE/D,MAAa,cAAc;AAC3B,MAAa,uBAAuB,GAAG,YAAY;AACnD,MAAa,eAAe"}
|
package/cjs/tools/encoder.js
CHANGED
|
@@ -1,40 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.createIdentityEncoder = createIdentityEncoder;
|
|
4
|
-
const byteUtils_1 = require("./utils/byteUtils");
|
|
1
|
+
const require_byteUtils = require("./utils/byteUtils.js");
|
|
2
|
+
//#region src/tools/encoder.ts
|
|
5
3
|
function createIdentityEncoder() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
};
|
|
4
|
+
let output = "";
|
|
5
|
+
let outputBytesCount = 0;
|
|
6
|
+
return {
|
|
7
|
+
isAsync: false,
|
|
8
|
+
get isEmpty() {
|
|
9
|
+
return !output;
|
|
10
|
+
},
|
|
11
|
+
write(data, callback) {
|
|
12
|
+
const additionalEncodedBytesCount = require_byteUtils.computeBytesCount(data);
|
|
13
|
+
outputBytesCount += additionalEncodedBytesCount;
|
|
14
|
+
output += data;
|
|
15
|
+
if (callback) callback(additionalEncodedBytesCount);
|
|
16
|
+
},
|
|
17
|
+
finish(callback) {
|
|
18
|
+
callback(this.finishSync());
|
|
19
|
+
},
|
|
20
|
+
finishSync() {
|
|
21
|
+
const result = {
|
|
22
|
+
output,
|
|
23
|
+
outputBytesCount,
|
|
24
|
+
rawBytesCount: outputBytesCount,
|
|
25
|
+
pendingData: ""
|
|
26
|
+
};
|
|
27
|
+
output = "";
|
|
28
|
+
outputBytesCount = 0;
|
|
29
|
+
return result;
|
|
30
|
+
},
|
|
31
|
+
estimateEncodedBytesCount(data) {
|
|
32
|
+
return data.length;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
39
35
|
}
|
|
36
|
+
//#endregion
|
|
37
|
+
exports.createIdentityEncoder = createIdentityEncoder;
|
|
38
|
+
|
|
40
39
|
//# sourceMappingURL=encoder.js.map
|
package/cjs/tools/encoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","
|
|
1
|
+
{"version":3,"file":"encoder.js","names":["computeBytesCount"],"sources":["../../src/tools/encoder.ts"],"sourcesContent":["import type { Uint8ArrayBuffer } from './utils/byteUtils'\nimport { computeBytesCount } from './utils/byteUtils'\n\nexport interface Encoder<Output extends string | Uint8ArrayBuffer = string | Uint8ArrayBuffer> {\n /**\n * Whether this encoder might call the provided callbacks asynchronously\n */\n isAsync: boolean\n\n /**\n * Whether some data has been written since the last finish() or finishSync() call\n */\n isEmpty: boolean\n\n /**\n * Write a string to be encoded.\n *\n * This operation can be synchronous or asynchronous depending on the encoder implementation.\n *\n * If specified, the callback will be invoked when the operation finishes, unless the operation is\n * asynchronous and finish() or finishSync() is called in the meantime.\n */\n write(data: string, callback?: (additionalEncodedBytesCount: number) => void): void\n\n /**\n * Waits for pending data to be encoded and resets the encoder state.\n *\n * This operation can be synchronous or asynchronous depending on the encoder implementation.\n *\n * The callback will be invoked when the operation finishes, unless the operation is asynchronous\n * and another call to finish() or finishSync() occurs in the meantime.\n */\n finish(callback: (result: EncoderResult<Output>) => void): void\n\n /**\n * Resets the encoder state then returns the encoded data and any potential pending data directly,\n * discarding all pending write operations and finish() callbacks.\n */\n finishSync(): EncoderResult<Output> & { pendingData: string }\n\n /**\n * Returns a rough estimation of the bytes count if the data was encoded.\n */\n estimateEncodedBytesCount(data: string): number\n}\n\nexport interface EncoderResult<Output extends string | Uint8ArrayBuffer = string | Uint8ArrayBuffer> {\n output: Output\n outputBytesCount: number\n\n /**\n * An encoding type supported by HTTP Content-Encoding, if applicable.\n * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding#directives\n */\n encoding?: 'deflate'\n\n /**\n * Total bytes count of the input strings encoded to UTF-8.\n */\n rawBytesCount: number\n}\n\nexport function createIdentityEncoder(): Encoder<string> {\n let output = ''\n let outputBytesCount = 0\n\n return {\n isAsync: false,\n\n get isEmpty() {\n return !output\n },\n\n write(data, callback) {\n const additionalEncodedBytesCount = computeBytesCount(data)\n outputBytesCount += additionalEncodedBytesCount\n output += data\n if (callback) {\n callback(additionalEncodedBytesCount)\n }\n },\n\n finish(callback) {\n callback(this.finishSync())\n },\n\n finishSync() {\n const result = {\n output,\n outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n }\n output = ''\n outputBytesCount = 0\n return result\n },\n\n estimateEncodedBytesCount(data) {\n return data.length\n },\n }\n}\n"],"mappings":";;AA8DA,SAAgB,wBAAyC;CACvD,IAAI,SAAS;CACb,IAAI,mBAAmB;CAEvB,OAAO;EACL,SAAS;EAET,IAAI,UAAU;GACZ,OAAO,CAAC;EACV;EAEA,MAAM,MAAM,UAAU;GACpB,MAAM,8BAA8BA,kBAAAA,kBAAkB,IAAI;GAC1D,oBAAoB;GACpB,UAAU;GACV,IAAI,UACF,SAAS,2BAA2B;EAExC;EAEA,OAAO,UAAU;GACf,SAAS,KAAK,WAAW,CAAC;EAC5B;EAEA,aAAa;GACX,MAAM,SAAS;IACb;IACA;IACA,eAAe;IACf,aAAa;GACf;GACA,SAAS;GACT,mBAAmB;GACnB,OAAO;EACT;EAEA,0BAA0B,MAAM;GAC9B,OAAO,KAAK;EACd;CACF;AACF"}
|
|
@@ -9,10 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export declare enum ExperimentalFeature {
|
|
11
11
|
TRACK_INTAKE_REQUESTS = "track_intake_requests",
|
|
12
|
-
|
|
13
|
-
FEATURE_OPERATION_VITAL = "feature_operation_vital",
|
|
14
|
-
SHORT_SESSION_INVESTIGATION = "short_session_investigation",
|
|
15
|
-
AVOID_FETCH_KEEPALIVE = "avoid_fetch_keepalive"
|
|
12
|
+
PARTIAL_VIEW_UPDATES = "partial_view_updates"
|
|
16
13
|
}
|
|
17
14
|
export declare function initFeatureFlags(enableExperimentalFeatures: string[] | undefined): void;
|
|
18
15
|
export declare function addExperimentalFeatures(enabledFeatures: ExperimentalFeature[]): void;
|
|
@@ -1,50 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
const require_objectUtils = require("./utils/objectUtils.js");
|
|
2
|
+
//#region src/tools/experimentalFeatures.ts
|
|
2
3
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
exports.isExperimentalFeatureEnabled = isExperimentalFeatureEnabled;
|
|
18
|
-
exports.resetExperimentalFeatures = resetExperimentalFeatures;
|
|
19
|
-
exports.getExperimentalFeatures = getExperimentalFeatures;
|
|
20
|
-
const objectUtils_1 = require("./utils/objectUtils");
|
|
21
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
22
|
-
var ExperimentalFeature;
|
|
23
|
-
(function (ExperimentalFeature) {
|
|
24
|
-
ExperimentalFeature["TRACK_INTAKE_REQUESTS"] = "track_intake_requests";
|
|
25
|
-
ExperimentalFeature["USE_TREE_WALKER_FOR_ACTION_NAME"] = "use_tree_walker_for_action_name";
|
|
26
|
-
ExperimentalFeature["FEATURE_OPERATION_VITAL"] = "feature_operation_vital";
|
|
27
|
-
ExperimentalFeature["SHORT_SESSION_INVESTIGATION"] = "short_session_investigation";
|
|
28
|
-
ExperimentalFeature["AVOID_FETCH_KEEPALIVE"] = "avoid_fetch_keepalive";
|
|
29
|
-
})(ExperimentalFeature || (exports.ExperimentalFeature = ExperimentalFeature = {}));
|
|
30
|
-
const enabledExperimentalFeatures = new Set();
|
|
4
|
+
* LIMITATION:
|
|
5
|
+
* For NPM setup, this feature flag singleton is shared between RUM and Logs product.
|
|
6
|
+
* This means that an experimental flag set on the RUM product will be set on the Logs product.
|
|
7
|
+
* So keep in mind that in certain configurations, your experimental feature flag may affect other products.
|
|
8
|
+
*
|
|
9
|
+
* FORMAT:
|
|
10
|
+
* All feature flags should be snake_cased
|
|
11
|
+
*/
|
|
12
|
+
let ExperimentalFeature = /* @__PURE__ */ function(ExperimentalFeature) {
|
|
13
|
+
ExperimentalFeature["TRACK_INTAKE_REQUESTS"] = "track_intake_requests";
|
|
14
|
+
ExperimentalFeature["PARTIAL_VIEW_UPDATES"] = "partial_view_updates";
|
|
15
|
+
return ExperimentalFeature;
|
|
16
|
+
}({});
|
|
17
|
+
const enabledExperimentalFeatures = /* @__PURE__ */ new Set();
|
|
31
18
|
function initFeatureFlags(enableExperimentalFeatures) {
|
|
32
|
-
|
|
33
|
-
addExperimentalFeatures(enableExperimentalFeatures.filter((flag) => (0, objectUtils_1.objectHasValue)(ExperimentalFeature, flag)));
|
|
34
|
-
}
|
|
19
|
+
if (Array.isArray(enableExperimentalFeatures)) addExperimentalFeatures(enableExperimentalFeatures.filter((flag) => require_objectUtils.objectHasValue(ExperimentalFeature, flag)));
|
|
35
20
|
}
|
|
36
21
|
function addExperimentalFeatures(enabledFeatures) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
enabledFeatures.forEach((flag) => {
|
|
23
|
+
enabledExperimentalFeatures.add(flag);
|
|
24
|
+
});
|
|
40
25
|
}
|
|
41
26
|
function isExperimentalFeatureEnabled(featureName) {
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
function resetExperimentalFeatures() {
|
|
45
|
-
enabledExperimentalFeatures.clear();
|
|
27
|
+
return enabledExperimentalFeatures.has(featureName);
|
|
46
28
|
}
|
|
47
29
|
function getExperimentalFeatures() {
|
|
48
|
-
|
|
30
|
+
return enabledExperimentalFeatures;
|
|
49
31
|
}
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.ExperimentalFeature = ExperimentalFeature;
|
|
34
|
+
exports.addExperimentalFeatures = addExperimentalFeatures;
|
|
35
|
+
exports.getExperimentalFeatures = getExperimentalFeatures;
|
|
36
|
+
exports.initFeatureFlags = initFeatureFlags;
|
|
37
|
+
exports.isExperimentalFeatureEnabled = isExperimentalFeatureEnabled;
|
|
38
|
+
|
|
50
39
|
//# sourceMappingURL=experimentalFeatures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experimentalFeatures.js","
|
|
1
|
+
{"version":3,"file":"experimentalFeatures.js","names":["objectHasValue"],"sources":["../../src/tools/experimentalFeatures.ts"],"sourcesContent":["/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected feature flag\n\nimport { objectHasValue } from './utils/objectUtils'\n\n// eslint-disable-next-line no-restricted-syntax\nexport enum ExperimentalFeature {\n TRACK_INTAKE_REQUESTS = 'track_intake_requests',\n PARTIAL_VIEW_UPDATES = 'partial_view_updates',\n}\n\nconst enabledExperimentalFeatures: Set<ExperimentalFeature> = new Set()\n\nexport function initFeatureFlags(enableExperimentalFeatures: string[] | undefined) {\n if (Array.isArray(enableExperimentalFeatures)) {\n addExperimentalFeatures(\n enableExperimentalFeatures.filter((flag): flag is ExperimentalFeature =>\n objectHasValue(ExperimentalFeature, flag)\n )\n )\n }\n}\n\nexport function addExperimentalFeatures(enabledFeatures: ExperimentalFeature[]): void {\n enabledFeatures.forEach((flag) => {\n enabledExperimentalFeatures.add(flag)\n })\n}\n\nexport function isExperimentalFeatureEnabled(featureName: ExperimentalFeature): boolean {\n return enabledExperimentalFeatures.has(featureName)\n}\n\nexport function resetExperimentalFeatures(): void {\n enabledExperimentalFeatures.clear()\n}\n\nexport function getExperimentalFeatures(): Set<ExperimentalFeature> {\n return enabledExperimentalFeatures\n}\n"],"mappings":";;;;;;;;;;;AAeA,IAAY,sBAAL,yBAAA,qBAAA;CACL,oBAAA,2BAAA;CACA,oBAAA,0BAAA;;AACF,EAAA,CAAA,CAAA;AAEA,MAAM,8CAAwD,IAAI,IAAI;AAEtE,SAAgB,iBAAiB,4BAAkD;CACjF,IAAI,MAAM,QAAQ,0BAA0B,GAC1C,wBACE,2BAA2B,QAAQ,SACjCA,oBAAAA,eAAe,qBAAqB,IAAI,CAC1C,CACF;AAEJ;AAEA,SAAgB,wBAAwB,iBAA8C;CACpF,gBAAgB,SAAS,SAAS;EAChC,4BAA4B,IAAI,IAAI;CACtC,CAAC;AACH;AAEA,SAAgB,6BAA6B,aAA2C;CACtF,OAAO,4BAA4B,IAAI,WAAW;AACpD;AAMA,SAAgB,0BAAoD;CAClE,OAAO;AACT"}
|
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getZoneJsOriginalValue = getZoneJsOriginalValue;
|
|
4
|
-
const globalObject_1 = require("./globalObject");
|
|
1
|
+
const require_globalObject = require("./globalObject.js");
|
|
2
|
+
//#region src/tools/getZoneJsOriginalValue.ts
|
|
5
3
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
* Gets the original value for a DOM API that was potentially patched by Zone.js.
|
|
5
|
+
*
|
|
6
|
+
* Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original
|
|
7
|
+
* value of the patched functions/constructors/methods in a hidden property prefixed by
|
|
8
|
+
* __zone_symbol__.
|
|
9
|
+
*
|
|
10
|
+
* In multiple occasions, we observed that Zone.js is the culprit of important issues leading to
|
|
11
|
+
* browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to
|
|
12
|
+
* use the original DOM API instead of the one patched by Zone.js.
|
|
13
|
+
*
|
|
14
|
+
* [1]: https://github.com/angular/angular/tree/main/packages/zone.js
|
|
15
|
+
*/
|
|
18
16
|
function getZoneJsOriginalValue(target, name) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!original) {
|
|
25
|
-
original = target[name];
|
|
26
|
-
}
|
|
27
|
-
return original;
|
|
17
|
+
const browserWindow = require_globalObject.globalObject;
|
|
18
|
+
let original;
|
|
19
|
+
if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === "function") original = target[browserWindow.Zone.__symbol__(name)];
|
|
20
|
+
if (!original) original = target[name];
|
|
21
|
+
return original;
|
|
28
22
|
}
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.getZoneJsOriginalValue = getZoneJsOriginalValue;
|
|
25
|
+
|
|
29
26
|
//# sourceMappingURL=getZoneJsOriginalValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getZoneJsOriginalValue.js","
|
|
1
|
+
{"version":3,"file":"getZoneJsOriginalValue.js","names":["globalObject"],"sources":["../../src/tools/getZoneJsOriginalValue.ts"],"sourcesContent":["import { globalObject } from './globalObject'\n\nexport interface BrowserWindowWithZoneJs {\n Zone?: {\n // All Zone.js versions expose the __symbol__ method, but we observed that some website have a\n // 'Zone' global variable unrelated to Zone.js, so let's consider this method optional\n // nonetheless.\n __symbol__?: (name: string) => string\n }\n}\n\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue<Target, Name extends keyof Target & string>(\n target: Target,\n name: Name\n): Target[Name] {\n const browserWindow = globalObject as BrowserWindowWithZoneJs\n let original: Target[Name] | undefined\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = (target as any)[browserWindow.Zone.__symbol__(name)]\n }\n if (!original) {\n original = target[name]\n }\n return original\n}\n"],"mappings":";;;;;;;;;;;;;;;AAwBA,SAAgB,uBACd,QACA,MACc;CACd,MAAM,gBAAgBA,qBAAAA;CACtB,IAAI;CACJ,IAAI,cAAc,QAAQ,OAAO,cAAc,KAAK,eAAe,YACjE,WAAY,OAAe,cAAc,KAAK,WAAW,IAAI;CAE/D,IAAI,CAAC,UACH,WAAW,OAAO;CAEpB,OAAO;AACT"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
import type { BrowserNavigator, CookieStore, ProfilerConstructor } from '../browser/browser.types';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Reflects values available in the global object (e.g. window or self). We use our own type to
|
|
4
|
+
* adjust the expectations across the codebase when the native types offered by TypeScript aren't
|
|
5
|
+
* sufficient.
|
|
6
|
+
*
|
|
7
|
+
* For example, we can mark a property as optional when it is not available in all browsers, or add
|
|
8
|
+
* new browser APIs that are not yet typed properly in the typescript lib.
|
|
9
|
+
*
|
|
10
|
+
* Feel free to add more properties as needed, or mark some properties as optional when they are.
|
|
3
11
|
*/
|
|
4
|
-
interface
|
|
5
|
-
|
|
12
|
+
export interface GlobalObject extends Omit<typeof globalThis, 'queueMicrotask' | 'cookieStore' | 'Profiler' | 'window'> {
|
|
13
|
+
navigator: BrowserNavigator;
|
|
14
|
+
cookieStore?: CookieStore;
|
|
15
|
+
queueMicrotask?: typeof queueMicrotask;
|
|
16
|
+
Profiler?: ProfilerConstructor;
|
|
17
|
+
window?: Window;
|
|
6
18
|
}
|
|
7
|
-
|
|
8
|
-
[P in Exclude<keyof T, keyof U>]?: never;
|
|
9
|
-
};
|
|
10
|
-
type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
|
|
11
|
-
export type GlobalObject = XOR<Window, WorkerGlobalScope>;
|
|
12
|
-
export declare function getGlobalObject<T = typeof globalThis>(): T;
|
|
13
|
-
/**
|
|
14
|
-
* Cached reference to the global object so it can be imported and re-used without
|
|
15
|
-
* re-evaluating the heavyweight fallback logic in `getGlobalObject()`.
|
|
16
|
-
*/
|
|
17
|
-
export declare const globalObject: (Without<Window, WorkerGlobalScope> & WorkerGlobalScope) | (Without<WorkerGlobalScope, Window> & Window);
|
|
19
|
+
export declare const globalObject: GlobalObject;
|
|
18
20
|
export declare const isWorkerEnvironment: boolean;
|
|
19
|
-
export {};
|
|
@@ -1,44 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.isWorkerEnvironment =
|
|
7
|
-
|
|
8
|
-
function getGlobalObject() {
|
|
9
|
-
if (typeof globalThis === 'object') {
|
|
10
|
-
return globalThis;
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(Object.prototype, '_oo_temp_', {
|
|
13
|
-
get() {
|
|
14
|
-
return this;
|
|
15
|
-
},
|
|
16
|
-
configurable: true,
|
|
17
|
-
});
|
|
18
|
-
// @ts-ignore _oo_temp is defined using defineProperty
|
|
19
|
-
let globalObject = _oo_temp_;
|
|
20
|
-
// @ts-ignore _oo_temp is defined using defineProperty
|
|
21
|
-
delete Object.prototype._oo_temp_;
|
|
22
|
-
if (typeof globalObject !== 'object') {
|
|
23
|
-
// on safari _oo_temp_ is available on window but not globally
|
|
24
|
-
// fallback on other browser globals check
|
|
25
|
-
if (typeof self === 'object') {
|
|
26
|
-
globalObject = self;
|
|
27
|
-
}
|
|
28
|
-
else if (typeof window === 'object') {
|
|
29
|
-
globalObject = window;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
globalObject = {};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return globalObject;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Cached reference to the global object so it can be imported and re-used without
|
|
39
|
-
* re-evaluating the heavyweight fallback logic in `getGlobalObject()`.
|
|
40
|
-
*/
|
|
41
|
-
// eslint-disable-next-line local-rules/disallow-side-effects
|
|
42
|
-
exports.globalObject = getGlobalObject();
|
|
43
|
-
exports.isWorkerEnvironment = 'WorkerGlobalScope' in exports.globalObject;
|
|
1
|
+
//#region src/tools/globalObject.ts
|
|
2
|
+
const globalObject = globalThis;
|
|
3
|
+
const isWorkerEnvironment = "WorkerGlobalScope" in globalObject;
|
|
4
|
+
//#endregion
|
|
5
|
+
exports.globalObject = globalObject;
|
|
6
|
+
exports.isWorkerEnvironment = isWorkerEnvironment;
|
|
7
|
+
|
|
44
8
|
//# sourceMappingURL=globalObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalObject.js","
|
|
1
|
+
{"version":3,"file":"globalObject.js","names":[],"sources":["../../src/tools/globalObject.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport type { BrowserNavigator, CookieStore, ProfilerConstructor } from '../browser/browser.types'\n\n/**\n * Reflects values available in the global object (e.g. window or self). We use our own type to\n * adjust the expectations across the codebase when the native types offered by TypeScript aren't\n * sufficient.\n *\n * For example, we can mark a property as optional when it is not available in all browsers, or add\n * new browser APIs that are not yet typed properly in the typescript lib.\n *\n * Feel free to add more properties as needed, or mark some properties as optional when they are.\n */\nexport interface GlobalObject extends Omit<\n // eslint-disable-next-line no-restricted-syntax\n typeof globalThis,\n 'queueMicrotask' | 'cookieStore' | 'Profiler' | 'window'\n> {\n navigator: BrowserNavigator\n\n // cookieStore is not available in all browsers yet\n cookieStore?: CookieStore\n\n // queueMicrotask is not available in all browsers yet\n queueMicrotask?: typeof queueMicrotask\n\n // Profiler is not available in all browsers yet\n Profiler?: ProfilerConstructor\n\n // window is not available in SSR environments\n window?: Window\n}\n\n// eslint-disable-next-line no-restricted-syntax\nexport const globalObject = globalThis as GlobalObject\n\nexport const isWorkerEnvironment = 'WorkerGlobalScope' in globalObject\n"],"mappings":";AAkCA,MAAa,eAAe;AAE5B,MAAa,sBAAsB,uBAAuB"}
|
|
@@ -29,6 +29,29 @@ export interface InstrumentedMethodCall<TARGET extends {
|
|
|
29
29
|
type PostCallCallback<TARGET extends {
|
|
30
30
|
[key: string]: any;
|
|
31
31
|
}, METHOD extends keyof TARGET> = (result: ReturnType<TARGET[METHOD]>) => void;
|
|
32
|
+
type ConstructorParametersOf<CONSTRUCTOR> = CONSTRUCTOR extends new (...args: infer P) => any ? P : never;
|
|
33
|
+
type ConstructorInstanceOf<CONSTRUCTOR> = CONSTRUCTOR extends new (...args: any[]) => infer R ? R : never;
|
|
34
|
+
/**
|
|
35
|
+
* Object passed to the callback of an instrumented constructor call. See `instrumentConstructor`
|
|
36
|
+
* for more info.
|
|
37
|
+
*/
|
|
38
|
+
export interface InstrumentedConstructorCall<CONSTRUCTOR> {
|
|
39
|
+
/**
|
|
40
|
+
* The parameters with which the constructor was called.
|
|
41
|
+
*
|
|
42
|
+
* Note: if needed, parameters can be mutated by the instrumentation
|
|
43
|
+
*/
|
|
44
|
+
parameters: ConstructorParametersOf<CONSTRUCTOR>;
|
|
45
|
+
/**
|
|
46
|
+
* Registers a callback that will be called after the original constructor is called, with the
|
|
47
|
+
* constructed instance passed as argument.
|
|
48
|
+
*/
|
|
49
|
+
onPostCall: (callback: (result: ConstructorInstanceOf<CONSTRUCTOR>) => void) => void;
|
|
50
|
+
/**
|
|
51
|
+
* The stack trace of the constructor call.
|
|
52
|
+
*/
|
|
53
|
+
handlingStack?: string;
|
|
54
|
+
}
|
|
32
55
|
/**
|
|
33
56
|
* Instruments a method on a object, calling the given callback before the original method is
|
|
34
57
|
* invoked. The callback receives an object with information about the method call.
|
|
@@ -50,6 +73,8 @@ type PostCallCallback<TARGET extends {
|
|
|
50
73
|
* * if the event handler is set by a third party after us, we need to keep it in place when
|
|
51
74
|
* removing ours.
|
|
52
75
|
*
|
|
76
|
+
* To instrument a constructor @see {@link instrumentConstructor}.
|
|
77
|
+
*
|
|
53
78
|
* @example
|
|
54
79
|
*
|
|
55
80
|
* instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {
|
|
@@ -62,7 +87,39 @@ type PostCallCallback<TARGET extends {
|
|
|
62
87
|
*/
|
|
63
88
|
export declare function instrumentMethod<TARGET extends {
|
|
64
89
|
[key: string]: any;
|
|
65
|
-
}, METHOD extends keyof TARGET
|
|
90
|
+
}, METHOD extends keyof TARGET>(targetPrototype: TARGET, method: METHOD, onPreCall: (this: null, callInfos: InstrumentedMethodCall<TARGET, METHOD>) => void, { computeHandlingStack }?: {
|
|
91
|
+
computeHandlingStack?: boolean;
|
|
92
|
+
}): {
|
|
93
|
+
stop: typeof noop;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Instruments a constructor on an object (typically a global, e.g. `window.WebSocket`), calling the
|
|
97
|
+
* given callback before the original constructor is invoked. The callback receives an object with
|
|
98
|
+
* information about the constructor call, and can register an `onPostCall` callback to be notified
|
|
99
|
+
* with the constructed instance.
|
|
100
|
+
*
|
|
101
|
+
* Like `instrumentMethod`, this is a "good citizen" regarding third party instrumentations: stopping
|
|
102
|
+
* restores the original constructor unless a third party replaced it afterwards.
|
|
103
|
+
*
|
|
104
|
+
* The wrapper preserves the original prototype (so `instanceof` keeps working), the original
|
|
105
|
+
* `new.target` (so constructors that inspect it behave as if not instrumented), the original
|
|
106
|
+
* static members (e.g. `WebSocket.OPEN`), and `instance.constructor ===` so checks like
|
|
107
|
+
* `new WebSocket(url).constructor === WebSocket` stay true.
|
|
108
|
+
*
|
|
109
|
+
* @see {@link preserveConstructorShape} for limitations on static members preservation.
|
|
110
|
+
* @example
|
|
111
|
+
*
|
|
112
|
+
* instrumentConstructor(window, 'WebSocket', ({ parameters, onPostCall }) => {
|
|
113
|
+
* console.log('Before constructing WebSocket with parameters', parameters)
|
|
114
|
+
*
|
|
115
|
+
* onPostCall((instance) => {
|
|
116
|
+
* console.log('Constructed WebSocket instance', instance)
|
|
117
|
+
* })
|
|
118
|
+
* })
|
|
119
|
+
*/
|
|
120
|
+
export declare function instrumentConstructor<CONTAINER extends {
|
|
121
|
+
[key: string]: any;
|
|
122
|
+
}, CONSTRUCTOR extends keyof CONTAINER>(container: CONTAINER, constructor: CONSTRUCTOR, onPreCall: (this: null, callInfos: InstrumentedConstructorCall<CONTAINER[CONSTRUCTOR]>) => void, { computeHandlingStack }?: {
|
|
66
123
|
computeHandlingStack?: boolean;
|
|
67
124
|
}): {
|
|
68
125
|
stop: typeof noop;
|