@kubesense/kubesense-browser-core 1.0.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 +201 -0
- 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 +13 -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 +26 -0
- package/cjs/browser/cookie.js +112 -0
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +38 -0
- package/cjs/browser/fetchObservable.js +103 -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 +24 -0
- package/cjs/browser/xhrObservable.js +86 -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 +284 -0
- package/cjs/domain/configuration/configuration.js +135 -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 +66 -0
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
- package/cjs/domain/configuration/index.d.ts +6 -0
- package/cjs/domain/configuration/index.js +31 -0
- package/cjs/domain/configuration/index.js.map +1 -0
- package/cjs/domain/configuration/transportConfiguration.d.ts +21 -0
- package/cjs/domain/configuration/transportConfiguration.js +58 -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 +59 -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 +31 -0
- package/cjs/domain/contexts/userContext.js +120 -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 +81 -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 +41 -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 +4 -0
- package/cjs/domain/intakeSites.js +7 -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 +201 -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 +70 -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 +186 -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 +12 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +104 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +42 -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 +66 -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 +245 -0
- package/cjs/domain/telemetry/telemetry.js.map +1 -0
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +866 -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/domain/userAgentData/index.d.ts +1 -0
- package/cjs/domain/userAgentData/index.js +18 -0
- package/cjs/domain/userAgentData/index.js.map +1 -0
- package/cjs/domain/userAgentData/userAgentData.d.ts +22 -0
- package/cjs/domain/userAgentData/userAgentData.js +109 -0
- package/cjs/domain/userAgentData/userAgentData.js.map +1 -0
- package/cjs/index.d.ts +101 -0
- package/cjs/index.js +199 -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 +21 -0
- package/cjs/tools/experimentalFeatures.js +50 -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 +61 -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 +10 -0
- package/cjs/tools/readBytesFromStream.js +28 -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 +34 -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 +8 -0
- package/cjs/tools/utils/numberUtils.js +23 -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 +23 -0
- package/cjs/tools/utils/stringUtils.js +91 -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 +110 -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 +65 -0
- package/cjs/transport/flushController.js +123 -0
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.d.ts +57 -0
- package/cjs/transport/httpRequest.js +107 -0
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.d.ts +7 -0
- package/cjs/transport/index.js +15 -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 +13 -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 +26 -0
- package/esm/browser/cookie.js +101 -0
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.d.ts +38 -0
- package/esm/browser/fetchObservable.js +99 -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 +24 -0
- package/esm/browser/xhrObservable.js +83 -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 +284 -0
- package/esm/domain/configuration/configuration.js +129 -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 +62 -0
- package/esm/domain/configuration/endpointBuilder.js.map +1 -0
- package/esm/domain/configuration/index.d.ts +6 -0
- package/esm/domain/configuration/index.js +5 -0
- package/esm/domain/configuration/index.js.map +1 -0
- package/esm/domain/configuration/transportConfiguration.d.ts +21 -0
- package/esm/domain/configuration/transportConfiguration.js +54 -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 +56 -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 +31 -0
- package/esm/domain/contexts/userContext.js +116 -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 +72 -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 +38 -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 +4 -0
- package/esm/domain/intakeSites.js +4 -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 +196 -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 +60 -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 +180 -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 +12 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.js +98 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -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 +59 -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 +232 -0
- package/esm/domain/telemetry/telemetry.js.map +1 -0
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +866 -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/domain/userAgentData/index.d.ts +1 -0
- package/esm/domain/userAgentData/index.js +2 -0
- package/esm/domain/userAgentData/index.js.map +1 -0
- package/esm/domain/userAgentData/userAgentData.d.ts +22 -0
- package/esm/domain/userAgentData/userAgentData.js +105 -0
- package/esm/domain/userAgentData/userAgentData.js.map +1 -0
- package/esm/index.d.ts +101 -0
- package/esm/index.js +77 -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 +21 -0
- package/esm/tools/experimentalFeatures.js +42 -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 +51 -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 +10 -0
- package/esm/tools/readBytesFromStream.js +25 -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 +29 -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 +8 -0
- package/esm/tools/utils/numberUtils.js +17 -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 +23 -0
- package/esm/tools/utils/stringUtils.js +84 -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 +106 -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 +65 -0
- package/esm/transport/flushController.js +119 -0
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.d.ts +57 -0
- package/esm/transport/httpRequest.js +101 -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 +28 -0
- package/src/boot/displayAlreadyInitializedError.ts +8 -0
- package/src/boot/init.ts +54 -0
- package/src/browser/addEventListener.ts +145 -0
- package/src/browser/browser.types.ts +84 -0
- package/src/browser/cookie.ts +122 -0
- package/src/browser/fetchObservable.ts +167 -0
- package/src/browser/pageMayExitObservable.ts +56 -0
- package/src/browser/runOnReadyState.ts +25 -0
- package/src/browser/xhrObservable.ts +134 -0
- package/src/domain/allowedTrackingOrigins.ts +29 -0
- package/src/domain/bufferedData.ts +32 -0
- package/src/domain/configuration/configuration.ts +409 -0
- package/src/domain/configuration/endpointBuilder.ts +105 -0
- package/src/domain/configuration/index.ts +12 -0
- package/src/domain/configuration/transportConfiguration.ts +86 -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 +81 -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 +148 -0
- package/src/domain/deflate/deflate.types.ts +57 -0
- package/src/domain/deflate/index.ts +1 -0
- package/src/domain/error/error.ts +127 -0
- package/src/domain/error/error.types.ts +64 -0
- package/src/domain/error/trackRuntimeError.ts +50 -0
- package/src/domain/eventRateLimiter/createEventRateLimiter.ts +49 -0
- package/src/domain/extension/extensionUtils.ts +28 -0
- package/src/domain/intakeSites.ts +6 -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 +262 -0
- package/src/domain/session/sessionState.ts +83 -0
- package/src/domain/session/sessionStateValidation.ts +9 -0
- package/src/domain/session/sessionStore.ts +250 -0
- package/src/domain/session/sessionStoreOperations.ts +131 -0
- package/src/domain/session/storeStrategies/sessionInCookie.ts +146 -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 +75 -0
- package/src/domain/telemetry/index.ts +22 -0
- package/src/domain/telemetry/rawTelemetryEvent.types.ts +22 -0
- package/src/domain/telemetry/telemetry.ts +344 -0
- package/src/domain/telemetry/telemetryEvent.types.ts +907 -0
- package/src/domain/trackingConsent.ts +34 -0
- package/src/domain/userAgentData/index.ts +1 -0
- package/src/domain/userAgentData/userAgentData.ts +163 -0
- package/src/index.ts +169 -0
- package/src/tools/abstractHooks.ts +72 -0
- package/src/tools/abstractLifeCycle.ts +46 -0
- package/src/tools/boundedBuffer.ts +44 -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 +52 -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 +71 -0
- package/src/tools/observable.ts +103 -0
- package/src/tools/queueMicrotask.ts +13 -0
- package/src/tools/readBytesFromStream.ts +37 -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 +251 -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 +16 -0
- package/src/tools/utils/browserDetection.ts +39 -0
- package/src/tools/utils/byteUtils.ts +40 -0
- package/src/tools/utils/functionUtils.ts +45 -0
- package/src/tools/utils/numberUtils.ts +19 -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 +86 -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 +55 -0
- package/src/tools/valueHistory.ts +151 -0
- package/src/transport/batch.ts +144 -0
- package/src/transport/eventBridge.ts +60 -0
- package/src/transport/flushController.ts +150 -0
- package/src/transport/httpRequest.ts +191 -0
- package/src/transport/index.ts +7 -0
- package/src/transport/sendWithRetryStrategy.ts +222 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ONE_KIBI_BYTE = 1024;
|
|
2
|
+
export declare const ONE_MEBI_BYTE: number;
|
|
3
|
+
export interface Uint8ArrayBuffer extends Uint8Array {
|
|
4
|
+
readonly buffer: ArrayBuffer;
|
|
5
|
+
subarray(begin?: number, end?: number): Uint8ArrayBuffer;
|
|
6
|
+
}
|
|
7
|
+
export declare function computeBytesCount(candidate: string): number;
|
|
8
|
+
export declare function concatBuffers(buffers: Uint8ArrayBuffer[]): Uint8ArrayBuffer;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const ONE_KIBI_BYTE = 1024;
|
|
2
|
+
export const ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;
|
|
3
|
+
// eslint-disable-next-line no-control-regex
|
|
4
|
+
const HAS_MULTI_BYTES_CHARACTERS = /[^\u0000-\u007F]/;
|
|
5
|
+
export function computeBytesCount(candidate) {
|
|
6
|
+
// Accurate bytes count computations can degrade performances when there is a lot of events to process
|
|
7
|
+
if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {
|
|
8
|
+
return candidate.length;
|
|
9
|
+
}
|
|
10
|
+
if (window.TextEncoder !== undefined) {
|
|
11
|
+
return new TextEncoder().encode(candidate).length;
|
|
12
|
+
}
|
|
13
|
+
return new Blob([candidate]).size;
|
|
14
|
+
}
|
|
15
|
+
export function concatBuffers(buffers) {
|
|
16
|
+
// Optimization: if there is a single buffer, no need to copy it
|
|
17
|
+
if (buffers.length === 1) {
|
|
18
|
+
return buffers[0];
|
|
19
|
+
}
|
|
20
|
+
const length = buffers.reduce((total, buffer) => total + buffer.length, 0);
|
|
21
|
+
const result = new Uint8Array(length);
|
|
22
|
+
let offset = 0;
|
|
23
|
+
for (const buffer of buffers) {
|
|
24
|
+
result.set(buffer, offset);
|
|
25
|
+
offset += buffer.length;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=byteUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byteUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/byteUtils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,aAAa,CAAA;AAEjD,4CAA4C;AAC5C,MAAM,0BAA0B,GAAG,kBAAkB,CAAA;AAQrD,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,sGAAsG;IACtG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC,MAAM,CAAA;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA2B;IACvD,gEAAgE;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAqB,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IACvD,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1B,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;IACzB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function throttle<T extends (...args: any[]) => void>(fn: T, wait: number, options?: {
|
|
2
|
+
leading?: boolean;
|
|
3
|
+
trailing?: boolean;
|
|
4
|
+
}): {
|
|
5
|
+
throttled: (...parameters: Parameters<T>) => void;
|
|
6
|
+
cancel: () => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function noop(): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { setTimeout, clearTimeout } from '../timer';
|
|
2
|
+
// use lodash API
|
|
3
|
+
export function throttle(fn, wait, options) {
|
|
4
|
+
const needLeadingExecution = options && options.leading !== undefined ? options.leading : true;
|
|
5
|
+
const needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;
|
|
6
|
+
let inWaitPeriod = false;
|
|
7
|
+
let pendingExecutionWithParameters;
|
|
8
|
+
let pendingTimeoutId;
|
|
9
|
+
return {
|
|
10
|
+
throttled: (...parameters) => {
|
|
11
|
+
if (inWaitPeriod) {
|
|
12
|
+
pendingExecutionWithParameters = parameters;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (needLeadingExecution) {
|
|
16
|
+
fn(...parameters);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
pendingExecutionWithParameters = parameters;
|
|
20
|
+
}
|
|
21
|
+
inWaitPeriod = true;
|
|
22
|
+
pendingTimeoutId = setTimeout(() => {
|
|
23
|
+
if (needTrailingExecution && pendingExecutionWithParameters) {
|
|
24
|
+
fn(...pendingExecutionWithParameters);
|
|
25
|
+
}
|
|
26
|
+
inWaitPeriod = false;
|
|
27
|
+
pendingExecutionWithParameters = undefined;
|
|
28
|
+
}, wait);
|
|
29
|
+
},
|
|
30
|
+
cancel: () => {
|
|
31
|
+
clearTimeout(pendingTimeoutId);
|
|
32
|
+
inWaitPeriod = false;
|
|
33
|
+
pendingExecutionWithParameters = undefined;
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
38
|
+
export function noop() { }
|
|
39
|
+
//# sourceMappingURL=functionUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functionUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/functionUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEnD,iBAAiB;AACjB,MAAM,UAAU,QAAQ,CACtB,EAAK,EACL,IAAY,EACZ,OAAmD;IAEnD,MAAM,oBAAoB,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9F,MAAM,qBAAqB,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IACjG,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,8BAAyD,CAAA;IAC7D,IAAI,gBAA2B,CAAA;IAE/B,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,UAAyB,EAAE,EAAE;YAC1C,IAAI,YAAY,EAAE,CAAC;gBACjB,8BAA8B,GAAG,UAAU,CAAA;gBAC3C,OAAM;YACR,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,8BAA8B,GAAG,UAAU,CAAA;YAC7C,CAAC;YACD,YAAY,GAAG,IAAI,CAAA;YACnB,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,IAAI,qBAAqB,IAAI,8BAA8B,EAAE,CAAC;oBAC5D,EAAE,CAAC,GAAG,8BAA8B,CAAC,CAAA;gBACvC,CAAC;gBACD,YAAY,GAAG,KAAK,CAAA;gBACpB,8BAA8B,GAAG,SAAS,CAAA;YAC5C,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,YAAY,CAAC,gBAAgB,CAAC,CAAA;YAC9B,YAAY,GAAG,KAAK,CAAA;YACpB,8BAA8B,GAAG,SAAS,CAAA;QAC5C,CAAC;KACF,CAAA;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,IAAI,KAAI,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true if the draw is successful
|
|
3
|
+
* @param threshold - Threshold between 0 and 100
|
|
4
|
+
*/
|
|
5
|
+
export declare function performDraw(threshold: number): boolean;
|
|
6
|
+
export declare function round(num: number, decimals: 0 | 1 | 2 | 3 | 4): number;
|
|
7
|
+
export declare function isPercentage(value: unknown): boolean;
|
|
8
|
+
export declare function isNumber(value: unknown): value is number;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true if the draw is successful
|
|
3
|
+
* @param threshold - Threshold between 0 and 100
|
|
4
|
+
*/
|
|
5
|
+
export function performDraw(threshold) {
|
|
6
|
+
return threshold !== 0 && Math.random() * 100 <= threshold;
|
|
7
|
+
}
|
|
8
|
+
export function round(num, decimals) {
|
|
9
|
+
return +num.toFixed(decimals);
|
|
10
|
+
}
|
|
11
|
+
export function isPercentage(value) {
|
|
12
|
+
return isNumber(value) && value >= 0 && value <= 100;
|
|
13
|
+
}
|
|
14
|
+
export function isNumber(value) {
|
|
15
|
+
return typeof value === 'number';
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=numberUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numberUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/numberUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,SAAS,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,QAA2B;IAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function shallowClone<T>(object: T): T & Record<string, never>;
|
|
2
|
+
export declare function objectHasValue<T extends {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}>(object: T, value: unknown): value is T[keyof T];
|
|
5
|
+
export declare function isEmptyObject(object: object): boolean;
|
|
6
|
+
export declare function mapValues<A, B>(object: {
|
|
7
|
+
[key: string]: A;
|
|
8
|
+
}, fn: (arg: A) => B): {
|
|
9
|
+
[key: string]: B;
|
|
10
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function shallowClone(object) {
|
|
2
|
+
return { ...object };
|
|
3
|
+
}
|
|
4
|
+
export function objectHasValue(object, value) {
|
|
5
|
+
return Object.keys(object).some((key) => object[key] === value);
|
|
6
|
+
}
|
|
7
|
+
export function isEmptyObject(object) {
|
|
8
|
+
return Object.keys(object).length === 0;
|
|
9
|
+
}
|
|
10
|
+
export function mapValues(object, fn) {
|
|
11
|
+
const newObject = {};
|
|
12
|
+
for (const key of Object.keys(object)) {
|
|
13
|
+
newObject[key] = fn(object[key]);
|
|
14
|
+
}
|
|
15
|
+
return newObject;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=objectUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/objectUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAI,MAAS;IACvC,OAAO,EAAE,GAAG,MAAM,EAA+B,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,cAAc,CAAuC,MAAS,EAAE,KAAc;IAC5F,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAO,MAA4B,EAAE,EAAiB;IAC7E,MAAM,SAAS,GAAyB,EAAE,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function findLast<T, S extends T>(array: readonly T[], predicate: (item: T, index: number, array: readonly T[]) => item is S): S | undefined;
|
|
2
|
+
export declare function objectValues<T = unknown>(object: {
|
|
3
|
+
[key: string]: T;
|
|
4
|
+
}): T[];
|
|
5
|
+
export declare function objectEntries<T = unknown>(object: {
|
|
6
|
+
[key: string]: T;
|
|
7
|
+
}): Array<[string, T]>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function findLast(array, predicate) {
|
|
2
|
+
for (let i = array.length - 1; i >= 0; i -= 1) {
|
|
3
|
+
const item = array[i];
|
|
4
|
+
if (predicate(item, i, array)) {
|
|
5
|
+
return item;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
// Keep the following wrapper functions as it can be mangled and will result in smaller bundle size that using
|
|
11
|
+
// the native Object.values and Object.entries directly
|
|
12
|
+
export function objectValues(object) {
|
|
13
|
+
return Object.values(object);
|
|
14
|
+
}
|
|
15
|
+
export function objectEntries(object) {
|
|
16
|
+
return Object.entries(object);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=polyfills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polyfills.js","sourceRoot":"","sources":["../../../src/tools/utils/polyfills.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CACtB,KAAmB,EACnB,SAAqE;IAErE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,8GAA8G;AAC9G,uDAAuD;AAEvD,MAAM,UAAU,YAAY,CAAc,MAA4B;IACpE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAAc,MAA4B;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function isServerError(status) {
|
|
2
|
+
return status >= 500;
|
|
3
|
+
}
|
|
4
|
+
export function tryToClone(response) {
|
|
5
|
+
try {
|
|
6
|
+
return response.clone();
|
|
7
|
+
}
|
|
8
|
+
catch (_a) {
|
|
9
|
+
// clone can throw if the response has already been used by another instrumentation or is disturbed
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=responseUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/responseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,IAAI,GAAG,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAAC,WAAM,CAAC;QACP,mGAAmG;QACnG,OAAM;IACR,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UUID v4
|
|
3
|
+
* from https://gist.github.com/jed/982883
|
|
4
|
+
*/
|
|
5
|
+
export declare function generateUUID(placeholder?: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Returns the value of the key with the given name
|
|
8
|
+
* If there are multiple values with the same key, returns the first one
|
|
9
|
+
*/
|
|
10
|
+
export declare function findCommaSeparatedValue(rawString: string, name: string): string | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Returns a map of all the values with the given key
|
|
13
|
+
* If there are multiple values with the same key, returns all the values
|
|
14
|
+
*/
|
|
15
|
+
export declare function findAllCommaSeparatedValues(rawString: string): Map<string, string[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a map of the values with the given key
|
|
18
|
+
* ⚠️ If there are multiple values with the same key, returns the LAST one
|
|
19
|
+
*
|
|
20
|
+
* @deprecated use `findAllCommaSeparatedValues()` instead
|
|
21
|
+
*/
|
|
22
|
+
export declare function findCommaSeparatedValues(rawString: string): Map<string, string>;
|
|
23
|
+
export declare function safeTruncate(candidate: string, length: number, suffix?: string): string;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UUID v4
|
|
3
|
+
* from https://gist.github.com/jed/982883
|
|
4
|
+
*/
|
|
5
|
+
export function generateUUID(placeholder) {
|
|
6
|
+
return placeholder
|
|
7
|
+
? // eslint-disable-next-line no-bitwise
|
|
8
|
+
(parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)
|
|
9
|
+
: `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID);
|
|
10
|
+
}
|
|
11
|
+
const COMMA_SEPARATED_KEY_VALUE = /([\w-]+)\s*=\s*([^;]+)/g;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the value of the key with the given name
|
|
14
|
+
* If there are multiple values with the same key, returns the first one
|
|
15
|
+
*/
|
|
16
|
+
export function findCommaSeparatedValue(rawString, name) {
|
|
17
|
+
COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
|
|
18
|
+
while (true) {
|
|
19
|
+
const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
|
|
20
|
+
if (match) {
|
|
21
|
+
if (match[1] === name) {
|
|
22
|
+
return match[2];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns a map of all the values with the given key
|
|
32
|
+
* If there are multiple values with the same key, returns all the values
|
|
33
|
+
*/
|
|
34
|
+
export function findAllCommaSeparatedValues(rawString) {
|
|
35
|
+
const result = new Map();
|
|
36
|
+
COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
|
|
37
|
+
while (true) {
|
|
38
|
+
const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
|
|
39
|
+
if (match) {
|
|
40
|
+
const key = match[1];
|
|
41
|
+
const value = match[2];
|
|
42
|
+
if (result.has(key)) {
|
|
43
|
+
result.get(key).push(value);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
result.set(key, [value]);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Returns a map of the values with the given key
|
|
57
|
+
* ⚠️ If there are multiple values with the same key, returns the LAST one
|
|
58
|
+
*
|
|
59
|
+
* @deprecated use `findAllCommaSeparatedValues()` instead
|
|
60
|
+
*/
|
|
61
|
+
export function findCommaSeparatedValues(rawString) {
|
|
62
|
+
const result = new Map();
|
|
63
|
+
COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;
|
|
64
|
+
while (true) {
|
|
65
|
+
const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);
|
|
66
|
+
if (match) {
|
|
67
|
+
result.set(match[1], match[2]);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
export function safeTruncate(candidate, length, suffix = '') {
|
|
76
|
+
const lastChar = candidate.charCodeAt(length - 1);
|
|
77
|
+
const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;
|
|
78
|
+
const correctedLength = isLastCharSurrogatePair ? length + 1 : length;
|
|
79
|
+
if (candidate.length <= correctedLength) {
|
|
80
|
+
return candidate;
|
|
81
|
+
}
|
|
82
|
+
return `${candidate.slice(0, correctedLength)}${suffix}`;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=stringUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/stringUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAoB;IAC/C,OAAO,WAAW;QAChB,CAAC,CAAC,uCAAuC;YACvC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,yBAAyB,GAAG,yBAAyB,CAAA;AAE3D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,IAAY;IACrE,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAA;IACvC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAK;QACP,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC1C,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAA;IACvC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAA;IACvC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAM,GAAG,EAAE;IACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,MAAM,uBAAuB,GAAG,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAA;IACxE,MAAM,eAAe,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAErE,IAAI,SAAS,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,MAAM,EAAE,CAAA;AAC1D,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const ONE_SECOND = 1000;
|
|
2
|
+
export declare const ONE_MINUTE: number;
|
|
3
|
+
export declare const ONE_HOUR: number;
|
|
4
|
+
export declare const ONE_DAY: number;
|
|
5
|
+
export declare const ONE_YEAR: number;
|
|
6
|
+
export type Duration = number & {
|
|
7
|
+
d: 'Duration in ms';
|
|
8
|
+
};
|
|
9
|
+
export type ServerDuration = number & {
|
|
10
|
+
s: 'Duration in ns';
|
|
11
|
+
};
|
|
12
|
+
export type TimeStamp = number & {
|
|
13
|
+
t: 'Epoch time';
|
|
14
|
+
};
|
|
15
|
+
export type RelativeTime = number & {
|
|
16
|
+
r: 'Time relative to navigation start';
|
|
17
|
+
} & {
|
|
18
|
+
d: 'Duration in ms';
|
|
19
|
+
};
|
|
20
|
+
export interface ClocksState {
|
|
21
|
+
relative: RelativeTime;
|
|
22
|
+
timeStamp: TimeStamp;
|
|
23
|
+
}
|
|
24
|
+
export declare function relativeToClocks(relative: RelativeTime): {
|
|
25
|
+
relative: RelativeTime;
|
|
26
|
+
timeStamp: TimeStamp;
|
|
27
|
+
};
|
|
28
|
+
export declare function timeStampToClocks(timeStamp: TimeStamp): {
|
|
29
|
+
relative: RelativeTime;
|
|
30
|
+
timeStamp: TimeStamp;
|
|
31
|
+
};
|
|
32
|
+
export declare function currentDrift(): number;
|
|
33
|
+
export declare function toServerDuration(duration: Duration): ServerDuration;
|
|
34
|
+
export declare function toServerDuration(duration: Duration | undefined): ServerDuration | undefined;
|
|
35
|
+
export declare function dateNow(): number;
|
|
36
|
+
export declare function timeStampNow(): TimeStamp;
|
|
37
|
+
export declare function relativeNow(): RelativeTime;
|
|
38
|
+
export declare function clocksNow(): {
|
|
39
|
+
relative: RelativeTime;
|
|
40
|
+
timeStamp: TimeStamp;
|
|
41
|
+
};
|
|
42
|
+
export declare function clocksOrigin(): {
|
|
43
|
+
relative: RelativeTime;
|
|
44
|
+
timeStamp: TimeStamp;
|
|
45
|
+
};
|
|
46
|
+
export declare function elapsed(start: TimeStamp, end: TimeStamp): Duration;
|
|
47
|
+
export declare function elapsed(start: RelativeTime, end: RelativeTime): Duration;
|
|
48
|
+
export declare function addDuration(a: TimeStamp, b: Duration): TimeStamp;
|
|
49
|
+
export declare function addDuration(a: RelativeTime, b: Duration): RelativeTime;
|
|
50
|
+
export declare function addDuration(a: Duration, b: Duration): Duration;
|
|
51
|
+
export declare function getRelativeTime(timestamp: TimeStamp): RelativeTime;
|
|
52
|
+
export declare function getTimeStamp(relativeTime: RelativeTime): TimeStamp;
|
|
53
|
+
export declare function looksLikeRelativeTime(time: RelativeTime | TimeStamp): time is RelativeTime;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { isNumber, round } from './numberUtils';
|
|
2
|
+
export const ONE_SECOND = 1000;
|
|
3
|
+
export const ONE_MINUTE = 60 * ONE_SECOND;
|
|
4
|
+
export const ONE_HOUR = 60 * ONE_MINUTE;
|
|
5
|
+
export const ONE_DAY = 24 * ONE_HOUR;
|
|
6
|
+
export const ONE_YEAR = 365 * ONE_DAY;
|
|
7
|
+
export function relativeToClocks(relative) {
|
|
8
|
+
return { relative, timeStamp: getCorrectedTimeStamp(relative) };
|
|
9
|
+
}
|
|
10
|
+
export function timeStampToClocks(timeStamp) {
|
|
11
|
+
return { relative: getRelativeTime(timeStamp), timeStamp };
|
|
12
|
+
}
|
|
13
|
+
function getCorrectedTimeStamp(relativeTime) {
|
|
14
|
+
const correctedOrigin = (dateNow() - performance.now());
|
|
15
|
+
// apply correction only for positive drift
|
|
16
|
+
if (correctedOrigin > getNavigationStart()) {
|
|
17
|
+
return Math.round(addDuration(correctedOrigin, relativeTime));
|
|
18
|
+
}
|
|
19
|
+
return getTimeStamp(relativeTime);
|
|
20
|
+
}
|
|
21
|
+
export function currentDrift() {
|
|
22
|
+
return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));
|
|
23
|
+
}
|
|
24
|
+
export function toServerDuration(duration) {
|
|
25
|
+
if (!isNumber(duration)) {
|
|
26
|
+
return duration;
|
|
27
|
+
}
|
|
28
|
+
return round(duration * 1e6, 0);
|
|
29
|
+
}
|
|
30
|
+
export function dateNow() {
|
|
31
|
+
// Do not use `Date.now` because sometimes websites are wrongly "polyfilling" it. For example, we
|
|
32
|
+
// had some users using a very old version of `datejs`, which patched `Date.now` to return a Date
|
|
33
|
+
// instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this
|
|
34
|
+
// case ourselves.
|
|
35
|
+
// [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16
|
|
36
|
+
return new Date().getTime();
|
|
37
|
+
}
|
|
38
|
+
export function timeStampNow() {
|
|
39
|
+
return dateNow();
|
|
40
|
+
}
|
|
41
|
+
export function relativeNow() {
|
|
42
|
+
return performance.now();
|
|
43
|
+
}
|
|
44
|
+
export function clocksNow() {
|
|
45
|
+
return { relative: relativeNow(), timeStamp: timeStampNow() };
|
|
46
|
+
}
|
|
47
|
+
export function clocksOrigin() {
|
|
48
|
+
return { relative: 0, timeStamp: getNavigationStart() };
|
|
49
|
+
}
|
|
50
|
+
export function elapsed(start, end) {
|
|
51
|
+
return (end - start);
|
|
52
|
+
}
|
|
53
|
+
export function addDuration(a, b) {
|
|
54
|
+
return a + b;
|
|
55
|
+
}
|
|
56
|
+
// Get the time since the navigation was started.
|
|
57
|
+
export function getRelativeTime(timestamp) {
|
|
58
|
+
return (timestamp - getNavigationStart());
|
|
59
|
+
}
|
|
60
|
+
export function getTimeStamp(relativeTime) {
|
|
61
|
+
return Math.round(addDuration(getNavigationStart(), relativeTime));
|
|
62
|
+
}
|
|
63
|
+
export function looksLikeRelativeTime(time) {
|
|
64
|
+
return time < ONE_YEAR;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Navigation start slightly change on some rare cases
|
|
68
|
+
*/
|
|
69
|
+
let navigationStart;
|
|
70
|
+
/**
|
|
71
|
+
* Notes: this does not use `performance.timeOrigin` because:
|
|
72
|
+
* - It doesn't seem to reflect the actual time on which the navigation has started: it may be much farther in the past,
|
|
73
|
+
* at least in Firefox 71. (see: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926)
|
|
74
|
+
* - It is not supported in Safari <15
|
|
75
|
+
*/
|
|
76
|
+
function getNavigationStart() {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
if (navigationStart === undefined) {
|
|
79
|
+
// ServiceWorkers do not support navigationStart (it's deprecated), so we fallback to timeOrigin
|
|
80
|
+
navigationStart = ((_b = (_a = performance.timing) === null || _a === void 0 ? void 0 : _a.navigationStart) !== null && _b !== void 0 ? _b : performance.timeOrigin);
|
|
81
|
+
}
|
|
82
|
+
return navigationStart;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=timeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/timeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getTimeZone(): string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone.js","sourceRoot":"","sources":["../../../src/tools/utils/timezone.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;QAEtC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAA;IACxC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Similar to `typeof`, but distinguish plain objects from `null` and arrays
|
|
3
|
+
*/
|
|
4
|
+
export function getType(value) {
|
|
5
|
+
if (value === null) {
|
|
6
|
+
return 'null';
|
|
7
|
+
}
|
|
8
|
+
if (Array.isArray(value)) {
|
|
9
|
+
return 'array';
|
|
10
|
+
}
|
|
11
|
+
return typeof value;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=typeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeUtils.js","sourceRoot":"","sources":["../../../src/tools/utils/typeUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,OAAO,KAAK,CAAA;AACrB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function normalizeUrl(url: string): string;
|
|
2
|
+
export declare function isValidUrl(url: string): boolean;
|
|
3
|
+
export declare function getPathName(url: string): string;
|
|
4
|
+
export declare function buildUrl(url: string, base?: string): URL;
|
|
5
|
+
export declare function getPristineWindow(): Pick<Window & typeof globalThis, "URL">;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { globalObject } from '../globalObject';
|
|
2
|
+
export function normalizeUrl(url) {
|
|
3
|
+
return buildUrl(url, location.href).href;
|
|
4
|
+
}
|
|
5
|
+
export function isValidUrl(url) {
|
|
6
|
+
try {
|
|
7
|
+
return !!buildUrl(url);
|
|
8
|
+
}
|
|
9
|
+
catch (_a) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export function getPathName(url) {
|
|
14
|
+
const pathname = buildUrl(url).pathname;
|
|
15
|
+
return pathname[0] === '/' ? pathname : `/${pathname}`;
|
|
16
|
+
}
|
|
17
|
+
export function buildUrl(url, base) {
|
|
18
|
+
const { URL } = getPristineWindow();
|
|
19
|
+
try {
|
|
20
|
+
return base !== undefined ? new URL(url, base) : new URL(url);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new Error(`Failed to construct URL: ${String(error)}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get native URL constructor from a clean iframe
|
|
28
|
+
* This avoids polyfill issues by getting the native implementation from a fresh iframe context
|
|
29
|
+
* Falls back to the original URL constructor if iframe approach fails
|
|
30
|
+
*/
|
|
31
|
+
let getPristineGlobalObjectCache;
|
|
32
|
+
export function getPristineWindow() {
|
|
33
|
+
if (!getPristineGlobalObjectCache) {
|
|
34
|
+
let iframe;
|
|
35
|
+
let pristineWindow;
|
|
36
|
+
try {
|
|
37
|
+
iframe = document.createElement('iframe');
|
|
38
|
+
iframe.style.display = 'none';
|
|
39
|
+
document.body.appendChild(iframe);
|
|
40
|
+
pristineWindow = iframe.contentWindow;
|
|
41
|
+
}
|
|
42
|
+
catch (_a) {
|
|
43
|
+
pristineWindow = globalObject;
|
|
44
|
+
}
|
|
45
|
+
getPristineGlobalObjectCache = {
|
|
46
|
+
URL: pristineWindow.URL,
|
|
47
|
+
};
|
|
48
|
+
iframe === null || iframe === void 0 ? void 0 : iframe.remove();
|
|
49
|
+
}
|
|
50
|
+
return getPristineGlobalObjectCache;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=urlPolyfill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlPolyfill.js","sourceRoot":"","sources":["../../../src/tools/utils/urlPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAa;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAI,CAAC;QACH,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,IAAI,4BAAoE,CAAA;AAExE,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,IAAI,MAAqC,CAAA;QACzC,IAAI,cAA0C,CAAA;QAC9C,IAAI,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;YAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACjC,cAAc,GAAG,MAAM,CAAC,aAA2C,CAAA;QACrE,CAAC;QAAC,WAAM,CAAC;YACP,cAAc,GAAG,YAAqD,CAAA;QACxE,CAAC;QACD,4BAA4B,GAAG;YAC7B,GAAG,EAAE,cAAc,CAAC,GAAG;SACxB,CAAA;QACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,4BAA4B,CAAA;AACrC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Duration, RelativeTime } from './utils/timeUtils';
|
|
2
|
+
export interface ValueHistoryEntry<T> {
|
|
3
|
+
startTime: RelativeTime;
|
|
4
|
+
endTime: RelativeTime;
|
|
5
|
+
value: T;
|
|
6
|
+
remove(): void;
|
|
7
|
+
close(endTime: RelativeTime): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const CLEAR_OLD_VALUES_INTERVAL: number;
|
|
10
|
+
/**
|
|
11
|
+
* Store and keep track of values spans. This whole cache assumes that values are added in
|
|
12
|
+
* chronological order (i.e. all entries have an increasing start time).
|
|
13
|
+
*/
|
|
14
|
+
export interface ValueHistory<Value> {
|
|
15
|
+
add: (value: Value, startTime: RelativeTime) => ValueHistoryEntry<Value>;
|
|
16
|
+
find: (startTime?: RelativeTime, options?: {
|
|
17
|
+
returnInactive: boolean;
|
|
18
|
+
}) => Value | undefined;
|
|
19
|
+
closeActive: (endTime: RelativeTime) => void;
|
|
20
|
+
findAll: (startTime?: RelativeTime, duration?: Duration) => Value[];
|
|
21
|
+
reset: () => void;
|
|
22
|
+
stop: () => void;
|
|
23
|
+
}
|
|
24
|
+
export declare function createValueHistory<Value>({ expireDelay, maxEntries, }: {
|
|
25
|
+
expireDelay: number;
|
|
26
|
+
maxEntries?: number;
|
|
27
|
+
}): ValueHistory<Value>;
|