@kubesense/kubesense-browser-core 1.7.0 → 2.0.0-beta.0
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/LICENSE +1 -1
- package/cjs/boot/displayAlreadyInitializedError.js +6 -7
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
- package/cjs/boot/init.d.ts +1 -0
- package/cjs/boot/init.js +26 -34
- package/cjs/boot/init.js.map +1 -1
- package/cjs/browser/addEventListener.d.ts +12 -9
- package/cjs/browser/addEventListener.js +107 -50
- package/cjs/browser/addEventListener.js.map +1 -1
- package/cjs/browser/browser.types.d.ts +0 -24
- package/cjs/browser/cookie.d.ts +4 -1
- package/cjs/browser/cookie.js +76 -89
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/browser/cookieAccess.d.ts +18 -0
- package/cjs/browser/cookieAccess.js +129 -0
- package/cjs/browser/cookieAccess.js.map +1 -0
- package/cjs/browser/fetch.d.ts +9 -0
- package/cjs/browser/fetch.js +18 -0
- package/cjs/browser/fetch.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +3 -3
- package/cjs/browser/fetchObservable.js +79 -92
- package/cjs/browser/fetchObservable.js.map +1 -1
- package/cjs/browser/pageMayExitObservable.d.ts +1 -2
- package/cjs/browser/pageMayExitObservable.js +53 -51
- package/cjs/browser/pageMayExitObservable.js.map +1 -1
- package/cjs/browser/runOnReadyState.d.ts +2 -3
- package/cjs/browser/runOnReadyState.js +18 -17
- package/cjs/browser/runOnReadyState.js.map +1 -1
- package/cjs/browser/webSocketObservable.d.ts +44 -0
- package/cjs/browser/webSocketObservable.js +92 -0
- package/cjs/browser/webSocketObservable.js.map +1 -0
- package/cjs/browser/xhrObservable.d.ts +8 -3
- package/cjs/browser/xhrObservable.js +64 -77
- package/cjs/browser/xhrObservable.js.map +1 -1
- package/cjs/domain/allowedTrackingOrigins.d.ts +2 -2
- package/cjs/domain/allowedTrackingOrigins.js +27 -23
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
- package/cjs/domain/bufferedData.d.ts +20 -6
- package/cjs/domain/bufferedData.js +41 -19
- package/cjs/domain/bufferedData.js.map +1 -1
- package/cjs/domain/configuration/configuration.d.ts +169 -76
- package/cjs/domain/configuration/configuration.js +159 -128
- package/cjs/domain/configuration/configuration.js.map +1 -1
- package/cjs/domain/configuration/index.d.ts +5 -7
- package/cjs/domain/configuration/remoteSdkConfig.d.ts +26 -6
- package/cjs/domain/configuration/remoteSdkConfig.js +152 -159
- package/cjs/domain/configuration/remoteSdkConfig.js.map +1 -1
- package/cjs/domain/connectivity/connectivity.d.ts +2 -10
- package/cjs/domain/connectivity/connectivity.js +13 -13
- package/cjs/domain/connectivity/connectivity.js.map +1 -1
- package/cjs/domain/console/consoleObservable.d.ts +1 -1
- package/cjs/domain/console/consoleObservable.js +62 -74
- package/cjs/domain/console/consoleObservable.js.map +1 -1
- package/cjs/domain/context/contextConstants.js +24 -15
- package/cjs/domain/context/contextConstants.js.map +1 -1
- package/cjs/domain/context/contextManager.js +49 -53
- package/cjs/domain/context/contextManager.js.map +1 -1
- package/cjs/domain/context/contextUtils.js +11 -12
- package/cjs/domain/context/contextUtils.js.map +1 -1
- package/cjs/domain/context/defineContextMethod.d.ts +2 -2
- package/cjs/domain/context/defineContextMethod.js +15 -16
- package/cjs/domain/context/defineContextMethod.js.map +1 -1
- package/cjs/domain/context/storeContextManager.d.ts +1 -2
- package/cjs/domain/context/storeContextManager.js +31 -33
- package/cjs/domain/context/storeContextManager.js.map +1 -1
- package/cjs/domain/contexts/accountContext.d.ts +2 -2
- package/cjs/domain/contexts/accountContext.js +26 -29
- package/cjs/domain/contexts/accountContext.js.map +1 -1
- package/cjs/domain/contexts/globalContext.d.ts +2 -2
- package/cjs/domain/contexts/globalContext.js +17 -17
- package/cjs/domain/contexts/globalContext.js.map +1 -1
- package/cjs/domain/contexts/tabContext.d.ts +4 -0
- package/cjs/domain/contexts/tabContext.js +28 -0
- package/cjs/domain/contexts/tabContext.js.map +1 -0
- package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
- package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
- package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +8 -3
- package/cjs/domain/contexts/userContext.js +79 -114
- package/cjs/domain/contexts/userContext.js.map +1 -1
- package/cjs/domain/deflate/deflate.types.js +11 -2
- package/cjs/domain/deflate/deflate.types.js.map +1 -1
- package/cjs/domain/error/error.d.ts +14 -6
- package/cjs/domain/error/error.js +101 -70
- package/cjs/domain/error/error.js.map +1 -1
- package/cjs/domain/error/error.types.d.ts +6 -4
- package/cjs/domain/error/error.types.js +24 -11
- package/cjs/domain/error/error.types.js.map +1 -1
- package/cjs/domain/error/isError.d.ts +2 -0
- package/cjs/domain/error/isError.js +14 -0
- package/cjs/domain/error/isError.js.map +1 -0
- package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
- package/cjs/domain/error/trackRuntimeError.js +44 -41
- package/cjs/domain/error/trackRuntimeError.js.map +1 -1
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +1 -2
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +28 -38
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
- package/cjs/domain/extension/extensionUtils.js +20 -25
- package/cjs/domain/extension/extensionUtils.js.map +1 -1
- package/cjs/domain/geo/geocoding.js +64 -0
- package/cjs/domain/geo/geocoding.js.map +1 -0
- package/cjs/domain/geo/geolocation.js +72 -0
- package/cjs/domain/geo/geolocation.js.map +1 -0
- package/cjs/domain/report/reportObservable.d.ts +1 -2
- package/cjs/domain/report/reportObservable.js +76 -85
- package/cjs/domain/report/reportObservable.js.map +1 -1
- package/cjs/domain/resourceUtils.d.ts +1 -0
- package/cjs/domain/resourceUtils.js +20 -17
- package/cjs/domain/resourceUtils.js.map +1 -1
- package/cjs/domain/sampler.d.ts +11 -0
- package/cjs/domain/sampler.js +40 -0
- package/cjs/domain/sampler.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +1 -0
- package/cjs/domain/session/sessionConstants.js +19 -13
- package/cjs/domain/session/sessionConstants.js.map +1 -1
- package/cjs/domain/session/sessionManager.d.ts +21 -13
- package/cjs/domain/session/sessionManager.js +254 -191
- package/cjs/domain/session/sessionManager.js.map +1 -1
- package/cjs/domain/session/sessionState.d.ts +10 -1
- package/cjs/domain/session/sessionState.js +72 -56
- package/cjs/domain/session/sessionState.js.map +1 -1
- package/cjs/domain/session/sessionStateValidation.js +7 -8
- package/cjs/domain/session/sessionStateValidation.js.map +1 -1
- package/cjs/domain/session/sessionStore.d.ts +4 -33
- package/cjs/domain/session/sessionStore.js +41 -181
- package/cjs/domain/session/sessionStore.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +90 -96
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js +36 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
- package/cjs/domain/sourceCodeContext.d.ts +22 -0
- package/cjs/domain/sourceCodeContext.js +56 -0
- package/cjs/domain/sourceCodeContext.js.map +1 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +37 -25
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/domain/tags.d.ts +1 -2
- package/cjs/domain/tags.js +23 -57
- package/cjs/domain/tags.js.map +1 -1
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
- package/cjs/domain/telemetry/telemetry.d.ts +7 -8
- package/cjs/domain/telemetry/telemetry.js +192 -215
- package/cjs/domain/telemetry/telemetry.js.map +1 -1
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +161 -16
- package/cjs/domain/trackingConsent.d.ts +1 -0
- package/cjs/domain/trackingConsent.js +35 -24
- package/cjs/domain/trackingConsent.js.map +1 -1
- package/cjs/domain/userAgentData/userAgentData.js +65 -96
- package/cjs/domain/userAgentData/userAgentData.js.map +1 -1
- package/cjs/index.d.ts +34 -30
- package/cjs/index.js +297 -213
- package/cjs/tools/abstractLifeCycle.js +19 -26
- package/cjs/tools/abstractLifeCycle.js.map +1 -1
- package/cjs/tools/catchUserErrors.js +12 -12
- package/cjs/tools/catchUserErrors.js.map +1 -1
- package/cjs/tools/display.d.ts +1 -37
- package/cjs/tools/display.js +8 -43
- package/cjs/tools/display.js.map +1 -1
- package/cjs/tools/encoder.js +36 -37
- package/cjs/tools/encoder.js.map +1 -1
- package/cjs/tools/experimentalFeatures.d.ts +1 -4
- package/cjs/tools/experimentalFeatures.js +29 -40
- package/cjs/tools/experimentalFeatures.js.map +1 -1
- package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
- package/cjs/tools/getZoneJsOriginalValue.js +22 -25
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
- package/cjs/tools/instrumentMethod.d.ts +57 -0
- package/cjs/tools/instrumentMethod.js +179 -112
- package/cjs/tools/instrumentMethod.js.map +1 -1
- package/cjs/tools/matchOption.d.ts +0 -1
- package/cjs/tools/matchOption.js +21 -31
- package/cjs/tools/matchOption.js.map +1 -1
- package/cjs/tools/mockable.d.ts +22 -0
- package/cjs/tools/mockable.js +28 -0
- package/cjs/tools/mockable.js.map +1 -0
- package/cjs/tools/observable.d.ts +3 -1
- package/cjs/tools/observable.js +75 -85
- package/cjs/tools/observable.js.map +1 -1
- package/cjs/tools/queueMicrotask.js +9 -14
- package/cjs/tools/queueMicrotask.js.map +1 -1
- package/cjs/tools/readBytesFromStream.d.ts +1 -6
- package/cjs/tools/readBytesFromStream.js +18 -25
- package/cjs/tools/readBytesFromStream.js.map +1 -1
- package/cjs/tools/requestIdleCallback.js +23 -29
- package/cjs/tools/requestIdleCallback.js.map +1 -1
- package/cjs/tools/sendToExtension.js +10 -8
- package/cjs/tools/sendToExtension.js.map +1 -1
- package/cjs/tools/serialisation/jsonStringify.js +37 -42
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
- package/cjs/tools/serialisation/sanitize.d.ts +1 -0
- package/cjs/tools/serialisation/sanitize.js +112 -167
- package/cjs/tools/serialisation/sanitize.js.map +1 -1
- package/cjs/tools/serialisation/stringify.d.ts +2 -0
- package/cjs/tools/serialisation/stringify.js +18 -0
- package/cjs/tools/serialisation/stringify.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
- package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
- package/cjs/tools/stackTrace/handlingStack.js +39 -38
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
- package/cjs/tools/taskQueue.js +40 -49
- package/cjs/tools/taskQueue.js.map +1 -1
- package/cjs/tools/thenable.d.ts +8 -0
- package/cjs/tools/thenable.js +27 -0
- package/cjs/tools/thenable.js.map +1 -0
- package/cjs/tools/timer.d.ts +2 -1
- package/cjs/tools/timer.js +14 -13
- package/cjs/tools/timer.js.map +1 -1
- package/cjs/tools/utils/arrayUtils.d.ts +1 -0
- package/cjs/tools/utils/arrayUtils.js +17 -13
- package/cjs/tools/utils/arrayUtils.js.map +1 -1
- package/cjs/tools/utils/browserDetection.d.ts +1 -0
- package/cjs/tools/utils/browserDetection.js +25 -23
- package/cjs/tools/utils/browserDetection.js.map +1 -1
- package/cjs/tools/utils/byteUtils.js +20 -28
- package/cjs/tools/utils/byteUtils.js.map +1 -1
- package/cjs/tools/utils/functionUtils.js +33 -40
- package/cjs/tools/utils/functionUtils.js.map +1 -1
- package/cjs/tools/utils/numberUtils.d.ts +0 -6
- package/cjs/tools/utils/numberUtils.js +7 -18
- package/cjs/tools/utils/numberUtils.js.map +1 -1
- package/cjs/tools/utils/objectUtils.d.ts +2 -0
- package/cjs/tools/utils/objectUtils.js +27 -14
- package/cjs/tools/utils/objectUtils.js.map +1 -1
- package/cjs/tools/utils/polyfills.js +12 -16
- package/cjs/tools/utils/polyfills.js.map +1 -1
- package/cjs/tools/utils/responseUtils.js +11 -12
- package/cjs/tools/utils/responseUtils.js.map +1 -1
- package/cjs/tools/utils/stringUtils.d.ts +9 -0
- package/cjs/tools/utils/stringUtils.js +73 -77
- package/cjs/tools/utils/stringUtils.js.map +1 -1
- package/cjs/tools/utils/timezone.js +9 -10
- package/cjs/tools/utils/timezone.js.map +1 -1
- package/cjs/tools/valueHistory.d.ts +16 -3
- package/cjs/tools/valueHistory.js +113 -99
- package/cjs/tools/valueHistory.js.map +1 -1
- package/cjs/transport/batch.d.ts +11 -7
- package/cjs/transport/batch.js +93 -106
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.d.ts +6 -2
- package/cjs/transport/eventBridge.js +54 -38
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.d.ts +6 -15
- package/cjs/transport/flushController.js +99 -118
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.d.ts +8 -9
- package/cjs/transport/httpRequest.js +61 -97
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.d.ts +3 -2
- package/cjs/transport/sendWithRetryStrategy.d.ts +9 -4
- package/cjs/transport/sendWithRetryStrategy.js +144 -148
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
- package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
- package/esm/boot/init.mjs +30 -0
- package/esm/boot/init.mjs.map +1 -0
- package/esm/browser/addEventListener.mjs +107 -0
- package/esm/browser/addEventListener.mjs.map +1 -0
- package/esm/browser/cookie.mjs +92 -0
- package/esm/browser/cookie.mjs.map +1 -0
- package/esm/browser/cookieAccess.mjs +124 -0
- package/esm/browser/cookieAccess.mjs.map +1 -0
- package/esm/browser/fetch.mjs +18 -0
- package/esm/browser/fetch.mjs.map +1 -0
- package/esm/browser/fetchObservable.mjs +89 -0
- package/esm/browser/fetchObservable.mjs.map +1 -0
- package/esm/browser/pageMayExitObservable.mjs +56 -0
- package/esm/browser/pageMayExitObservable.mjs.map +1 -0
- package/esm/browser/runOnReadyState.mjs +19 -0
- package/esm/browser/runOnReadyState.mjs.map +1 -0
- package/esm/browser/webSocketObservable.mjs +92 -0
- package/esm/browser/webSocketObservable.mjs.map +1 -0
- package/esm/browser/xhrObservable.mjs +73 -0
- package/esm/browser/xhrObservable.mjs.map +1 -0
- package/esm/domain/allowedTrackingOrigins.mjs +27 -0
- package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
- package/esm/domain/bufferedData.mjs +43 -0
- package/esm/domain/bufferedData.mjs.map +1 -0
- package/esm/domain/configuration/configuration.mjs +163 -0
- package/esm/domain/configuration/configuration.mjs.map +1 -0
- package/esm/domain/configuration/remoteSdkConfig.mjs +163 -0
- package/esm/domain/configuration/remoteSdkConfig.mjs.map +1 -0
- package/esm/domain/connectivity/connectivity.mjs +16 -0
- package/esm/domain/connectivity/connectivity.mjs.map +1 -0
- package/esm/domain/console/consoleObservable.mjs +72 -0
- package/esm/domain/console/consoleObservable.mjs.map +1 -0
- package/esm/domain/context/contextConstants.mjs +25 -0
- package/esm/domain/context/contextConstants.mjs.map +1 -0
- package/esm/domain/context/contextManager.mjs +55 -0
- package/esm/domain/context/contextManager.mjs.map +1 -0
- package/esm/domain/context/contextUtils.mjs +15 -0
- package/esm/domain/context/contextUtils.mjs.map +1 -0
- package/esm/domain/context/defineContextMethod.mjs +19 -0
- package/esm/domain/context/defineContextMethod.mjs.map +1 -0
- package/esm/domain/context/storeContextManager.mjs +36 -0
- package/esm/domain/context/storeContextManager.mjs.map +1 -0
- package/esm/domain/contexts/accountContext.mjs +29 -0
- package/esm/domain/contexts/accountContext.mjs.map +1 -0
- package/esm/domain/contexts/globalContext.mjs +20 -0
- package/esm/domain/contexts/globalContext.mjs.map +1 -0
- package/esm/domain/contexts/tabContext.mjs +27 -0
- package/esm/domain/contexts/tabContext.mjs.map +1 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
- package/esm/domain/contexts/userContext.mjs +88 -0
- package/esm/domain/contexts/userContext.mjs.map +1 -0
- package/esm/domain/deflate/deflate.types.mjs +12 -0
- package/esm/domain/deflate/deflate.types.mjs.map +1 -0
- package/esm/domain/error/error.mjs +104 -0
- package/esm/domain/error/error.mjs.map +1 -0
- package/esm/domain/error/error.types.mjs +24 -0
- package/esm/domain/error/error.types.mjs.map +1 -0
- package/esm/domain/error/isError.mjs +13 -0
- package/esm/domain/error/isError.mjs.map +1 -0
- package/esm/domain/error/trackRuntimeError.mjs +49 -0
- package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +31 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
- package/esm/domain/extension/extensionUtils.mjs +23 -0
- package/esm/domain/extension/extensionUtils.mjs.map +1 -0
- package/esm/domain/geo/geocoding.mjs +60 -0
- package/esm/domain/geo/geocoding.mjs.map +1 -0
- package/esm/domain/geo/geolocation.mjs +69 -0
- package/esm/domain/geo/geolocation.mjs.map +1 -0
- package/esm/domain/report/reportObservable.mjs +89 -0
- package/esm/domain/report/reportObservable.mjs.map +1 -0
- package/esm/domain/resourceUtils.mjs +22 -0
- package/esm/domain/resourceUtils.mjs.map +1 -0
- package/esm/domain/sampler.mjs +37 -0
- package/esm/domain/sampler.mjs.map +1 -0
- package/esm/domain/session/sessionConstants.mjs +18 -0
- package/esm/domain/session/sessionConstants.mjs.map +1 -0
- package/esm/domain/session/sessionManager.mjs +258 -0
- package/esm/domain/session/sessionManager.mjs.map +1 -0
- package/esm/domain/session/sessionState.mjs +76 -0
- package/esm/domain/session/sessionState.mjs.map +1 -0
- package/esm/domain/session/sessionStateValidation.mjs +9 -0
- package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
- package/esm/domain/session/sessionStore.mjs +45 -0
- package/esm/domain/session/sessionStore.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs +96 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs +34 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
- package/esm/domain/sourceCodeContext.mjs +55 -0
- package/esm/domain/sourceCodeContext.mjs.map +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
- package/esm/domain/tags.mjs +29 -0
- package/esm/domain/tags.mjs.map +1 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
- package/esm/domain/telemetry/telemetry.mjs +210 -0
- package/esm/domain/telemetry/telemetry.mjs.map +1 -0
- package/esm/domain/trackingConsent.mjs +38 -0
- package/esm/domain/trackingConsent.mjs.map +1 -0
- package/esm/domain/userAgentData/userAgentData.mjs +77 -0
- package/esm/domain/userAgentData/userAgentData.mjs.map +1 -0
- package/esm/index.mjs +85 -0
- package/esm/tools/abstractLifeCycle.mjs +21 -0
- package/esm/tools/abstractLifeCycle.mjs.map +1 -0
- package/esm/tools/catchUserErrors.mjs +15 -0
- package/esm/tools/catchUserErrors.mjs.map +1 -0
- package/esm/tools/display.mjs +8 -0
- package/esm/tools/display.mjs.map +1 -0
- package/esm/tools/encoder.mjs +39 -0
- package/esm/tools/encoder.mjs.map +1 -0
- package/esm/tools/experimentalFeatures.mjs +35 -0
- package/esm/tools/experimentalFeatures.mjs.map +1 -0
- package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
- package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
- package/esm/tools/instrumentMethod.mjs +183 -0
- package/esm/tools/instrumentMethod.mjs.map +1 -0
- package/esm/tools/matchOption.mjs +25 -0
- package/esm/tools/matchOption.mjs.map +1 -0
- package/esm/tools/mockable.mjs +28 -0
- package/esm/tools/mockable.mjs.map +1 -0
- package/esm/tools/observable.mjs +77 -0
- package/esm/tools/observable.mjs.map +1 -0
- package/esm/tools/queueMicrotask.mjs +12 -0
- package/esm/tools/queueMicrotask.mjs.map +1 -0
- package/esm/tools/readBytesFromStream.mjs +21 -0
- package/esm/tools/readBytesFromStream.mjs.map +1 -0
- package/esm/tools/requestIdleCallback.mjs +28 -0
- package/esm/tools/requestIdleCallback.mjs.map +1 -0
- package/esm/tools/sendToExtension.mjs +13 -0
- package/esm/tools/sendToExtension.mjs.map +1 -0
- package/esm/tools/serialisation/jsonStringify.mjs +42 -0
- package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
- package/esm/tools/serialisation/sanitize.mjs +132 -0
- package/esm/tools/serialisation/sanitize.mjs.map +1 -0
- package/esm/tools/serialisation/stringify.mjs +17 -0
- package/esm/tools/serialisation/stringify.mjs.map +1 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
- package/esm/tools/stackTrace/handlingStack.mjs +45 -0
- package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
- package/esm/tools/taskQueue.mjs +45 -0
- package/esm/tools/taskQueue.mjs.map +1 -0
- package/esm/tools/thenable.mjs +24 -0
- package/esm/tools/thenable.mjs.map +1 -0
- package/esm/tools/timer.mjs +20 -0
- package/esm/tools/timer.mjs.map +1 -0
- package/esm/tools/utils/arrayUtils.mjs +21 -0
- package/esm/tools/utils/arrayUtils.mjs.map +1 -0
- package/esm/tools/utils/browserDetection.mjs +31 -0
- package/esm/tools/utils/browserDetection.mjs.map +1 -0
- package/esm/tools/utils/byteUtils.mjs +23 -0
- package/esm/tools/utils/byteUtils.mjs.map +1 -0
- package/esm/tools/utils/functionUtils.mjs +35 -0
- package/esm/tools/utils/functionUtils.mjs.map +1 -0
- package/esm/tools/utils/numberUtils.mjs +11 -0
- package/esm/tools/utils/numberUtils.mjs.map +1 -0
- package/esm/tools/utils/objectUtils.mjs +31 -0
- package/esm/tools/utils/objectUtils.mjs.map +1 -0
- package/esm/tools/utils/polyfills.mjs +17 -0
- package/esm/tools/utils/polyfills.mjs.map +1 -0
- package/esm/tools/utils/responseUtils.mjs +15 -0
- package/esm/tools/utils/responseUtils.mjs.map +1 -0
- package/esm/tools/utils/stringUtils.mjs +81 -0
- package/esm/tools/utils/stringUtils.mjs.map +1 -0
- package/esm/tools/utils/timezone.mjs +12 -0
- package/esm/tools/utils/timezone.mjs.map +1 -0
- package/esm/tools/valueHistory.mjs +117 -0
- package/esm/tools/valueHistory.mjs.map +1 -0
- package/esm/transport/batch.mjs +96 -0
- package/esm/transport/batch.mjs.map +1 -0
- package/esm/transport/eventBridge.mjs +58 -0
- package/esm/transport/eventBridge.mjs.map +1 -0
- package/esm/transport/flushController.mjs +103 -0
- package/esm/transport/flushController.mjs.map +1 -0
- package/esm/transport/httpRequest.mjs +69 -0
- package/esm/transport/httpRequest.mjs.map +1 -0
- package/esm/transport/sendWithRetryStrategy.mjs +154 -0
- package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
- package/package.json +20 -11
- package/src/boot/displayAlreadyInitializedError.ts +4 -1
- package/src/boot/init.ts +3 -2
- package/src/browser/addEventListener.ts +43 -8
- package/src/browser/browser.types.ts +0 -32
- package/src/browser/cookie.ts +45 -30
- package/src/browser/cookieAccess.ts +172 -0
- package/src/browser/fetch.ts +14 -0
- package/src/browser/fetchObservable.ts +25 -26
- package/src/browser/pageMayExitObservable.ts +9 -5
- package/src/browser/runOnReadyState.ts +3 -8
- package/src/browser/webSocketObservable.ts +181 -0
- package/src/browser/xhrObservable.ts +22 -13
- package/src/domain/allowedTrackingOrigins.ts +7 -6
- package/src/domain/bufferedData.ts +41 -14
- package/src/domain/configuration/configuration.ts +121 -171
- package/src/domain/configuration/index.ts +6 -7
- package/src/domain/configuration/remoteSdkConfig.ts +65 -16
- package/src/domain/connectivity/connectivity.ts +11 -23
- package/src/domain/console/consoleObservable.ts +9 -5
- package/src/domain/context/contextManager.ts +6 -2
- package/src/domain/context/contextUtils.ts +1 -1
- package/src/domain/context/defineContextMethod.ts +4 -4
- package/src/domain/context/storeContextManager.ts +9 -6
- package/src/domain/contexts/accountContext.ts +5 -5
- package/src/domain/contexts/globalContext.ts +4 -5
- package/src/domain/contexts/tabContext.ts +43 -0
- package/src/domain/contexts/telemetrySessionContext.ts +26 -0
- package/src/domain/contexts/userContext.ts +21 -16
- package/src/domain/error/error.ts +83 -35
- package/src/domain/error/error.types.ts +6 -4
- package/src/domain/error/isError.ts +13 -0
- package/src/domain/error/trackRuntimeError.ts +11 -4
- package/src/domain/eventRateLimiter/createEventRateLimiter.ts +3 -9
- package/src/{tools/utils → domain/geo}/geocoding.ts +7 -18
- package/src/{tools/utils → domain/geo}/geolocation.ts +1 -1
- package/src/domain/report/reportObservable.ts +15 -8
- package/src/domain/resourceUtils.ts +1 -0
- package/src/domain/sampler.ts +59 -0
- package/src/domain/session/sessionConstants.ts +2 -1
- package/src/domain/session/sessionManager.ts +347 -178
- package/src/domain/session/sessionState.ts +71 -10
- package/src/domain/session/sessionStore.ts +53 -226
- package/src/domain/session/storeStrategies/sessionInCookie.ts +122 -107
- package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
- package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
- package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
- package/src/domain/sourceCodeContext.ts +100 -0
- package/src/domain/synthetics/syntheticsWorkerValues.ts +47 -15
- package/src/domain/tags.ts +5 -19
- package/src/domain/telemetry/rawTelemetryEvent.types.ts +1 -1
- package/src/domain/telemetry/telemetry.ts +44 -52
- package/src/domain/telemetry/telemetryEvent.types.ts +177 -19
- package/src/domain/trackingConsent.ts +18 -3
- package/src/domain/userAgentData/userAgentData.ts +1 -1
- package/src/index.ts +59 -43
- package/src/tools/display.ts +2 -52
- package/src/tools/experimentalFeatures.ts +3 -4
- package/src/tools/getZoneJsOriginalValue.ts +3 -3
- package/src/tools/instrumentMethod.ts +228 -18
- package/src/tools/matchOption.ts +2 -6
- package/src/tools/mockable.ts +32 -0
- package/src/tools/observable.ts +11 -2
- package/src/tools/queueMicrotask.ts +8 -3
- package/src/tools/readBytesFromStream.ts +3 -12
- package/src/tools/requestIdleCallback.ts +2 -2
- package/src/tools/sendToExtension.ts +1 -1
- package/src/tools/serialisation/sanitize.ts +71 -64
- package/src/tools/serialisation/stringify.ts +18 -0
- package/src/tools/stackTrace/computeStackTrace.ts +19 -19
- package/src/tools/stackTrace/handlingStack.ts +15 -2
- package/src/tools/taskQueue.ts +5 -3
- package/src/tools/thenable.ts +23 -0
- package/src/tools/timer.ts +8 -7
- package/src/tools/utils/arrayUtils.ts +8 -2
- package/src/tools/utils/browserDetection.ts +8 -0
- package/src/tools/utils/byteUtils.ts +2 -6
- package/src/tools/utils/functionUtils.ts +2 -2
- package/src/tools/utils/numberUtils.ts +0 -12
- package/src/tools/utils/objectUtils.ts +20 -0
- package/src/tools/utils/stringUtils.ts +23 -1
- package/src/tools/valueHistory.ts +59 -18
- package/src/transport/batch.ts +50 -31
- package/src/transport/eventBridge.ts +24 -10
- package/src/transport/flushController.ts +22 -30
- package/src/transport/httpRequest.ts +18 -47
- package/src/transport/index.ts +3 -2
- package/src/transport/sendWithRetryStrategy.ts +29 -17
- package/cjs/browser/browser.types.js +0 -6
- package/cjs/browser/browser.types.js.map +0 -1
- package/cjs/domain/configuration/endpointBuilder.d.ts +0 -12
- package/cjs/domain/configuration/endpointBuilder.js +0 -66
- package/cjs/domain/configuration/endpointBuilder.js.map +0 -1
- package/cjs/domain/configuration/index.js +0 -44
- package/cjs/domain/configuration/index.js.map +0 -1
- package/cjs/domain/configuration/transportConfiguration.d.ts +0 -21
- package/cjs/domain/configuration/transportConfiguration.js +0 -58
- package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
- package/cjs/domain/connectivity/index.js +0 -18
- package/cjs/domain/connectivity/index.js.map +0 -1
- package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
- package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/cjs/domain/deflate/index.js +0 -18
- package/cjs/domain/deflate/index.js.map +0 -1
- package/cjs/domain/intakeSites.d.ts +0 -4
- package/cjs/domain/intakeSites.js +0 -7
- package/cjs/domain/intakeSites.js.map +0 -1
- package/cjs/domain/report/browser.types.js +0 -3
- package/cjs/domain/report/browser.types.js.map +0 -1
- package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
- package/cjs/domain/session/oldCookiesMigration.js +0 -40
- package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
- package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
- package/cjs/domain/session/sessionStoreOperations.js +0 -119
- package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
- package/cjs/domain/telemetry/index.js +0 -28
- package/cjs/domain/telemetry/index.js.map +0 -1
- package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/cjs/domain/userAgentData/index.js +0 -18
- package/cjs/domain/userAgentData/index.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/tools/abstractHooks.d.ts +0 -24
- package/cjs/tools/abstractHooks.js +0 -41
- package/cjs/tools/abstractHooks.js.map +0 -1
- package/cjs/tools/boundedBuffer.d.ts +0 -16
- package/cjs/tools/boundedBuffer.js +0 -32
- package/cjs/tools/boundedBuffer.js.map +0 -1
- package/cjs/tools/globalObject.d.ts +0 -19
- package/cjs/tools/globalObject.js +0 -44
- package/cjs/tools/globalObject.js.map +0 -1
- package/cjs/tools/mergeInto.d.ts +0 -25
- package/cjs/tools/mergeInto.js +0 -98
- package/cjs/tools/mergeInto.js.map +0 -1
- package/cjs/tools/monitor.d.ts +0 -9
- package/cjs/tools/monitor.js +0 -61
- package/cjs/tools/monitor.js.map +0 -1
- package/cjs/tools/serialisation/context.js +0 -3
- package/cjs/tools/serialisation/context.js.map +0 -1
- package/cjs/tools/utils/geocoding.js +0 -80
- package/cjs/tools/utils/geocoding.js.map +0 -1
- package/cjs/tools/utils/geolocation.js +0 -77
- package/cjs/tools/utils/geolocation.js.map +0 -1
- package/cjs/tools/utils/timeUtils.d.ts +0 -53
- package/cjs/tools/utils/timeUtils.js +0 -101
- package/cjs/tools/utils/timeUtils.js.map +0 -1
- package/cjs/tools/utils/typeUtils.d.ts +0 -4
- package/cjs/tools/utils/typeUtils.js +0 -16
- package/cjs/tools/utils/typeUtils.js.map +0 -1
- package/cjs/tools/utils/urlPolyfill.d.ts +0 -5
- package/cjs/tools/utils/urlPolyfill.js +0 -59
- package/cjs/tools/utils/urlPolyfill.js.map +0 -1
- package/cjs/transport/index.js +0 -15
- package/cjs/transport/index.js.map +0 -1
- package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
- package/esm/boot/displayAlreadyInitializedError.js +0 -7
- package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
- package/esm/boot/init.d.ts +0 -13
- package/esm/boot/init.js +0 -35
- package/esm/boot/init.js.map +0 -1
- package/esm/browser/addEventListener.d.ts +0 -87
- package/esm/browser/addEventListener.js +0 -51
- package/esm/browser/addEventListener.js.map +0 -1
- package/esm/browser/browser.types.d.ts +0 -51
- package/esm/browser/browser.types.js +0 -5
- package/esm/browser/browser.types.js.map +0 -1
- package/esm/browser/cookie.d.ts +0 -26
- package/esm/browser/cookie.js +0 -101
- package/esm/browser/cookie.js.map +0 -1
- package/esm/browser/fetchObservable.d.ts +0 -38
- package/esm/browser/fetchObservable.js +0 -99
- package/esm/browser/fetchObservable.js.map +0 -1
- package/esm/browser/pageMayExitObservable.d.ts +0 -14
- package/esm/browser/pageMayExitObservable.js +0 -51
- package/esm/browser/pageMayExitObservable.js.map +0 -1
- package/esm/browser/runOnReadyState.d.ts +0 -5
- package/esm/browser/runOnReadyState.js +0 -16
- package/esm/browser/runOnReadyState.js.map +0 -1
- package/esm/browser/xhrObservable.d.ts +0 -24
- package/esm/browser/xhrObservable.js +0 -83
- package/esm/browser/xhrObservable.js.map +0 -1
- package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
- package/esm/domain/allowedTrackingOrigins.js +0 -21
- package/esm/domain/allowedTrackingOrigins.js.map +0 -1
- package/esm/domain/bufferedData.d.ts +0 -14
- package/esm/domain/bufferedData.js +0 -19
- package/esm/domain/bufferedData.js.map +0 -1
- package/esm/domain/configuration/configuration.d.ts +0 -284
- package/esm/domain/configuration/configuration.js +0 -129
- package/esm/domain/configuration/configuration.js.map +0 -1
- package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
- package/esm/domain/configuration/endpointBuilder.js +0 -62
- package/esm/domain/configuration/endpointBuilder.js.map +0 -1
- package/esm/domain/configuration/index.d.ts +0 -8
- package/esm/domain/configuration/index.js +0 -6
- package/esm/domain/configuration/index.js.map +0 -1
- package/esm/domain/configuration/remoteSdkConfig.d.ts +0 -81
- package/esm/domain/configuration/remoteSdkConfig.js +0 -172
- package/esm/domain/configuration/remoteSdkConfig.js.map +0 -1
- package/esm/domain/configuration/transportConfiguration.d.ts +0 -21
- package/esm/domain/configuration/transportConfiguration.js +0 -54
- package/esm/domain/configuration/transportConfiguration.js.map +0 -1
- package/esm/domain/connectivity/connectivity.d.ts +0 -18
- package/esm/domain/connectivity/connectivity.js +0 -13
- package/esm/domain/connectivity/connectivity.js.map +0 -1
- package/esm/domain/connectivity/index.d.ts +0 -1
- package/esm/domain/connectivity/index.js +0 -2
- package/esm/domain/connectivity/index.js.map +0 -1
- package/esm/domain/console/consoleObservable.d.ts +0 -21
- package/esm/domain/console/consoleObservable.js +0 -80
- package/esm/domain/console/consoleObservable.js.map +0 -1
- package/esm/domain/context/contextConstants.d.ts +0 -21
- package/esm/domain/context/contextConstants.js +0 -15
- package/esm/domain/context/contextConstants.js.map +0 -1
- package/esm/domain/context/contextManager.d.ts +0 -19
- package/esm/domain/context/contextManager.js +0 -56
- package/esm/domain/context/contextManager.js.map +0 -1
- package/esm/domain/context/contextUtils.d.ts +0 -5
- package/esm/domain/context/contextUtils.js +0 -13
- package/esm/domain/context/contextUtils.js.map +0 -1
- package/esm/domain/context/defineContextMethod.d.ts +0 -6
- package/esm/domain/context/defineContextMethod.js +0 -17
- package/esm/domain/context/defineContextMethod.js.map +0 -1
- package/esm/domain/context/storeContextManager.d.ts +0 -6
- package/esm/domain/context/storeContextManager.js +0 -35
- package/esm/domain/context/storeContextManager.js.map +0 -1
- package/esm/domain/contexts/accountContext.d.ts +0 -26
- package/esm/domain/contexts/accountContext.js +0 -29
- package/esm/domain/contexts/accountContext.js.map +0 -1
- package/esm/domain/contexts/globalContext.d.ts +0 -18
- package/esm/domain/contexts/globalContext.js +0 -17
- package/esm/domain/contexts/globalContext.js.map +0 -1
- package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
- package/esm/domain/contexts/rumInternalContext.type.js +0 -2
- package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/esm/domain/contexts/userContext.d.ts +0 -32
- package/esm/domain/contexts/userContext.js +0 -120
- package/esm/domain/contexts/userContext.js.map +0 -1
- package/esm/domain/deflate/deflate.types.d.ts +0 -40
- package/esm/domain/deflate/deflate.types.js +0 -2
- package/esm/domain/deflate/deflate.types.js.map +0 -1
- package/esm/domain/deflate/index.d.ts +0 -1
- package/esm/domain/deflate/index.js +0 -2
- package/esm/domain/deflate/index.js.map +0 -1
- package/esm/domain/error/error.d.ts +0 -23
- package/esm/domain/error/error.js +0 -72
- package/esm/domain/error/error.js.map +0 -1
- package/esm/domain/error/error.types.d.ts +0 -47
- package/esm/domain/error/error.types.js +0 -10
- package/esm/domain/error/error.types.js.map +0 -1
- package/esm/domain/error/trackRuntimeError.d.ts +0 -11
- package/esm/domain/error/trackRuntimeError.js +0 -43
- package/esm/domain/error/trackRuntimeError.js.map +0 -1
- package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
- package/esm/domain/extension/extensionUtils.d.ts +0 -10
- package/esm/domain/extension/extensionUtils.js +0 -25
- package/esm/domain/extension/extensionUtils.js.map +0 -1
- package/esm/domain/intakeSites.d.ts +0 -4
- package/esm/domain/intakeSites.js +0 -4
- package/esm/domain/intakeSites.js.map +0 -1
- package/esm/domain/report/browser.types.d.ts +0 -34
- package/esm/domain/report/browser.types.js +0 -2
- package/esm/domain/report/browser.types.js.map +0 -1
- package/esm/domain/report/reportObservable.d.ts +0 -14
- package/esm/domain/report/reportObservable.js +0 -95
- package/esm/domain/report/reportObservable.js.map +0 -1
- package/esm/domain/resourceUtils.d.ts +0 -18
- package/esm/domain/resourceUtils.js +0 -17
- package/esm/domain/resourceUtils.js.map +0 -1
- package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
- package/esm/domain/session/oldCookiesMigration.js +0 -36
- package/esm/domain/session/oldCookiesMigration.js.map +0 -1
- package/esm/domain/session/sessionConstants.d.ts +0 -15
- package/esm/domain/session/sessionConstants.js +0 -13
- package/esm/domain/session/sessionConstants.js.map +0 -1
- package/esm/domain/session/sessionManager.d.ts +0 -28
- package/esm/domain/session/sessionManager.js +0 -196
- package/esm/domain/session/sessionManager.js.map +0 -1
- package/esm/domain/session/sessionState.d.ts +0 -16
- package/esm/domain/session/sessionState.js +0 -60
- package/esm/domain/session/sessionState.js.map +0 -1
- package/esm/domain/session/sessionStateValidation.d.ts +0 -3
- package/esm/domain/session/sessionStateValidation.js +0 -7
- package/esm/domain/session/sessionStateValidation.js.map +0 -1
- package/esm/domain/session/sessionStore.d.ts +0 -38
- package/esm/domain/session/sessionStore.js +0 -180
- package/esm/domain/session/sessionStore.js.map +0 -1
- package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
- package/esm/domain/session/sessionStoreOperations.js +0 -114
- package/esm/domain/session/sessionStoreOperations.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
- package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
- package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
- package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
- package/esm/domain/tags.d.ts +0 -6
- package/esm/domain/tags.js +0 -59
- package/esm/domain/tags.js.map +0 -1
- package/esm/domain/telemetry/index.d.ts +0 -4
- package/esm/domain/telemetry/index.js +0 -3
- package/esm/domain/telemetry/index.js.map +0 -1
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
- package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
- package/esm/domain/telemetry/telemetry.d.ts +0 -56
- package/esm/domain/telemetry/telemetry.js +0 -232
- package/esm/domain/telemetry/telemetry.js.map +0 -1
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
- package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/esm/domain/trackingConsent.d.ts +0 -13
- package/esm/domain/trackingConsent.js +0 -24
- package/esm/domain/trackingConsent.js.map +0 -1
- package/esm/domain/userAgentData/index.d.ts +0 -1
- package/esm/domain/userAgentData/index.js +0 -2
- package/esm/domain/userAgentData/index.js.map +0 -1
- package/esm/domain/userAgentData/userAgentData.d.ts +0 -22
- package/esm/domain/userAgentData/userAgentData.js +0 -105
- package/esm/domain/userAgentData/userAgentData.js.map +0 -1
- package/esm/index.d.ts +0 -104
- package/esm/index.js +0 -79
- package/esm/index.js.map +0 -1
- package/esm/tools/abstractHooks.d.ts +0 -24
- package/esm/tools/abstractHooks.js +0 -37
- package/esm/tools/abstractHooks.js.map +0 -1
- package/esm/tools/abstractLifeCycle.d.ts +0 -23
- package/esm/tools/abstractLifeCycle.js +0 -24
- package/esm/tools/abstractLifeCycle.js.map +0 -1
- package/esm/tools/boundedBuffer.d.ts +0 -16
- package/esm/tools/boundedBuffer.js +0 -29
- package/esm/tools/boundedBuffer.js.map +0 -1
- package/esm/tools/catchUserErrors.d.ts +0 -1
- package/esm/tools/catchUserErrors.js +0 -12
- package/esm/tools/catchUserErrors.js.map +0 -1
- package/esm/tools/display.d.ts +0 -38
- package/esm/tools/display.js +0 -41
- package/esm/tools/display.js.map +0 -1
- package/esm/tools/encoder.d.ts +0 -54
- package/esm/tools/encoder.js +0 -37
- package/esm/tools/encoder.js.map +0 -1
- package/esm/tools/experimentalFeatures.d.ts +0 -21
- package/esm/tools/experimentalFeatures.js +0 -42
- package/esm/tools/experimentalFeatures.js.map +0 -1
- package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
- package/esm/tools/getZoneJsOriginalValue.js +0 -26
- package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
- package/esm/tools/globalObject.d.ts +0 -19
- package/esm/tools/globalObject.js +0 -40
- package/esm/tools/globalObject.js.map +0 -1
- package/esm/tools/instrumentMethod.d.ts +0 -75
- package/esm/tools/instrumentMethod.js +0 -114
- package/esm/tools/instrumentMethod.js.map +0 -1
- package/esm/tools/matchOption.d.ts +0 -8
- package/esm/tools/matchOption.js +0 -31
- package/esm/tools/matchOption.js.map +0 -1
- package/esm/tools/mergeInto.d.ts +0 -25
- package/esm/tools/mergeInto.js +0 -93
- package/esm/tools/mergeInto.js.map +0 -1
- package/esm/tools/monitor.d.ts +0 -9
- package/esm/tools/monitor.js +0 -51
- package/esm/tools/monitor.js.map +0 -1
- package/esm/tools/observable.d.ts +0 -30
- package/esm/tools/observable.js +0 -83
- package/esm/tools/observable.js.map +0 -1
- package/esm/tools/queueMicrotask.d.ts +0 -1
- package/esm/tools/queueMicrotask.js +0 -14
- package/esm/tools/queueMicrotask.js.map +0 -1
- package/esm/tools/readBytesFromStream.d.ts +0 -10
- package/esm/tools/readBytesFromStream.js +0 -25
- package/esm/tools/readBytesFromStream.js.map +0 -1
- package/esm/tools/requestIdleCallback.d.ts +0 -12
- package/esm/tools/requestIdleCallback.js +0 -30
- package/esm/tools/requestIdleCallback.js.map +0 -1
- package/esm/tools/sendToExtension.d.ts +0 -3
- package/esm/tools/sendToExtension.js +0 -8
- package/esm/tools/sendToExtension.js.map +0 -1
- package/esm/tools/serialisation/context.d.ts +0 -9
- package/esm/tools/serialisation/context.js +0 -2
- package/esm/tools/serialisation/context.js.map +0 -1
- package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
- package/esm/tools/serialisation/jsonStringify.js +0 -44
- package/esm/tools/serialisation/jsonStringify.js.map +0 -1
- package/esm/tools/serialisation/sanitize.d.ts +0 -18
- package/esm/tools/serialisation/sanitize.js +0 -185
- package/esm/tools/serialisation/sanitize.js.map +0 -1
- package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
- package/esm/tools/stackTrace/computeStackTrace.js +0 -183
- package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
- package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
- package/esm/tools/stackTrace/handlingStack.js +0 -41
- package/esm/tools/stackTrace/handlingStack.js.map +0 -1
- package/esm/tools/taskQueue.d.ts +0 -15
- package/esm/tools/taskQueue.js +0 -50
- package/esm/tools/taskQueue.js.map +0 -1
- package/esm/tools/timer.d.ts +0 -5
- package/esm/tools/timer.js +0 -16
- package/esm/tools/timer.js.map +0 -1
- package/esm/tools/utils/arrayUtils.d.ts +0 -3
- package/esm/tools/utils/arrayUtils.js +0 -15
- package/esm/tools/utils/arrayUtils.js.map +0 -1
- package/esm/tools/utils/browserDetection.d.ts +0 -8
- package/esm/tools/utils/browserDetection.js +0 -28
- package/esm/tools/utils/browserDetection.js.map +0 -1
- package/esm/tools/utils/byteUtils.d.ts +0 -8
- package/esm/tools/utils/byteUtils.js +0 -29
- package/esm/tools/utils/byteUtils.js.map +0 -1
- package/esm/tools/utils/functionUtils.d.ts +0 -8
- package/esm/tools/utils/functionUtils.js +0 -39
- package/esm/tools/utils/functionUtils.js.map +0 -1
- package/esm/tools/utils/geocoding.d.ts +0 -60
- package/esm/tools/utils/geocoding.js +0 -73
- package/esm/tools/utils/geocoding.js.map +0 -1
- package/esm/tools/utils/geolocation.d.ts +0 -24
- package/esm/tools/utils/geolocation.js +0 -71
- package/esm/tools/utils/geolocation.js.map +0 -1
- package/esm/tools/utils/numberUtils.d.ts +0 -8
- package/esm/tools/utils/numberUtils.js +0 -17
- package/esm/tools/utils/numberUtils.js.map +0 -1
- package/esm/tools/utils/objectUtils.d.ts +0 -10
- package/esm/tools/utils/objectUtils.js +0 -17
- package/esm/tools/utils/objectUtils.js.map +0 -1
- package/esm/tools/utils/polyfills.d.ts +0 -7
- package/esm/tools/utils/polyfills.js +0 -18
- package/esm/tools/utils/polyfills.js.map +0 -1
- package/esm/tools/utils/responseUtils.d.ts +0 -2
- package/esm/tools/utils/responseUtils.js +0 -13
- package/esm/tools/utils/responseUtils.js.map +0 -1
- package/esm/tools/utils/stringUtils.d.ts +0 -23
- package/esm/tools/utils/stringUtils.js +0 -84
- package/esm/tools/utils/stringUtils.js.map +0 -1
- package/esm/tools/utils/timeUtils.d.ts +0 -53
- package/esm/tools/utils/timeUtils.js +0 -84
- package/esm/tools/utils/timeUtils.js.map +0 -1
- package/esm/tools/utils/timezone.d.ts +0 -1
- package/esm/tools/utils/timezone.js +0 -10
- package/esm/tools/utils/timezone.js.map +0 -1
- package/esm/tools/utils/typeUtils.d.ts +0 -4
- package/esm/tools/utils/typeUtils.js +0 -13
- package/esm/tools/utils/typeUtils.js.map +0 -1
- package/esm/tools/utils/urlPolyfill.d.ts +0 -5
- package/esm/tools/utils/urlPolyfill.js +0 -52
- package/esm/tools/utils/urlPolyfill.js.map +0 -1
- package/esm/tools/valueHistory.d.ts +0 -27
- package/esm/tools/valueHistory.js +0 -100
- package/esm/tools/valueHistory.js.map +0 -1
- package/esm/transport/batch.d.ts +0 -16
- package/esm/transport/batch.js +0 -106
- package/esm/transport/batch.js.map +0 -1
- package/esm/transport/eventBridge.d.ts +0 -21
- package/esm/transport/eventBridge.js +0 -41
- package/esm/transport/eventBridge.js.map +0 -1
- package/esm/transport/flushController.d.ts +0 -65
- package/esm/transport/flushController.js +0 -119
- package/esm/transport/flushController.js.map +0 -1
- package/esm/transport/httpRequest.d.ts +0 -57
- package/esm/transport/httpRequest.js +0 -101
- package/esm/transport/httpRequest.js.map +0 -1
- package/esm/transport/index.d.ts +0 -7
- package/esm/transport/index.js +0 -5
- package/esm/transport/index.js.map +0 -1
- package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
- package/esm/transport/sendWithRetryStrategy.js +0 -158
- package/esm/transport/sendWithRetryStrategy.js.map +0 -1
- package/src/domain/configuration/endpointBuilder.ts +0 -105
- package/src/domain/configuration/transportConfiguration.ts +0 -86
- package/src/domain/intakeSites.ts +0 -6
- package/src/domain/session/oldCookiesMigration.ts +0 -42
- package/src/domain/session/sessionStoreOperations.ts +0 -131
- package/src/tools/abstractHooks.ts +0 -72
- package/src/tools/boundedBuffer.ts +0 -44
- package/src/tools/globalObject.ts +0 -51
- package/src/tools/mergeInto.ts +0 -177
- package/src/tools/monitor.ts +0 -71
- package/src/tools/utils/timeUtils.ts +0 -117
- package/src/tools/utils/typeUtils.ts +0 -12
- package/src/tools/utils/urlPolyfill.ts +0 -55
- /package/cjs/{tools/utils → domain/geo}/geocoding.d.ts +0 -0
- /package/cjs/{tools/utils → domain/geo}/geolocation.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageMayExitObservable.js","
|
|
1
|
+
{"version":3,"file":"pageMayExitObservable.js","names":["Observable","globalObject","addEventListeners","addEventListener","objectValues"],"sources":["../../src/browser/pageMayExitObservable.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { Observable } from '../tools/observable'\nimport { objectValues } from '../tools/utils/polyfills'\nimport { addEventListeners, addEventListener, DOM_EVENT } from './addEventListener'\n\nexport const PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n} as const\n\nexport type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason]\n\nexport interface PageMayExitEvent {\n reason: PageExitReason\n}\n\nexport function createPageMayExitObservable(): Observable<PageMayExitEvent> {\n return new Observable<PageMayExitEvent>((observable) => {\n const window = globalObject.window\n if (!window) {\n // Page exit is not observable in non-browser environments\n return\n }\n const { stop: stopListeners } = addEventListeners(\n window,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE],\n (event) => {\n if (event.type === DOM_EVENT.VISIBILITY_CHANGE && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n const stopBeforeUnloadListener = addEventListener(window, DOM_EVENT.BEFORE_UNLOAD, () => {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }).stop\n\n /**\n * Fires when the page is actually going away — a closed tab, a navigation,\n * or a move into the bfcache — and unlike beforeunload it is not skipped on\n * mobile or when the browser discards the tab. It does not fire on a plain\n * tab switch, so it says \"this page is done\" in a way visibilitychange\n * cannot.\n */\n const stopPageHideListener = addEventListener(window, DOM_EVENT.PAGE_HIDE, () => {\n observable.notify({ reason: PageExitReason.PAGEHIDE })\n }).stop\n\n return () => {\n stopListeners()\n stopBeforeUnloadListener()\n stopPageHideListener()\n }\n })\n}\n\nexport function isPageExitReason(reason: string): reason is PageExitReason {\n return objectValues(PageExitReason).includes(reason as PageExitReason)\n}\n"],"mappings":";;;;;AAKA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,WAAW;CACX,UAAU;CACV,QAAQ;AACV;AAQA,SAAgB,8BAA4D;CAC1E,OAAO,IAAIA,mBAAAA,YAA8B,eAAe;EACtD,MAAM,SAASC,kCAAAA,aAAa;EAC5B,IAAI,CAAC,QAEH;EAEF,MAAM,EAAE,MAAM,kBAAkBC,yBAAAA,kBAC9B,QACA,CAAA,oBAAA,QAA8C,IAC7C,UAAU;GACT,IAAI,MAAM,SAAA,sBAAwC,SAAS,oBAAoB;;;;;GAK7E,WAAW,OAAO,EAAE,QAAQ,eAAe,OAAO,CAAC;QAC9C,IAAI,MAAM,SAAA;;;;;GAKf,WAAW,OAAO,EAAE,QAAQ,eAAe,OAAO,CAAC;EAEvD,GACA,EAAE,SAAS,KAAK,CAClB;EAEA,MAAM,2BAA2BC,yBAAAA,iBAAiB,QAAA,sBAAuC;GACvF,WAAW,OAAO,EAAE,QAAQ,eAAe,UAAU,CAAC;EACxD,CAAC,CAAC,CAAC;;;;;;;;EASH,MAAM,uBAAuBA,yBAAAA,iBAAiB,QAAA,kBAAmC;GAC/E,WAAW,OAAO,EAAE,QAAQ,eAAe,SAAS,CAAC;EACvD,CAAC,CAAC,CAAC;EAEH,aAAa;GACX,cAAc;GACd,yBAAyB;GACzB,qBAAqB;EACvB;CACF,CAAC;AACH;AAEA,SAAgB,iBAAiB,QAA0C;CACzE,OAAOC,kBAAAA,aAAa,cAAc,CAAC,CAAC,SAAS,MAAwB;AACvE"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function runOnReadyState(configuration: Configuration, expectedReadyState: 'complete' | 'interactive', callback: () => void): {
|
|
1
|
+
export declare function runOnReadyState(expectedReadyState: 'complete' | 'interactive', callback: () => void): {
|
|
3
2
|
stop: () => void;
|
|
4
3
|
};
|
|
5
|
-
export declare function asyncRunOnReadyState(
|
|
4
|
+
export declare function asyncRunOnReadyState(expectedReadyState: 'complete' | 'interactive'): Promise<void>;
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 });
|
|
1
|
+
const require_functionUtils = require("../tools/utils/functionUtils.js");
|
|
2
|
+
const require_addEventListener = require("./addEventListener.js");
|
|
3
|
+
//#region src/browser/runOnReadyState.ts
|
|
4
|
+
function runOnReadyState(expectedReadyState, callback) {
|
|
5
|
+
if (document.readyState === expectedReadyState || document.readyState === "complete") {
|
|
6
|
+
callback();
|
|
7
|
+
return { stop: require_functionUtils.noop };
|
|
8
|
+
}
|
|
9
|
+
const eventName = expectedReadyState === "complete" ? "load" : "DOMContentLoaded";
|
|
10
|
+
return require_addEventListener.addEventListener(window, eventName, callback, { once: true });
|
|
14
11
|
}
|
|
15
|
-
function asyncRunOnReadyState(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
function asyncRunOnReadyState(expectedReadyState) {
|
|
13
|
+
return new Promise((resolve) => {
|
|
14
|
+
runOnReadyState(expectedReadyState, resolve);
|
|
15
|
+
});
|
|
19
16
|
}
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.asyncRunOnReadyState = asyncRunOnReadyState;
|
|
19
|
+
exports.runOnReadyState = runOnReadyState;
|
|
20
|
+
|
|
20
21
|
//# sourceMappingURL=runOnReadyState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runOnReadyState.js","
|
|
1
|
+
{"version":3,"file":"runOnReadyState.js","names":["noop","addEventListener"],"sources":["../../src/browser/runOnReadyState.ts"],"sourcesContent":["import { noop } from '../tools/utils/functionUtils'\nimport { DOM_EVENT, addEventListener } from './addEventListener'\n\nexport function runOnReadyState(\n expectedReadyState: 'complete' | 'interactive',\n callback: () => void\n): { stop: () => void } {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback()\n return { stop: noop }\n }\n const eventName = expectedReadyState === 'complete' ? DOM_EVENT.LOAD : DOM_EVENT.DOM_CONTENT_LOADED\n return addEventListener(window, eventName, callback, { once: true })\n}\n\nexport function asyncRunOnReadyState(expectedReadyState: 'complete' | 'interactive'): Promise<void> {\n return new Promise((resolve) => {\n runOnReadyState(expectedReadyState, resolve)\n })\n}\n"],"mappings":";;;AAGA,SAAgB,gBACd,oBACA,UACsB;CACtB,IAAI,SAAS,eAAe,sBAAsB,SAAS,eAAe,YAAY;EACpF,SAAS;EACT,OAAO,EAAE,MAAMA,sBAAAA,KAAK;CACtB;CACA,MAAM,YAAY,uBAAuB,aAAA,SAAA;CACzC,OAAOC,yBAAAA,iBAAiB,QAAQ,WAAW,UAAU,EAAE,MAAM,KAAK,CAAC;AACrE;AAEA,SAAgB,qBAAqB,oBAA+D;CAClG,OAAO,IAAI,SAAS,YAAY;EAC9B,gBAAgB,oBAAoB,OAAO;CAC7C,CAAC;AACH"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ClocksState } from '@kubesense/kubesense-js-core/time';
|
|
2
|
+
import { Observable } from '../tools/observable';
|
|
3
|
+
export interface WebSocketConnectingContext {
|
|
4
|
+
state: 'connecting';
|
|
5
|
+
instance: WebSocket;
|
|
6
|
+
url: string;
|
|
7
|
+
protocols?: string | string[];
|
|
8
|
+
startClocks: ClocksState;
|
|
9
|
+
}
|
|
10
|
+
export interface WebSocketOpenContext {
|
|
11
|
+
state: 'open';
|
|
12
|
+
instance: WebSocket;
|
|
13
|
+
openClocks: ClocksState;
|
|
14
|
+
protocol: string;
|
|
15
|
+
}
|
|
16
|
+
export interface WebSocketMessageInContext {
|
|
17
|
+
state: 'message-in';
|
|
18
|
+
instance: WebSocket;
|
|
19
|
+
size: number;
|
|
20
|
+
at: ClocksState;
|
|
21
|
+
}
|
|
22
|
+
export interface WebSocketMessageOutContext {
|
|
23
|
+
state: 'message-out';
|
|
24
|
+
instance: WebSocket;
|
|
25
|
+
size: number;
|
|
26
|
+
bufferedAmountPreSend: number;
|
|
27
|
+
at: ClocksState;
|
|
28
|
+
}
|
|
29
|
+
export interface WebSocketClosedContext {
|
|
30
|
+
state: 'closed';
|
|
31
|
+
instance: WebSocket;
|
|
32
|
+
code: number;
|
|
33
|
+
reason: string;
|
|
34
|
+
wasClean: boolean;
|
|
35
|
+
at: ClocksState;
|
|
36
|
+
}
|
|
37
|
+
export type WebSocketContext = WebSocketConnectingContext | WebSocketOpenContext | WebSocketMessageInContext | WebSocketMessageOutContext | WebSocketClosedContext;
|
|
38
|
+
export declare function initWebSocketObservable(): Observable<WebSocketContext>;
|
|
39
|
+
/**
|
|
40
|
+
* Reset the WebSocket observable global state. Test-only.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export declare function resetWebSocketObservable(): void;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
const require_observable = require("../tools/observable.js");
|
|
2
|
+
const require_instrumentMethod = require("../tools/instrumentMethod.js");
|
|
3
|
+
const require_addEventListener = require("./addEventListener.js");
|
|
4
|
+
const require_byteUtils = require("../tools/utils/byteUtils.js");
|
|
5
|
+
let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
|
|
6
|
+
let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
|
|
7
|
+
//#region src/browser/webSocketObservable.ts
|
|
8
|
+
function isGlobalWithWebSocket(global) {
|
|
9
|
+
return typeof global.WebSocket === "function";
|
|
10
|
+
}
|
|
11
|
+
let webSocketObservable;
|
|
12
|
+
function initWebSocketObservable() {
|
|
13
|
+
if (!webSocketObservable) webSocketObservable = createWebSocketObservable();
|
|
14
|
+
return webSocketObservable;
|
|
15
|
+
}
|
|
16
|
+
function createWebSocketObservable() {
|
|
17
|
+
return new require_observable.Observable((observable) => {
|
|
18
|
+
if (!isGlobalWithWebSocket(_kubesense_kubesense_js_core_util.globalObject)) return;
|
|
19
|
+
const { stop: stopInstrumentingConstructor } = require_instrumentMethod.instrumentConstructor(_kubesense_kubesense_js_core_util.globalObject, "WebSocket", ({ parameters, onPostCall }) => {
|
|
20
|
+
const protocols = Array.isArray(parameters[1]) ? [].concat(parameters[1]) : parameters[1];
|
|
21
|
+
const startClocks = (0, _kubesense_kubesense_js_core_time.clocksNow)();
|
|
22
|
+
onPostCall((instance) => {
|
|
23
|
+
observable.notify({
|
|
24
|
+
state: "connecting",
|
|
25
|
+
instance,
|
|
26
|
+
url: instance.url,
|
|
27
|
+
protocols,
|
|
28
|
+
startClocks
|
|
29
|
+
});
|
|
30
|
+
attachInstanceListeners(instance, observable);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
const { stop: stopInstrumentingSend } = require_instrumentMethod.instrumentMethod(_kubesense_kubesense_js_core_util.globalObject.WebSocket.prototype, "send", ({ target: instance, parameters: [data], onPostCall }) => {
|
|
34
|
+
const size = computePayloadSize(data);
|
|
35
|
+
const bufferedAmountPreSend = instance.bufferedAmount;
|
|
36
|
+
onPostCall(() => {
|
|
37
|
+
observable.notify({
|
|
38
|
+
state: "message-out",
|
|
39
|
+
instance,
|
|
40
|
+
size,
|
|
41
|
+
bufferedAmountPreSend,
|
|
42
|
+
at: (0, _kubesense_kubesense_js_core_time.clocksNow)()
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
return () => {
|
|
47
|
+
stopInstrumentingConstructor();
|
|
48
|
+
stopInstrumentingSend();
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function attachInstanceListeners(instance, observable) {
|
|
53
|
+
const { stop: stopOpen } = require_addEventListener.addEventListener(instance, "open", () => {
|
|
54
|
+
observable.notify({
|
|
55
|
+
state: "open",
|
|
56
|
+
instance,
|
|
57
|
+
openClocks: (0, _kubesense_kubesense_js_core_time.clocksNow)(),
|
|
58
|
+
protocol: instance.protocol || ""
|
|
59
|
+
});
|
|
60
|
+
stopOpen();
|
|
61
|
+
});
|
|
62
|
+
const { stop: stopMessage } = require_addEventListener.addEventListener(instance, "message", (event) => {
|
|
63
|
+
observable.notify({
|
|
64
|
+
state: "message-in",
|
|
65
|
+
instance,
|
|
66
|
+
size: computePayloadSize(event.data),
|
|
67
|
+
at: (0, _kubesense_kubesense_js_core_time.clocksNow)()
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
const { stop: stopClose } = require_addEventListener.addEventListener(instance, "close", (event) => {
|
|
71
|
+
observable.notify({
|
|
72
|
+
state: "closed",
|
|
73
|
+
instance,
|
|
74
|
+
code: event.code,
|
|
75
|
+
reason: event.reason,
|
|
76
|
+
wasClean: event.wasClean,
|
|
77
|
+
at: (0, _kubesense_kubesense_js_core_time.clocksNow)()
|
|
78
|
+
});
|
|
79
|
+
stopMessage();
|
|
80
|
+
stopClose();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function computePayloadSize(data) {
|
|
84
|
+
if (typeof data === "string") return require_byteUtils.computeBytesCount(data);
|
|
85
|
+
if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) return data.byteLength;
|
|
86
|
+
if (typeof Blob !== "undefined" && data instanceof Blob) return data.size;
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
exports.initWebSocketObservable = initWebSocketObservable;
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=webSocketObservable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webSocketObservable.js","names":["Observable","globalObject","instrumentConstructor","clocksNow","instrumentMethod","addEventListener","computeBytesCount"],"sources":["../../src/browser/webSocketObservable.ts"],"sourcesContent":["import type { ClocksState } from '@kubesense/kubesense-js-core/time'\nimport { clocksNow } from '@kubesense/kubesense-js-core/time'\nimport type { GlobalObject } from '@kubesense/kubesense-js-core/util'\nimport { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { instrumentConstructor, instrumentMethod } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport { computeBytesCount } from '../tools/utils/byteUtils'\nimport { addEventListener } from './addEventListener'\n\ntype GlobalWithWebSocket = GlobalObject & { WebSocket: typeof WebSocket }\n\nfunction isGlobalWithWebSocket(global: GlobalObject): global is GlobalWithWebSocket {\n return typeof (global as { WebSocket?: unknown }).WebSocket === 'function'\n}\n\nexport interface WebSocketConnectingContext {\n state: 'connecting'\n instance: WebSocket\n url: string\n protocols?: string | string[]\n startClocks: ClocksState\n}\n\nexport interface WebSocketOpenContext {\n state: 'open'\n instance: WebSocket\n openClocks: ClocksState\n protocol: string\n}\n\nexport interface WebSocketMessageInContext {\n state: 'message-in'\n instance: WebSocket\n size: number\n at: ClocksState\n}\n\nexport interface WebSocketMessageOutContext {\n state: 'message-out'\n instance: WebSocket\n size: number\n bufferedAmountPreSend: number\n at: ClocksState\n}\n\nexport interface WebSocketClosedContext {\n state: 'closed'\n instance: WebSocket\n code: number\n reason: string\n wasClean: boolean\n at: ClocksState\n}\n\nexport type WebSocketContext =\n | WebSocketConnectingContext\n | WebSocketOpenContext\n | WebSocketMessageInContext\n | WebSocketMessageOutContext\n | WebSocketClosedContext\n\nlet webSocketObservable: Observable<WebSocketContext> | undefined\n\nexport function initWebSocketObservable(): Observable<WebSocketContext> {\n if (!webSocketObservable) {\n webSocketObservable = createWebSocketObservable()\n }\n\n return webSocketObservable\n}\n\nfunction createWebSocketObservable() {\n return new Observable<WebSocketContext>((observable) => {\n if (!isGlobalWithWebSocket(globalObject)) {\n return undefined\n }\n\n const { stop: stopInstrumentingConstructor } = instrumentConstructor(\n globalObject,\n 'WebSocket',\n ({ parameters, onPostCall }) => {\n const protocols = Array.isArray(parameters[1]) ? ([] as string[]).concat(parameters[1]) : parameters[1]\n const startClocks = clocksNow()\n\n onPostCall((instance) => {\n observable.notify({\n state: 'connecting',\n instance,\n url: instance.url,\n protocols,\n startClocks,\n })\n\n attachInstanceListeners(instance, observable)\n })\n }\n )\n\n const { stop: stopInstrumentingSend } = instrumentMethod(\n globalObject.WebSocket.prototype,\n 'send',\n ({ target: instance, parameters: [data], onPostCall }) => {\n const size = computePayloadSize(data)\n const bufferedAmountPreSend = instance.bufferedAmount\n\n onPostCall(() => {\n observable.notify({\n state: 'message-out',\n instance,\n size,\n bufferedAmountPreSend,\n at: clocksNow(),\n })\n })\n }\n )\n\n return () => {\n stopInstrumentingConstructor()\n stopInstrumentingSend()\n }\n })\n}\n\nfunction attachInstanceListeners(instance: WebSocket, observable: Observable<WebSocketContext>) {\n const { stop: stopOpen } = addEventListener(instance, 'open', () => {\n observable.notify({\n state: 'open',\n instance,\n openClocks: clocksNow(),\n protocol: instance.protocol || '',\n })\n\n stopOpen()\n })\n\n const { stop: stopMessage } = addEventListener(instance, 'message', (event) => {\n observable.notify({\n state: 'message-in',\n instance,\n size: computePayloadSize(event.data),\n at: clocksNow(),\n })\n })\n\n const { stop: stopClose } = addEventListener(instance, 'close', (event) => {\n observable.notify({\n state: 'closed',\n instance,\n code: event.code,\n reason: event.reason,\n wasClean: event.wasClean,\n at: clocksNow(),\n })\n\n stopMessage()\n stopClose()\n })\n}\n\nfunction computePayloadSize(data: unknown): number {\n if (typeof data === 'string') {\n return computeBytesCount(data)\n }\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n return data.byteLength\n }\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return data.size\n }\n return 0\n}\n\n/**\n * Reset the WebSocket observable global state. Test-only.\n *\n * @internal\n */\nexport function resetWebSocketObservable() {\n webSocketObservable = undefined\n}\n"],"mappings":";;;;;;;AAWA,SAAS,sBAAsB,QAAqD;CAClF,OAAO,OAAQ,OAAmC,cAAc;AAClE;AAgDA,IAAI;AAEJ,SAAgB,0BAAwD;CACtE,IAAI,CAAC,qBACH,sBAAsB,0BAA0B;CAGlD,OAAO;AACT;AAEA,SAAS,4BAA4B;CACnC,OAAO,IAAIA,mBAAAA,YAA8B,eAAe;EACtD,IAAI,CAAC,sBAAsBC,kCAAAA,YAAY,GACrC;EAGF,MAAM,EAAE,MAAM,iCAAiCC,yBAAAA,sBAC7CD,kCAAAA,cACA,cACC,EAAE,YAAY,iBAAiB;GAC9B,MAAM,YAAY,MAAM,QAAQ,WAAW,EAAE,IAAK,CAAC,CAAC,CAAc,OAAO,WAAW,EAAE,IAAI,WAAW;GACrG,MAAM,eAAA,GAAcE,kCAAAA,UAAAA,CAAU;GAE9B,YAAY,aAAa;IACvB,WAAW,OAAO;KAChB,OAAO;KACP;KACA,KAAK,SAAS;KACd;KACA;IACF,CAAC;IAED,wBAAwB,UAAU,UAAU;GAC9C,CAAC;EACH,CACF;EAEA,MAAM,EAAE,MAAM,0BAA0BC,yBAAAA,iBACtCH,kCAAAA,aAAa,UAAU,WACvB,SACC,EAAE,QAAQ,UAAU,YAAY,CAAC,OAAO,iBAAiB;GACxD,MAAM,OAAO,mBAAmB,IAAI;GACpC,MAAM,wBAAwB,SAAS;GAEvC,iBAAiB;IACf,WAAW,OAAO;KAChB,OAAO;KACP;KACA;KACA;KACA,KAAA,GAAIE,kCAAAA,UAAAA,CAAU;IAChB,CAAC;GACH,CAAC;EACH,CACF;EAEA,aAAa;GACX,6BAA6B;GAC7B,sBAAsB;EACxB;CACF,CAAC;AACH;AAEA,SAAS,wBAAwB,UAAqB,YAA0C;CAC9F,MAAM,EAAE,MAAM,aAAaE,yBAAAA,iBAAiB,UAAU,cAAc;EAClE,WAAW,OAAO;GAChB,OAAO;GACP;GACA,aAAA,GAAYF,kCAAAA,UAAAA,CAAU;GACtB,UAAU,SAAS,YAAY;EACjC,CAAC;EAED,SAAS;CACX,CAAC;CAED,MAAM,EAAE,MAAM,gBAAgBE,yBAAAA,iBAAiB,UAAU,YAAY,UAAU;EAC7E,WAAW,OAAO;GAChB,OAAO;GACP;GACA,MAAM,mBAAmB,MAAM,IAAI;GACnC,KAAA,GAAIF,kCAAAA,UAAAA,CAAU;EAChB,CAAC;CACH,CAAC;CAED,MAAM,EAAE,MAAM,cAAcE,yBAAAA,iBAAiB,UAAU,UAAU,UAAU;EACzE,WAAW,OAAO;GAChB,OAAO;GACP;GACA,MAAM,MAAM;GACZ,QAAQ,MAAM;GACd,UAAU,MAAM;GAChB,KAAA,GAAIF,kCAAAA,UAAAA,CAAU;EAChB,CAAC;EAED,YAAY;EACZ,UAAU;CACZ,CAAC;AACH;AAEA,SAAS,mBAAmB,MAAuB;CACjD,IAAI,OAAO,SAAS,UAClB,OAAOG,kBAAAA,kBAAkB,IAAI;CAE/B,IAAI,gBAAgB,eAAe,YAAY,OAAO,IAAI,GACxD,OAAO,KAAK;CAEd,IAAI,OAAO,SAAS,eAAe,gBAAgB,MACjD,OAAO,KAAK;CAEd,OAAO;AACT"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import type { Duration, ClocksState } from '@kubesense/kubesense-js-core/time';
|
|
1
2
|
import { Observable } from '../tools/observable';
|
|
2
|
-
import type { Duration, ClocksState } from '../tools/utils/timeUtils';
|
|
3
|
-
import type { Configuration } from '../domain/configuration';
|
|
4
3
|
export interface XhrOpenContext {
|
|
5
4
|
state: 'open';
|
|
6
5
|
method: string;
|
|
@@ -21,4 +20,10 @@ export interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {
|
|
|
21
20
|
responseBody?: string;
|
|
22
21
|
}
|
|
23
22
|
export type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext;
|
|
24
|
-
export declare function initXhrObservable(
|
|
23
|
+
export declare function initXhrObservable(): Observable<XhrContext>;
|
|
24
|
+
/**
|
|
25
|
+
* Reset the XHR observable global state. This is useful for testing to ensure clean state between tests.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare function resetXhrObservable(): void;
|
|
@@ -1,86 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const urlPolyfill_1 = require("../tools/utils/urlPolyfill");
|
|
8
|
-
const objectUtils_1 = require("../tools/utils/objectUtils");
|
|
9
|
-
const addEventListener_1 = require("./addEventListener");
|
|
1
|
+
const require_observable = require("../tools/observable.js");
|
|
2
|
+
const require_instrumentMethod = require("../tools/instrumentMethod.js");
|
|
3
|
+
const require_addEventListener = require("./addEventListener.js");
|
|
4
|
+
let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
|
|
5
|
+
let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
|
|
6
|
+
//#region src/browser/xhrObservable.ts
|
|
10
7
|
let xhrObservable;
|
|
11
|
-
const xhrContexts = new WeakMap();
|
|
12
|
-
function initXhrObservable(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
return xhrObservable;
|
|
8
|
+
const xhrContexts = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
function initXhrObservable() {
|
|
10
|
+
if (!xhrObservable) xhrObservable = createXhrObservable();
|
|
11
|
+
return xhrObservable;
|
|
17
12
|
}
|
|
18
|
-
function createXhrObservable(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
13
|
+
function createXhrObservable() {
|
|
14
|
+
if (!("XMLHttpRequest" in _kubesense_kubesense_js_core_util.globalObject)) return new require_observable.Observable();
|
|
15
|
+
return new require_observable.Observable((observable) => {
|
|
16
|
+
const { stop: stopInstrumentingStart } = require_instrumentMethod.instrumentMethod(XMLHttpRequest.prototype, "open", openXhr);
|
|
17
|
+
const { stop: stopInstrumentingSend } = require_instrumentMethod.instrumentMethod(XMLHttpRequest.prototype, "send", (call) => {
|
|
18
|
+
sendXhr(call, observable);
|
|
19
|
+
}, { computeHandlingStack: true });
|
|
20
|
+
const { stop: stopInstrumentingAbort } = require_instrumentMethod.instrumentMethod(XMLHttpRequest.prototype, "abort", abortXhr);
|
|
21
|
+
return () => {
|
|
22
|
+
stopInstrumentingStart();
|
|
23
|
+
stopInstrumentingSend();
|
|
24
|
+
stopInstrumentingAbort();
|
|
25
|
+
};
|
|
26
|
+
});
|
|
31
27
|
}
|
|
32
28
|
function openXhr({ target: xhr, parameters: [method, url] }) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
xhrContexts.set(xhr, {
|
|
30
|
+
state: "open",
|
|
31
|
+
method: String(method).toUpperCase(),
|
|
32
|
+
url: (0, _kubesense_kubesense_js_core_util.normalizeUrl)(String(url))
|
|
33
|
+
});
|
|
38
34
|
}
|
|
39
|
-
function sendXhr({ target: xhr, parameters: [body], handlingStack },
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
completeContext.state = 'complete';
|
|
70
|
-
completeContext.duration = (0, timeUtils_1.elapsed)(startContext.startClocks.timeStamp, (0, timeUtils_1.timeStampNow)());
|
|
71
|
-
completeContext.status = xhr.status;
|
|
72
|
-
if (typeof xhr.response === 'string') {
|
|
73
|
-
completeContext.responseBody = xhr.response;
|
|
74
|
-
}
|
|
75
|
-
observable.notify((0, objectUtils_1.shallowClone)(completeContext));
|
|
76
|
-
};
|
|
77
|
-
const { stop: unsubscribeLoadEndListener } = (0, addEventListener_1.addEventListener)(configuration, xhr, 'loadend', onEnd);
|
|
78
|
-
observable.notify(startContext);
|
|
35
|
+
function sendXhr({ target: xhr, parameters: [body], handlingStack }, observable) {
|
|
36
|
+
const context = xhrContexts.get(xhr);
|
|
37
|
+
if (!context) return;
|
|
38
|
+
const startContext = context;
|
|
39
|
+
startContext.state = "start";
|
|
40
|
+
startContext.startClocks = (0, _kubesense_kubesense_js_core_time.clocksNow)();
|
|
41
|
+
startContext.isAborted = false;
|
|
42
|
+
startContext.xhr = xhr;
|
|
43
|
+
startContext.handlingStack = handlingStack;
|
|
44
|
+
startContext.requestBody = body;
|
|
45
|
+
let hasBeenReported = false;
|
|
46
|
+
const { stop: stopInstrumentingOnReadyStateChange } = require_instrumentMethod.instrumentMethod(xhr, "onreadystatechange", () => {
|
|
47
|
+
if (xhr.readyState === XMLHttpRequest.DONE) onEnd();
|
|
48
|
+
});
|
|
49
|
+
const onEnd = () => {
|
|
50
|
+
unsubscribeLoadEndListener();
|
|
51
|
+
stopInstrumentingOnReadyStateChange();
|
|
52
|
+
if (hasBeenReported) return;
|
|
53
|
+
hasBeenReported = true;
|
|
54
|
+
const completeContext = context;
|
|
55
|
+
completeContext.duration = (0, _kubesense_kubesense_js_core_time.elapsed)(startContext.startClocks.timeStamp, (0, _kubesense_kubesense_js_core_time.timeStampNow)());
|
|
56
|
+
completeContext.status = xhr.status;
|
|
57
|
+
if (typeof xhr.response === "string") completeContext.responseBody = xhr.response;
|
|
58
|
+
observable.notify({
|
|
59
|
+
...completeContext,
|
|
60
|
+
state: "complete"
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const { stop: unsubscribeLoadEndListener } = require_addEventListener.addEventListener(xhr, "loadend", onEnd);
|
|
64
|
+
observable.notify(startContext);
|
|
79
65
|
}
|
|
80
66
|
function abortXhr({ target: xhr }) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
context.isAborted = true;
|
|
84
|
-
}
|
|
67
|
+
const context = xhrContexts.get(xhr);
|
|
68
|
+
if (context) context.isAborted = true;
|
|
85
69
|
}
|
|
70
|
+
//#endregion
|
|
71
|
+
exports.initXhrObservable = initXhrObservable;
|
|
72
|
+
|
|
86
73
|
//# sourceMappingURL=xhrObservable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhrObservable.js","
|
|
1
|
+
{"version":3,"file":"xhrObservable.js","names":["globalObject","Observable","instrumentMethod","normalizeUrl","clocksNow","elapsed","timeStampNow","addEventListener"],"sources":["../../src/browser/xhrObservable.ts"],"sourcesContent":["import { elapsed, timeStampNow, clocksNow } from '@kubesense/kubesense-js-core/time'\nimport type { Duration, ClocksState } from '@kubesense/kubesense-js-core/time'\nimport { normalizeUrl, globalObject } from '@kubesense/kubesense-js-core/util'\nimport type { InstrumentedMethodCall } from '../tools/instrumentMethod'\nimport { instrumentMethod } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport { addEventListener } from './addEventListener'\n\nexport interface XhrOpenContext {\n state: 'open'\n method: string\n url: string\n}\n\nexport interface XhrStartContext extends Omit<XhrOpenContext, 'state'> {\n state: 'start'\n startClocks: ClocksState\n isAborted: boolean\n xhr: XMLHttpRequest\n handlingStack?: string\n requestBody?: unknown\n}\n\nexport interface XhrCompleteContext extends Omit<XhrStartContext, 'state'> {\n state: 'complete'\n duration: Duration\n status: number\n responseBody?: string\n}\n\nexport type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext\n\nlet xhrObservable: Observable<XhrContext> | undefined\nconst xhrContexts = new WeakMap<XMLHttpRequest, XhrContext>()\n\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n if (!('XMLHttpRequest' in globalObject)) {\n return new Observable<XhrContext>()\n }\n\n return new Observable<XhrContext>((observable) => {\n const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr)\n\n const { stop: stopInstrumentingSend } = instrumentMethod(\n XMLHttpRequest.prototype,\n 'send',\n (call) => {\n sendXhr(call, observable)\n },\n { computeHandlingStack: true }\n )\n\n const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr)\n\n return () => {\n stopInstrumentingStart()\n stopInstrumentingSend()\n stopInstrumentingAbort()\n }\n })\n}\n\nfunction openXhr({ target: xhr, parameters: [method, url] }: InstrumentedMethodCall<XMLHttpRequest, 'open'>) {\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n })\n}\n\nfunction sendXhr(\n { target: xhr, parameters: [body], handlingStack }: InstrumentedMethodCall<XMLHttpRequest, 'send'>,\n observable: Observable<XhrContext>\n) {\n const context = xhrContexts.get(xhr)\n if (!context) {\n return\n }\n\n const startContext = context as XhrStartContext\n startContext.state = 'start'\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = xhr\n startContext.handlingStack = handlingStack\n startContext.requestBody = body\n\n let hasBeenReported = false\n\n const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, 'onreadystatechange', () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd()\n }\n })\n\n const onEnd = () => {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n\n const completeContext = context as XhrCompleteContext\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow())\n completeContext.status = xhr.status\n if (typeof xhr.response === 'string') {\n completeContext.responseBody = xhr.response\n }\n observable.notify({ ...completeContext, state: 'complete' })\n }\n\n const { stop: unsubscribeLoadEndListener } = addEventListener(xhr, 'loadend', onEnd)\n\n observable.notify(startContext)\n}\n\nfunction abortXhr({ target: xhr }: InstrumentedMethodCall<XMLHttpRequest, 'abort'>) {\n const context = xhrContexts.get(xhr) as XhrStartContext | undefined\n if (context) {\n context.isAborted = true\n }\n}\n\n/**\n * Reset the XHR observable global state. This is useful for testing to ensure clean state between tests.\n *\n * @internal\n */\nexport function resetXhrObservable() {\n xhrObservable = undefined\n}\n"],"mappings":";;;;;;AAgCA,IAAI;AACJ,MAAM,8BAAc,IAAI,QAAoC;AAE5D,SAAgB,oBAAoB;CAClC,IAAI,CAAC,eACH,gBAAgB,oBAAoB;CAEtC,OAAO;AACT;AAEA,SAAS,sBAAsB;CAC7B,IAAI,EAAE,oBAAoBA,kCAAAA,eACxB,OAAO,IAAIC,mBAAAA,WAAuB;CAGpC,OAAO,IAAIA,mBAAAA,YAAwB,eAAe;EAChD,MAAM,EAAE,MAAM,2BAA2BC,yBAAAA,iBAAiB,eAAe,WAAW,QAAQ,OAAO;EAEnG,MAAM,EAAE,MAAM,0BAA0BA,yBAAAA,iBACtC,eAAe,WACf,SACC,SAAS;GACR,QAAQ,MAAM,UAAU;EAC1B,GACA,EAAE,sBAAsB,KAAK,CAC/B;EAEA,MAAM,EAAE,MAAM,2BAA2BA,yBAAAA,iBAAiB,eAAe,WAAW,SAAS,QAAQ;EAErG,aAAa;GACX,uBAAuB;GACvB,sBAAsB;GACtB,uBAAuB;EACzB;CACF,CAAC;AACH;AAEA,SAAS,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,QAAQ,QAAwD;CAC3G,YAAY,IAAI,KAAK;EACnB,OAAO;EACP,QAAQ,OAAO,MAAM,CAAC,CAAC,YAAY;EACnC,MAAA,GAAKC,kCAAAA,aAAAA,CAAa,OAAO,GAAG,CAAC;CAC/B,CAAC;AACH;AAEA,SAAS,QACP,EAAE,QAAQ,KAAK,YAAY,CAAC,OAAO,iBACnC,YACA;CACA,MAAM,UAAU,YAAY,IAAI,GAAG;CACnC,IAAI,CAAC,SACH;CAGF,MAAM,eAAe;CACrB,aAAa,QAAQ;CACrB,aAAa,eAAA,GAAcC,kCAAAA,UAAAA,CAAU;CACrC,aAAa,YAAY;CACzB,aAAa,MAAM;CACnB,aAAa,gBAAgB;CAC7B,aAAa,cAAc;CAE3B,IAAI,kBAAkB;CAEtB,MAAM,EAAE,MAAM,wCAAwCF,yBAAAA,iBAAiB,KAAK,4BAA4B;EACtG,IAAI,IAAI,eAAe,eAAe,MAKpC,MAAM;CAEV,CAAC;CAED,MAAM,cAAc;EAClB,2BAA2B;EAC3B,oCAAoC;EACpC,IAAI,iBACF;EAEF,kBAAkB;EAElB,MAAM,kBAAkB;EACxB,gBAAgB,YAAA,GAAWG,kCAAAA,QAAAA,CAAQ,aAAa,YAAY,YAAA,GAAWC,kCAAAA,aAAAA,CAAa,CAAC;EACrF,gBAAgB,SAAS,IAAI;EAC7B,IAAI,OAAO,IAAI,aAAa,UAC1B,gBAAgB,eAAe,IAAI;EAErC,WAAW,OAAO;GAAE,GAAG;GAAiB,OAAO;EAAW,CAAC;CAC7D;CAEA,MAAM,EAAE,MAAM,+BAA+BC,yBAAAA,iBAAiB,KAAK,WAAW,KAAK;CAEnF,WAAW,OAAO,YAAY;AAChC;AAEA,SAAS,SAAS,EAAE,QAAQ,OAAwD;CAClF,MAAM,UAAU,YAAY,IAAI,GAAG;CACnC,IAAI,SACF,QAAQ,YAAY;AAExB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Configuration } from './configuration';
|
|
2
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
3
|
export declare const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = "SDK initialized on a non-allowed domain.";
|
|
4
|
-
export declare function isAllowedTrackingOrigins(configuration:
|
|
4
|
+
export declare function isAllowedTrackingOrigins(configuration: Configuration, errorStack: string): boolean;
|
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return isAllowed;
|
|
1
|
+
const require_display = require("../tools/display.js");
|
|
2
|
+
const require_matchOption = require("../tools/matchOption.js");
|
|
3
|
+
const require_mockable = require("../tools/mockable.js");
|
|
4
|
+
const require_extensionUtils = require("./extension/extensionUtils.js");
|
|
5
|
+
let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
|
|
6
|
+
//#region src/domain/allowedTrackingOrigins.ts
|
|
7
|
+
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.";
|
|
8
|
+
const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = "SDK initialized on a non-allowed domain.";
|
|
9
|
+
function isAllowedTrackingOrigins(configuration, errorStack) {
|
|
10
|
+
const location = require_mockable.mockable(_kubesense_kubesense_js_core_util.globalObject.location);
|
|
11
|
+
const windowOrigin = location ? location.origin : "";
|
|
12
|
+
const allowedTrackingOrigins = configuration.allowedTrackingOrigins;
|
|
13
|
+
if (!allowedTrackingOrigins) {
|
|
14
|
+
if (require_extensionUtils.isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {
|
|
15
|
+
require_display.display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN);
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
const isAllowed = require_matchOption.matchList(allowedTrackingOrigins, windowOrigin);
|
|
21
|
+
if (!isAllowed) require_display.display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN);
|
|
22
|
+
return isAllowed;
|
|
24
23
|
}
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN;
|
|
26
|
+
exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = ERROR_NOT_ALLOWED_TRACKING_ORIGIN;
|
|
27
|
+
exports.isAllowedTrackingOrigins = isAllowedTrackingOrigins;
|
|
28
|
+
|
|
25
29
|
//# sourceMappingURL=allowedTrackingOrigins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowedTrackingOrigins.js","
|
|
1
|
+
{"version":3,"file":"allowedTrackingOrigins.js","names":["mockable","globalObject","isUnsupportedExtensionEnvironment","matchList"],"sources":["../../src/domain/allowedTrackingOrigins.ts"],"sourcesContent":["import { globalObject } from '@kubesense/kubesense-js-core/util'\nimport { display } from '../tools/display'\nimport { matchList } from '../tools/matchOption'\nimport { mockable } from '../tools/mockable'\nimport type { Configuration } from './configuration'\nimport { isUnsupportedExtensionEnvironment } from './extension/extensionUtils'\n\nexport const ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN =\n 'Running the Browser SDK in a Web extension content script is forbidden unless the `allowedTrackingOrigins` option is provided.'\nexport const ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.'\n\nexport function isAllowedTrackingOrigins(configuration: Configuration, errorStack: string): boolean {\n const location = mockable(globalObject.location)\n const windowOrigin = location ? location.origin : ''\n const allowedTrackingOrigins = configuration.allowedTrackingOrigins\n if (!allowedTrackingOrigins) {\n if (isUnsupportedExtensionEnvironment(windowOrigin, errorStack)) {\n display.error(ERROR_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN)\n\n return false\n }\n return true\n }\n\n const isAllowed = matchList(allowedTrackingOrigins, windowOrigin)\n if (!isAllowed) {\n display.error(ERROR_NOT_ALLOWED_TRACKING_ORIGIN)\n }\n return isAllowed\n}\n"],"mappings":";;;;;;AAOA,MAAa,8CACX;AACF,MAAa,oCAAoC;AAEjD,SAAgB,yBAAyB,eAA8B,YAA6B;CAClG,MAAM,WAAWA,iBAAAA,SAASC,kCAAAA,aAAa,QAAQ;CAC/C,MAAM,eAAe,WAAW,SAAS,SAAS;CAClD,MAAM,yBAAyB,cAAc;CAC7C,IAAI,CAAC,wBAAwB;EAC3B,IAAIC,uBAAAA,kCAAkC,cAAc,UAAU,GAAG;GAC/D,gBAAA,QAAQ,MAAM,2CAA2C;GAEzD,OAAO;EACT;EACA,OAAO;CACT;CAEA,MAAM,YAAYC,oBAAAA,UAAU,wBAAwB,YAAY;CAChE,IAAI,CAAC,WACH,gBAAA,QAAQ,MAAM,iCAAiC;CAEjD,OAAO;AACT"}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
import { BufferedObservable } from '../tools/observable';
|
|
2
|
+
import type { FetchContext } from '../browser/fetchObservable';
|
|
3
|
+
import type { XhrContext } from '../browser/xhrObservable';
|
|
2
4
|
import type { RawError } from './error/error.types';
|
|
3
|
-
import {
|
|
5
|
+
import type { ConsoleLog } from './console/consoleObservable';
|
|
4
6
|
export declare const enum BufferedDataType {
|
|
5
|
-
RUNTIME_ERROR = 0
|
|
7
|
+
RUNTIME_ERROR = 0,
|
|
8
|
+
FETCH = 1,
|
|
9
|
+
XHR = 2,
|
|
10
|
+
CONSOLE = 3
|
|
6
11
|
}
|
|
7
|
-
export
|
|
12
|
+
export type BufferedData = {
|
|
8
13
|
type: BufferedDataType.RUNTIME_ERROR;
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
14
|
+
data: RawError;
|
|
15
|
+
} | {
|
|
16
|
+
type: BufferedDataType.FETCH;
|
|
17
|
+
data: FetchContext;
|
|
18
|
+
} | {
|
|
19
|
+
type: BufferedDataType.XHR;
|
|
20
|
+
data: XhrContext;
|
|
21
|
+
} | {
|
|
22
|
+
type: BufferedDataType.CONSOLE;
|
|
23
|
+
data: ConsoleLog;
|
|
24
|
+
};
|
|
25
|
+
export declare function startBufferingData(): {
|
|
12
26
|
observable: BufferedObservable<BufferedData>;
|
|
13
27
|
stop: () => void;
|
|
14
28
|
};
|