@openobserve/browser-core 0.2.10 → 0.2.11-rc1
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/cjs/boot/init.js +1 -1
- package/cjs/boot/init.js.map +1 -1
- package/cjs/browser/addEventListener.d.ts +12 -4
- package/cjs/browser/addEventListener.js +50 -8
- package/cjs/browser/addEventListener.js.map +1 -1
- package/cjs/browser/cookie.d.ts +7 -0
- package/cjs/browser/cookie.js +19 -2
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/browser/fetchObservable.js +14 -19
- package/cjs/browser/fetchObservable.js.map +1 -1
- package/cjs/browser/pageExitObservable.js +6 -7
- package/cjs/browser/pageExitObservable.js.map +1 -1
- package/cjs/browser/runOnReadyState.js +1 -1
- package/cjs/browser/runOnReadyState.js.map +1 -1
- package/cjs/browser/xhrObservable.d.ts +1 -2
- package/cjs/browser/xhrObservable.js +26 -34
- package/cjs/browser/xhrObservable.js.map +1 -1
- package/cjs/domain/configuration/configuration.d.ts +17 -12
- package/cjs/domain/configuration/configuration.js +8 -9
- package/cjs/domain/configuration/configuration.js.map +1 -1
- package/cjs/domain/configuration/endpointBuilder.d.ts +6 -10
- package/cjs/domain/configuration/endpointBuilder.js +23 -33
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -1
- package/cjs/domain/configuration/index.d.ts +2 -1
- package/cjs/domain/configuration/index.js +3 -1
- package/cjs/domain/configuration/index.js.map +1 -1
- package/cjs/domain/configuration/tags.js.map +1 -1
- package/cjs/domain/configuration/transportConfiguration.js +1 -1
- package/cjs/domain/configuration/transportConfiguration.js.map +1 -1
- package/cjs/domain/connectivity/connectivity.d.ts +13 -0
- package/cjs/domain/connectivity/connectivity.js +14 -0
- package/cjs/domain/connectivity/connectivity.js.map +1 -0
- package/cjs/domain/connectivity/index.d.ts +1 -0
- package/cjs/domain/{deflate → connectivity}/index.js +1 -1
- package/cjs/domain/connectivity/index.js.map +1 -0
- package/cjs/domain/console/consoleObservable.js +4 -7
- package/cjs/domain/console/consoleObservable.js.map +1 -1
- package/cjs/domain/context/contextConstants.d.ts +5 -0
- package/cjs/domain/{tracekit/types.js → context/contextConstants.js} +1 -1
- package/cjs/domain/context/contextConstants.js.map +1 -0
- package/cjs/domain/context/contextManager.d.ts +12 -0
- package/cjs/domain/context/contextManager.js +43 -0
- package/cjs/domain/context/contextManager.js.map +1 -0
- package/cjs/domain/context/customerDataTracker.d.ts +45 -0
- package/cjs/domain/context/customerDataTracker.js +107 -0
- package/cjs/domain/context/customerDataTracker.js.map +1 -0
- package/cjs/domain/context/storeContextManager.d.ts +6 -0
- package/cjs/domain/context/storeContextManager.js +38 -0
- package/cjs/domain/context/storeContextManager.js.map +1 -0
- package/cjs/domain/deflate/types.d.ts +0 -26
- package/cjs/domain/error/computeStackTrace.d.ts +33 -0
- package/cjs/domain/{tracekit → error}/computeStackTrace.js +28 -4
- package/cjs/domain/error/computeStackTrace.js.map +1 -0
- package/cjs/domain/error/error.d.ts +1 -1
- package/cjs/domain/error/error.js +3 -3
- package/cjs/domain/error/error.js.map +1 -1
- package/cjs/domain/error/error.types.d.ts +2 -2
- package/cjs/domain/error/error.types.js.map +1 -1
- package/cjs/domain/error/trackRuntimeError.d.ts +8 -0
- package/cjs/domain/error/trackRuntimeError.js +39 -6
- package/cjs/domain/error/trackRuntimeError.js.map +1 -1
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
- package/cjs/domain/report/browser.types.d.ts +10 -0
- package/cjs/domain/report/reportObservable.d.ts +2 -0
- package/cjs/domain/report/reportObservable.js +7 -7
- package/cjs/domain/report/reportObservable.js.map +1 -1
- package/cjs/domain/session/oldCookiesMigration.js +4 -4
- package/cjs/domain/session/oldCookiesMigration.js.map +1 -1
- package/cjs/domain/session/sessionManager.js +2 -2
- package/cjs/domain/session/sessionManager.js.map +1 -1
- package/cjs/domain/session/sessionState.js.map +1 -1
- package/cjs/domain/session/sessionStore.js.map +1 -1
- package/cjs/domain/session/sessionStoreOperations.d.ts +0 -5
- package/cjs/domain/session/sessionStoreOperations.js +6 -14
- package/cjs/domain/session/sessionStoreOperations.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +13 -2
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +1 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +1 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +3 -3
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +4 -0
- package/cjs/domain/telemetry/telemetry.d.ts +5 -1
- package/cjs/domain/telemetry/telemetry.js +17 -6
- package/cjs/domain/telemetry/telemetry.js.map +1 -1
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +18 -2
- package/cjs/domain/user/user.js.map +1 -1
- package/cjs/tools/abstractLifeCycle.js.map +1 -1
- package/cjs/tools/boundedBuffer.js.map +1 -1
- package/cjs/tools/catchUserErrors.js.map +1 -1
- package/cjs/tools/display.d.ts +2 -2
- package/cjs/tools/display.js +13 -17
- package/cjs/tools/display.js.map +1 -1
- package/cjs/tools/encoder.d.ts +53 -0
- package/cjs/tools/encoder.js +41 -0
- package/cjs/tools/encoder.js.map +1 -0
- package/cjs/tools/experimentalFeatures.d.ts +3 -5
- package/cjs/tools/experimentalFeatures.js +2 -4
- package/cjs/tools/experimentalFeatures.js.map +1 -1
- package/cjs/tools/getGlobalObject.js.map +1 -1
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
- package/cjs/tools/instrumentMethod.d.ts +50 -10
- package/cjs/tools/instrumentMethod.js +59 -36
- package/cjs/tools/instrumentMethod.js.map +1 -1
- package/cjs/tools/matchOption.js.map +1 -1
- package/cjs/tools/mergeInto.js.map +1 -1
- package/cjs/tools/monitor.d.ts +1 -2
- package/cjs/tools/monitor.js +6 -6
- package/cjs/tools/monitor.js.map +1 -1
- package/cjs/tools/observable.d.ts +1 -1
- package/cjs/tools/observable.js +2 -3
- package/cjs/tools/observable.js.map +1 -1
- package/cjs/tools/readBytesFromStream.js.map +1 -1
- package/cjs/tools/sendToExtension.js.map +1 -1
- package/cjs/tools/serialisation/jsonStringify.d.ts +1 -2
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
- package/cjs/tools/serialisation/sanitize.js.map +1 -1
- package/cjs/tools/utils/browserDetection.d.ts +8 -0
- package/cjs/tools/utils/browserDetection.js +33 -3
- package/cjs/tools/utils/browserDetection.js.map +1 -1
- package/cjs/tools/utils/byteUtils.js.map +1 -1
- package/cjs/tools/utils/functionUtils.js.map +1 -1
- package/cjs/tools/utils/objectUtils.js.map +1 -1
- package/cjs/tools/utils/polyfills.js.map +1 -1
- package/cjs/tools/utils/responseUtils.js.map +1 -1
- package/cjs/tools/utils/stringUtils.d.ts +1 -0
- package/cjs/tools/utils/stringUtils.js +31 -4
- package/cjs/tools/utils/stringUtils.js.map +1 -1
- package/cjs/tools/utils/timeUtils.js.map +1 -1
- package/cjs/tools/utils/typeUtils.js.map +1 -1
- package/cjs/tools/utils/urlPolyfill.js.map +1 -1
- package/cjs/tools/valueHistory.js.map +1 -1
- package/cjs/transport/batch.d.ts +5 -3
- package/cjs/transport/batch.js +73 -29
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.d.ts +12 -2
- package/cjs/transport/flushController.js +22 -7
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.d.ts +3 -2
- package/cjs/transport/httpRequest.js +21 -17
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/sendWithRetryStrategy.d.ts +2 -2
- package/cjs/transport/sendWithRetryStrategy.js +9 -9
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/cjs/transport/startBatchWithReplica.d.ts +9 -4
- package/cjs/transport/startBatchWithReplica.js +9 -4
- package/cjs/transport/startBatchWithReplica.js.map +1 -1
- package/esm/boot/init.js +1 -1
- package/esm/boot/init.js.map +1 -1
- package/esm/browser/addEventListener.d.ts +12 -4
- package/esm/browser/addEventListener.js +49 -7
- package/esm/browser/addEventListener.js.map +1 -1
- package/esm/browser/cookie.d.ts +7 -0
- package/esm/browser/cookie.js +17 -2
- package/esm/browser/cookie.js.map +1 -1
- package/esm/browser/fetchObservable.js +15 -20
- package/esm/browser/fetchObservable.js.map +1 -1
- package/esm/browser/pageExitObservable.js +7 -8
- package/esm/browser/pageExitObservable.js.map +1 -1
- package/esm/browser/runOnReadyState.js +2 -2
- package/esm/browser/runOnReadyState.js.map +1 -1
- package/esm/browser/xhrObservable.d.ts +1 -2
- package/esm/browser/xhrObservable.js +28 -36
- package/esm/browser/xhrObservable.js.map +1 -1
- package/esm/domain/configuration/configuration.d.ts +17 -12
- package/esm/domain/configuration/configuration.js +8 -9
- package/esm/domain/configuration/configuration.js.map +1 -1
- package/esm/domain/configuration/endpointBuilder.d.ts +6 -10
- package/esm/domain/configuration/endpointBuilder.js +22 -32
- package/esm/domain/configuration/endpointBuilder.js.map +1 -1
- package/esm/domain/configuration/index.d.ts +2 -1
- package/esm/domain/configuration/index.js +1 -0
- package/esm/domain/configuration/index.js.map +1 -1
- package/esm/domain/configuration/tags.js.map +1 -1
- package/esm/domain/configuration/transportConfiguration.js +1 -1
- package/esm/domain/configuration/transportConfiguration.js.map +1 -1
- package/esm/domain/connectivity/connectivity.d.ts +13 -0
- package/esm/domain/connectivity/connectivity.js +10 -0
- package/esm/domain/connectivity/connectivity.js.map +1 -0
- package/esm/domain/connectivity/index.d.ts +1 -0
- package/esm/domain/connectivity/index.js +2 -0
- package/esm/domain/connectivity/index.js.map +1 -0
- package/esm/domain/console/consoleObservable.js +2 -5
- package/esm/domain/console/consoleObservable.js.map +1 -1
- package/esm/domain/context/contextConstants.d.ts +5 -0
- package/esm/domain/context/contextConstants.js +2 -0
- package/esm/domain/context/contextConstants.js.map +1 -0
- package/esm/domain/context/contextManager.d.ts +12 -0
- package/esm/domain/context/contextManager.js +39 -0
- package/esm/domain/context/contextManager.js.map +1 -0
- package/esm/domain/context/customerDataTracker.d.ts +45 -0
- package/esm/domain/context/customerDataTracker.js +102 -0
- package/esm/domain/context/customerDataTracker.js.map +1 -0
- package/esm/domain/context/storeContextManager.d.ts +6 -0
- package/esm/domain/context/storeContextManager.js +32 -0
- package/esm/domain/context/storeContextManager.js.map +1 -0
- package/esm/domain/deflate/types.d.ts +12 -0
- package/esm/domain/error/computeStackTrace.d.ts +33 -0
- package/esm/domain/{tracekit → error}/computeStackTrace.js +26 -3
- package/esm/domain/error/computeStackTrace.js.map +1 -0
- package/esm/domain/error/error.d.ts +1 -1
- package/esm/domain/error/error.js +1 -1
- package/esm/domain/error/error.js.map +1 -1
- package/esm/domain/error/error.types.d.ts +2 -2
- package/esm/domain/error/error.types.js.map +1 -1
- package/esm/domain/error/trackRuntimeError.d.ts +8 -0
- package/esm/domain/error/trackRuntimeError.js +35 -4
- package/esm/domain/error/trackRuntimeError.js.map +1 -1
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
- package/esm/domain/report/browser.types.d.ts +10 -0
- package/esm/domain/report/reportObservable.d.ts +2 -0
- package/esm/domain/report/reportObservable.js +8 -8
- package/esm/domain/report/reportObservable.js.map +1 -1
- package/esm/domain/session/oldCookiesMigration.js +5 -5
- package/esm/domain/session/oldCookiesMigration.js.map +1 -1
- package/esm/domain/session/sessionManager.js +3 -3
- package/esm/domain/session/sessionManager.js.map +1 -1
- package/esm/domain/session/sessionState.js.map +1 -1
- package/esm/domain/session/sessionStore.js.map +1 -1
- package/esm/domain/session/sessionStoreOperations.d.ts +0 -5
- package/esm/domain/session/sessionStoreOperations.js +5 -12
- package/esm/domain/session/sessionStoreOperations.js.map +1 -1
- package/esm/domain/session/storeStrategies/sessionInCookie.js +13 -2
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.js +4 -4
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +4 -0
- package/esm/domain/telemetry/telemetry.d.ts +5 -1
- package/esm/domain/telemetry/telemetry.js +16 -5
- package/esm/domain/telemetry/telemetry.js.map +1 -1
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +18 -2
- package/esm/domain/user/user.js.map +1 -1
- package/esm/index.d.ts +9 -5
- package/esm/index.js +8 -5
- package/esm/index.js.map +1 -1
- package/esm/tools/abstractLifeCycle.js.map +1 -1
- package/esm/tools/boundedBuffer.js.map +1 -1
- package/esm/tools/catchUserErrors.js.map +1 -1
- package/esm/tools/display.d.ts +2 -2
- package/esm/tools/display.js +12 -15
- package/esm/tools/display.js.map +1 -1
- package/esm/tools/encoder.d.ts +53 -0
- package/esm/tools/encoder.js +37 -0
- package/esm/tools/encoder.js.map +1 -0
- package/esm/tools/experimentalFeatures.d.ts +3 -5
- package/esm/tools/experimentalFeatures.js +2 -4
- package/esm/tools/experimentalFeatures.js.map +1 -1
- package/esm/tools/getGlobalObject.js.map +1 -1
- package/esm/tools/getZoneJsOriginalValue.js.map +1 -1
- package/esm/tools/instrumentMethod.d.ts +50 -10
- package/esm/tools/instrumentMethod.js +58 -34
- package/esm/tools/instrumentMethod.js.map +1 -1
- package/esm/tools/matchOption.js.map +1 -1
- package/esm/tools/mergeInto.js.map +1 -1
- package/esm/tools/monitor.d.ts +1 -2
- package/esm/tools/monitor.js +7 -7
- package/esm/tools/monitor.js.map +1 -1
- package/esm/tools/observable.d.ts +1 -1
- package/esm/tools/observable.js +2 -3
- package/esm/tools/observable.js.map +1 -1
- package/esm/tools/readBytesFromStream.js.map +1 -1
- package/esm/tools/sendToExtension.js.map +1 -1
- package/esm/tools/serialisation/jsonStringify.d.ts +1 -2
- package/esm/tools/serialisation/jsonStringify.js.map +1 -1
- package/esm/tools/serialisation/sanitize.js.map +1 -1
- package/esm/tools/utils/browserDetection.d.ts +8 -0
- package/esm/tools/utils/browserDetection.js +30 -2
- package/esm/tools/utils/browserDetection.js.map +1 -1
- package/esm/tools/utils/byteUtils.js.map +1 -1
- package/esm/tools/utils/functionUtils.js.map +1 -1
- package/esm/tools/utils/objectUtils.js.map +1 -1
- package/esm/tools/utils/polyfills.js.map +1 -1
- package/esm/tools/utils/responseUtils.js.map +1 -1
- package/esm/tools/utils/stringUtils.d.ts +1 -0
- package/esm/tools/utils/stringUtils.js +29 -3
- package/esm/tools/utils/stringUtils.js.map +1 -1
- package/esm/tools/utils/timeUtils.js.map +1 -1
- package/esm/tools/utils/typeUtils.js.map +1 -1
- package/esm/tools/utils/urlPolyfill.js.map +1 -1
- package/esm/tools/valueHistory.js.map +1 -1
- package/esm/transport/batch.d.ts +5 -3
- package/esm/transport/batch.js +73 -29
- package/esm/transport/batch.js.map +1 -1
- package/esm/transport/eventBridge.js.map +1 -1
- package/esm/transport/flushController.d.ts +12 -2
- package/esm/transport/flushController.js +22 -7
- package/esm/transport/flushController.js.map +1 -1
- package/esm/transport/httpRequest.d.ts +3 -2
- package/esm/transport/httpRequest.js +21 -17
- package/esm/transport/httpRequest.js.map +1 -1
- package/esm/transport/sendWithRetryStrategy.d.ts +2 -2
- package/esm/transport/sendWithRetryStrategy.js +9 -9
- package/esm/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/transport/startBatchWithReplica.d.ts +9 -4
- package/esm/transport/startBatchWithReplica.js +9 -4
- package/esm/transport/startBatchWithReplica.js.map +1 -1
- package/package.json +1 -1
- package/src/browser/addEventListener.ts +37 -31
- package/src/browser/cookie.ts +21 -2
- package/src/browser/fetchObservable.ts +21 -25
- package/src/browser/pageExitObservable.ts +1 -3
- package/src/browser/xhrObservable.ts +31 -37
- package/src/domain/configuration/configuration.ts +24 -22
- package/src/domain/configuration/endpointBuilder.ts +33 -46
- package/src/domain/configuration/index.ts +2 -1
- package/src/domain/configuration/transportConfiguration.ts +1 -1
- package/src/domain/connectivity/connectivity.ts +27 -0
- package/src/domain/connectivity/index.ts +1 -0
- package/src/domain/console/consoleObservable.ts +3 -7
- package/src/domain/context/contextConstants.ts +5 -0
- package/src/domain/context/contextManager.ts +48 -0
- package/src/domain/context/customerDataTracker.ts +134 -0
- package/src/domain/context/storeContextManager.ts +51 -0
- package/src/domain/deflate/types.ts +14 -0
- package/src/domain/{tracekit → error}/computeStackTrace.ts +49 -4
- package/src/domain/error/error.ts +2 -2
- package/src/domain/error/error.types.ts +11 -2
- package/src/domain/error/trackRuntimeError.ts +44 -12
- package/src/domain/report/browser.types.ts +12 -0
- package/src/domain/report/reportObservable.ts +8 -6
- package/src/domain/session/oldCookiesMigration.ts +5 -5
- package/src/domain/session/sessionStoreOperations.ts +5 -13
- package/src/domain/session/storeStrategies/sessionInCookie.ts +13 -2
- package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +1 -0
- package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +1 -0
- package/src/domain/synthetics/syntheticsWorkerValues.ts +4 -4
- package/src/domain/telemetry/rawTelemetryEvent.types.ts +5 -0
- package/src/domain/telemetry/telemetry.ts +22 -7
- package/src/domain/telemetry/telemetryEvent.types.ts +18 -2
- package/src/index.ts +13 -7
- package/src/tools/display.ts +14 -13
- package/src/tools/encoder.ts +102 -0
- package/src/tools/experimentalFeatures.ts +2 -4
- package/src/tools/instrumentMethod.ts +103 -59
- package/src/tools/mergeInto.ts +16 -16
- package/src/tools/monitor.ts +5 -5
- package/src/tools/observable.ts +3 -5
- package/src/tools/utils/browserDetection.ts +43 -2
- package/src/tools/utils/polyfills.ts +1 -4
- package/src/tools/utils/stringUtils.ts +30 -4
- package/src/transport/batch.ts +86 -31
- package/src/transport/flushController.ts +22 -7
- package/src/transport/httpRequest.ts +23 -16
- package/src/transport/sendWithRetryStrategy.ts +10 -10
- package/src/transport/startBatchWithReplica.ts +22 -6
- package/cjs/domain/deflate/index.d.ts +0 -1
- package/cjs/domain/deflate/index.js.map +0 -1
- package/cjs/domain/tracekit/computeStackTrace.d.ts +0 -5
- package/cjs/domain/tracekit/computeStackTrace.js.map +0 -1
- package/cjs/domain/tracekit/index.d.ts +0 -3
- package/cjs/domain/tracekit/index.js +0 -8
- package/cjs/domain/tracekit/index.js.map +0 -1
- package/cjs/domain/tracekit/tracekit.d.ts +0 -35
- package/cjs/domain/tracekit/tracekit.js +0 -95
- package/cjs/domain/tracekit/tracekit.js.map +0 -1
- package/cjs/domain/tracekit/types.d.ts +0 -44
- package/cjs/domain/tracekit/types.js.map +0 -1
- package/cjs/index.d.ts +0 -63
- package/cjs/index.js +0 -155
- package/cjs/index.js.map +0 -1
- package/cjs/tools/serialisation/contextManager.d.ts +0 -21
- package/cjs/tools/serialisation/contextManager.js +0 -70
- package/cjs/tools/serialisation/contextManager.js.map +0 -1
- package/cjs/tools/serialisation/heavyCustomerDataWarning.d.ts +0 -8
- package/cjs/tools/serialisation/heavyCustomerDataWarning.js +0 -18
- package/cjs/tools/serialisation/heavyCustomerDataWarning.js.map +0 -1
- package/esm/domain/tracekit/computeStackTrace.d.ts +0 -5
- package/esm/domain/tracekit/computeStackTrace.js.map +0 -1
- package/esm/domain/tracekit/index.d.ts +0 -3
- package/esm/domain/tracekit/index.js +0 -3
- package/esm/domain/tracekit/index.js.map +0 -1
- package/esm/domain/tracekit/tracekit.d.ts +0 -35
- package/esm/domain/tracekit/tracekit.js +0 -91
- package/esm/domain/tracekit/tracekit.js.map +0 -1
- package/esm/domain/tracekit/types.d.ts +0 -44
- package/esm/domain/tracekit/types.js +0 -2
- package/esm/domain/tracekit/types.js.map +0 -1
- package/esm/tools/serialisation/contextManager.d.ts +0 -21
- package/esm/tools/serialisation/contextManager.js +0 -66
- package/esm/tools/serialisation/contextManager.js.map +0 -1
- package/esm/tools/serialisation/heavyCustomerDataWarning.d.ts +0 -8
- package/esm/tools/serialisation/heavyCustomerDataWarning.js +0 -14
- package/esm/tools/serialisation/heavyCustomerDataWarning.js.map +0 -1
- package/src/domain/tracekit/index.ts +0 -3
- package/src/domain/tracekit/tracekit.ts +0 -96
- package/src/domain/tracekit/types.ts +0 -47
- package/src/tools/serialisation/contextManager.ts +0 -79
- package/src/tools/serialisation/heavyCustomerDataWarning.ts +0 -26
package/cjs/boot/init.js
CHANGED
|
@@ -6,7 +6,7 @@ var monitor_1 = require("../tools/monitor");
|
|
|
6
6
|
var polyfills_1 = require("../tools/utils/polyfills");
|
|
7
7
|
function makePublicApi(stub) {
|
|
8
8
|
var publicApi = (0, polyfills_1.assign)({
|
|
9
|
-
version:
|
|
9
|
+
version: __BUILD_ENV__SDK_VERSION__,
|
|
10
10
|
// This API method is intentionally not monitored, since the only thing executed is the
|
|
11
11
|
// user-provided 'callback'. All SDK usages executed in the callback should be monitored, and
|
|
12
12
|
// we don't want to interfere with the user uncaught exceptions.
|
package/cjs/boot/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/boot/init.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAC1D,4CAA+C;AAC/C,sDAAiD;AAKjD,SAAgB,aAAa,CAAI,IAAO;IACtC,IAAM,SAAS,GAAG,IAAA,kBAAM,EACtB;QACE,OAAO,EAAE,0BAA0B;QAEnC,uFAAuF;QACvF,8FAA8F;QAC9F,gEAAgE;QAChE,OAAO,YAAC,QAAoB;YAC1B,QAAQ,EAAE,CAAA;QACZ,CAAC;KACF,EACD,IAAI,CACL,CAAA;IAED,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;QAC5C,GAAG;YACD,OAAO,sBAAY,CAAA;QACrB,CAAC;QACD,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;IAEF,OAAO,SAAS,CAAA;AAClB,CAAC;AAzBD,sCAyBC;AAED,SAAgB,YAAY,CAAoC,MAAc,EAAE,IAAU,EAAE,GAAiB;IAC3G,IAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAA0C,CAAA;IACpF,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IAClB,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/boot/init.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAC1D,4CAA+C;AAC/C,sDAAiD;AAKjD,SAAgB,aAAa,CAAI,IAAO;IACtC,IAAM,SAAS,GAAG,IAAA,kBAAM,EACtB;QACE,OAAO,EAAE,0BAA0B;QAEnC,uFAAuF;QACvF,8FAA8F;QAC9F,gEAAgE;QAChE,OAAO,YAAC,QAAoB;YAC1B,QAAQ,EAAE,CAAA;QACZ,CAAC;KACF,EACD,IAAI,CACL,CAAA;IAED,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;QAC5C,GAAG;YACD,OAAO,sBAAY,CAAA;QACrB,CAAC;QACD,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;IAEF,OAAO,SAAS,CAAA;AAClB,CAAC;AAzBD,sCAyBC;AAED,SAAgB,YAAY,CAAoC,MAAc,EAAE,IAAU,EAAE,GAAiB;IAC3G,IAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAA0C,CAAA;IACpF,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IAClB,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,CAAC,EAAE,CAAC;QACvD,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,IAAA,iCAAe,EAAC,EAAE,EAAE,kCAAkC,CAAC,EAAE,EAAzD,CAAyD,CAAC,CAAA;IACrG,CAAC;AACH,CAAC;AAND,oCAMC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { Configuration } from '../domain/configuration';
|
|
2
2
|
import type { VisualViewport, VisualViewportEventMap } from './types';
|
|
3
|
-
export
|
|
3
|
+
export type TrustableEvent<E extends Event = Event> = E & {
|
|
4
|
+
__ddIsTrusted?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare enum DOM_EVENT {
|
|
4
7
|
BEFORE_UNLOAD = "beforeunload",
|
|
5
8
|
CLICK = "click",
|
|
6
9
|
DBL_CLICK = "dblclick",
|
|
@@ -33,7 +36,8 @@ export declare const enum DOM_EVENT {
|
|
|
33
36
|
PLAY = "play",
|
|
34
37
|
PAUSE = "pause",
|
|
35
38
|
SECURITY_POLICY_VIOLATION = "securitypolicyviolation",
|
|
36
|
-
SELECTION_CHANGE = "selectionchange"
|
|
39
|
+
SELECTION_CHANGE = "selectionchange",
|
|
40
|
+
STORAGE = "storage"
|
|
37
41
|
}
|
|
38
42
|
interface AddEventListenerOptions {
|
|
39
43
|
once?: boolean;
|
|
@@ -55,7 +59,9 @@ type EventMapFor<T> = T extends Window ? WindowEventMap & {
|
|
|
55
59
|
*
|
|
56
60
|
* * returns a `stop` function to remove the listener
|
|
57
61
|
*/
|
|
58
|
-
export declare function addEventListener<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: Configuration, eventTarget: Target, eventName: EventName, listener: (event: EventMapFor<Target>[EventName]
|
|
62
|
+
export declare function addEventListener<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: Configuration, eventTarget: Target, eventName: EventName, listener: (event: EventMapFor<Target>[EventName] & {
|
|
63
|
+
type: EventName;
|
|
64
|
+
}) => void, options?: AddEventListenerOptions): {
|
|
59
65
|
stop: () => void;
|
|
60
66
|
};
|
|
61
67
|
/**
|
|
@@ -70,7 +76,9 @@ export declare function addEventListener<Target extends EventTarget, EventName e
|
|
|
70
76
|
*
|
|
71
77
|
* * with `once: true`, the listener will be called at most once, even if different events are listened
|
|
72
78
|
*/
|
|
73
|
-
export declare function addEventListeners<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(
|
|
79
|
+
export declare function addEventListeners<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: Configuration, eventTarget: Target, eventNames: EventName[], listener: (event: EventMapFor<Target>[EventName] & {
|
|
80
|
+
type: EventName;
|
|
81
|
+
}) => void, { once, capture, passive }?: AddEventListenerOptions): {
|
|
74
82
|
stop: () => void;
|
|
75
83
|
};
|
|
76
84
|
export {};
|
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addEventListeners = exports.addEventListener = void 0;
|
|
3
|
+
exports.addEventListeners = exports.addEventListener = exports.DOM_EVENT = void 0;
|
|
4
4
|
var monitor_1 = require("../tools/monitor");
|
|
5
5
|
var getZoneJsOriginalValue_1 = require("../tools/getZoneJsOriginalValue");
|
|
6
|
+
// We want to use a real enum (i.e. not a const enum) here, to be able to iterate over it to automatically add _ddIsTrusted in e2e tests
|
|
7
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
8
|
+
var DOM_EVENT;
|
|
9
|
+
(function (DOM_EVENT) {
|
|
10
|
+
DOM_EVENT["BEFORE_UNLOAD"] = "beforeunload";
|
|
11
|
+
DOM_EVENT["CLICK"] = "click";
|
|
12
|
+
DOM_EVENT["DBL_CLICK"] = "dblclick";
|
|
13
|
+
DOM_EVENT["KEY_DOWN"] = "keydown";
|
|
14
|
+
DOM_EVENT["LOAD"] = "load";
|
|
15
|
+
DOM_EVENT["POP_STATE"] = "popstate";
|
|
16
|
+
DOM_EVENT["SCROLL"] = "scroll";
|
|
17
|
+
DOM_EVENT["TOUCH_START"] = "touchstart";
|
|
18
|
+
DOM_EVENT["TOUCH_END"] = "touchend";
|
|
19
|
+
DOM_EVENT["TOUCH_MOVE"] = "touchmove";
|
|
20
|
+
DOM_EVENT["VISIBILITY_CHANGE"] = "visibilitychange";
|
|
21
|
+
DOM_EVENT["PAGE_SHOW"] = "pageshow";
|
|
22
|
+
DOM_EVENT["FREEZE"] = "freeze";
|
|
23
|
+
DOM_EVENT["RESUME"] = "resume";
|
|
24
|
+
DOM_EVENT["DOM_CONTENT_LOADED"] = "DOMContentLoaded";
|
|
25
|
+
DOM_EVENT["POINTER_DOWN"] = "pointerdown";
|
|
26
|
+
DOM_EVENT["POINTER_UP"] = "pointerup";
|
|
27
|
+
DOM_EVENT["POINTER_CANCEL"] = "pointercancel";
|
|
28
|
+
DOM_EVENT["HASH_CHANGE"] = "hashchange";
|
|
29
|
+
DOM_EVENT["PAGE_HIDE"] = "pagehide";
|
|
30
|
+
DOM_EVENT["MOUSE_DOWN"] = "mousedown";
|
|
31
|
+
DOM_EVENT["MOUSE_UP"] = "mouseup";
|
|
32
|
+
DOM_EVENT["MOUSE_MOVE"] = "mousemove";
|
|
33
|
+
DOM_EVENT["FOCUS"] = "focus";
|
|
34
|
+
DOM_EVENT["BLUR"] = "blur";
|
|
35
|
+
DOM_EVENT["CONTEXT_MENU"] = "contextmenu";
|
|
36
|
+
DOM_EVENT["RESIZE"] = "resize";
|
|
37
|
+
DOM_EVENT["CHANGE"] = "change";
|
|
38
|
+
DOM_EVENT["INPUT"] = "input";
|
|
39
|
+
DOM_EVENT["PLAY"] = "play";
|
|
40
|
+
DOM_EVENT["PAUSE"] = "pause";
|
|
41
|
+
DOM_EVENT["SECURITY_POLICY_VIOLATION"] = "securitypolicyviolation";
|
|
42
|
+
DOM_EVENT["SELECTION_CHANGE"] = "selectionchange";
|
|
43
|
+
DOM_EVENT["STORAGE"] = "storage";
|
|
44
|
+
})(DOM_EVENT || (exports.DOM_EVENT = DOM_EVENT = {}));
|
|
6
45
|
/**
|
|
7
46
|
* Add an event listener to an event target object (Window, Element, mock object...). This provides
|
|
8
47
|
* a few conveniences compared to using `element.addEventListener` directly:
|
|
@@ -29,20 +68,23 @@ exports.addEventListener = addEventListener;
|
|
|
29
68
|
*
|
|
30
69
|
* * with `once: true`, the listener will be called at most once, even if different events are listened
|
|
31
70
|
*/
|
|
32
|
-
function addEventListeners(
|
|
71
|
+
function addEventListeners(configuration, eventTarget, eventNames, listener, _a) {
|
|
33
72
|
var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;
|
|
34
|
-
var
|
|
35
|
-
|
|
73
|
+
var listenerWithMonitor = (0, monitor_1.monitor)(function (event) {
|
|
74
|
+
if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (once) {
|
|
36
78
|
stop();
|
|
37
|
-
listener(event);
|
|
38
79
|
}
|
|
39
|
-
|
|
80
|
+
listener(event);
|
|
81
|
+
});
|
|
40
82
|
var options = passive ? { capture: capture, passive: passive } : capture;
|
|
41
83
|
var add = (0, getZoneJsOriginalValue_1.getZoneJsOriginalValue)(eventTarget, 'addEventListener');
|
|
42
|
-
eventNames.forEach(function (eventName) { return add.call(eventTarget, eventName,
|
|
84
|
+
eventNames.forEach(function (eventName) { return add.call(eventTarget, eventName, listenerWithMonitor, options); });
|
|
43
85
|
function stop() {
|
|
44
86
|
var remove = (0, getZoneJsOriginalValue_1.getZoneJsOriginalValue)(eventTarget, 'removeEventListener');
|
|
45
|
-
eventNames.forEach(function (eventName) { return remove.call(eventTarget, eventName,
|
|
87
|
+
eventNames.forEach(function (eventName) { return remove.call(eventTarget, eventName, listenerWithMonitor, options); });
|
|
46
88
|
}
|
|
47
89
|
return {
|
|
48
90
|
stop: stop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addEventListener.js","sourceRoot":"","sources":["../../src/browser/addEventListener.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,0EAAwE;
|
|
1
|
+
{"version":3,"file":"addEventListener.js","sourceRoot":"","sources":["../../src/browser/addEventListener.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,0EAAwE;AAMxE,wIAAwI;AACxI,gDAAgD;AAChD,IAAY,SAmCX;AAnCD,WAAY,SAAS;IACnB,2CAA8B,CAAA;IAC9B,4BAAe,CAAA;IACf,mCAAsB,CAAA;IACtB,iCAAoB,CAAA;IACpB,0BAAa,CAAA;IACb,mCAAsB,CAAA;IACtB,8BAAiB,CAAA;IACjB,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,qCAAwB,CAAA;IACxB,mDAAsC,CAAA;IACtC,mCAAsB,CAAA;IACtB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,oDAAuC,CAAA;IACvC,yCAA4B,CAAA;IAC5B,qCAAwB,CAAA;IACxB,6CAAgC,CAAA;IAChC,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,qCAAwB,CAAA;IACxB,iCAAoB,CAAA;IACpB,qCAAwB,CAAA;IACxB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,yCAA4B,CAAA;IAC5B,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,kEAAqD,CAAA;IACrD,iDAAoC,CAAA;IACpC,gCAAmB,CAAA;AACrB,CAAC,EAnCW,SAAS,yBAAT,SAAS,QAmCpB;AAmCD;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC9B,aAA4B,EAC5B,WAAmB,EACnB,SAAoB,EACpB,QAA+E,EAC/E,OAAiC;IAEjC,OAAO,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AACtF,CAAC;AARD,4CAQC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAC/B,aAA4B,EAC5B,WAAmB,EACnB,UAAuB,EACvB,QAA+E,EAC/E,EAAwD;QAAxD,qBAAsD,EAAE,KAAA,EAAtD,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA;IAExB,IAAM,mBAAmB,GAAG,IAAA,iBAAO,EAAC,UAAC,KAAqB;QACxD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YACpF,OAAM;QACR,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAA;QACR,CAAC;QACD,QAAQ,CAAC,KAAwE,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IAEF,IAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAExD,IAAM,GAAG,GAAG,IAAA,+CAAsB,EAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;IACnE,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAA9D,CAA8D,CAAC,CAAA;IAEjG,SAAS,IAAI;QACX,IAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,WAAW,EAAE,qBAAqB,CAAC,CAAA;QACzE,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAjE,CAAiE,CAAC,CAAA;IACtG,CAAC;IAED,OAAO;QACL,IAAI,MAAA;KACL,CAAA;AACH,CAAC;AA9BD,8CA8BC"}
|
package/cjs/browser/cookie.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
export interface CookieOptions {
|
|
2
2
|
secure?: boolean;
|
|
3
3
|
crossSite?: boolean;
|
|
4
|
+
partitioned?: boolean;
|
|
4
5
|
domain?: string;
|
|
5
6
|
}
|
|
6
7
|
export declare function setCookie(name: string, value: string, expireDelay: number, options?: CookieOptions): void;
|
|
7
8
|
export declare function getCookie(name: string): string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
|
|
11
|
+
* to avoid accessing document.cookie multiple times.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getInitCookie(name: string): string | undefined;
|
|
14
|
+
export declare function resetInitCookies(): void;
|
|
8
15
|
export declare function deleteCookie(name: string, options?: CookieOptions): void;
|
|
9
16
|
export declare function areCookiesAuthorized(options: CookieOptions): boolean;
|
|
10
17
|
export declare function getCurrentSite(): string;
|
package/cjs/browser/cookie.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCurrentSite = exports.areCookiesAuthorized = exports.deleteCookie = exports.getCookie = exports.setCookie = void 0;
|
|
3
|
+
exports.getCurrentSite = exports.areCookiesAuthorized = exports.deleteCookie = exports.resetInitCookies = exports.getInitCookie = exports.getCookie = exports.setCookie = void 0;
|
|
4
4
|
var display_1 = require("../tools/display");
|
|
5
5
|
var timeUtils_1 = require("../tools/utils/timeUtils");
|
|
6
6
|
var stringUtils_1 = require("../tools/utils/stringUtils");
|
|
@@ -11,13 +11,30 @@ function setCookie(name, value, expireDelay, options) {
|
|
|
11
11
|
var sameSite = options && options.crossSite ? 'none' : 'strict';
|
|
12
12
|
var domain = options && options.domain ? ";domain=".concat(options.domain) : '';
|
|
13
13
|
var secure = options && options.secure ? ';secure' : '';
|
|
14
|
-
|
|
14
|
+
var partitioned = options && options.partitioned ? ';partitioned' : '';
|
|
15
|
+
document.cookie = "".concat(name, "=").concat(value, ";").concat(expires, ";path=/;samesite=").concat(sameSite).concat(domain).concat(secure).concat(partitioned);
|
|
15
16
|
}
|
|
16
17
|
exports.setCookie = setCookie;
|
|
17
18
|
function getCookie(name) {
|
|
18
19
|
return (0, stringUtils_1.findCommaSeparatedValue)(document.cookie, name);
|
|
19
20
|
}
|
|
20
21
|
exports.getCookie = getCookie;
|
|
22
|
+
var initCookieParsed;
|
|
23
|
+
/**
|
|
24
|
+
* Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
|
|
25
|
+
* to avoid accessing document.cookie multiple times.
|
|
26
|
+
*/
|
|
27
|
+
function getInitCookie(name) {
|
|
28
|
+
if (!initCookieParsed) {
|
|
29
|
+
initCookieParsed = (0, stringUtils_1.findCommaSeparatedValues)(document.cookie);
|
|
30
|
+
}
|
|
31
|
+
return initCookieParsed.get(name);
|
|
32
|
+
}
|
|
33
|
+
exports.getInitCookie = getInitCookie;
|
|
34
|
+
function resetInitCookies() {
|
|
35
|
+
initCookieParsed = undefined;
|
|
36
|
+
}
|
|
37
|
+
exports.resetInitCookies = resetInitCookies;
|
|
21
38
|
function deleteCookie(name, options) {
|
|
22
39
|
setCookie(name, '', 0, options);
|
|
23
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/browser/cookie.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,sDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/browser/cookie.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,30 +15,22 @@ function initFetchObservable() {
|
|
|
15
15
|
}
|
|
16
16
|
exports.initFetchObservable = initFetchObservable;
|
|
17
17
|
function createFetchObservable() {
|
|
18
|
-
|
|
18
|
+
return new observable_1.Observable(function (observable) {
|
|
19
19
|
if (!window.fetch) {
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
var stop = (0, instrumentMethod_1.instrumentMethod)(window, 'fetch', function (
|
|
23
|
-
return function (input, init) {
|
|
24
|
-
var responsePromise;
|
|
25
|
-
var context = (0, monitor_1.callMonitored)(beforeSend, null, [observable, input, init]);
|
|
26
|
-
if (context) {
|
|
27
|
-
responsePromise = originalFetch.call(this, context.input, context.init);
|
|
28
|
-
(0, monitor_1.callMonitored)(afterSend, null, [observable, responsePromise, context]);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
responsePromise = originalFetch.call(this, input, init);
|
|
32
|
-
}
|
|
33
|
-
return responsePromise;
|
|
34
|
-
};
|
|
35
|
-
}).stop;
|
|
22
|
+
var stop = (0, instrumentMethod_1.instrumentMethod)(window, 'fetch', function (call) { return beforeSend(call, observable); }).stop;
|
|
36
23
|
return stop;
|
|
37
24
|
});
|
|
38
|
-
return observable;
|
|
39
25
|
}
|
|
40
|
-
function beforeSend(
|
|
41
|
-
var
|
|
26
|
+
function beforeSend(_a, observable) {
|
|
27
|
+
var parameters = _a.parameters, onPostCall = _a.onPostCall;
|
|
28
|
+
var input = parameters[0], init = parameters[1];
|
|
29
|
+
var methodFromParams = init && init.method;
|
|
30
|
+
if (methodFromParams === undefined && input instanceof Request) {
|
|
31
|
+
methodFromParams = input.method;
|
|
32
|
+
}
|
|
33
|
+
var method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';
|
|
42
34
|
var url = input instanceof Request ? input.url : (0, urlPolyfill_1.normalizeUrl)(String(input));
|
|
43
35
|
var startClocks = (0, timeUtils_1.clocksNow)();
|
|
44
36
|
var context = {
|
|
@@ -50,7 +42,10 @@ function beforeSend(observable, input, init) {
|
|
|
50
42
|
url: url,
|
|
51
43
|
};
|
|
52
44
|
observable.notify(context);
|
|
53
|
-
|
|
45
|
+
// Those properties can be changed by observable subscribers
|
|
46
|
+
parameters[0] = context.input;
|
|
47
|
+
parameters[1] = context.init;
|
|
48
|
+
onPostCall(function (responsePromise) { return afterSend(observable, responsePromise, context); });
|
|
54
49
|
}
|
|
55
50
|
function afterSend(observable, responsePromise, startContext) {
|
|
56
51
|
var reportFetch = function (response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchObservable.js","sourceRoot":"","sources":["../../src/browser/fetchObservable.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"fetchObservable.js","sourceRoot":"","sources":["../../src/browser/fetchObservable.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,23 +13,23 @@ exports.PageExitReason = {
|
|
|
13
13
|
FROZEN: 'page_frozen',
|
|
14
14
|
};
|
|
15
15
|
function createPageExitObservable(configuration) {
|
|
16
|
-
|
|
16
|
+
return new observable_1.Observable(function (observable) {
|
|
17
17
|
var pagehideEnabled = (0, experimentalFeatures_1.isExperimentalFeatureEnabled)(experimentalFeatures_1.ExperimentalFeature.PAGEHIDE);
|
|
18
|
-
var stopListeners = (0, addEventListener_1.addEventListeners)(configuration, window, [
|
|
19
|
-
if (event.type ===
|
|
18
|
+
var stopListeners = (0, addEventListener_1.addEventListeners)(configuration, window, [addEventListener_1.DOM_EVENT.VISIBILITY_CHANGE, addEventListener_1.DOM_EVENT.FREEZE, addEventListener_1.DOM_EVENT.PAGE_HIDE], function (event) {
|
|
19
|
+
if (event.type === addEventListener_1.DOM_EVENT.PAGE_HIDE && pagehideEnabled) {
|
|
20
20
|
/**
|
|
21
21
|
* Only event that detect page unload events while being compatible with the back/forward cache (bfcache)
|
|
22
22
|
*/
|
|
23
23
|
observable.notify({ reason: exports.PageExitReason.PAGEHIDE });
|
|
24
24
|
}
|
|
25
|
-
else if (event.type ===
|
|
25
|
+
else if (event.type === addEventListener_1.DOM_EVENT.VISIBILITY_CHANGE && document.visibilityState === 'hidden') {
|
|
26
26
|
/**
|
|
27
27
|
* Only event that guarantee to fire on mobile devices when the page transitions to background state
|
|
28
28
|
* (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
|
|
29
29
|
*/
|
|
30
30
|
observable.notify({ reason: exports.PageExitReason.HIDDEN });
|
|
31
31
|
}
|
|
32
|
-
else if (event.type ===
|
|
32
|
+
else if (event.type === addEventListener_1.DOM_EVENT.FREEZE) {
|
|
33
33
|
/**
|
|
34
34
|
* After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)
|
|
35
35
|
* Allow to collect events happening between hidden and frozen state.
|
|
@@ -39,7 +39,7 @@ function createPageExitObservable(configuration) {
|
|
|
39
39
|
}, { capture: true }).stop;
|
|
40
40
|
var stopBeforeUnloadListener = functionUtils_1.noop;
|
|
41
41
|
if (!pagehideEnabled) {
|
|
42
|
-
stopBeforeUnloadListener = (0, addEventListener_1.addEventListener)(configuration, window,
|
|
42
|
+
stopBeforeUnloadListener = (0, addEventListener_1.addEventListener)(configuration, window, addEventListener_1.DOM_EVENT.BEFORE_UNLOAD, function () {
|
|
43
43
|
observable.notify({ reason: exports.PageExitReason.UNLOADING });
|
|
44
44
|
}).stop;
|
|
45
45
|
}
|
|
@@ -48,7 +48,6 @@ function createPageExitObservable(configuration) {
|
|
|
48
48
|
stopBeforeUnloadListener();
|
|
49
49
|
};
|
|
50
50
|
});
|
|
51
|
-
return observable;
|
|
52
51
|
}
|
|
53
52
|
exports.createPageExitObservable = createPageExitObservable;
|
|
54
53
|
function isPageExitReason(reason) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageExitObservable.ts"],"names":[],"mappings":";;;AAAA,sEAAiG;AACjG,kDAAgD;AAChD,sDAAiE;AACjE,8DAAmD;AAEnD,uDAAmF;AAEtE,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,SAAgB,wBAAwB,CAAC,aAA4B;IACnE,
|
|
1
|
+
{"version":3,"file":"pageExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageExitObservable.ts"],"names":[],"mappings":";;;AAAA,sEAAiG;AACjG,kDAAgD;AAChD,sDAAiE;AACjE,8DAAmD;AAEnD,uDAAmF;AAEtE,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,SAAgB,wBAAwB,CAAC,aAA4B;IACnE,OAAO,IAAI,uBAAU,CAAgB,UAAC,UAAU;QAC9C,IAAM,eAAe,GAAG,IAAA,mDAA4B,EAAC,0CAAmB,CAAC,QAAQ,CAAC,CAAA;QAC1E,IAAM,aAAa,GAAK,IAAA,oCAAiB,EAC/C,aAAa,EACb,MAAM,EACN,CAAC,4BAAS,CAAC,iBAAiB,EAAE,4BAAS,CAAC,MAAM,EAAE,4BAAS,CAAC,SAAS,CAAC,EACpE,UAAC,KAAK;YACJ,IAAI,KAAK,CAAC,IAAI,KAAK,4BAAS,CAAC,SAAS,IAAI,eAAe,EAAE,CAAC;gBAC1D;;mBAEG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,4BAAS,CAAC,iBAAiB,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC/F;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,4BAAS,CAAC,MAAM,EAAE,CAAC;gBAC3C;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,KAzB0B,CAyB1B;QAED,IAAI,wBAAwB,GAAG,oBAAI,CAAA;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,wBAAwB,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,EAAE,4BAAS,CAAC,aAAa,EAAE;gBAC1F,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,SAAS,EAAE,CAAC,CAAA;YACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QACT,CAAC;QAED,OAAO;YACL,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;QAC5B,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AA1CD,4DA0CC;AAED,SAAgB,gBAAgB,CAAC,MAA0B;IACzD,OAAO,IAAA,oBAAQ,EAAC,IAAA,wBAAY,EAAC,sBAAc,CAAC,EAAE,MAAM,CAAC,CAAA;AACvD,CAAC;AAFD,4CAEC"}
|
|
@@ -7,7 +7,7 @@ function runOnReadyState(configuration, expectedReadyState, callback) {
|
|
|
7
7
|
callback();
|
|
8
8
|
}
|
|
9
9
|
else {
|
|
10
|
-
var eventName = expectedReadyState === 'complete' ?
|
|
10
|
+
var eventName = expectedReadyState === 'complete' ? addEventListener_1.DOM_EVENT.LOAD : addEventListener_1.DOM_EVENT.DOM_CONTENT_LOADED;
|
|
11
11
|
(0, addEventListener_1.addEventListener)(configuration, window, eventName, callback, { once: true });
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runOnReadyState.js","sourceRoot":"","sources":["../../src/browser/runOnReadyState.ts"],"names":[],"mappings":";;;AACA,uDAAgE;AAEhE,SAAgB,eAAe,CAC7B,aAA4B,EAC5B,kBAA8C,EAC9C,QAAoB;IAEpB,IAAI,QAAQ,CAAC,UAAU,KAAK,kBAAkB,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"runOnReadyState.js","sourceRoot":"","sources":["../../src/browser/runOnReadyState.ts"],"names":[],"mappings":";;;AACA,uDAAgE;AAEhE,SAAgB,eAAe,CAC7B,aAA4B,EAC5B,kBAA8C,EAC9C,QAAoB;IAEpB,IAAI,QAAQ,CAAC,UAAU,KAAK,kBAAkB,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACrF,QAAQ,EAAE,CAAA;IACZ,CAAC;SAAM,CAAC;QACN,IAAM,SAAS,GAAG,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,4BAAS,CAAC,IAAI,CAAC,CAAC,CAAC,4BAAS,CAAC,kBAAkB,CAAA;QACnG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9E,CAAC;AACH,CAAC;AAXD,0CAWC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from '../tools/observable';
|
|
2
|
-
import type { Duration,
|
|
2
|
+
import type { Duration, ClocksState } from '../tools/utils/timeUtils';
|
|
3
3
|
import type { Configuration } from '../domain/configuration';
|
|
4
4
|
export interface XhrOpenContext {
|
|
5
5
|
state: 'open';
|
|
@@ -8,7 +8,6 @@ export interface XhrOpenContext {
|
|
|
8
8
|
}
|
|
9
9
|
export interface XhrStartContext extends Omit<XhrOpenContext, 'state'> {
|
|
10
10
|
state: 'start';
|
|
11
|
-
startTime: RelativeTime;
|
|
12
11
|
startClocks: ClocksState;
|
|
13
12
|
isAborted: boolean;
|
|
14
13
|
xhr: XMLHttpRequest;
|
|
@@ -17,56 +17,47 @@ function initXhrObservable(configuration) {
|
|
|
17
17
|
}
|
|
18
18
|
exports.initXhrObservable = initXhrObservable;
|
|
19
19
|
function createXhrObservable(configuration) {
|
|
20
|
-
|
|
21
|
-
var stopInstrumentingStart = (0, instrumentMethod_1.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var stopInstrumentingSend = (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(XMLHttpRequest.prototype, 'send', {
|
|
25
|
-
before: function () {
|
|
26
|
-
sendXhr.call(this, configuration, observable);
|
|
27
|
-
},
|
|
28
|
-
}).stop;
|
|
29
|
-
var stopInstrumentingAbort = (0, instrumentMethod_1.instrumentMethodAndCallOriginal)(XMLHttpRequest.prototype, 'abort', {
|
|
30
|
-
before: abortXhr,
|
|
20
|
+
return new observable_1.Observable(function (observable) {
|
|
21
|
+
var stopInstrumentingStart = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'open', openXhr).stop;
|
|
22
|
+
var stopInstrumentingSend = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'send', function (call) {
|
|
23
|
+
sendXhr(call, configuration, observable);
|
|
31
24
|
}).stop;
|
|
25
|
+
var stopInstrumentingAbort = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'abort', abortXhr).stop;
|
|
32
26
|
return function () {
|
|
33
27
|
stopInstrumentingStart();
|
|
34
28
|
stopInstrumentingSend();
|
|
35
29
|
stopInstrumentingAbort();
|
|
36
30
|
};
|
|
37
31
|
});
|
|
38
|
-
return observable;
|
|
39
32
|
}
|
|
40
|
-
function openXhr(
|
|
41
|
-
|
|
33
|
+
function openXhr(_a) {
|
|
34
|
+
var xhr = _a.target, _b = _a.parameters, method = _b[0], url = _b[1];
|
|
35
|
+
xhrContexts.set(xhr, {
|
|
42
36
|
state: 'open',
|
|
43
|
-
method: method,
|
|
37
|
+
method: String(method).toUpperCase(),
|
|
44
38
|
url: (0, urlPolyfill_1.normalizeUrl)(String(url)),
|
|
45
39
|
});
|
|
46
40
|
}
|
|
47
|
-
function sendXhr(configuration, observable) {
|
|
48
|
-
var
|
|
49
|
-
var context = xhrContexts.get(
|
|
41
|
+
function sendXhr(_a, configuration, observable) {
|
|
42
|
+
var xhr = _a.target;
|
|
43
|
+
var context = xhrContexts.get(xhr);
|
|
50
44
|
if (!context) {
|
|
51
45
|
return;
|
|
52
46
|
}
|
|
53
47
|
var startContext = context;
|
|
54
48
|
startContext.state = 'start';
|
|
55
|
-
startContext.startTime = (0, timeUtils_1.relativeNow)();
|
|
56
49
|
startContext.startClocks = (0, timeUtils_1.clocksNow)();
|
|
57
50
|
startContext.isAborted = false;
|
|
58
|
-
startContext.xhr =
|
|
51
|
+
startContext.xhr = xhr;
|
|
59
52
|
var hasBeenReported = false;
|
|
60
|
-
var stopInstrumentingOnReadyStateChange = (0, instrumentMethod_1.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
},
|
|
53
|
+
var stopInstrumentingOnReadyStateChange = (0, instrumentMethod_1.instrumentMethod)(xhr, 'onreadystatechange', function () {
|
|
54
|
+
if (xhr.readyState === XMLHttpRequest.DONE) {
|
|
55
|
+
// Try to report the XHR as soon as possible, because the XHR may be mutated by the
|
|
56
|
+
// application during a future event. For example, Angular is calling .abort() on
|
|
57
|
+
// completed requests during an onreadystatechange event, so the status becomes '0'
|
|
58
|
+
// before the request is collected.
|
|
59
|
+
onEnd();
|
|
60
|
+
}
|
|
70
61
|
}).stop;
|
|
71
62
|
var onEnd = function () {
|
|
72
63
|
unsubscribeLoadEndListener();
|
|
@@ -78,14 +69,15 @@ function sendXhr(configuration, observable) {
|
|
|
78
69
|
var completeContext = context;
|
|
79
70
|
completeContext.state = 'complete';
|
|
80
71
|
completeContext.duration = (0, timeUtils_1.elapsed)(startContext.startClocks.timeStamp, (0, timeUtils_1.timeStampNow)());
|
|
81
|
-
completeContext.status =
|
|
72
|
+
completeContext.status = xhr.status;
|
|
82
73
|
observable.notify((0, objectUtils_1.shallowClone)(completeContext));
|
|
83
74
|
};
|
|
84
|
-
var unsubscribeLoadEndListener = (0, addEventListener_1.addEventListener)(configuration,
|
|
75
|
+
var unsubscribeLoadEndListener = (0, addEventListener_1.addEventListener)(configuration, xhr, 'loadend', onEnd).stop;
|
|
85
76
|
observable.notify(startContext);
|
|
86
77
|
}
|
|
87
|
-
function abortXhr() {
|
|
88
|
-
var
|
|
78
|
+
function abortXhr(_a) {
|
|
79
|
+
var xhr = _a.target;
|
|
80
|
+
var context = xhrContexts.get(xhr);
|
|
89
81
|
if (context) {
|
|
90
82
|
context.isAborted = true;
|
|
91
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhrObservable.js","sourceRoot":"","sources":["../../src/browser/xhrObservable.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"xhrObservable.js","sourceRoot":"","sources":["../../src/browser/xhrObservable.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,28 +11,24 @@ export type DefaultPrivacyLevel = (typeof DefaultPrivacyLevel)[keyof typeof Defa
|
|
|
11
11
|
export interface InitConfiguration {
|
|
12
12
|
clientToken: string;
|
|
13
13
|
beforeSend?: GenericBeforeSendCallback | undefined;
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated use sessionSampleRate instead
|
|
16
|
-
*/
|
|
17
|
-
sampleRate?: number | undefined;
|
|
18
14
|
sessionSampleRate?: number | undefined;
|
|
19
15
|
telemetrySampleRate?: number | undefined;
|
|
20
16
|
silentMultipleInit?: boolean | undefined;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* @deprecated use `proxy` instead
|
|
26
|
-
*/
|
|
27
|
-
proxyUrl?: string | undefined;
|
|
17
|
+
allowFallbackToLocalStorage?: boolean | undefined;
|
|
18
|
+
allowUntrustedEvents?: boolean | undefined;
|
|
19
|
+
storeContextsAcrossPages?: boolean | undefined;
|
|
20
|
+
proxy?: string | ProxyFn | undefined;
|
|
28
21
|
site?: string | undefined;
|
|
29
22
|
service: string | undefined;
|
|
30
23
|
env: string | undefined;
|
|
31
24
|
version: string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated use usePartitionedCrossSiteSessionCookie instead
|
|
27
|
+
*/
|
|
32
28
|
useCrossSiteSessionCookie?: boolean | undefined;
|
|
29
|
+
usePartitionedCrossSiteSessionCookie?: boolean | undefined;
|
|
33
30
|
useSecureSessionCookie?: boolean | undefined;
|
|
34
31
|
trackSessionAcrossSubdomains?: boolean | undefined;
|
|
35
|
-
allowFallbackToLocalStorage?: boolean | undefined;
|
|
36
32
|
enableExperimentalFeatures?: string[] | undefined;
|
|
37
33
|
replica?: ReplicaUserConfiguration | undefined;
|
|
38
34
|
datacenter?: string;
|
|
@@ -43,6 +39,14 @@ export interface InitConfiguration {
|
|
|
43
39
|
insecureHTTP: boolean;
|
|
44
40
|
}
|
|
45
41
|
type GenericBeforeSendCallback = (event: any, context?: any) => unknown;
|
|
42
|
+
/**
|
|
43
|
+
* path: /api/vX/product
|
|
44
|
+
* parameters: xxx=yyy&zzz=aaa
|
|
45
|
+
*/
|
|
46
|
+
type ProxyFn = (options: {
|
|
47
|
+
path: string;
|
|
48
|
+
parameters: string;
|
|
49
|
+
}) => string;
|
|
46
50
|
interface ReplicaUserConfiguration {
|
|
47
51
|
applicationId?: string;
|
|
48
52
|
clientToken: string;
|
|
@@ -55,6 +59,7 @@ export interface Configuration extends TransportConfiguration {
|
|
|
55
59
|
telemetryConfigurationSampleRate: number;
|
|
56
60
|
service: string | undefined;
|
|
57
61
|
silentMultipleInit: boolean;
|
|
62
|
+
allowUntrustedEvents: boolean;
|
|
58
63
|
eventRateLimiterThreshold: number;
|
|
59
64
|
maxTelemetryEventsPerPage: number;
|
|
60
65
|
batchBytesLimit: number;
|
|
@@ -22,8 +22,7 @@ function validateAndBuildConfiguration(initConfiguration) {
|
|
|
22
22
|
display_1.display.error('Client Token is not configured, we will not send any data.');
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
if (sessionSampleRate !== undefined && !(0, numberUtils_1.isPercentage)(sessionSampleRate)) {
|
|
25
|
+
if (initConfiguration.sessionSampleRate !== undefined && !(0, numberUtils_1.isPercentage)(initConfiguration.sessionSampleRate)) {
|
|
27
26
|
display_1.display.error('Session Sample Rate should be a number between 0 and 100');
|
|
28
27
|
return;
|
|
29
28
|
}
|
|
@@ -45,11 +44,12 @@ function validateAndBuildConfiguration(initConfiguration) {
|
|
|
45
44
|
return (0, polyfills_1.assign)({
|
|
46
45
|
beforeSend: initConfiguration.beforeSend && (0, catchUserErrors_1.catchUserErrors)(initConfiguration.beforeSend, 'beforeSend threw an error:'),
|
|
47
46
|
sessionStoreStrategyType: (0, sessionStore_1.selectSessionStoreStrategyType)(initConfiguration),
|
|
48
|
-
sessionSampleRate: sessionSampleRate !== null &&
|
|
47
|
+
sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,
|
|
49
48
|
telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,
|
|
50
49
|
telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,
|
|
51
50
|
service: initConfiguration.service,
|
|
52
51
|
silentMultipleInit: !!initConfiguration.silentMultipleInit,
|
|
52
|
+
allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,
|
|
53
53
|
/**
|
|
54
54
|
* beacon payload max queue size implementation is 64kb
|
|
55
55
|
* ensure that we leave room for logs, rum and potential other users
|
|
@@ -74,21 +74,20 @@ function validateAndBuildConfiguration(initConfiguration) {
|
|
|
74
74
|
}
|
|
75
75
|
exports.validateAndBuildConfiguration = validateAndBuildConfiguration;
|
|
76
76
|
function serializeConfiguration(initConfiguration) {
|
|
77
|
-
var _a, _b;
|
|
78
|
-
var proxy = (_a = initConfiguration.proxy) !== null && _a !== void 0 ? _a : initConfiguration.proxyUrl;
|
|
79
77
|
return {
|
|
80
|
-
session_sample_rate:
|
|
78
|
+
session_sample_rate: initConfiguration.sessionSampleRate,
|
|
81
79
|
telemetry_sample_rate: initConfiguration.telemetrySampleRate,
|
|
82
80
|
telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,
|
|
83
81
|
use_before_send: !!initConfiguration.beforeSend,
|
|
84
82
|
use_cross_site_session_cookie: initConfiguration.useCrossSiteSessionCookie,
|
|
83
|
+
use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,
|
|
85
84
|
use_secure_session_cookie: initConfiguration.useSecureSessionCookie,
|
|
86
|
-
use_proxy:
|
|
85
|
+
use_proxy: !!initConfiguration.proxy,
|
|
87
86
|
silent_multiple_init: initConfiguration.silentMultipleInit,
|
|
88
87
|
track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
|
|
89
|
-
track_resources: initConfiguration.trackResources,
|
|
90
|
-
track_long_task: initConfiguration.trackLongTasks,
|
|
91
88
|
allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,
|
|
89
|
+
store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
|
|
90
|
+
allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
|
|
92
91
|
};
|
|
93
92
|
}
|
|
94
93
|
exports.serializeConfiguration = serializeConfiguration;
|