@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
package/README.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.displayAlreadyInitializedError = displayAlreadyInitializedError;
|
|
4
|
+
const display_1 = require("../tools/display");
|
|
5
|
+
function displayAlreadyInitializedError(sdkName, initConfiguration) {
|
|
6
|
+
if (!initConfiguration.silentMultipleInit) {
|
|
7
|
+
display_1.display.error(`${sdkName} is already initialized.`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=displayAlreadyInitializedError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayAlreadyInitializedError.js","sourceRoot":"","sources":["../../src/boot/displayAlreadyInitializedError.ts"],"names":[],"mappings":";;AAGA,wEAIC;AAND,8CAA0C;AAE1C,SAAgB,8BAA8B,CAAC,OAA6B,EAAE,iBAAoC;IAChH,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QAC1C,iBAAO,CAAC,KAAK,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAA;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface PublicApi {
|
|
2
|
+
/**
|
|
3
|
+
* Version of the Logs browser SDK
|
|
4
|
+
*/
|
|
5
|
+
version: string;
|
|
6
|
+
/**
|
|
7
|
+
* For CDN async setup: Early RUM API calls must be wrapped in the `window.DD_RUM.onReady()` callback. This ensures the code only gets executed once the SDK is properly loaded.
|
|
8
|
+
*
|
|
9
|
+
* See [CDN async setup](https://docs.datadoghq.com/real_user_monitoring/browser/#cdn-async) for further information.
|
|
10
|
+
*/
|
|
11
|
+
onReady: (callback: () => void) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function makePublicApi<T extends PublicApi>(stub: Omit<T, keyof PublicApi>): T;
|
|
14
|
+
export declare function defineGlobal<Global, Name extends keyof Global>(global: Global, name: Name, api: Global[Name]): void;
|
package/cjs/boot/init.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makePublicApi = makePublicApi;
|
|
4
|
+
exports.defineGlobal = defineGlobal;
|
|
5
|
+
const catchUserErrors_1 = require("../tools/catchUserErrors");
|
|
6
|
+
const monitor_1 = require("../tools/monitor");
|
|
7
|
+
const display_1 = require("../tools/display");
|
|
8
|
+
function makePublicApi(stub) {
|
|
9
|
+
const publicApi = {
|
|
10
|
+
version: "dev",
|
|
11
|
+
// This API method is intentionally not monitored, since the only thing executed is the
|
|
12
|
+
// user-provided 'callback'. All SDK usages executed in the callback should be monitored, and
|
|
13
|
+
// we don't want to interfere with the user uncaught exceptions.
|
|
14
|
+
onReady(callback) {
|
|
15
|
+
callback();
|
|
16
|
+
},
|
|
17
|
+
...stub,
|
|
18
|
+
};
|
|
19
|
+
// Add a "hidden" property to set debug mode. We define it that way to hide it
|
|
20
|
+
// as much as possible but of course it's not a real protection.
|
|
21
|
+
Object.defineProperty(publicApi, '_setDebug', {
|
|
22
|
+
get() {
|
|
23
|
+
return monitor_1.setDebugMode;
|
|
24
|
+
},
|
|
25
|
+
enumerable: false,
|
|
26
|
+
});
|
|
27
|
+
return publicApi;
|
|
28
|
+
}
|
|
29
|
+
function defineGlobal(global, name, api) {
|
|
30
|
+
const existingGlobalVariable = global[name];
|
|
31
|
+
if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {
|
|
32
|
+
display_1.display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.');
|
|
33
|
+
}
|
|
34
|
+
global[name] = api;
|
|
35
|
+
if (existingGlobalVariable && existingGlobalVariable.q) {
|
|
36
|
+
existingGlobalVariable.q.forEach((fn) => (0, catchUserErrors_1.catchUserErrors)(fn, 'onReady callback threw an error:')());
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/boot/init.ts"],"names":[],"mappings":";;AAqBA,sCAsBC;AAED,oCASC;AAtDD,8DAA0D;AAC1D,8CAA+C;AAC/C,8CAA0C;AAmB1C,SAAgB,aAAa,CAAsB,IAA8B;IAC/E,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,0BAA0B;QACnC,uFAAuF;QACvF,8FAA8F;QAC9F,gEAAgE;QAChE,OAAO,CAAC,QAAoB;YAC1B,QAAQ,EAAE,CAAA;QACZ,CAAC;QACD,GAAG,IAAI;KACR,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,SAAc,CAAA;AACvB,CAAC;AAED,SAAgB,YAAY,CAAoC,MAAc,EAAE,IAAU,EAAE,GAAiB;IAC3G,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAA4D,CAAA;IACtG,IAAI,sBAAsB,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAC1F,iBAAO,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAA;IACvG,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IAClB,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,CAAC,EAAE,CAAC;QACvD,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,iCAAe,EAAC,EAAE,EAAE,kCAAkC,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { CookieStore, CookieStoreEventMap, VisualViewport, VisualViewportEventMap } from './browser.types';
|
|
2
|
+
export type TrustableEvent<E extends Event = Event> = E & {
|
|
3
|
+
__ddIsTrusted?: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const enum DOM_EVENT {
|
|
6
|
+
BEFORE_UNLOAD = "beforeunload",
|
|
7
|
+
CLICK = "click",
|
|
8
|
+
DBL_CLICK = "dblclick",
|
|
9
|
+
KEY_DOWN = "keydown",
|
|
10
|
+
LOAD = "load",
|
|
11
|
+
POP_STATE = "popstate",
|
|
12
|
+
SCROLL = "scroll",
|
|
13
|
+
TOUCH_START = "touchstart",
|
|
14
|
+
TOUCH_END = "touchend",
|
|
15
|
+
TOUCH_MOVE = "touchmove",
|
|
16
|
+
VISIBILITY_CHANGE = "visibilitychange",
|
|
17
|
+
PAGE_SHOW = "pageshow",
|
|
18
|
+
FREEZE = "freeze",
|
|
19
|
+
RESUME = "resume",
|
|
20
|
+
DOM_CONTENT_LOADED = "DOMContentLoaded",
|
|
21
|
+
POINTER_DOWN = "pointerdown",
|
|
22
|
+
POINTER_UP = "pointerup",
|
|
23
|
+
POINTER_CANCEL = "pointercancel",
|
|
24
|
+
HASH_CHANGE = "hashchange",
|
|
25
|
+
PAGE_HIDE = "pagehide",
|
|
26
|
+
MOUSE_DOWN = "mousedown",
|
|
27
|
+
MOUSE_UP = "mouseup",
|
|
28
|
+
MOUSE_MOVE = "mousemove",
|
|
29
|
+
FOCUS = "focus",
|
|
30
|
+
BLUR = "blur",
|
|
31
|
+
CONTEXT_MENU = "contextmenu",
|
|
32
|
+
RESIZE = "resize",
|
|
33
|
+
CHANGE = "change",
|
|
34
|
+
INPUT = "input",
|
|
35
|
+
PLAY = "play",
|
|
36
|
+
PAUSE = "pause",
|
|
37
|
+
SECURITY_POLICY_VIOLATION = "securitypolicyviolation",
|
|
38
|
+
SELECTION_CHANGE = "selectionchange",
|
|
39
|
+
STORAGE = "storage"
|
|
40
|
+
}
|
|
41
|
+
interface AddEventListenerOptions {
|
|
42
|
+
once?: boolean;
|
|
43
|
+
capture?: boolean;
|
|
44
|
+
passive?: boolean;
|
|
45
|
+
}
|
|
46
|
+
type EventMapFor<T> = T extends Window ? WindowEventMap & {
|
|
47
|
+
freeze: Event;
|
|
48
|
+
resume: Event;
|
|
49
|
+
visibilitychange: Event;
|
|
50
|
+
} : T extends Document ? DocumentEventMap : T extends HTMLElement ? HTMLElementEventMap : T extends VisualViewport ? VisualViewportEventMap : T extends ShadowRoot ? GlobalEventHandlersEventMap : T extends XMLHttpRequest ? XMLHttpRequestEventMap : T extends Performance ? PerformanceEventMap : T extends Worker ? WorkerEventMap : T extends CookieStore ? CookieStoreEventMap : Record<never, never>;
|
|
51
|
+
/**
|
|
52
|
+
* Add an event listener to an event target object (Window, Element, mock object...). This provides
|
|
53
|
+
* a few conveniences compared to using `element.addEventListener` directly:
|
|
54
|
+
*
|
|
55
|
+
* * supports IE11 by: using an option object only if needed and emulating the `once` option
|
|
56
|
+
*
|
|
57
|
+
* * wraps the listener with a `monitor` function
|
|
58
|
+
*
|
|
59
|
+
* * returns a `stop` function to remove the listener
|
|
60
|
+
*/
|
|
61
|
+
export declare function addEventListener<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: {
|
|
62
|
+
allowUntrustedEvents?: boolean | undefined;
|
|
63
|
+
}, eventTarget: Target, eventName: EventName, listener: (event: EventMapFor<Target>[EventName] & {
|
|
64
|
+
type: EventName;
|
|
65
|
+
}) => void, options?: AddEventListenerOptions): {
|
|
66
|
+
stop: () => void;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Add event listeners to an event target object (Window, Element, mock object...). This provides
|
|
70
|
+
* a few conveniences compared to using `element.addEventListener` directly:
|
|
71
|
+
*
|
|
72
|
+
* * supports IE11 by: using an option object only if needed and emulating the `once` option
|
|
73
|
+
*
|
|
74
|
+
* * wraps the listener with a `monitor` function
|
|
75
|
+
*
|
|
76
|
+
* * returns a `stop` function to remove the listener
|
|
77
|
+
*
|
|
78
|
+
* * with `once: true`, the listener will be called at most once, even if different events are listened
|
|
79
|
+
*/
|
|
80
|
+
export declare function addEventListeners<Target extends EventTarget, EventName extends keyof EventMapFor<Target> & string>(configuration: {
|
|
81
|
+
allowUntrustedEvents?: boolean | undefined;
|
|
82
|
+
}, eventTarget: Target, eventNames: EventName[], listener: (event: EventMapFor<Target>[EventName] & {
|
|
83
|
+
type: EventName;
|
|
84
|
+
}) => void, { once, capture, passive }?: AddEventListenerOptions): {
|
|
85
|
+
stop: () => void;
|
|
86
|
+
};
|
|
87
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addEventListener = addEventListener;
|
|
4
|
+
exports.addEventListeners = addEventListeners;
|
|
5
|
+
const monitor_1 = require("../tools/monitor");
|
|
6
|
+
const getZoneJsOriginalValue_1 = require("../tools/getZoneJsOriginalValue");
|
|
7
|
+
/**
|
|
8
|
+
* Add an event listener to an event target object (Window, Element, mock object...). This provides
|
|
9
|
+
* a few conveniences compared to using `element.addEventListener` directly:
|
|
10
|
+
*
|
|
11
|
+
* * supports IE11 by: using an option object only if needed and emulating the `once` option
|
|
12
|
+
*
|
|
13
|
+
* * wraps the listener with a `monitor` function
|
|
14
|
+
*
|
|
15
|
+
* * returns a `stop` function to remove the listener
|
|
16
|
+
*/
|
|
17
|
+
function addEventListener(configuration, eventTarget, eventName, listener, options) {
|
|
18
|
+
return addEventListeners(configuration, eventTarget, [eventName], listener, options);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Add event listeners to an event target object (Window, Element, mock object...). This provides
|
|
22
|
+
* a few conveniences compared to using `element.addEventListener` directly:
|
|
23
|
+
*
|
|
24
|
+
* * supports IE11 by: using an option object only if needed and emulating the `once` option
|
|
25
|
+
*
|
|
26
|
+
* * wraps the listener with a `monitor` function
|
|
27
|
+
*
|
|
28
|
+
* * returns a `stop` function to remove the listener
|
|
29
|
+
*
|
|
30
|
+
* * with `once: true`, the listener will be called at most once, even if different events are listened
|
|
31
|
+
*/
|
|
32
|
+
function addEventListeners(configuration, eventTarget, eventNames, listener, { once, capture, passive } = {}) {
|
|
33
|
+
const listenerWithMonitor = (0, monitor_1.monitor)((event) => {
|
|
34
|
+
if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (once) {
|
|
38
|
+
stop();
|
|
39
|
+
}
|
|
40
|
+
listener(event);
|
|
41
|
+
});
|
|
42
|
+
const options = passive ? { capture, passive } : capture;
|
|
43
|
+
// Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)
|
|
44
|
+
const listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;
|
|
45
|
+
const add = (0, getZoneJsOriginalValue_1.getZoneJsOriginalValue)(listenerTarget, 'addEventListener');
|
|
46
|
+
eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options));
|
|
47
|
+
function stop() {
|
|
48
|
+
const remove = (0, getZoneJsOriginalValue_1.getZoneJsOriginalValue)(listenerTarget, 'removeEventListener');
|
|
49
|
+
eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options));
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
stop,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=addEventListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addEventListener.js","sourceRoot":"","sources":["../../src/browser/addEventListener.ts"],"names":[],"mappings":";;AAwFA,4CAQC;AAcD,8CAkCC;AAhJD,8CAA0C;AAC1C,4EAAwE;AA6ExE;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC9B,aAA6D,EAC7D,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;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAC/B,aAA6D,EAC7D,WAAmB,EACnB,UAAuB,EACvB,QAA+E,EAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,KAA8B,EAAE;IAExD,MAAM,mBAAmB,GAAG,IAAA,iBAAO,EAAC,CAAC,KAAqB,EAAE,EAAE;QAC5D,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,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAExD,mIAAmI;IACnI,MAAM,cAAc,GAClB,MAAM,CAAC,WAAW,IAAI,WAAW,YAAY,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;IAEvG,MAAM,GAAG,GAAG,IAAA,+CAAsB,EAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IACtE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAA;IAEjG,SAAS,IAAI;QACX,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,cAAc,EAAE,qBAAqB,CAAC,CAAA;QAC5E,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface VisualViewportEventMap {
|
|
2
|
+
resize: Event;
|
|
3
|
+
scroll: Event;
|
|
4
|
+
}
|
|
5
|
+
export interface VisualViewport extends EventTarget {
|
|
6
|
+
readonly height: number;
|
|
7
|
+
readonly offsetLeft: number;
|
|
8
|
+
readonly offsetTop: number;
|
|
9
|
+
onresize: ((this: VisualViewport, ev: Event) => any) | null;
|
|
10
|
+
onscroll: ((this: VisualViewport, ev: Event) => any) | null;
|
|
11
|
+
readonly pageLeft: number;
|
|
12
|
+
readonly pageTop: number;
|
|
13
|
+
readonly scale: number;
|
|
14
|
+
readonly width: number;
|
|
15
|
+
addEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
16
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
17
|
+
removeEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
18
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
19
|
+
}
|
|
20
|
+
export interface WeakRef<T extends object> {
|
|
21
|
+
readonly [Symbol.toStringTag]: 'WeakRef';
|
|
22
|
+
deref(): T | undefined;
|
|
23
|
+
}
|
|
24
|
+
export interface WeakRefConstructor {
|
|
25
|
+
readonly prototype: WeakRef<any>;
|
|
26
|
+
new <T extends object>(target: T): WeakRef<T>;
|
|
27
|
+
}
|
|
28
|
+
export interface CookieStore extends EventTarget {
|
|
29
|
+
get(name: string): Promise<unknown>;
|
|
30
|
+
getAll(name?: string): Promise<Array<{
|
|
31
|
+
name: string;
|
|
32
|
+
value: string;
|
|
33
|
+
domain?: string;
|
|
34
|
+
path?: string;
|
|
35
|
+
expires?: number;
|
|
36
|
+
secure?: boolean;
|
|
37
|
+
sameSite?: 'strict' | 'lax' | 'none';
|
|
38
|
+
partitioned?: boolean;
|
|
39
|
+
}>>;
|
|
40
|
+
}
|
|
41
|
+
export interface CookieStoreEventMap {
|
|
42
|
+
change: CookieChangeEvent;
|
|
43
|
+
}
|
|
44
|
+
export interface CookieChangeItem {
|
|
45
|
+
name: string;
|
|
46
|
+
value: string | undefined;
|
|
47
|
+
}
|
|
48
|
+
export type CookieChangeEvent = Event & {
|
|
49
|
+
changed: CookieChangeItem[];
|
|
50
|
+
deleted: CookieChangeItem[];
|
|
51
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Those types come from the official TypeScript DOM library, but are not included in our minimal
|
|
3
|
+
// supported TS version.
|
|
4
|
+
// https://github.com/microsoft/TypeScript/blob/13c374a868c926f6a907666a5599992c1351b773/src/lib/dom.generated.d.ts#L15399-L15418
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=browser.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.types.js","sourceRoot":"","sources":["../../src/browser/browser.types.ts"],"names":[],"mappings":";AAAA,iGAAiG;AACjG,wBAAwB;AACxB,iIAAiI"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface CookieOptions {
|
|
2
|
+
secure?: boolean;
|
|
3
|
+
crossSite?: boolean;
|
|
4
|
+
partitioned?: boolean;
|
|
5
|
+
domain?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function setCookie(name: string, value: string, expireDelay?: number, options?: CookieOptions): void;
|
|
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;
|
|
15
|
+
export declare function deleteCookie(name: string, options?: CookieOptions): void;
|
|
16
|
+
export declare function areCookiesAuthorized(options: CookieOptions): boolean;
|
|
17
|
+
export declare function getCurrentSite(hostname?: string, referrer?: string): string | undefined;
|
|
18
|
+
export declare function resetGetCurrentSite(): void;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setCookie = setCookie;
|
|
4
|
+
exports.getCookie = getCookie;
|
|
5
|
+
exports.getInitCookie = getInitCookie;
|
|
6
|
+
exports.resetInitCookies = resetInitCookies;
|
|
7
|
+
exports.deleteCookie = deleteCookie;
|
|
8
|
+
exports.areCookiesAuthorized = areCookiesAuthorized;
|
|
9
|
+
exports.getCurrentSite = getCurrentSite;
|
|
10
|
+
exports.resetGetCurrentSite = resetGetCurrentSite;
|
|
11
|
+
const display_1 = require("../tools/display");
|
|
12
|
+
const timeUtils_1 = require("../tools/utils/timeUtils");
|
|
13
|
+
const stringUtils_1 = require("../tools/utils/stringUtils");
|
|
14
|
+
const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
|
|
15
|
+
function setCookie(name, value, expireDelay = 0, options) {
|
|
16
|
+
const date = new Date();
|
|
17
|
+
date.setTime(date.getTime() + expireDelay);
|
|
18
|
+
const expires = `expires=${date.toUTCString()}`;
|
|
19
|
+
const sameSite = options && options.crossSite ? 'none' : 'strict';
|
|
20
|
+
const domain = options && options.domain ? `;domain=${options.domain}` : '';
|
|
21
|
+
const secure = options && options.secure ? ';secure' : '';
|
|
22
|
+
const partitioned = options && options.partitioned ? ';partitioned' : '';
|
|
23
|
+
document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`;
|
|
24
|
+
}
|
|
25
|
+
function getCookie(name) {
|
|
26
|
+
return (0, stringUtils_1.findCommaSeparatedValue)(document.cookie, name);
|
|
27
|
+
}
|
|
28
|
+
let initCookieParsed;
|
|
29
|
+
/**
|
|
30
|
+
* Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
|
|
31
|
+
* to avoid accessing document.cookie multiple times.
|
|
32
|
+
*/
|
|
33
|
+
function getInitCookie(name) {
|
|
34
|
+
if (!initCookieParsed) {
|
|
35
|
+
initCookieParsed = (0, stringUtils_1.findCommaSeparatedValues)(document.cookie);
|
|
36
|
+
}
|
|
37
|
+
return initCookieParsed.get(name);
|
|
38
|
+
}
|
|
39
|
+
function resetInitCookies() {
|
|
40
|
+
initCookieParsed = undefined;
|
|
41
|
+
}
|
|
42
|
+
function deleteCookie(name, options) {
|
|
43
|
+
setCookie(name, '', 0, options);
|
|
44
|
+
}
|
|
45
|
+
function areCookiesAuthorized(options) {
|
|
46
|
+
if (document.cookie === undefined || document.cookie === null) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
// Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
|
|
51
|
+
// the test cookie lifetime
|
|
52
|
+
const testCookieName = `dd_cookie_test_${(0, stringUtils_1.generateUUID)()}`;
|
|
53
|
+
const testCookieValue = 'test';
|
|
54
|
+
setCookie(testCookieName, testCookieValue, timeUtils_1.ONE_MINUTE, options);
|
|
55
|
+
const isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;
|
|
56
|
+
deleteCookie(testCookieName, options);
|
|
57
|
+
return isCookieCorrectlySet;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
display_1.display.error(error);
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* No API to retrieve it, number of levels for subdomain and suffix are unknown
|
|
66
|
+
* strategy: find the minimal domain on which cookies are allowed to be set
|
|
67
|
+
* https://web.dev/same-site-same-origin/#site
|
|
68
|
+
*/
|
|
69
|
+
let getCurrentSiteCache;
|
|
70
|
+
function getCurrentSite(hostname = location.hostname, referrer = document.referrer) {
|
|
71
|
+
if (getCurrentSiteCache === undefined) {
|
|
72
|
+
const defaultHostName = getCookieDefaultHostName(hostname, referrer);
|
|
73
|
+
if (defaultHostName) {
|
|
74
|
+
// Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
|
|
75
|
+
// the test cookie lifetime
|
|
76
|
+
const testCookieName = `dd_site_test_${(0, stringUtils_1.generateUUID)()}`;
|
|
77
|
+
const testCookieValue = 'test';
|
|
78
|
+
const domainLevels = defaultHostName.split('.');
|
|
79
|
+
let candidateDomain = domainLevels.pop();
|
|
80
|
+
while (domainLevels.length && !getCookie(testCookieName)) {
|
|
81
|
+
candidateDomain = `${domainLevels.pop()}.${candidateDomain}`;
|
|
82
|
+
setCookie(testCookieName, testCookieValue, timeUtils_1.ONE_SECOND, { domain: candidateDomain });
|
|
83
|
+
}
|
|
84
|
+
deleteCookie(testCookieName, { domain: candidateDomain });
|
|
85
|
+
getCurrentSiteCache = candidateDomain;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return getCurrentSiteCache;
|
|
89
|
+
}
|
|
90
|
+
function getCookieDefaultHostName(hostname, referrer) {
|
|
91
|
+
try {
|
|
92
|
+
return hostname || (0, urlPolyfill_1.buildUrl)(referrer).hostname;
|
|
93
|
+
}
|
|
94
|
+
catch (_a) {
|
|
95
|
+
// Ignore
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function resetGetCurrentSite() {
|
|
99
|
+
getCurrentSiteCache = undefined;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=cookie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/browser/cookie.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Observable } from '../tools/observable';
|
|
2
|
+
import type { ClocksState } from '../tools/utils/timeUtils';
|
|
3
|
+
interface FetchContextBase {
|
|
4
|
+
method: string;
|
|
5
|
+
startClocks: ClocksState;
|
|
6
|
+
input: unknown;
|
|
7
|
+
init?: RequestInit;
|
|
8
|
+
url: string;
|
|
9
|
+
handlingStack?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface FetchStartContext extends FetchContextBase {
|
|
12
|
+
state: 'start';
|
|
13
|
+
}
|
|
14
|
+
export interface FetchResolveContext extends FetchContextBase {
|
|
15
|
+
state: 'resolve';
|
|
16
|
+
status: number;
|
|
17
|
+
response?: Response;
|
|
18
|
+
responseType?: string;
|
|
19
|
+
isAborted: boolean;
|
|
20
|
+
error?: Error;
|
|
21
|
+
}
|
|
22
|
+
export type FetchContext = FetchStartContext | FetchResolveContext;
|
|
23
|
+
export declare function initFetchObservable(): Observable<FetchContext>;
|
|
24
|
+
export declare function resetFetchObservable(): void;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initFetchObservable = initFetchObservable;
|
|
4
|
+
exports.resetFetchObservable = resetFetchObservable;
|
|
5
|
+
const instrumentMethod_1 = require("../tools/instrumentMethod");
|
|
6
|
+
const monitor_1 = require("../tools/monitor");
|
|
7
|
+
const observable_1 = require("../tools/observable");
|
|
8
|
+
const timeUtils_1 = require("../tools/utils/timeUtils");
|
|
9
|
+
const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
|
|
10
|
+
const globalObject_1 = require("../tools/globalObject");
|
|
11
|
+
let fetchObservable;
|
|
12
|
+
function initFetchObservable() {
|
|
13
|
+
if (!fetchObservable) {
|
|
14
|
+
fetchObservable = createFetchObservable();
|
|
15
|
+
}
|
|
16
|
+
return fetchObservable;
|
|
17
|
+
}
|
|
18
|
+
function resetFetchObservable() {
|
|
19
|
+
fetchObservable = undefined;
|
|
20
|
+
}
|
|
21
|
+
function createFetchObservable() {
|
|
22
|
+
return new observable_1.Observable((observable) => {
|
|
23
|
+
if (!globalObject_1.globalObject.fetch) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const { stop } = (0, instrumentMethod_1.instrumentMethod)(globalObject_1.globalObject, 'fetch', (call) => beforeSend(call, observable), {
|
|
27
|
+
computeHandlingStack: true,
|
|
28
|
+
});
|
|
29
|
+
return stop;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function beforeSend({ parameters, onPostCall, handlingStack }, observable) {
|
|
33
|
+
const [input, init] = parameters;
|
|
34
|
+
let methodFromParams = init && init.method;
|
|
35
|
+
if (methodFromParams === undefined && input instanceof Request) {
|
|
36
|
+
methodFromParams = input.method;
|
|
37
|
+
}
|
|
38
|
+
const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';
|
|
39
|
+
const url = input instanceof Request ? input.url : (0, urlPolyfill_1.normalizeUrl)(String(input));
|
|
40
|
+
const startClocks = (0, timeUtils_1.clocksNow)();
|
|
41
|
+
const context = {
|
|
42
|
+
state: 'start',
|
|
43
|
+
init,
|
|
44
|
+
input,
|
|
45
|
+
method,
|
|
46
|
+
startClocks,
|
|
47
|
+
url,
|
|
48
|
+
handlingStack,
|
|
49
|
+
};
|
|
50
|
+
observable.notify(context);
|
|
51
|
+
// Those properties can be changed by observable subscribers
|
|
52
|
+
parameters[0] = context.input;
|
|
53
|
+
parameters[1] = context.init;
|
|
54
|
+
onPostCall((responsePromise) => afterSend(observable, responsePromise, context));
|
|
55
|
+
}
|
|
56
|
+
function afterSend(observable, responsePromise, startContext) {
|
|
57
|
+
const context = startContext;
|
|
58
|
+
function reportFetch(partialContext) {
|
|
59
|
+
context.state = 'resolve';
|
|
60
|
+
Object.assign(context, partialContext);
|
|
61
|
+
observable.notify(context);
|
|
62
|
+
}
|
|
63
|
+
responsePromise.then((0, monitor_1.monitor)((response) => {
|
|
64
|
+
reportFetch({
|
|
65
|
+
response,
|
|
66
|
+
responseType: response.type,
|
|
67
|
+
status: response.status,
|
|
68
|
+
isAborted: false,
|
|
69
|
+
});
|
|
70
|
+
}), (0, monitor_1.monitor)((error) => {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
reportFetch({
|
|
73
|
+
status: 0,
|
|
74
|
+
isAborted: ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),
|
|
75
|
+
error,
|
|
76
|
+
});
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=fetchObservable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchObservable.js","sourceRoot":"","sources":["../../src/browser/fetchObservable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Observable } from '../tools/observable';
|
|
2
|
+
import type { Configuration } from '../domain/configuration';
|
|
3
|
+
export declare const PageExitReason: {
|
|
4
|
+
readonly HIDDEN: "visibility_hidden";
|
|
5
|
+
readonly UNLOADING: "before_unload";
|
|
6
|
+
readonly PAGEHIDE: "page_hide";
|
|
7
|
+
readonly FROZEN: "page_frozen";
|
|
8
|
+
};
|
|
9
|
+
export type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason];
|
|
10
|
+
export interface PageMayExitEvent {
|
|
11
|
+
reason: PageExitReason;
|
|
12
|
+
}
|
|
13
|
+
export declare function createPageMayExitObservable(configuration: Configuration): Observable<PageMayExitEvent>;
|
|
14
|
+
export declare function isPageExitReason(reason: string): reason is PageExitReason;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageExitReason = void 0;
|
|
4
|
+
exports.createPageMayExitObservable = createPageMayExitObservable;
|
|
5
|
+
exports.isPageExitReason = isPageExitReason;
|
|
6
|
+
const observable_1 = require("../tools/observable");
|
|
7
|
+
const polyfills_1 = require("../tools/utils/polyfills");
|
|
8
|
+
const addEventListener_1 = require("./addEventListener");
|
|
9
|
+
exports.PageExitReason = {
|
|
10
|
+
HIDDEN: 'visibility_hidden',
|
|
11
|
+
UNLOADING: 'before_unload',
|
|
12
|
+
PAGEHIDE: 'page_hide',
|
|
13
|
+
FROZEN: 'page_frozen',
|
|
14
|
+
};
|
|
15
|
+
function createPageMayExitObservable(configuration) {
|
|
16
|
+
return new observable_1.Observable((observable) => {
|
|
17
|
+
const { stop: stopListeners } = (0, addEventListener_1.addEventListeners)(configuration, window, ["visibilitychange" /* DOM_EVENT.VISIBILITY_CHANGE */, "freeze" /* DOM_EVENT.FREEZE */], (event) => {
|
|
18
|
+
if (event.type === "visibilitychange" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {
|
|
19
|
+
/**
|
|
20
|
+
* Only event that guarantee to fire on mobile devices when the page transitions to background state
|
|
21
|
+
* (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
|
|
22
|
+
*/
|
|
23
|
+
observable.notify({ reason: exports.PageExitReason.HIDDEN });
|
|
24
|
+
}
|
|
25
|
+
else if (event.type === "freeze" /* DOM_EVENT.FREEZE */) {
|
|
26
|
+
/**
|
|
27
|
+
* After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)
|
|
28
|
+
* Allow to collect events happening between hidden and frozen state.
|
|
29
|
+
*/
|
|
30
|
+
observable.notify({ reason: exports.PageExitReason.FROZEN });
|
|
31
|
+
}
|
|
32
|
+
}, { capture: true });
|
|
33
|
+
const stopBeforeUnloadListener = (0, addEventListener_1.addEventListener)(configuration, window, "beforeunload" /* DOM_EVENT.BEFORE_UNLOAD */, () => {
|
|
34
|
+
observable.notify({ reason: exports.PageExitReason.UNLOADING });
|
|
35
|
+
}).stop;
|
|
36
|
+
return () => {
|
|
37
|
+
stopListeners();
|
|
38
|
+
stopBeforeUnloadListener();
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function isPageExitReason(reason) {
|
|
43
|
+
return (0, polyfills_1.objectValues)(exports.PageExitReason).includes(reason);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=pageMayExitObservable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":";;;AAkBA,kEAiCC;AAED,4CAEC;AAvDD,oDAAgD;AAChD,wDAAuD;AAEvD,yDAAmF;AAEtE,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,SAAgB,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,uBAAU,CAAmB,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAA,oCAAiB,EAC/C,aAAa,EACb,MAAM,EACN,uFAA+C,EAC/C,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,IAAI,yDAAgC,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxF;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,oCAAqB,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,CAAA;QAED,MAAM,wBAAwB,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,gDAA2B,GAAG,EAAE;YACrG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;QAC5B,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,OAAO,IAAA,wBAAY,EAAC,sBAAc,CAAC,CAAC,QAAQ,CAAC,MAAwB,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Configuration } from '../domain/configuration';
|
|
2
|
+
export declare function runOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive', callback: () => void): {
|
|
3
|
+
stop: () => void;
|
|
4
|
+
};
|
|
5
|
+
export declare function asyncRunOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive'): Promise<void>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runOnReadyState = runOnReadyState;
|
|
4
|
+
exports.asyncRunOnReadyState = asyncRunOnReadyState;
|
|
5
|
+
const functionUtils_1 = require("../tools/utils/functionUtils");
|
|
6
|
+
const addEventListener_1 = require("./addEventListener");
|
|
7
|
+
function runOnReadyState(configuration, expectedReadyState, callback) {
|
|
8
|
+
if (document.readyState === expectedReadyState || document.readyState === 'complete') {
|
|
9
|
+
callback();
|
|
10
|
+
return { stop: functionUtils_1.noop };
|
|
11
|
+
}
|
|
12
|
+
const eventName = expectedReadyState === 'complete' ? "load" /* DOM_EVENT.LOAD */ : "DOMContentLoaded" /* DOM_EVENT.DOM_CONTENT_LOADED */;
|
|
13
|
+
return (0, addEventListener_1.addEventListener)(configuration, window, eventName, callback, { once: true });
|
|
14
|
+
}
|
|
15
|
+
function asyncRunOnReadyState(configuration, expectedReadyState) {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
runOnReadyState(configuration, expectedReadyState, resolve);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=runOnReadyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runOnReadyState.js","sourceRoot":"","sources":["../../src/browser/runOnReadyState.ts"],"names":[],"mappings":";;AAIA,0CAWC;AAED,oDAOC;AAvBD,gEAAmD;AACnD,yDAAgE;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;QACV,OAAO,EAAE,IAAI,EAAE,oBAAI,EAAE,CAAA;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,KAAK,UAAU,CAAC,CAAC,6BAAgB,CAAC,sDAA6B,CAAA;IACnG,OAAO,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,SAAgB,oBAAoB,CAClC,aAA4B,EAC5B,kBAA8C;IAE9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,eAAe,CAAC,aAAa,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACJ,CAAC"}
|