@pratham.raval/browser-core 6.22.3
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 +3 -0
- package/cjs/boot/displayAlreadyInitializedError.d.ts +2 -0
- package/cjs/boot/displayAlreadyInitializedError.js +10 -0
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -0
- package/cjs/boot/init.d.ts +14 -0
- package/cjs/boot/init.js +39 -0
- package/cjs/boot/init.js.map +1 -0
- package/cjs/browser/addEventListener.d.ts +87 -0
- package/cjs/browser/addEventListener.js +55 -0
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/browser.types.d.ts +51 -0
- package/cjs/browser/browser.types.js +6 -0
- package/cjs/browser/browser.types.js.map +1 -0
- package/cjs/browser/cookie.d.ts +18 -0
- package/cjs/browser/cookie.js +101 -0
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +25 -0
- package/cjs/browser/fetchObservable.js +79 -0
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/pageMayExitObservable.d.ts +14 -0
- package/cjs/browser/pageMayExitObservable.js +45 -0
- package/cjs/browser/pageMayExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.d.ts +5 -0
- package/cjs/browser/runOnReadyState.js +20 -0
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/xhrObservable.d.ts +23 -0
- package/cjs/browser/xhrObservable.js +83 -0
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/domain/allowedTrackingOrigins.d.ts +4 -0
- package/cjs/domain/allowedTrackingOrigins.js +25 -0
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -0
- package/cjs/domain/bufferedData.d.ts +14 -0
- package/cjs/domain/bufferedData.js +22 -0
- package/cjs/domain/bufferedData.js.map +1 -0
- package/cjs/domain/configuration/configuration.d.ts +303 -0
- package/cjs/domain/configuration/configuration.js +152 -0
- package/cjs/domain/configuration/configuration.js.map +1 -0
- package/cjs/domain/configuration/endpointBuilder.d.ts +12 -0
- package/cjs/domain/configuration/endpointBuilder.js +78 -0
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
- package/cjs/domain/configuration/index.d.ts +5 -0
- package/cjs/domain/configuration/index.js +16 -0
- package/cjs/domain/configuration/index.js.map +1 -0
- package/cjs/domain/configuration/transportConfiguration.d.ts +20 -0
- package/cjs/domain/configuration/transportConfiguration.js +54 -0
- package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
- package/cjs/domain/connectivity/connectivity.d.ts +14 -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/connectivity/index.js +18 -0
- package/cjs/domain/connectivity/index.js.map +1 -0
- package/cjs/domain/console/consoleObservable.d.ts +21 -0
- package/cjs/domain/console/consoleObservable.js +84 -0
- package/cjs/domain/console/consoleObservable.js.map +1 -0
- package/cjs/domain/context/contextConstants.d.ts +21 -0
- package/cjs/domain/context/contextConstants.js +18 -0
- package/cjs/domain/context/contextConstants.js.map +1 -0
- package/cjs/domain/context/contextManager.d.ts +19 -0
- package/cjs/domain/context/contextManager.js +60 -0
- package/cjs/domain/context/contextManager.js.map +1 -0
- package/cjs/domain/context/contextUtils.d.ts +5 -0
- package/cjs/domain/context/contextUtils.js +16 -0
- package/cjs/domain/context/contextUtils.js.map +1 -0
- package/cjs/domain/context/defineContextMethod.d.ts +6 -0
- package/cjs/domain/context/defineContextMethod.js +21 -0
- package/cjs/domain/context/defineContextMethod.js.map +1 -0
- package/cjs/domain/context/storeContextManager.d.ts +6 -0
- package/cjs/domain/context/storeContextManager.js +40 -0
- package/cjs/domain/context/storeContextManager.js.map +1 -0
- package/cjs/domain/contexts/accountContext.d.ts +26 -0
- package/cjs/domain/contexts/accountContext.js +33 -0
- package/cjs/domain/contexts/accountContext.js.map +1 -0
- package/cjs/domain/contexts/globalContext.d.ts +18 -0
- package/cjs/domain/contexts/globalContext.js +21 -0
- package/cjs/domain/contexts/globalContext.js.map +1 -0
- package/cjs/domain/contexts/rumInternalContext.type.d.ts +14 -0
- package/cjs/domain/contexts/rumInternalContext.type.js +3 -0
- package/cjs/domain/contexts/rumInternalContext.type.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +29 -0
- package/cjs/domain/contexts/userContext.js +45 -0
- package/cjs/domain/contexts/userContext.js.map +1 -0
- package/cjs/domain/deflate/deflate.types.d.ts +40 -0
- package/cjs/domain/deflate/deflate.types.js +3 -0
- package/cjs/domain/deflate/deflate.types.js.map +1 -0
- package/cjs/domain/deflate/index.d.ts +1 -0
- package/cjs/domain/deflate/index.js +18 -0
- package/cjs/domain/deflate/index.js.map +1 -0
- package/cjs/domain/error/error.d.ts +23 -0
- package/cjs/domain/error/error.js +74 -0
- package/cjs/domain/error/error.js.map +1 -0
- package/cjs/domain/error/error.types.d.ts +47 -0
- package/cjs/domain/error/error.types.js +13 -0
- package/cjs/domain/error/error.types.js.map +1 -0
- package/cjs/domain/error/trackRuntimeError.d.ts +11 -0
- package/cjs/domain/error/trackRuntimeError.js +48 -0
- package/cjs/domain/error/trackRuntimeError.js.map +1 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +39 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
- package/cjs/domain/extension/extensionUtils.d.ts +10 -0
- package/cjs/domain/extension/extensionUtils.js +30 -0
- package/cjs/domain/extension/extensionUtils.js.map +1 -0
- package/cjs/domain/intakeSites.d.ts +8 -0
- package/cjs/domain/intakeSites.js +11 -0
- package/cjs/domain/intakeSites.js.map +1 -0
- package/cjs/domain/report/browser.types.d.ts +34 -0
- package/cjs/domain/report/browser.types.js +3 -0
- package/cjs/domain/report/browser.types.js.map +1 -0
- package/cjs/domain/report/reportObservable.d.ts +14 -0
- package/cjs/domain/report/reportObservable.js +99 -0
- package/cjs/domain/report/reportObservable.js.map +1 -0
- package/cjs/domain/resourceUtils.d.ts +18 -0
- package/cjs/domain/resourceUtils.js +20 -0
- package/cjs/domain/resourceUtils.js.map +1 -0
- package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
- package/cjs/domain/session/oldCookiesMigration.js +40 -0
- package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +15 -0
- package/cjs/domain/session/sessionConstants.js +16 -0
- package/cjs/domain/session/sessionConstants.js.map +1 -0
- package/cjs/domain/session/sessionManager.d.ts +28 -0
- package/cjs/domain/session/sessionManager.js +185 -0
- package/cjs/domain/session/sessionManager.js.map +1 -0
- package/cjs/domain/session/sessionState.d.ts +16 -0
- package/cjs/domain/session/sessionState.js +76 -0
- package/cjs/domain/session/sessionState.js.map +1 -0
- package/cjs/domain/session/sessionStateValidation.d.ts +3 -0
- package/cjs/domain/session/sessionStateValidation.js +11 -0
- package/cjs/domain/session/sessionStateValidation.js.map +1 -0
- package/cjs/domain/session/sessionStore.d.ts +38 -0
- package/cjs/domain/session/sessionStore.js +181 -0
- package/cjs/domain/session/sessionStore.js.map +1 -0
- package/cjs/domain/session/sessionStoreOperations.d.ts +12 -0
- package/cjs/domain/session/sessionStoreOperations.js +119 -0
- package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +8 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +56 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +4 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +41 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +31 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/domain/tags.d.ts +6 -0
- package/cjs/domain/tags.js +67 -0
- package/cjs/domain/tags.js.map +1 -0
- package/cjs/domain/telemetry/index.d.ts +4 -0
- package/cjs/domain/telemetry/index.js +28 -0
- package/cjs/domain/telemetry/index.js.map +1 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +9 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
- package/cjs/domain/telemetry/telemetry.d.ts +56 -0
- package/cjs/domain/telemetry/telemetry.js +248 -0
- package/cjs/domain/telemetry/telemetry.js.map +1 -0
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +858 -0
- package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
- package/cjs/domain/trackingConsent.d.ts +13 -0
- package/cjs/domain/trackingConsent.js +28 -0
- package/cjs/domain/trackingConsent.js.map +1 -0
- package/cjs/index.d.ts +100 -0
- package/cjs/index.js +193 -0
- package/cjs/index.js.map +1 -0
- package/cjs/tools/abstractHooks.d.ts +24 -0
- package/cjs/tools/abstractHooks.js +41 -0
- package/cjs/tools/abstractHooks.js.map +1 -0
- package/cjs/tools/abstractLifeCycle.d.ts +23 -0
- package/cjs/tools/abstractLifeCycle.js +28 -0
- package/cjs/tools/abstractLifeCycle.js.map +1 -0
- package/cjs/tools/boundedBuffer.d.ts +16 -0
- package/cjs/tools/boundedBuffer.js +32 -0
- package/cjs/tools/boundedBuffer.js.map +1 -0
- package/cjs/tools/catchUserErrors.d.ts +1 -0
- package/cjs/tools/catchUserErrors.js +15 -0
- package/cjs/tools/catchUserErrors.js.map +1 -0
- package/cjs/tools/display.d.ts +38 -0
- package/cjs/tools/display.js +44 -0
- package/cjs/tools/display.js.map +1 -0
- package/cjs/tools/encoder.d.ts +54 -0
- package/cjs/tools/encoder.js +40 -0
- package/cjs/tools/encoder.js.map +1 -0
- package/cjs/tools/experimentalFeatures.d.ts +20 -0
- package/cjs/tools/experimentalFeatures.js +49 -0
- package/cjs/tools/experimentalFeatures.js.map +1 -0
- package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
- package/cjs/tools/getZoneJsOriginalValue.js +29 -0
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/tools/globalObject.d.ts +19 -0
- package/cjs/tools/globalObject.js +44 -0
- package/cjs/tools/globalObject.js.map +1 -0
- package/cjs/tools/instrumentMethod.d.ts +75 -0
- package/cjs/tools/instrumentMethod.js +118 -0
- package/cjs/tools/instrumentMethod.js.map +1 -0
- package/cjs/tools/matchOption.d.ts +8 -0
- package/cjs/tools/matchOption.js +35 -0
- package/cjs/tools/matchOption.js.map +1 -0
- package/cjs/tools/mergeInto.d.ts +25 -0
- package/cjs/tools/mergeInto.js +98 -0
- package/cjs/tools/mergeInto.js.map +1 -0
- package/cjs/tools/monitor.d.ts +9 -0
- package/cjs/tools/monitor.js +62 -0
- package/cjs/tools/monitor.js.map +1 -0
- package/cjs/tools/observable.d.ts +30 -0
- package/cjs/tools/observable.js +89 -0
- package/cjs/tools/observable.js.map +1 -0
- package/cjs/tools/queueMicrotask.d.ts +1 -0
- package/cjs/tools/queueMicrotask.js +17 -0
- package/cjs/tools/queueMicrotask.js.map +1 -0
- package/cjs/tools/readBytesFromStream.d.ts +11 -0
- package/cjs/tools/readBytesFromStream.js +63 -0
- package/cjs/tools/readBytesFromStream.js.map +1 -0
- package/cjs/tools/requestIdleCallback.d.ts +12 -0
- package/cjs/tools/requestIdleCallback.js +35 -0
- package/cjs/tools/requestIdleCallback.js.map +1 -0
- package/cjs/tools/sendToExtension.d.ts +3 -0
- package/cjs/tools/sendToExtension.js +11 -0
- package/cjs/tools/sendToExtension.js.map +1 -0
- package/cjs/tools/serialisation/context.d.ts +9 -0
- package/cjs/tools/serialisation/context.js +3 -0
- package/cjs/tools/serialisation/context.js.map +1 -0
- package/cjs/tools/serialisation/jsonStringify.d.ts +13 -0
- package/cjs/tools/serialisation/jsonStringify.js +48 -0
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
- package/cjs/tools/serialisation/sanitize.d.ts +18 -0
- package/cjs/tools/serialisation/sanitize.js +188 -0
- package/cjs/tools/serialisation/sanitize.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.d.ts +25 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +187 -0
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -0
- package/cjs/tools/stackTrace/handlingStack.d.ts +10 -0
- package/cjs/tools/stackTrace/handlingStack.js +46 -0
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -0
- package/cjs/tools/taskQueue.d.ts +15 -0
- package/cjs/tools/taskQueue.js +54 -0
- package/cjs/tools/taskQueue.js.map +1 -0
- package/cjs/tools/timer.d.ts +5 -0
- package/cjs/tools/timer.js +22 -0
- package/cjs/tools/timer.js.map +1 -0
- package/cjs/tools/utils/arrayUtils.d.ts +3 -0
- package/cjs/tools/utils/arrayUtils.js +20 -0
- package/cjs/tools/utils/arrayUtils.js.map +1 -0
- package/cjs/tools/utils/browserDetection.d.ts +8 -0
- package/cjs/tools/utils/browserDetection.js +33 -0
- package/cjs/tools/utils/browserDetection.js.map +1 -0
- package/cjs/tools/utils/byteUtils.d.ts +8 -0
- package/cjs/tools/utils/byteUtils.js +30 -0
- package/cjs/tools/utils/byteUtils.js.map +1 -0
- package/cjs/tools/utils/functionUtils.d.ts +8 -0
- package/cjs/tools/utils/functionUtils.js +43 -0
- package/cjs/tools/utils/functionUtils.js.map +1 -0
- package/cjs/tools/utils/numberUtils.d.ts +9 -0
- package/cjs/tools/utils/numberUtils.js +24 -0
- package/cjs/tools/utils/numberUtils.js.map +1 -0
- package/cjs/tools/utils/objectUtils.d.ts +10 -0
- package/cjs/tools/utils/objectUtils.js +23 -0
- package/cjs/tools/utils/objectUtils.js.map +1 -0
- package/cjs/tools/utils/polyfills.d.ts +7 -0
- package/cjs/tools/utils/polyfills.js +23 -0
- package/cjs/tools/utils/polyfills.js.map +1 -0
- package/cjs/tools/utils/responseUtils.d.ts +2 -0
- package/cjs/tools/utils/responseUtils.js +17 -0
- package/cjs/tools/utils/responseUtils.js.map +1 -0
- package/cjs/tools/utils/stringUtils.d.ts +8 -0
- package/cjs/tools/utils/stringUtils.js +55 -0
- package/cjs/tools/utils/stringUtils.js.map +1 -0
- package/cjs/tools/utils/timeUtils.d.ts +53 -0
- package/cjs/tools/utils/timeUtils.js +101 -0
- package/cjs/tools/utils/timeUtils.js.map +1 -0
- package/cjs/tools/utils/timezone.d.ts +1 -0
- package/cjs/tools/utils/timezone.js +13 -0
- package/cjs/tools/utils/timezone.js.map +1 -0
- package/cjs/tools/utils/typeUtils.d.ts +4 -0
- package/cjs/tools/utils/typeUtils.js +16 -0
- package/cjs/tools/utils/typeUtils.js.map +1 -0
- package/cjs/tools/utils/urlPolyfill.d.ts +5 -0
- package/cjs/tools/utils/urlPolyfill.js +59 -0
- package/cjs/tools/utils/urlPolyfill.js.map +1 -0
- package/cjs/tools/valueHistory.d.ts +27 -0
- package/cjs/tools/valueHistory.js +104 -0
- package/cjs/tools/valueHistory.js.map +1 -0
- package/cjs/transport/batch.d.ts +16 -0
- package/cjs/transport/batch.js +108 -0
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.d.ts +21 -0
- package/cjs/transport/eventBridge.js +46 -0
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.d.ts +58 -0
- package/cjs/transport/flushController.js +109 -0
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.d.ts +51 -0
- package/cjs/transport/httpRequest.js +80 -0
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.d.ts +7 -0
- package/cjs/transport/index.js +14 -0
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.d.ts +41 -0
- package/cjs/transport/sendWithRetryStrategy.js +163 -0
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/boot/displayAlreadyInitializedError.d.ts +2 -0
- package/esm/boot/displayAlreadyInitializedError.js +7 -0
- package/esm/boot/displayAlreadyInitializedError.js.map +1 -0
- package/esm/boot/init.d.ts +14 -0
- package/esm/boot/init.js +35 -0
- package/esm/boot/init.js.map +1 -0
- package/esm/browser/addEventListener.d.ts +87 -0
- package/esm/browser/addEventListener.js +51 -0
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/browser.types.d.ts +51 -0
- package/esm/browser/browser.types.js +5 -0
- package/esm/browser/browser.types.js.map +1 -0
- package/esm/browser/cookie.d.ts +18 -0
- package/esm/browser/cookie.js +91 -0
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.d.ts +25 -0
- package/esm/browser/fetchObservable.js +75 -0
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/pageMayExitObservable.d.ts +14 -0
- package/esm/browser/pageMayExitObservable.js +40 -0
- package/esm/browser/pageMayExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.d.ts +5 -0
- package/esm/browser/runOnReadyState.js +16 -0
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/xhrObservable.d.ts +23 -0
- package/esm/browser/xhrObservable.js +80 -0
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/domain/allowedTrackingOrigins.d.ts +4 -0
- package/esm/domain/allowedTrackingOrigins.js +21 -0
- package/esm/domain/allowedTrackingOrigins.js.map +1 -0
- package/esm/domain/bufferedData.d.ts +14 -0
- package/esm/domain/bufferedData.js +19 -0
- package/esm/domain/bufferedData.js.map +1 -0
- package/esm/domain/configuration/configuration.d.ts +303 -0
- package/esm/domain/configuration/configuration.js +146 -0
- package/esm/domain/configuration/configuration.js.map +1 -0
- package/esm/domain/configuration/endpointBuilder.d.ts +12 -0
- package/esm/domain/configuration/endpointBuilder.js +74 -0
- package/esm/domain/configuration/endpointBuilder.js.map +1 -0
- package/esm/domain/configuration/index.d.ts +5 -0
- package/esm/domain/configuration/index.js +4 -0
- package/esm/domain/configuration/index.js.map +1 -0
- package/esm/domain/configuration/transportConfiguration.d.ts +20 -0
- package/esm/domain/configuration/transportConfiguration.js +50 -0
- package/esm/domain/configuration/transportConfiguration.js.map +1 -0
- package/esm/domain/connectivity/connectivity.d.ts +14 -0
- package/esm/domain/connectivity/connectivity.js +11 -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.d.ts +21 -0
- package/esm/domain/console/consoleObservable.js +80 -0
- package/esm/domain/console/consoleObservable.js.map +1 -0
- package/esm/domain/context/contextConstants.d.ts +21 -0
- package/esm/domain/context/contextConstants.js +15 -0
- package/esm/domain/context/contextConstants.js.map +1 -0
- package/esm/domain/context/contextManager.d.ts +19 -0
- package/esm/domain/context/contextManager.js +57 -0
- package/esm/domain/context/contextManager.js.map +1 -0
- package/esm/domain/context/contextUtils.d.ts +5 -0
- package/esm/domain/context/contextUtils.js +13 -0
- package/esm/domain/context/contextUtils.js.map +1 -0
- package/esm/domain/context/defineContextMethod.d.ts +6 -0
- package/esm/domain/context/defineContextMethod.js +17 -0
- package/esm/domain/context/defineContextMethod.js.map +1 -0
- package/esm/domain/context/storeContextManager.d.ts +6 -0
- package/esm/domain/context/storeContextManager.js +35 -0
- package/esm/domain/context/storeContextManager.js.map +1 -0
- package/esm/domain/contexts/accountContext.d.ts +26 -0
- package/esm/domain/contexts/accountContext.js +29 -0
- package/esm/domain/contexts/accountContext.js.map +1 -0
- package/esm/domain/contexts/globalContext.d.ts +18 -0
- package/esm/domain/contexts/globalContext.js +17 -0
- package/esm/domain/contexts/globalContext.js.map +1 -0
- package/esm/domain/contexts/rumInternalContext.type.d.ts +14 -0
- package/esm/domain/contexts/rumInternalContext.type.js +2 -0
- package/esm/domain/contexts/rumInternalContext.type.js.map +1 -0
- package/esm/domain/contexts/userContext.d.ts +29 -0
- package/esm/domain/contexts/userContext.js +41 -0
- package/esm/domain/contexts/userContext.js.map +1 -0
- package/esm/domain/deflate/deflate.types.d.ts +40 -0
- package/esm/domain/deflate/deflate.types.js +2 -0
- package/esm/domain/deflate/deflate.types.js.map +1 -0
- package/esm/domain/deflate/index.d.ts +1 -0
- package/esm/domain/deflate/index.js +2 -0
- package/esm/domain/deflate/index.js.map +1 -0
- package/esm/domain/error/error.d.ts +23 -0
- package/esm/domain/error/error.js +65 -0
- package/esm/domain/error/error.js.map +1 -0
- package/esm/domain/error/error.types.d.ts +47 -0
- package/esm/domain/error/error.types.js +10 -0
- package/esm/domain/error/error.types.js.map +1 -0
- package/esm/domain/error/trackRuntimeError.d.ts +11 -0
- package/esm/domain/error/trackRuntimeError.js +43 -0
- package/esm/domain/error/trackRuntimeError.js.map +1 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js +36 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
- package/esm/domain/extension/extensionUtils.d.ts +10 -0
- package/esm/domain/extension/extensionUtils.js +25 -0
- package/esm/domain/extension/extensionUtils.js.map +1 -0
- package/esm/domain/intakeSites.d.ts +8 -0
- package/esm/domain/intakeSites.js +8 -0
- package/esm/domain/intakeSites.js.map +1 -0
- package/esm/domain/report/browser.types.d.ts +34 -0
- package/esm/domain/report/browser.types.js +2 -0
- package/esm/domain/report/browser.types.js.map +1 -0
- package/esm/domain/report/reportObservable.d.ts +14 -0
- package/esm/domain/report/reportObservable.js +95 -0
- package/esm/domain/report/reportObservable.js.map +1 -0
- package/esm/domain/resourceUtils.d.ts +18 -0
- package/esm/domain/resourceUtils.js +17 -0
- package/esm/domain/resourceUtils.js.map +1 -0
- package/esm/domain/session/oldCookiesMigration.d.ts +11 -0
- package/esm/domain/session/oldCookiesMigration.js +36 -0
- package/esm/domain/session/oldCookiesMigration.js.map +1 -0
- package/esm/domain/session/sessionConstants.d.ts +15 -0
- package/esm/domain/session/sessionConstants.js +13 -0
- package/esm/domain/session/sessionConstants.js.map +1 -0
- package/esm/domain/session/sessionManager.d.ts +28 -0
- package/esm/domain/session/sessionManager.js +180 -0
- package/esm/domain/session/sessionManager.js.map +1 -0
- package/esm/domain/session/sessionState.d.ts +16 -0
- package/esm/domain/session/sessionState.js +66 -0
- package/esm/domain/session/sessionState.js.map +1 -0
- package/esm/domain/session/sessionStateValidation.d.ts +3 -0
- package/esm/domain/session/sessionStateValidation.js +7 -0
- package/esm/domain/session/sessionStateValidation.js.map +1 -0
- package/esm/domain/session/sessionStore.d.ts +38 -0
- package/esm/domain/session/sessionStore.js +175 -0
- package/esm/domain/session/sessionStore.js.map +1 -0
- package/esm/domain/session/sessionStoreOperations.d.ts +12 -0
- package/esm/domain/session/sessionStoreOperations.js +114 -0
- package/esm/domain/session/sessionStoreOperations.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +8 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.js +50 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +4 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +37 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +2 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.js +24 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/domain/tags.d.ts +6 -0
- package/esm/domain/tags.js +60 -0
- package/esm/domain/tags.js.map +1 -0
- package/esm/domain/telemetry/index.d.ts +4 -0
- package/esm/domain/telemetry/index.js +3 -0
- package/esm/domain/telemetry/index.js.map +1 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.js +6 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
- package/esm/domain/telemetry/telemetry.d.ts +56 -0
- package/esm/domain/telemetry/telemetry.js +235 -0
- package/esm/domain/telemetry/telemetry.js.map +1 -0
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +858 -0
- package/esm/domain/telemetry/telemetryEvent.types.js +6 -0
- package/esm/domain/telemetry/telemetryEvent.types.js.map +1 -0
- package/esm/domain/trackingConsent.d.ts +13 -0
- package/esm/domain/trackingConsent.js +24 -0
- package/esm/domain/trackingConsent.js.map +1 -0
- package/esm/index.d.ts +100 -0
- package/esm/index.js +76 -0
- package/esm/index.js.map +1 -0
- package/esm/tools/abstractHooks.d.ts +24 -0
- package/esm/tools/abstractHooks.js +37 -0
- package/esm/tools/abstractHooks.js.map +1 -0
- package/esm/tools/abstractLifeCycle.d.ts +23 -0
- package/esm/tools/abstractLifeCycle.js +24 -0
- package/esm/tools/abstractLifeCycle.js.map +1 -0
- package/esm/tools/boundedBuffer.d.ts +16 -0
- package/esm/tools/boundedBuffer.js +29 -0
- package/esm/tools/boundedBuffer.js.map +1 -0
- package/esm/tools/catchUserErrors.d.ts +1 -0
- package/esm/tools/catchUserErrors.js +12 -0
- package/esm/tools/catchUserErrors.js.map +1 -0
- package/esm/tools/display.d.ts +38 -0
- package/esm/tools/display.js +41 -0
- package/esm/tools/display.js.map +1 -0
- package/esm/tools/encoder.d.ts +54 -0
- package/esm/tools/encoder.js +37 -0
- package/esm/tools/encoder.js.map +1 -0
- package/esm/tools/experimentalFeatures.d.ts +20 -0
- package/esm/tools/experimentalFeatures.js +41 -0
- package/esm/tools/experimentalFeatures.js.map +1 -0
- package/esm/tools/getZoneJsOriginalValue.d.ts +19 -0
- package/esm/tools/getZoneJsOriginalValue.js +26 -0
- package/esm/tools/getZoneJsOriginalValue.js.map +1 -0
- package/esm/tools/globalObject.d.ts +19 -0
- package/esm/tools/globalObject.js +40 -0
- package/esm/tools/globalObject.js.map +1 -0
- package/esm/tools/instrumentMethod.d.ts +75 -0
- package/esm/tools/instrumentMethod.js +114 -0
- package/esm/tools/instrumentMethod.js.map +1 -0
- package/esm/tools/matchOption.d.ts +8 -0
- package/esm/tools/matchOption.js +31 -0
- package/esm/tools/matchOption.js.map +1 -0
- package/esm/tools/mergeInto.d.ts +25 -0
- package/esm/tools/mergeInto.js +93 -0
- package/esm/tools/mergeInto.js.map +1 -0
- package/esm/tools/monitor.d.ts +9 -0
- package/esm/tools/monitor.js +52 -0
- package/esm/tools/monitor.js.map +1 -0
- package/esm/tools/observable.d.ts +30 -0
- package/esm/tools/observable.js +83 -0
- package/esm/tools/observable.js.map +1 -0
- package/esm/tools/queueMicrotask.d.ts +1 -0
- package/esm/tools/queueMicrotask.js +14 -0
- package/esm/tools/queueMicrotask.js.map +1 -0
- package/esm/tools/readBytesFromStream.d.ts +11 -0
- package/esm/tools/readBytesFromStream.js +60 -0
- package/esm/tools/readBytesFromStream.js.map +1 -0
- package/esm/tools/requestIdleCallback.d.ts +12 -0
- package/esm/tools/requestIdleCallback.js +30 -0
- package/esm/tools/requestIdleCallback.js.map +1 -0
- package/esm/tools/sendToExtension.d.ts +3 -0
- package/esm/tools/sendToExtension.js +8 -0
- package/esm/tools/sendToExtension.js.map +1 -0
- package/esm/tools/serialisation/context.d.ts +9 -0
- package/esm/tools/serialisation/context.js +2 -0
- package/esm/tools/serialisation/context.js.map +1 -0
- package/esm/tools/serialisation/jsonStringify.d.ts +13 -0
- package/esm/tools/serialisation/jsonStringify.js +44 -0
- package/esm/tools/serialisation/jsonStringify.js.map +1 -0
- package/esm/tools/serialisation/sanitize.d.ts +18 -0
- package/esm/tools/serialisation/sanitize.js +185 -0
- package/esm/tools/serialisation/sanitize.js.map +1 -0
- package/esm/tools/stackTrace/computeStackTrace.d.ts +25 -0
- package/esm/tools/stackTrace/computeStackTrace.js +183 -0
- package/esm/tools/stackTrace/computeStackTrace.js.map +1 -0
- package/esm/tools/stackTrace/handlingStack.d.ts +10 -0
- package/esm/tools/stackTrace/handlingStack.js +41 -0
- package/esm/tools/stackTrace/handlingStack.js.map +1 -0
- package/esm/tools/taskQueue.d.ts +15 -0
- package/esm/tools/taskQueue.js +50 -0
- package/esm/tools/taskQueue.js.map +1 -0
- package/esm/tools/timer.d.ts +5 -0
- package/esm/tools/timer.js +16 -0
- package/esm/tools/timer.js.map +1 -0
- package/esm/tools/utils/arrayUtils.d.ts +3 -0
- package/esm/tools/utils/arrayUtils.js +15 -0
- package/esm/tools/utils/arrayUtils.js.map +1 -0
- package/esm/tools/utils/browserDetection.d.ts +8 -0
- package/esm/tools/utils/browserDetection.js +28 -0
- package/esm/tools/utils/browserDetection.js.map +1 -0
- package/esm/tools/utils/byteUtils.d.ts +8 -0
- package/esm/tools/utils/byteUtils.js +25 -0
- package/esm/tools/utils/byteUtils.js.map +1 -0
- package/esm/tools/utils/functionUtils.d.ts +8 -0
- package/esm/tools/utils/functionUtils.js +39 -0
- package/esm/tools/utils/functionUtils.js.map +1 -0
- package/esm/tools/utils/numberUtils.d.ts +9 -0
- package/esm/tools/utils/numberUtils.js +18 -0
- package/esm/tools/utils/numberUtils.js.map +1 -0
- package/esm/tools/utils/objectUtils.d.ts +10 -0
- package/esm/tools/utils/objectUtils.js +17 -0
- package/esm/tools/utils/objectUtils.js.map +1 -0
- package/esm/tools/utils/polyfills.d.ts +7 -0
- package/esm/tools/utils/polyfills.js +18 -0
- package/esm/tools/utils/polyfills.js.map +1 -0
- package/esm/tools/utils/responseUtils.d.ts +2 -0
- package/esm/tools/utils/responseUtils.js +13 -0
- package/esm/tools/utils/responseUtils.js.map +1 -0
- package/esm/tools/utils/stringUtils.d.ts +8 -0
- package/esm/tools/utils/stringUtils.js +49 -0
- package/esm/tools/utils/stringUtils.js.map +1 -0
- package/esm/tools/utils/timeUtils.d.ts +53 -0
- package/esm/tools/utils/timeUtils.js +84 -0
- package/esm/tools/utils/timeUtils.js.map +1 -0
- package/esm/tools/utils/timezone.d.ts +1 -0
- package/esm/tools/utils/timezone.js +10 -0
- package/esm/tools/utils/timezone.js.map +1 -0
- package/esm/tools/utils/typeUtils.d.ts +4 -0
- package/esm/tools/utils/typeUtils.js +13 -0
- package/esm/tools/utils/typeUtils.js.map +1 -0
- package/esm/tools/utils/urlPolyfill.d.ts +5 -0
- package/esm/tools/utils/urlPolyfill.js +52 -0
- package/esm/tools/utils/urlPolyfill.js.map +1 -0
- package/esm/tools/valueHistory.d.ts +27 -0
- package/esm/tools/valueHistory.js +100 -0
- package/esm/tools/valueHistory.js.map +1 -0
- package/esm/transport/batch.d.ts +16 -0
- package/esm/transport/batch.js +105 -0
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.d.ts +21 -0
- package/esm/transport/eventBridge.js +41 -0
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.d.ts +58 -0
- package/esm/transport/flushController.js +106 -0
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.d.ts +51 -0
- package/esm/transport/httpRequest.js +75 -0
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.d.ts +7 -0
- package/esm/transport/index.js +5 -0
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.d.ts +41 -0
- package/esm/transport/sendWithRetryStrategy.js +158 -0
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/package.json +31 -0
- package/src/boot/displayAlreadyInitializedError.ts +8 -0
- package/src/boot/init.ts +55 -0
- package/src/browser/addEventListener.ts +145 -0
- package/src/browser/browser.types.ts +82 -0
- package/src/browser/cookie.ts +107 -0
- package/src/browser/fetchObservable.ts +127 -0
- package/src/browser/pageMayExitObservable.ts +56 -0
- package/src/browser/runOnReadyState.ts +25 -0
- package/src/browser/xhrObservable.ts +130 -0
- package/src/domain/allowedTrackingOrigins.ts +30 -0
- package/src/domain/bufferedData.ts +32 -0
- package/src/domain/configuration/configuration.ts +472 -0
- package/src/domain/configuration/endpointBuilder.ts +119 -0
- package/src/domain/configuration/index.ts +11 -0
- package/src/domain/configuration/transportConfiguration.ts +78 -0
- package/src/domain/connectivity/connectivity.ts +31 -0
- package/src/domain/connectivity/index.ts +1 -0
- package/src/domain/console/consoleObservable.ts +118 -0
- package/src/domain/context/contextConstants.ts +27 -0
- package/src/domain/context/contextManager.ts +85 -0
- package/src/domain/context/contextUtils.ts +14 -0
- package/src/domain/context/defineContextMethod.ts +31 -0
- package/src/domain/context/storeContextManager.ts +55 -0
- package/src/domain/contexts/accountContext.ts +47 -0
- package/src/domain/contexts/globalContext.ts +30 -0
- package/src/domain/contexts/rumInternalContext.type.ts +15 -0
- package/src/domain/contexts/userContext.ts +64 -0
- package/src/domain/deflate/deflate.types.ts +57 -0
- package/src/domain/deflate/index.ts +1 -0
- package/src/domain/error/error.ts +103 -0
- package/src/domain/error/error.types.ts +64 -0
- package/src/domain/error/trackRuntimeError.ts +50 -0
- package/src/domain/eventRateLimiter/createEventRateLimiter.ts +46 -0
- package/src/domain/extension/extensionUtils.ts +28 -0
- package/src/domain/intakeSites.ts +17 -0
- package/src/domain/report/browser.types.ts +38 -0
- package/src/domain/report/reportObservable.ts +133 -0
- package/src/domain/resourceUtils.ts +21 -0
- package/src/domain/session/README.md +193 -0
- package/src/domain/session/oldCookiesMigration.ts +42 -0
- package/src/domain/session/sessionConstants.ts +19 -0
- package/src/domain/session/sessionManager.ts +244 -0
- package/src/domain/session/sessionState.ts +88 -0
- package/src/domain/session/sessionStateValidation.ts +9 -0
- package/src/domain/session/sessionStore.ts +244 -0
- package/src/domain/session/sessionStoreOperations.ts +131 -0
- package/src/domain/session/storeStrategies/sessionInCookie.ts +85 -0
- package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +44 -0
- package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +16 -0
- package/src/domain/synthetics/syntheticsWorkerValues.ts +38 -0
- package/src/domain/tags.ts +76 -0
- package/src/domain/telemetry/index.ts +22 -0
- package/src/domain/telemetry/rawTelemetryEvent.types.ts +22 -0
- package/src/domain/telemetry/telemetry.ts +345 -0
- package/src/domain/telemetry/telemetryEvent.types.ts +899 -0
- package/src/domain/trackingConsent.ts +34 -0
- package/src/index.ts +164 -0
- package/src/tools/abstractHooks.ts +72 -0
- package/src/tools/abstractLifeCycle.ts +46 -0
- package/src/tools/boundedBuffer.ts +45 -0
- package/src/tools/catchUserErrors.ts +11 -0
- package/src/tools/display.ts +56 -0
- package/src/tools/encoder.ts +103 -0
- package/src/tools/experimentalFeatures.ts +51 -0
- package/src/tools/getZoneJsOriginalValue.ts +38 -0
- package/src/tools/globalObject.ts +51 -0
- package/src/tools/instrumentMethod.ts +170 -0
- package/src/tools/matchOption.ts +31 -0
- package/src/tools/mergeInto.ts +177 -0
- package/src/tools/monitor.ts +72 -0
- package/src/tools/observable.ts +104 -0
- package/src/tools/queueMicrotask.ts +13 -0
- package/src/tools/readBytesFromStream.ts +77 -0
- package/src/tools/requestIdleCallback.ts +40 -0
- package/src/tools/sendToExtension.ts +14 -0
- package/src/tools/serialisation/context.ts +11 -0
- package/src/tools/serialisation/jsonStringify.ts +53 -0
- package/src/tools/serialisation/sanitize.ts +273 -0
- package/src/tools/stackTrace/computeStackTrace.ts +250 -0
- package/src/tools/stackTrace/handlingStack.ts +48 -0
- package/src/tools/taskQueue.ts +63 -0
- package/src/tools/timer.ts +21 -0
- package/src/tools/utils/arrayUtils.ts +15 -0
- package/src/tools/utils/browserDetection.ts +39 -0
- package/src/tools/utils/byteUtils.ts +35 -0
- package/src/tools/utils/functionUtils.ts +45 -0
- package/src/tools/utils/numberUtils.ts +20 -0
- package/src/tools/utils/objectUtils.ts +19 -0
- package/src/tools/utils/polyfills.ts +23 -0
- package/src/tools/utils/responseUtils.ts +12 -0
- package/src/tools/utils/stringUtils.ts +52 -0
- package/src/tools/utils/timeUtils.ts +117 -0
- package/src/tools/utils/timezone.ts +9 -0
- package/src/tools/utils/typeUtils.ts +12 -0
- package/src/tools/utils/urlPolyfill.ts +56 -0
- package/src/tools/valueHistory.ts +151 -0
- package/src/transport/batch.ts +144 -0
- package/src/transport/eventBridge.ts +61 -0
- package/src/transport/flushController.ts +144 -0
- package/src/transport/httpRequest.ts +164 -0
- package/src/transport/index.ts +7 -0
- package/src/transport/sendWithRetryStrategy.ts +222 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Observable } from '../tools/observable';
|
|
2
|
+
import type { Duration, ClocksState } from '../tools/utils/timeUtils';
|
|
3
|
+
import type { Configuration } from '../domain/configuration';
|
|
4
|
+
export interface XhrOpenContext {
|
|
5
|
+
state: 'open';
|
|
6
|
+
method: string;
|
|
7
|
+
url: string;
|
|
8
|
+
}
|
|
9
|
+
export interface XhrStartContext extends Omit<XhrOpenContext, 'state'> {
|
|
10
|
+
state: 'start';
|
|
11
|
+
startClocks: ClocksState;
|
|
12
|
+
isAborted: boolean;
|
|
13
|
+
xhr: XMLHttpRequest;
|
|
14
|
+
handlingStack?: string;
|
|
15
|
+
body?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {
|
|
18
|
+
state: 'complete';
|
|
19
|
+
duration: Duration;
|
|
20
|
+
status: number;
|
|
21
|
+
}
|
|
22
|
+
export type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext;
|
|
23
|
+
export declare function initXhrObservable(configuration: Configuration): Observable<XhrContext>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initXhrObservable = initXhrObservable;
|
|
4
|
+
const instrumentMethod_1 = require("../tools/instrumentMethod");
|
|
5
|
+
const observable_1 = require("../tools/observable");
|
|
6
|
+
const timeUtils_1 = require("../tools/utils/timeUtils");
|
|
7
|
+
const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
|
|
8
|
+
const objectUtils_1 = require("../tools/utils/objectUtils");
|
|
9
|
+
const addEventListener_1 = require("./addEventListener");
|
|
10
|
+
let xhrObservable;
|
|
11
|
+
const xhrContexts = new WeakMap();
|
|
12
|
+
function initXhrObservable(configuration) {
|
|
13
|
+
if (!xhrObservable) {
|
|
14
|
+
xhrObservable = createXhrObservable(configuration);
|
|
15
|
+
}
|
|
16
|
+
return xhrObservable;
|
|
17
|
+
}
|
|
18
|
+
function createXhrObservable(configuration) {
|
|
19
|
+
return new observable_1.Observable((observable) => {
|
|
20
|
+
const { stop: stopInstrumentingStart } = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'open', openXhr);
|
|
21
|
+
const { stop: stopInstrumentingSend } = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'send', (call) => {
|
|
22
|
+
sendXhr(call, configuration, observable);
|
|
23
|
+
}, { computeHandlingStack: true });
|
|
24
|
+
const { stop: stopInstrumentingAbort } = (0, instrumentMethod_1.instrumentMethod)(XMLHttpRequest.prototype, 'abort', abortXhr);
|
|
25
|
+
return () => {
|
|
26
|
+
stopInstrumentingStart();
|
|
27
|
+
stopInstrumentingSend();
|
|
28
|
+
stopInstrumentingAbort();
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function openXhr({ target: xhr, parameters: [method, url] }) {
|
|
33
|
+
xhrContexts.set(xhr, {
|
|
34
|
+
state: 'open',
|
|
35
|
+
method: String(method).toUpperCase(),
|
|
36
|
+
url: (0, urlPolyfill_1.normalizeUrl)(String(url)),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function sendXhr({ target: xhr, parameters: [body], handlingStack }, configuration, observable) {
|
|
40
|
+
const context = xhrContexts.get(xhr);
|
|
41
|
+
if (!context) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const startContext = context;
|
|
45
|
+
startContext.state = 'start';
|
|
46
|
+
startContext.startClocks = (0, timeUtils_1.clocksNow)();
|
|
47
|
+
startContext.isAborted = false;
|
|
48
|
+
startContext.xhr = xhr;
|
|
49
|
+
startContext.handlingStack = handlingStack;
|
|
50
|
+
startContext.body = body;
|
|
51
|
+
let hasBeenReported = false;
|
|
52
|
+
const { stop: stopInstrumentingOnReadyStateChange } = (0, instrumentMethod_1.instrumentMethod)(xhr, 'onreadystatechange', () => {
|
|
53
|
+
if (xhr.readyState === XMLHttpRequest.DONE) {
|
|
54
|
+
// Try to report the XHR as soon as possible, because the XHR may be mutated by the
|
|
55
|
+
// application during a future event. For example, Angular is calling .abort() on
|
|
56
|
+
// completed requests during an onreadystatechange event, so the status becomes '0'
|
|
57
|
+
// before the request is collected.
|
|
58
|
+
onEnd();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const onEnd = () => {
|
|
62
|
+
unsubscribeLoadEndListener();
|
|
63
|
+
stopInstrumentingOnReadyStateChange();
|
|
64
|
+
if (hasBeenReported) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
hasBeenReported = true;
|
|
68
|
+
const completeContext = context;
|
|
69
|
+
completeContext.state = 'complete';
|
|
70
|
+
completeContext.duration = (0, timeUtils_1.elapsed)(startContext.startClocks.timeStamp, (0, timeUtils_1.timeStampNow)());
|
|
71
|
+
completeContext.status = xhr.status;
|
|
72
|
+
observable.notify((0, objectUtils_1.shallowClone)(completeContext));
|
|
73
|
+
};
|
|
74
|
+
const { stop: unsubscribeLoadEndListener } = (0, addEventListener_1.addEventListener)(configuration, xhr, 'loadend', onEnd);
|
|
75
|
+
observable.notify(startContext);
|
|
76
|
+
}
|
|
77
|
+
function abortXhr({ target: xhr }) {
|
|
78
|
+
const context = xhrContexts.get(xhr);
|
|
79
|
+
if (context) {
|
|
80
|
+
context.isAborted = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=xhrObservable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xhrObservable.js","sourceRoot":"","sources":["../../src/browser/xhrObservable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { InitConfiguration } from './configuration';
|
|
2
|
+
export declare const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = "Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.";
|
|
3
|
+
export declare const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = "SDK initialized on a non-allowed domain.";
|
|
4
|
+
export declare function isAllowedTrackingOrigins(configuration: InitConfiguration, errorStack: string, windowOrigin?: string): boolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = void 0;
|
|
4
|
+
exports.isAllowedTrackingOrigins = isAllowedTrackingOrigins;
|
|
5
|
+
const display_1 = require("../tools/display");
|
|
6
|
+
const matchOption_1 = require("../tools/matchOption");
|
|
7
|
+
const extensionUtils_1 = require("./extension/extensionUtils");
|
|
8
|
+
exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = 'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.';
|
|
9
|
+
exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.';
|
|
10
|
+
function isAllowedTrackingOrigins(configuration, errorStack, windowOrigin = typeof location !== 'undefined' ? location.origin : '') {
|
|
11
|
+
const allowedTrackingOrigins = configuration.allowedTrackingOrigins;
|
|
12
|
+
if (!allowedTrackingOrigins) {
|
|
13
|
+
if ((0, extensionUtils_1.isUnsupportedExtensionEnvironment)(windowOrigin, errorStack)) {
|
|
14
|
+
display_1.display.error(exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN);
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
const isAllowed = (0, matchOption_1.matchList)(allowedTrackingOrigins, windowOrigin);
|
|
20
|
+
if (!isAllowed) {
|
|
21
|
+
display_1.display.error(exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN);
|
|
22
|
+
}
|
|
23
|
+
return isAllowed;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=allowedTrackingOrigins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allowedTrackingOrigins.js","sourceRoot":"","sources":["../../src/domain/allowedTrackingOrigins.ts"],"names":[],"mappings":";;;AASA,4DAoBC;AA7BD,8CAA0C;AAC1C,sDAAgD;AAEhD,+DAA8E;AAEjE,QAAA,2CAA2C,GACtD,gIAAgI,CAAA;AACrH,QAAA,iCAAiC,GAAG,0CAA0C,CAAA;AAE3F,SAAgB,wBAAwB,CACtC,aAAgC,EAChC,UAAkB,EAClB,YAAY,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;IAErE,MAAM,sBAAsB,GAAG,aAAa,CAAC,sBAAsB,CAAA;IACnE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,IAAI,IAAA,kDAAiC,EAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;YAChE,iBAAO,CAAC,KAAK,CAAC,mDAA2C,CAAC,CAAA;YAE1D,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,uBAAS,EAAC,sBAAsB,EAAE,YAAY,CAAC,CAAA;IACjE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,iBAAO,CAAC,KAAK,CAAC,yCAAiC,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BufferedObservable } from '../tools/observable';
|
|
2
|
+
import type { RawError } from './error/error.types';
|
|
3
|
+
import { trackRuntimeError } from './error/trackRuntimeError';
|
|
4
|
+
export declare const enum BufferedDataType {
|
|
5
|
+
RUNTIME_ERROR = 0
|
|
6
|
+
}
|
|
7
|
+
export interface BufferedData {
|
|
8
|
+
type: BufferedDataType.RUNTIME_ERROR;
|
|
9
|
+
error: RawError;
|
|
10
|
+
}
|
|
11
|
+
export declare function startBufferingData(trackRuntimeErrorImpl?: typeof trackRuntimeError): {
|
|
12
|
+
observable: BufferedObservable<BufferedData>;
|
|
13
|
+
stop: () => void;
|
|
14
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startBufferingData = startBufferingData;
|
|
4
|
+
const observable_1 = require("../tools/observable");
|
|
5
|
+
const trackRuntimeError_1 = require("./error/trackRuntimeError");
|
|
6
|
+
const BUFFER_LIMIT = 500;
|
|
7
|
+
function startBufferingData(trackRuntimeErrorImpl = trackRuntimeError_1.trackRuntimeError) {
|
|
8
|
+
const observable = new observable_1.BufferedObservable(BUFFER_LIMIT);
|
|
9
|
+
const runtimeErrorSubscription = trackRuntimeErrorImpl().subscribe((error) => {
|
|
10
|
+
observable.notify({
|
|
11
|
+
type: 0 /* BufferedDataType.RUNTIME_ERROR */,
|
|
12
|
+
error,
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
observable,
|
|
17
|
+
stop: () => {
|
|
18
|
+
runtimeErrorSubscription.unsubscribe();
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=bufferedData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferedData.js","sourceRoot":"","sources":["../../src/domain/bufferedData.ts"],"names":[],"mappings":";;AAeA,gDAgBC;AA/BD,oDAAwD;AAExD,iEAA6D;AAE7D,MAAM,YAAY,GAAG,GAAG,CAAA;AAWxB,SAAgB,kBAAkB,CAAC,qBAAqB,GAAG,qCAAiB;IAC1E,MAAM,UAAU,GAAG,IAAI,+BAAkB,CAAe,YAAY,CAAC,CAAA;IAErE,MAAM,wBAAwB,GAAG,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3E,UAAU,CAAC,MAAM,CAAC;YAChB,IAAI,wCAAgC;YACpC,KAAK;SACN,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,UAAU;QACV,IAAI,EAAE,GAAG,EAAE;YACT,wBAAwB,CAAC,WAAW,EAAE,CAAA;QACxC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import type { Duration } from '../../tools/utils/timeUtils';
|
|
2
|
+
import type { SessionStoreStrategyType } from '../session/storeStrategies/sessionStoreStrategy';
|
|
3
|
+
import { TrackingConsent } from '../trackingConsent';
|
|
4
|
+
import type { SessionPersistence } from '../session/sessionConstants';
|
|
5
|
+
import type { MatchOption } from '../../tools/matchOption';
|
|
6
|
+
import type { Site } from '../intakeSites';
|
|
7
|
+
import type { TransportConfiguration } from './transportConfiguration';
|
|
8
|
+
/**
|
|
9
|
+
* Default privacy level for the browser SDK.
|
|
10
|
+
*
|
|
11
|
+
* [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DefaultPrivacyLevel: {
|
|
14
|
+
readonly ALLOW: "allow";
|
|
15
|
+
readonly MASK: "mask";
|
|
16
|
+
readonly MASK_USER_INPUT: "mask-user-input";
|
|
17
|
+
readonly MASK_UNLESS_ALLOWLISTED: "mask-unless-allowlisted";
|
|
18
|
+
};
|
|
19
|
+
export type DefaultPrivacyLevel = (typeof DefaultPrivacyLevel)[keyof typeof DefaultPrivacyLevel];
|
|
20
|
+
/**
|
|
21
|
+
* Trace context injection option.
|
|
22
|
+
*
|
|
23
|
+
* See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
|
|
24
|
+
*/
|
|
25
|
+
export declare const TraceContextInjection: {
|
|
26
|
+
readonly ALL: "all";
|
|
27
|
+
readonly SAMPLED: "sampled";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Trace context injection option.
|
|
31
|
+
*
|
|
32
|
+
* See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
export type TraceContextInjection = (typeof TraceContextInjection)[keyof typeof TraceContextInjection];
|
|
36
|
+
export interface InitConfiguration {
|
|
37
|
+
/**
|
|
38
|
+
* The client token for Datadog. Required for authenticating your application with Datadog.
|
|
39
|
+
*
|
|
40
|
+
* @category Authentication
|
|
41
|
+
*/
|
|
42
|
+
clientToken: string;
|
|
43
|
+
/**
|
|
44
|
+
* A callback function that can be used to modify events before they are sent to Datadog.
|
|
45
|
+
*
|
|
46
|
+
* @category Data Collection
|
|
47
|
+
*/
|
|
48
|
+
beforeSend?: GenericBeforeSendCallback | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* The percentage of sessions tracked. A value between 0 and 100.
|
|
51
|
+
*
|
|
52
|
+
* @category Data Collection
|
|
53
|
+
* @defaultValue 100
|
|
54
|
+
*/
|
|
55
|
+
sessionSampleRate?: number | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* The percentage of telemetry events sent. A value between 0 and 100.
|
|
58
|
+
*
|
|
59
|
+
* @category Data Collection
|
|
60
|
+
* @defaultValue 20
|
|
61
|
+
*/
|
|
62
|
+
telemetrySampleRate?: number | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Initialization fails silently if the RUM Browser SDK is already initialized on the page.
|
|
65
|
+
*
|
|
66
|
+
* @defaultValue false
|
|
67
|
+
*/
|
|
68
|
+
silentMultipleInit?: boolean | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Which storage strategy to use for persisting sessions. Can be either 'cookie' or 'local-storage'.
|
|
71
|
+
*
|
|
72
|
+
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
73
|
+
*
|
|
74
|
+
* @category Session Persistence
|
|
75
|
+
* @defaultValue "cookie"
|
|
76
|
+
*/
|
|
77
|
+
sessionPersistence?: SessionPersistence | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Allows the use of localStorage when cookies cannot be set. This enables the RUM Browser SDK to run in environments that do not provide cookie support.
|
|
80
|
+
*
|
|
81
|
+
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
82
|
+
* See [Monitor Electron Applications Using the Browser SDK](https://docs.datadoghq.com/real_user_monitoring/guide/monitor-electron-applications-using-browser-sdk) for further information.
|
|
83
|
+
*
|
|
84
|
+
* @category Session Persistence
|
|
85
|
+
* @deprecated use `sessionPersistence: local-storage` where you want to use localStorage instead
|
|
86
|
+
*/
|
|
87
|
+
allowFallbackToLocalStorage?: boolean | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Allow listening to DOM events dispatched programmatically ([untrusted events](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted)). Enabling this option can be useful if you heavily rely on programmatic events, such as in an automated UI test environment.
|
|
90
|
+
*
|
|
91
|
+
* @defaultValue false
|
|
92
|
+
*/
|
|
93
|
+
allowUntrustedEvents?: boolean | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Store global context and user context in localStorage to preserve them along the user navigation.
|
|
96
|
+
* See [Contexts life cycle](https://docs.datadoghq.com/real_user_monitoring/browser/advanced_configuration/?tab=npm#contexts-life-cycle) for further information.
|
|
97
|
+
*
|
|
98
|
+
* @defaultValue false
|
|
99
|
+
*/
|
|
100
|
+
storeContextsAcrossPages?: boolean | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Set the initial user tracking consent state.
|
|
103
|
+
* See [User tracking consent](https://docs.datadoghq.com/real_user_monitoring/browser/advanced_configuration/?tab=npm#user-tracking-consent) for further information.
|
|
104
|
+
*
|
|
105
|
+
* @category Privacy
|
|
106
|
+
* @defaultValue granted
|
|
107
|
+
*/
|
|
108
|
+
trackingConsent?: TrackingConsent | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* List of origins where the SDK is allowed to run when used in a browser extension context.
|
|
111
|
+
* Matches urls against the extensions origin.
|
|
112
|
+
* If not provided and the SDK is running in a browser extension, the SDK will not run.
|
|
113
|
+
*/
|
|
114
|
+
allowedTrackingOrigins?: MatchOption[] | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Optional proxy URL, for example: https://www.proxy.com/path.
|
|
117
|
+
* See [Proxy Your Browser RUM Data](https://docs.datadoghq.com/real_user_monitoring/guide/proxy-rum-data) for further information.
|
|
118
|
+
*
|
|
119
|
+
* @category Transport
|
|
120
|
+
*/
|
|
121
|
+
proxy?: string | ProxyFn | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* The Datadog [site](https://docs.datadoghq.com/getting_started/site) parameter of your organization.
|
|
124
|
+
*
|
|
125
|
+
* @category Transport
|
|
126
|
+
* @defaultValue datadoghq.com
|
|
127
|
+
*/
|
|
128
|
+
site?: Site | undefined;
|
|
129
|
+
/**
|
|
130
|
+
* The service name for your application. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).
|
|
131
|
+
*
|
|
132
|
+
* @category Data Collection
|
|
133
|
+
*/
|
|
134
|
+
service?: string | undefined | null;
|
|
135
|
+
/**
|
|
136
|
+
* The application’s environment, for example: prod, pre-prod, and staging. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).
|
|
137
|
+
*
|
|
138
|
+
* @category Data Collection
|
|
139
|
+
*/
|
|
140
|
+
env?: string | undefined | null;
|
|
141
|
+
/**
|
|
142
|
+
* The application’s version, for example: 1.2.3, 6c44da20, and 2020.02.13. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).
|
|
143
|
+
*
|
|
144
|
+
* @category Data Collection
|
|
145
|
+
*/
|
|
146
|
+
version?: string | undefined | null;
|
|
147
|
+
/**
|
|
148
|
+
* Use a partitioned secure cross-site session cookie. This allows the RUM Browser SDK to run when the site is loaded from another one (iframe). Implies `useSecureSessionCookie`.
|
|
149
|
+
*
|
|
150
|
+
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
151
|
+
*
|
|
152
|
+
* @category Session Persistence
|
|
153
|
+
* @defaultValue false
|
|
154
|
+
*/
|
|
155
|
+
usePartitionedCrossSiteSessionCookie?: boolean | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Use a secure session cookie. This disables RUM events sent on insecure (non-HTTPS) connections.
|
|
158
|
+
*
|
|
159
|
+
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
160
|
+
*
|
|
161
|
+
* @category Session Persistence
|
|
162
|
+
* @defaultValue false
|
|
163
|
+
*/
|
|
164
|
+
useSecureSessionCookie?: boolean | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* Preserve the session across subdomains for the same site.
|
|
167
|
+
*
|
|
168
|
+
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
169
|
+
*
|
|
170
|
+
* @category Session Persistence
|
|
171
|
+
* @defaultValue false
|
|
172
|
+
*/
|
|
173
|
+
trackSessionAcrossSubdomains?: boolean | undefined;
|
|
174
|
+
/**
|
|
175
|
+
* Track anonymous user for the same site and extend cookie expiration date
|
|
176
|
+
*
|
|
177
|
+
* @category Data Collection
|
|
178
|
+
* @defaultValue true
|
|
179
|
+
*/
|
|
180
|
+
trackAnonymousUser?: boolean | undefined;
|
|
181
|
+
/**
|
|
182
|
+
* [Internal option] Enable experimental features
|
|
183
|
+
*
|
|
184
|
+
* @internal
|
|
185
|
+
*/
|
|
186
|
+
enableExperimentalFeatures?: string[] | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* [Internal option] Configure the dual shipping to another datacenter
|
|
189
|
+
*
|
|
190
|
+
* @internal
|
|
191
|
+
*/
|
|
192
|
+
replica?: ReplicaUserConfiguration | undefined;
|
|
193
|
+
/**
|
|
194
|
+
* [Internal option] Set the datacenter from where the data is dual shipped
|
|
195
|
+
*
|
|
196
|
+
* @internal
|
|
197
|
+
*/
|
|
198
|
+
datacenter?: string;
|
|
199
|
+
/**
|
|
200
|
+
* [Internal option] Datadog internal analytics subdomain
|
|
201
|
+
*
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
internalAnalyticsSubdomain?: string;
|
|
205
|
+
/**
|
|
206
|
+
* [Internal option] The percentage of telemetry configuration sent. A value between 0 and 100.
|
|
207
|
+
*
|
|
208
|
+
* @internal
|
|
209
|
+
* @defaultValue 5
|
|
210
|
+
*/
|
|
211
|
+
telemetryConfigurationSampleRate?: number;
|
|
212
|
+
/**
|
|
213
|
+
* [Internal option] The percentage of telemetry usage sent. A value between 0 and 100.
|
|
214
|
+
*
|
|
215
|
+
* @internal
|
|
216
|
+
* @defaultValue 5
|
|
217
|
+
*/
|
|
218
|
+
telemetryUsageSampleRate?: number;
|
|
219
|
+
/**
|
|
220
|
+
* [Internal option] Additional configuration for the SDK.
|
|
221
|
+
*
|
|
222
|
+
* @internal
|
|
223
|
+
*/
|
|
224
|
+
source?: 'browser' | 'flutter' | 'unity' | undefined;
|
|
225
|
+
/**
|
|
226
|
+
* [Internal option] Additional configuration for the SDK.
|
|
227
|
+
*
|
|
228
|
+
* @internal
|
|
229
|
+
*/
|
|
230
|
+
sdkVersion?: string | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* [Internal option] Additional configuration for the SDK.
|
|
233
|
+
*
|
|
234
|
+
* @internal
|
|
235
|
+
*/
|
|
236
|
+
variant?: string | undefined;
|
|
237
|
+
}
|
|
238
|
+
type GenericBeforeSendCallback = (event: any, context?: any) => unknown;
|
|
239
|
+
/**
|
|
240
|
+
* path: /api/vX/product
|
|
241
|
+
* parameters: xxx=yyy&zzz=aaa
|
|
242
|
+
*/
|
|
243
|
+
export type ProxyFn = (options: {
|
|
244
|
+
path: string;
|
|
245
|
+
parameters: string;
|
|
246
|
+
}) => string;
|
|
247
|
+
/**
|
|
248
|
+
* @internal
|
|
249
|
+
*/
|
|
250
|
+
export interface ReplicaUserConfiguration {
|
|
251
|
+
applicationId?: string;
|
|
252
|
+
clientToken: string;
|
|
253
|
+
}
|
|
254
|
+
export interface Configuration extends TransportConfiguration {
|
|
255
|
+
beforeSend: GenericBeforeSendCallback | undefined;
|
|
256
|
+
sessionStoreStrategyType: SessionStoreStrategyType | undefined;
|
|
257
|
+
sessionSampleRate: number;
|
|
258
|
+
telemetrySampleRate: number;
|
|
259
|
+
telemetryConfigurationSampleRate: number;
|
|
260
|
+
telemetryUsageSampleRate: number;
|
|
261
|
+
service?: string | undefined;
|
|
262
|
+
version?: string | undefined;
|
|
263
|
+
env?: string | undefined;
|
|
264
|
+
silentMultipleInit: boolean;
|
|
265
|
+
allowUntrustedEvents: boolean;
|
|
266
|
+
trackingConsent: TrackingConsent;
|
|
267
|
+
storeContextsAcrossPages: boolean;
|
|
268
|
+
trackAnonymousUser?: boolean;
|
|
269
|
+
eventRateLimiterThreshold: number;
|
|
270
|
+
maxTelemetryEventsPerPage: number;
|
|
271
|
+
batchBytesLimit: number;
|
|
272
|
+
flushTimeout: Duration;
|
|
273
|
+
batchMessagesLimit: number;
|
|
274
|
+
messageBytesLimit: number;
|
|
275
|
+
sdkVersion: string | undefined;
|
|
276
|
+
source: 'browser' | 'flutter' | 'unity';
|
|
277
|
+
variant: string | undefined;
|
|
278
|
+
}
|
|
279
|
+
export declare function isSampleRate(sampleRate: unknown, name: string): boolean;
|
|
280
|
+
export declare function validateAndBuildConfiguration(initConfiguration: InitConfiguration, errorStack?: string): Configuration | undefined;
|
|
281
|
+
export declare function serializeConfiguration(initConfiguration: InitConfiguration): {
|
|
282
|
+
session_sample_rate: number | undefined;
|
|
283
|
+
telemetry_sample_rate: number | undefined;
|
|
284
|
+
telemetry_configuration_sample_rate: number | undefined;
|
|
285
|
+
telemetry_usage_sample_rate: number | undefined;
|
|
286
|
+
use_before_send: boolean;
|
|
287
|
+
use_partitioned_cross_site_session_cookie: boolean | undefined;
|
|
288
|
+
use_secure_session_cookie: boolean | undefined;
|
|
289
|
+
use_proxy: boolean;
|
|
290
|
+
silent_multiple_init: boolean | undefined;
|
|
291
|
+
track_session_across_subdomains: boolean | undefined;
|
|
292
|
+
track_anonymous_user: boolean | undefined;
|
|
293
|
+
session_persistence: SessionPersistence | undefined;
|
|
294
|
+
allow_fallback_to_local_storage: boolean;
|
|
295
|
+
store_contexts_across_pages: boolean;
|
|
296
|
+
allow_untrusted_events: boolean;
|
|
297
|
+
tracking_consent: TrackingConsent | undefined;
|
|
298
|
+
use_allowed_tracking_origins: boolean;
|
|
299
|
+
source: "browser" | "flutter" | "unity" | undefined;
|
|
300
|
+
sdk_version: string | undefined;
|
|
301
|
+
variant: string | undefined;
|
|
302
|
+
};
|
|
303
|
+
export {};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TraceContextInjection = exports.DefaultPrivacyLevel = void 0;
|
|
4
|
+
exports.isSampleRate = isSampleRate;
|
|
5
|
+
exports.validateAndBuildConfiguration = validateAndBuildConfiguration;
|
|
6
|
+
exports.serializeConfiguration = serializeConfiguration;
|
|
7
|
+
const catchUserErrors_1 = require("../../tools/catchUserErrors");
|
|
8
|
+
const display_1 = require("../../tools/display");
|
|
9
|
+
const timeUtils_1 = require("../../tools/utils/timeUtils");
|
|
10
|
+
const numberUtils_1 = require("../../tools/utils/numberUtils");
|
|
11
|
+
const byteUtils_1 = require("../../tools/utils/byteUtils");
|
|
12
|
+
const objectUtils_1 = require("../../tools/utils/objectUtils");
|
|
13
|
+
const sessionStore_1 = require("../session/sessionStore");
|
|
14
|
+
const trackingConsent_1 = require("../trackingConsent");
|
|
15
|
+
const allowedTrackingOrigins_1 = require("../allowedTrackingOrigins");
|
|
16
|
+
const globalObject_1 = require("../../tools/globalObject");
|
|
17
|
+
const transportConfiguration_1 = require("./transportConfiguration");
|
|
18
|
+
/**
|
|
19
|
+
* Default privacy level for the browser SDK.
|
|
20
|
+
*
|
|
21
|
+
* [Replay Privacy Options](https://docs.datadoghq.com/real_user_monitoring/session_replay/browser/privacy_options) for further information.
|
|
22
|
+
*/
|
|
23
|
+
exports.DefaultPrivacyLevel = {
|
|
24
|
+
ALLOW: 'allow',
|
|
25
|
+
MASK: 'mask',
|
|
26
|
+
MASK_USER_INPUT: 'mask-user-input',
|
|
27
|
+
MASK_UNLESS_ALLOWLISTED: 'mask-unless-allowlisted',
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Trace context injection option.
|
|
31
|
+
*
|
|
32
|
+
* See [Connect RUM and Traces](https://docs.datadoghq.com/real_user_monitoring/platform/connect_rum_and_traces/?tab=browserrum) for further information.
|
|
33
|
+
*/
|
|
34
|
+
exports.TraceContextInjection = {
|
|
35
|
+
ALL: 'all',
|
|
36
|
+
SAMPLED: 'sampled',
|
|
37
|
+
};
|
|
38
|
+
function isString(tag, tagName) {
|
|
39
|
+
if (tag !== undefined && tag !== null && typeof tag !== 'string') {
|
|
40
|
+
display_1.display.error(`${tagName} must be defined as a string`);
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
function isDatadogSite(site) {
|
|
46
|
+
if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {
|
|
47
|
+
display_1.display.error(`Site should be a valid Datadog site. ${display_1.MORE_DETAILS} ${display_1.DOCS_ORIGIN}/getting_started/site/.`);
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
function isSampleRate(sampleRate, name) {
|
|
53
|
+
if (sampleRate !== undefined && !(0, numberUtils_1.isPercentage)(sampleRate)) {
|
|
54
|
+
display_1.display.error(`${name} Sample Rate should be a number between 0 and 100`);
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
function validateAndBuildConfiguration(initConfiguration, errorStack) {
|
|
60
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
61
|
+
if (!initConfiguration || !initConfiguration.clientToken) {
|
|
62
|
+
display_1.display.error('Client Token is not configured, we will not send any data.');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (initConfiguration.allowedTrackingOrigins !== undefined &&
|
|
66
|
+
!Array.isArray(initConfiguration.allowedTrackingOrigins)) {
|
|
67
|
+
display_1.display.error('Allowed Tracking Origins must be an array');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (!isDatadogSite(initConfiguration.site) ||
|
|
71
|
+
!isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||
|
|
72
|
+
!isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||
|
|
73
|
+
!isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||
|
|
74
|
+
!isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||
|
|
75
|
+
!isString(initConfiguration.version, 'Version') ||
|
|
76
|
+
!isString(initConfiguration.env, 'Env') ||
|
|
77
|
+
!isString(initConfiguration.service, 'Service') ||
|
|
78
|
+
!(0, allowedTrackingOrigins_1.isAllowedTrackingOrigins)(initConfiguration, errorStack !== null && errorStack !== void 0 ? errorStack : '')) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (initConfiguration.trackingConsent !== undefined &&
|
|
82
|
+
!(0, objectUtils_1.objectHasValue)(trackingConsent_1.TrackingConsent, initConfiguration.trackingConsent)) {
|
|
83
|
+
display_1.display.error('Tracking Consent should be either "granted" or "not-granted"');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
beforeSend: initConfiguration.beforeSend && (0, catchUserErrors_1.catchUserErrors)(initConfiguration.beforeSend, 'beforeSend threw an error:'),
|
|
88
|
+
sessionStoreStrategyType: globalObject_1.isWorkerEnvironment ? undefined : (0, sessionStore_1.selectSessionStoreStrategyType)(initConfiguration),
|
|
89
|
+
sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,
|
|
90
|
+
telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,
|
|
91
|
+
telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,
|
|
92
|
+
telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,
|
|
93
|
+
service: (_e = initConfiguration.service) !== null && _e !== void 0 ? _e : undefined,
|
|
94
|
+
env: (_f = initConfiguration.env) !== null && _f !== void 0 ? _f : undefined,
|
|
95
|
+
version: (_g = initConfiguration.version) !== null && _g !== void 0 ? _g : undefined,
|
|
96
|
+
datacenter: (_h = initConfiguration.datacenter) !== null && _h !== void 0 ? _h : undefined,
|
|
97
|
+
silentMultipleInit: !!initConfiguration.silentMultipleInit,
|
|
98
|
+
allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,
|
|
99
|
+
trackingConsent: (_j = initConfiguration.trackingConsent) !== null && _j !== void 0 ? _j : trackingConsent_1.TrackingConsent.GRANTED,
|
|
100
|
+
trackAnonymousUser: (_k = initConfiguration.trackAnonymousUser) !== null && _k !== void 0 ? _k : true,
|
|
101
|
+
storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,
|
|
102
|
+
/**
|
|
103
|
+
* beacon payload max queue size implementation is 64kb
|
|
104
|
+
* ensure that we leave room for logs, rum and potential other users
|
|
105
|
+
*/
|
|
106
|
+
batchBytesLimit: 16 * byteUtils_1.ONE_KIBI_BYTE,
|
|
107
|
+
eventRateLimiterThreshold: 3000,
|
|
108
|
+
maxTelemetryEventsPerPage: 15,
|
|
109
|
+
/**
|
|
110
|
+
* flush automatically, aim to be lower than ALB connection timeout
|
|
111
|
+
* to maximize connection reuse.
|
|
112
|
+
*/
|
|
113
|
+
flushTimeout: (30 * timeUtils_1.ONE_SECOND),
|
|
114
|
+
/**
|
|
115
|
+
* Logs intake limit. When using the SDK in a Worker Environment, we
|
|
116
|
+
* limit the batch size to 1 to ensure it can be sent in a single event.
|
|
117
|
+
*/
|
|
118
|
+
batchMessagesLimit: globalObject_1.isWorkerEnvironment ? 1 : 50,
|
|
119
|
+
messageBytesLimit: 256 * byteUtils_1.ONE_KIBI_BYTE,
|
|
120
|
+
/**
|
|
121
|
+
* The source of the SDK, used for support plugins purposes.
|
|
122
|
+
*/
|
|
123
|
+
variant: initConfiguration.variant,
|
|
124
|
+
sdkVersion: initConfiguration.sdkVersion,
|
|
125
|
+
...(0, transportConfiguration_1.computeTransportConfiguration)(initConfiguration),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function serializeConfiguration(initConfiguration) {
|
|
129
|
+
return {
|
|
130
|
+
session_sample_rate: initConfiguration.sessionSampleRate,
|
|
131
|
+
telemetry_sample_rate: initConfiguration.telemetrySampleRate,
|
|
132
|
+
telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,
|
|
133
|
+
telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,
|
|
134
|
+
use_before_send: !!initConfiguration.beforeSend,
|
|
135
|
+
use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,
|
|
136
|
+
use_secure_session_cookie: initConfiguration.useSecureSessionCookie,
|
|
137
|
+
use_proxy: !!initConfiguration.proxy,
|
|
138
|
+
silent_multiple_init: initConfiguration.silentMultipleInit,
|
|
139
|
+
track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
|
|
140
|
+
track_anonymous_user: initConfiguration.trackAnonymousUser,
|
|
141
|
+
session_persistence: initConfiguration.sessionPersistence,
|
|
142
|
+
allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,
|
|
143
|
+
store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
|
|
144
|
+
allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
|
|
145
|
+
tracking_consent: initConfiguration.trackingConsent,
|
|
146
|
+
use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),
|
|
147
|
+
source: initConfiguration.source,
|
|
148
|
+
sdk_version: initConfiguration.sdkVersion,
|
|
149
|
+
variant: initConfiguration.variant,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/domain/configuration/configuration.ts"],"names":[],"mappings":"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"}
|