@safaricom-mxl/web-sdk 0.0.15 → 0.0.17
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/DATA_EXPORT.md +2 -3
- package/REACT.md +5 -7
- package/README.md +94 -57
- package/UPGRADING.md +29 -19
- package/dist/api-logs/api/LogAPI/LogAPI.cjs +3 -3
- package/dist/api-logs/api/LogAPI/LogAPI.cjs.map +1 -1
- package/dist/api-logs/api/LogAPI/LogAPI.js +3 -3
- package/dist/api-logs/api/LogAPI/LogAPI.js.map +1 -1
- package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.cjs.map +1 -1
- package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.js.map +1 -1
- package/dist/api-logs/manager/types.d.cts +4 -4
- package/dist/api-logs/manager/types.d.cts.map +1 -1
- package/dist/api-logs/manager/types.d.ts +4 -4
- package/dist/api-logs/manager/types.d.ts.map +1 -1
- package/dist/api-page/api/PageAPI/PageAPI.cjs +3 -3
- package/dist/api-page/api/PageAPI/PageAPI.cjs.map +1 -1
- package/dist/api-page/api/PageAPI/PageAPI.js +3 -3
- package/dist/api-page/api/PageAPI/PageAPI.js.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs +9 -9
- package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts +5 -7
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts +5 -7
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.js +9 -9
- package/dist/api-sessions/api/SessionAPI/SessionAPI.js.map +1 -1
- package/dist/api-sessions/index.cjs +4 -4
- package/dist/api-sessions/index.d.cts +4 -4
- package/dist/api-sessions/index.d.ts +4 -4
- package/dist/api-sessions/index.js +3 -3
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs +47 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts +30 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts +30 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js +46 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.cjs +3 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.cts +2 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.ts +2 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.js +2 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs +81 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts +35 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts +35 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js +81 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.cjs +3 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.cts +2 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.ts +2 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.js +2 -0
- package/dist/api-sessions/manager/index.cjs +4 -4
- package/dist/api-sessions/manager/index.d.cts +4 -4
- package/dist/api-sessions/manager/index.d.ts +4 -4
- package/dist/api-sessions/manager/index.js +3 -3
- package/dist/api-sessions/manager/types.d.cts +14 -24
- package/dist/api-sessions/manager/types.d.cts.map +1 -1
- package/dist/api-sessions/manager/types.d.ts +14 -24
- package/dist/api-sessions/manager/types.d.ts.map +1 -1
- package/dist/api-traces/api/TraceAPI/TraceAPI.cjs +3 -3
- package/dist/api-traces/api/TraceAPI/TraceAPI.cjs.map +1 -1
- package/dist/api-traces/api/TraceAPI/TraceAPI.js +3 -3
- package/dist/api-traces/api/TraceAPI/TraceAPI.js.map +1 -1
- package/dist/api-traces/api/TraceAPI/types.d.cts +2 -2
- package/dist/api-traces/api/TraceAPI/types.d.cts.map +1 -1
- package/dist/api-traces/api/TraceAPI/types.d.ts +2 -2
- package/dist/api-traces/api/TraceAPI/types.d.ts.map +1 -1
- package/dist/api-users/api/UserAPI/UserAPI.cjs +3 -3
- package/dist/api-users/api/UserAPI/UserAPI.cjs.map +1 -1
- package/dist/api-users/api/UserAPI/UserAPI.js +3 -3
- package/dist/api-users/api/UserAPI/UserAPI.js.map +1 -1
- package/dist/common/types.d.cts +2 -0
- package/dist/common/types.d.cts.map +1 -1
- package/dist/common/types.d.ts +2 -0
- package/dist/common/types.d.ts.map +1 -1
- package/dist/constants/attributes.cjs +30 -0
- package/dist/constants/attributes.cjs.map +1 -1
- package/dist/constants/attributes.d.cts +18 -2
- package/dist/constants/attributes.d.cts.map +1 -1
- package/dist/constants/attributes.d.ts +18 -2
- package/dist/constants/attributes.d.ts.map +1 -1
- package/dist/constants/attributes.js +17 -1
- package/dist/constants/attributes.js.map +1 -1
- package/dist/constants/index.cjs +14 -0
- package/dist/constants/index.d.cts +2 -2
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js.map +1 -1
- package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs.map +1 -1
- package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js.map +1 -1
- package/dist/exporters/constants.cjs +1 -1
- package/dist/exporters/constants.cjs.map +1 -1
- package/dist/exporters/constants.d.cts +1 -1
- package/dist/exporters/constants.d.ts +1 -1
- package/dist/exporters/constants.js +1 -1
- package/dist/exporters/constants.js.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.cjs.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.js.map +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs +2 -2
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs.map +1 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.cts.map +1 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.ts.map +1 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js +2 -2
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs +6 -7
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts +4 -5
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts +4 -5
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js +6 -7
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs +8 -8
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js +8 -8
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs +10 -10
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js +10 -10
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs +2 -2
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js +2 -2
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js.map +1 -1
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs +5 -5
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js +5 -5
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs +4 -4
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js +4 -4
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js.map +1 -1
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs +7 -7
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js +7 -7
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs +3 -3
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts +4 -4
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts +4 -4
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js +4 -4
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js.map +1 -1
- package/dist/instrumentations/index.cjs +2 -4
- package/dist/instrumentations/index.d.cts +4 -6
- package/dist/instrumentations/index.d.ts +4 -6
- package/dist/instrumentations/index.js +2 -3
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs +23 -23
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts +2 -3
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts +2 -3
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js +23 -23
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs +5 -5
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js +5 -5
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts +10 -10
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts +10 -10
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts +2 -2
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts +2 -2
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.js.map +1 -1
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs +257 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts +56 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts +56 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js +252 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs +15 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts +9 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts +9 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.js +10 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.js.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.cjs +3 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.d.cts +3 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.d.ts +3 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.js +2 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts +17 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts +17 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs +18 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts +8 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts +8 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js +17 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js.map +1 -0
- package/dist/instrumentations/replay/index.cjs +8 -0
- package/dist/instrumentations/replay/index.d.cts +4 -0
- package/dist/instrumentations/replay/index.d.ts +4 -0
- package/dist/instrumentations/replay/index.js +3 -0
- package/dist/instrumentations/replay/utils/index.cjs +5 -0
- package/dist/instrumentations/replay/utils/index.d.cts +2 -0
- package/dist/instrumentations/replay/utils/index.d.ts +2 -0
- package/dist/instrumentations/replay/utils/index.js +2 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.cjs +79 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.cjs.map +1 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.cts +32 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.cts.map +1 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.ts +32 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.ts.map +1 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.js +73 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.js.map +1 -0
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs +6 -6
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js +6 -6
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/session/index.cjs +0 -6
- package/dist/instrumentations/session/index.d.cts +2 -7
- package/dist/instrumentations/session/index.d.ts +2 -7
- package/dist/instrumentations/session/index.js +1 -4
- package/dist/instrumentations/session/types.d.cts +5 -5
- package/dist/instrumentations/session/types.d.cts.map +1 -1
- package/dist/instrumentations/session/types.d.ts +5 -5
- package/dist/instrumentations/session/types.d.ts.map +1 -1
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs +10 -10
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js +10 -10
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs +15 -15
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js +15 -15
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts +1 -3
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts +1 -3
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs +0 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.cts.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.ts.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js +0 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js.map +1 -1
- package/dist/managers/MXLConfigManager/constants.cjs +2 -2
- package/dist/managers/MXLConfigManager/constants.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/constants.js +2 -2
- package/dist/managers/MXLConfigManager/constants.js.map +1 -1
- package/dist/managers/MXLConfigManager/types.d.cts +8 -7
- package/dist/managers/MXLConfigManager/types.d.cts.map +1 -1
- package/dist/managers/MXLConfigManager/types.d.ts +8 -7
- package/dist/managers/MXLConfigManager/types.d.ts.map +1 -1
- package/dist/managers/MXLLimitManager/MXLLimitManager.cjs +20 -20
- package/dist/managers/MXLLimitManager/MXLLimitManager.cjs.map +1 -1
- package/dist/managers/MXLLimitManager/MXLLimitManager.js +20 -20
- package/dist/managers/MXLLimitManager/MXLLimitManager.js.map +1 -1
- package/dist/managers/MXLLimitManager/constants.cjs +20 -20
- package/dist/managers/MXLLimitManager/constants.cjs.map +1 -1
- package/dist/managers/MXLLimitManager/constants.js +20 -20
- package/dist/managers/MXLLimitManager/constants.js.map +1 -1
- package/dist/managers/MXLLimitManager/types.d.cts +8 -8
- package/dist/managers/MXLLimitManager/types.d.cts.map +1 -1
- package/dist/managers/MXLLimitManager/types.d.ts +8 -8
- package/dist/managers/MXLLimitManager/types.d.ts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.cjs +22 -20
- package/dist/managers/MXLLogManager/MXLLogManager.cjs.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.d.cts +2 -2
- package/dist/managers/MXLLogManager/MXLLogManager.d.cts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.d.ts +2 -2
- package/dist/managers/MXLLogManager/MXLLogManager.d.ts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.js +23 -21
- package/dist/managers/MXLLogManager/MXLLogManager.js.map +1 -1
- package/dist/managers/MXLLogManager/types.d.cts +2 -2
- package/dist/managers/MXLLogManager/types.d.ts +2 -2
- package/dist/managers/MXLPageManager/MXLPageManager.cjs +1 -3
- package/dist/managers/MXLPageManager/MXLPageManager.cjs.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.d.cts.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.d.ts.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.js +1 -3
- package/dist/managers/MXLPageManager/MXLPageManager.js.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs +0 -4
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js +0 -4
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.cts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.cts.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.ts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.ts.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.cjs.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.js.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.cjs +14 -14
- package/dist/managers/MXLUserManager/MXLUserManager.cjs.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.js +14 -14
- package/dist/managers/MXLUserManager/MXLUserManager.js.map +1 -1
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs +574 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts +142 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts +142 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js +572 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.cjs +55 -0
- package/dist/managers/MXLUserSessionManager/constants.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.d.cts +31 -0
- package/dist/managers/MXLUserSessionManager/constants.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.d.ts +31 -0
- package/dist/managers/MXLUserSessionManager/constants.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.js +37 -0
- package/dist/managers/MXLUserSessionManager/constants.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/index.cjs +6 -0
- package/dist/managers/MXLUserSessionManager/index.d.cts +4 -0
- package/dist/managers/MXLUserSessionManager/index.d.ts +4 -0
- package/dist/managers/MXLUserSessionManager/index.js +3 -0
- package/dist/managers/MXLUserSessionManager/types.d.cts +84 -0
- package/dist/managers/MXLUserSessionManager/types.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/types.d.ts +84 -0
- package/dist/managers/MXLUserSessionManager/types.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.cjs +25 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.cts +40 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.ts +40 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.js +22 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/index.cjs +11 -0
- package/dist/managers/MXLUserSessionManager/utils/index.d.cts +3 -0
- package/dist/managers/MXLUserSessionManager/utils/index.d.ts +3 -0
- package/dist/managers/MXLUserSessionManager/utils/index.js +3 -0
- package/dist/managers/MXLUserSessionManager/utils/state.cjs +78 -0
- package/dist/managers/MXLUserSessionManager/utils/state.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.cts +39 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.ts +39 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/state.js +73 -0
- package/dist/managers/MXLUserSessionManager/utils/state.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs +132 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts +33 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts +33 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.js +127 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.js.map +1 -0
- package/dist/managers/index.cjs +5 -2
- package/dist/managers/index.d.cts +4 -3
- package/dist/managers/index.d.ts +4 -3
- package/dist/managers/index.js +3 -2
- package/dist/mxl-web-sdk.js +1 -58
- package/dist/mxl-web-sdk.js.map +1 -1
- package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.js.map +1 -1
- package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.cjs.map +1 -1
- package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.js.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.cjs.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.js.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/types.d.cts +2 -2
- package/dist/processors/LogRecordScrubProcessor/types.d.cts.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/types.d.ts +2 -2
- package/dist/processors/LogRecordScrubProcessor/types.d.ts.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.js.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/types.d.cts +2 -2
- package/dist/processors/MXLLogRecordProcessor/types.d.cts.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/types.d.ts +2 -2
- package/dist/processors/MXLLogRecordProcessor/types.d.ts.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/types.cjs.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/types.js.map +1 -1
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs +74 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts +28 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts +28 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js +72 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.cjs +3 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.cts +3 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.ts +3 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.js +2 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts +15 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts +15 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts.map +1 -0
- package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.js.map +1 -1
- package/dist/processors/PageSpanProcessor/PageSpanProcessor.cjs.map +1 -1
- package/dist/processors/PageSpanProcessor/PageSpanProcessor.js.map +1 -1
- package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.cjs.map +1 -1
- package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.js.map +1 -1
- package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.js.map +1 -1
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs +34 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts +16 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts +16 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js +32 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.cjs +3 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.d.cts +3 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.d.ts +3 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.js +2 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.cts +8 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.cts.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.ts +8 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.ts.map +1 -0
- package/dist/processors/UserSpanProcessor/UserSpanProcessor.cjs.map +1 -1
- package/dist/processors/UserSpanProcessor/UserSpanProcessor.js.map +1 -1
- package/dist/processors/index.cjs +4 -4
- package/dist/processors/index.d.cts +3 -3
- package/dist/processors/index.d.ts +3 -3
- package/dist/processors/index.js +3 -3
- package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.cjs.map +1 -1
- package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.js.map +1 -1
- package/dist/resources/appInstanceId.cjs +4 -4
- package/dist/resources/appInstanceId.cjs.map +1 -1
- package/dist/resources/appInstanceId.js +4 -4
- package/dist/resources/appInstanceId.js.map +1 -1
- package/dist/resources/constants/index.cjs +1 -1
- package/dist/resources/constants/index.cjs.map +1 -1
- package/dist/resources/constants/index.d.cts +1 -1
- package/dist/resources/constants/index.d.ts +1 -1
- package/dist/resources/constants/index.js +1 -1
- package/dist/resources/constants/index.js.map +1 -1
- package/dist/resources/webSdkResource.cjs +15 -19
- package/dist/resources/webSdkResource.cjs.map +1 -1
- package/dist/resources/webSdkResource.d.cts.map +1 -1
- package/dist/resources/webSdkResource.d.ts.map +1 -1
- package/dist/resources/webSdkResource.js +15 -19
- package/dist/resources/webSdkResource.js.map +1 -1
- package/dist/sdk/defaultAttributeScrubbers.cjs +8 -8
- package/dist/sdk/defaultAttributeScrubbers.cjs.map +1 -1
- package/dist/sdk/defaultAttributeScrubbers.js +8 -8
- package/dist/sdk/defaultAttributeScrubbers.js.map +1 -1
- package/dist/sdk/index.d.cts +3 -2
- package/dist/sdk/index.d.ts +3 -2
- package/dist/sdk/initSDK.cjs +139 -98
- package/dist/sdk/initSDK.cjs.map +1 -1
- package/dist/sdk/initSDK.d.cts +4 -2
- package/dist/sdk/initSDK.d.cts.map +1 -1
- package/dist/sdk/initSDK.d.ts +4 -2
- package/dist/sdk/initSDK.d.ts.map +1 -1
- package/dist/sdk/initSDK.js +139 -98
- package/dist/sdk/initSDK.js.map +1 -1
- package/dist/sdk/noopSessionRecording.cjs +10 -0
- package/dist/sdk/noopSessionRecording.cjs.map +1 -0
- package/dist/sdk/noopSessionRecording.d.cts +7 -0
- package/dist/sdk/noopSessionRecording.d.cts.map +1 -0
- package/dist/sdk/noopSessionRecording.d.ts +7 -0
- package/dist/sdk/noopSessionRecording.d.ts.map +1 -0
- package/dist/sdk/noopSessionRecording.js +9 -0
- package/dist/sdk/noopSessionRecording.js.map +1 -0
- package/dist/sdk/registry.cjs +1 -3
- package/dist/sdk/registry.cjs.map +1 -1
- package/dist/sdk/registry.d.cts.map +1 -1
- package/dist/sdk/registry.d.ts.map +1 -1
- package/dist/sdk/registry.js +1 -3
- package/dist/sdk/registry.js.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.cjs +9 -5
- package/dist/sdk/setupDefaultInstrumentations.cjs.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.d.cts +5 -2
- package/dist/sdk/setupDefaultInstrumentations.d.cts.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.d.ts +5 -2
- package/dist/sdk/setupDefaultInstrumentations.d.ts.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.js +9 -5
- package/dist/sdk/setupDefaultInstrumentations.js.map +1 -1
- package/dist/sdk/types.d.cts +68 -56
- package/dist/sdk/types.d.cts.map +1 -1
- package/dist/sdk/types.d.ts +69 -57
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/utils.cjs +1 -1
- package/dist/sdk/utils.cjs.map +1 -1
- package/dist/sdk/utils.d.cts.map +1 -1
- package/dist/sdk/utils.d.ts.map +1 -1
- package/dist/sdk/utils.js +1 -1
- package/dist/sdk/utils.js.map +1 -1
- package/dist/transport/FetchTransport/FetchTransport.cjs +13 -13
- package/dist/transport/FetchTransport/FetchTransport.cjs.map +1 -1
- package/dist/transport/FetchTransport/FetchTransport.js +13 -13
- package/dist/transport/FetchTransport/FetchTransport.js.map +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.cjs +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.cjs.map +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.js +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.js.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.cjs +69 -24
- package/dist/utils/NamespacedStorage/NamespacedStorage.cjs.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts +27 -13
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts +27 -13
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.js +68 -24
- package/dist/utils/NamespacedStorage/NamespacedStorage.js.map +1 -1
- package/dist/utils/PerformanceManager/OTelPerformanceManager.cjs.map +1 -1
- package/dist/utils/PerformanceManager/OTelPerformanceManager.js.map +1 -1
- package/dist/utils/clampNumber.cjs +23 -0
- package/dist/utils/clampNumber.cjs.map +1 -0
- package/dist/utils/clampNumber.d.cts +24 -0
- package/dist/utils/clampNumber.d.cts.map +1 -0
- package/dist/utils/clampNumber.d.ts +24 -0
- package/dist/utils/clampNumber.d.ts.map +1 -0
- package/dist/utils/clampNumber.js +22 -0
- package/dist/utils/clampNumber.js.map +1 -0
- package/dist/utils/createSafeProxy/createSafeProxy.cjs +2 -2
- package/dist/utils/createSafeProxy/createSafeProxy.cjs.map +1 -1
- package/dist/utils/createSafeProxy/createSafeProxy.d.cts.map +1 -1
- package/dist/utils/createSafeProxy/createSafeProxy.d.ts.map +1 -1
- package/dist/utils/createSafeProxy/createSafeProxy.js +2 -2
- package/dist/utils/createSafeProxy/createSafeProxy.js.map +1 -1
- package/dist/utils/generateWebVitalID.cjs +1 -3
- package/dist/utils/generateWebVitalID.cjs.map +1 -1
- package/dist/utils/generateWebVitalID.js +1 -3
- package/dist/utils/generateWebVitalID.js.map +1 -1
- package/dist/utils/getIncrementedCount.cjs +2 -2
- package/dist/utils/getIncrementedCount.cjs.map +1 -1
- package/dist/utils/getIncrementedCount.js +2 -2
- package/dist/utils/getIncrementedCount.js.map +1 -1
- package/dist/utils/globalConfig.cjs.map +1 -1
- package/dist/utils/globalConfig.d.cts +2 -2
- package/dist/utils/globalConfig.d.cts.map +1 -1
- package/dist/utils/globalConfig.d.ts +2 -2
- package/dist/utils/globalConfig.d.ts.map +1 -1
- package/dist/utils/globalConfig.js.map +1 -1
- package/dist/utils/index.cjs +2 -2
- package/dist/utils/index.d.cts +3 -3
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +2 -2
- package/dist/utils/isDeviceIdEnabled.cjs.map +1 -1
- package/dist/utils/isDeviceIdEnabled.js.map +1 -1
- package/dist/utils/performanceObserver/performanceObserver.cjs +3 -3
- package/dist/utils/performanceObserver/performanceObserver.cjs.map +1 -1
- package/dist/utils/performanceObserver/performanceObserver.js +3 -3
- package/dist/utils/performanceObserver/performanceObserver.js.map +1 -1
- package/dist/utils/throttle.cjs +13 -9
- package/dist/utils/throttle.cjs.map +1 -1
- package/dist/utils/throttle.d.cts +6 -3
- package/dist/utils/throttle.d.cts.map +1 -1
- package/dist/utils/throttle.d.ts +6 -3
- package/dist/utils/throttle.d.ts.map +1 -1
- package/dist/utils/throttle.js +13 -9
- package/dist/utils/throttle.js.map +1 -1
- package/package.json +56 -56
- package/dist/api-sessions/api/SessionAPI/types.d.cts +0 -8
- package/dist/api-sessions/api/SessionAPI/types.d.cts.map +0 -1
- package/dist/api-sessions/api/SessionAPI/types.d.ts +0 -8
- package/dist/api-sessions/api/SessionAPI/types.d.ts.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs +0 -31
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts +0 -24
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts +0 -24
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js +0 -30
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.cjs +0 -3
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.cts +0 -2
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.ts +0 -2
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.js +0 -2
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs +0 -55
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts +0 -27
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts +0 -27
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js +0 -55
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.cjs +0 -3
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.cts +0 -2
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.ts +0 -2
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.js +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs +0 -27
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts +0 -15
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts +0 -15
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js +0 -25
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.cts +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.ts +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.js +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts +0 -9
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts +0 -9
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/fetch/index.cjs +0 -3
- package/dist/instrumentations/fetch/index.d.cts +0 -3
- package/dist/instrumentations/fetch/index.d.ts +0 -3
- package/dist/instrumentations/fetch/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs +0 -60
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts +0 -24
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts +0 -24
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js +0 -59
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs +0 -19
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts +0 -10
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts +0 -10
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js +0 -16
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts +0 -6
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts +0 -6
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs +0 -24
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts +0 -14
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts +0 -14
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js +0 -23
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts +0 -6
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts +0 -6
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs +0 -55
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts +0 -22
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts +0 -22
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js +0 -54
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs +0 -7
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts +0 -5
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts +0 -5
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js +0 -6
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.cjs +0 -0
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts +0 -6
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts +0 -6
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.js +0 -0
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs +0 -38
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts +0 -17
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts +0 -17
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js +0 -37
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.cjs +0 -0
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts +0 -10
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts +0 -10
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.js +0 -0
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs +0 -27
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts +0 -15
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts +0 -15
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js +0 -25
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.cts +0 -2
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.ts +0 -2
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.js +0 -2
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.cjs +0 -0
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts +0 -9
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts +0 -9
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.js +0 -0
- package/dist/instrumentations/xhr/index.cjs +0 -3
- package/dist/instrumentations/xhr/index.d.cts +0 -3
- package/dist/instrumentations/xhr/index.d.ts +0 -3
- package/dist/instrumentations/xhr/index.js +0 -2
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs +0 -350
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs.map +0 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts +0 -72
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts +0 -72
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js +0 -348
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.cjs +0 -11
- package/dist/managers/MXLSpanSessionManager/constants.cjs.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.d.cts +0 -7
- package/dist/managers/MXLSpanSessionManager/constants.d.cts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.d.ts +0 -7
- package/dist/managers/MXLSpanSessionManager/constants.d.ts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.js +0 -8
- package/dist/managers/MXLSpanSessionManager/constants.js.map +0 -1
- package/dist/managers/MXLSpanSessionManager/index.cjs +0 -3
- package/dist/managers/MXLSpanSessionManager/index.d.cts +0 -3
- package/dist/managers/MXLSpanSessionManager/index.d.ts +0 -3
- package/dist/managers/MXLSpanSessionManager/index.js +0 -2
- package/dist/managers/MXLSpanSessionManager/types.cjs +0 -0
- package/dist/managers/MXLSpanSessionManager/types.d.cts +0 -41
- package/dist/managers/MXLSpanSessionManager/types.d.cts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/types.d.ts +0 -41
- package/dist/managers/MXLSpanSessionManager/types.d.ts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/types.js +0 -0
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs +0 -28
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts +0 -16
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts +0 -16
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js +0 -26
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.cjs +0 -3
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.cts +0 -2
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.ts +0 -2
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.js +0 -2
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.cjs +0 -0
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts +0 -9
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts +0 -9
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.js +0 -0
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs +0 -95
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts +0 -34
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts +0 -34
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js +0 -93
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.cjs +0 -3
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.cts +0 -2
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.ts +0 -2
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.js +0 -2
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.cjs +0 -0
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts +0 -19
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts +0 -19
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.js +0 -0
- package/dist/sdk/setupSessionRecorder.cjs +0 -45
- package/dist/sdk/setupSessionRecorder.cjs.map +0 -1
- package/dist/sdk/setupSessionRecorder.d.cts +0 -21
- package/dist/sdk/setupSessionRecorder.d.cts.map +0 -1
- package/dist/sdk/setupSessionRecorder.d.ts +0 -21
- package/dist/sdk/setupSessionRecorder.d.ts.map +0 -1
- package/dist/sdk/setupSessionRecorder.js +0 -42
- package/dist/sdk/setupSessionRecorder.js.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs +0 -116
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts +0 -42
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts +0 -42
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.js +0 -114
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.js.map +0 -1
- package/dist/utils/MXLSpanStorage/index.cjs +0 -3
- package/dist/utils/MXLSpanStorage/index.d.cts +0 -2
- package/dist/utils/MXLSpanStorage/index.d.ts +0 -2
- package/dist/utils/MXLSpanStorage/index.js +0 -2
- package/dist/utils/MXLSpanStorage/types.cjs +0 -0
- package/dist/utils/MXLSpanStorage/types.d.cts +0 -2
- package/dist/utils/MXLSpanStorage/types.d.ts +0 -2
- package/dist/utils/MXLSpanStorage/types.js +0 -0
- /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.cjs +0 -0
- /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.js +0 -0
- /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.cjs +0 -0
- /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.js +0 -0
- /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.cjs +0 -0
- /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.js +0 -0
- /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.cjs +0 -0
- /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoafInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport type { SpanSessionManager } from '../../../api-sessions';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ntype ScriptSummaryValue = {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n};\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {},\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.sessionManager.addSessionEndedListener(() => {\n try {\n this._flushReport();\n } catch (e) {\n this._diag.error('error flushing report', e);\n }\n });\n }\n\n public override setSessionManager(sessionManager: SpanSessionManager): void {\n super.setSessionManager(sessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // sourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n totalDuration: script.duration,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n count: 1,\n });\n }\n }\n } catch (e) {\n this._diag.error('error processing scripts for entry', e);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n attributes: attrs,\n });\n } catch (e) {\n this._diag.error('error emitting loaf report', e);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n total_duration: Math.round(script.totalDuration),\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n count: script.count,\n },\n ]);\n\n this.logger.emit({\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n body: JSON.stringify(Object.fromEntries(scripts)),\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n });\n }\n } catch (e) {\n this._diag.error('error emitting loaf script summary', e);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LoafInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport type { UserSessionManagerInternal } from '../../../managers/MXLUserSessionManager';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ninterface ScriptSummaryValue {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n}\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.userSessionManager.addSessionPartEndedListener(() => {\n try {\n this._flushReport();\n } catch (error) {\n this._diag.error('error flushing report', error);\n }\n });\n }\n\n public override setUserSessionManager(\n userSessionManager: UserSessionManagerInternal,\n ): void {\n super.setUserSessionManager(userSessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // SourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n } catch (error) {\n this._diag.error('error processing scripts for entry', error);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // Use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n attributes: attrs,\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n } catch (error) {\n this._diag.error('error emitting loaf report', error);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]);\n\n this.logger.emit({\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n body: JSON.stringify(Object.fromEntries(scripts)),\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n }\n } catch (error) {\n this._diag.error('error emitting loaf script summary', error);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":"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"}
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs
CHANGED
|
@@ -12,10 +12,10 @@ var NavigationInstrumentation = class extends require_instrumentations_MXLInstru
|
|
|
12
12
|
_removeSessionEndedFn = null;
|
|
13
13
|
constructor({ diag, shouldCleanupPathOptionsFromRouteName = true }) {
|
|
14
14
|
super({
|
|
15
|
-
|
|
16
|
-
instrumentationVersion: "1.0.0",
|
|
15
|
+
config: {},
|
|
17
16
|
diag,
|
|
18
|
-
|
|
17
|
+
instrumentationName: "NavigationInstrumentation",
|
|
18
|
+
instrumentationVersion: "1.0.0"
|
|
19
19
|
});
|
|
20
20
|
this._shouldCleanupPathOptionsFromRouteName = shouldCleanupPathOptionsFromRouteName;
|
|
21
21
|
if (this._config.enabled) this.enable();
|
|
@@ -33,14 +33,14 @@ var NavigationInstrumentation = class extends require_instrumentations_MXLInstru
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
_setupSessionListeners = () => {
|
|
36
|
-
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.
|
|
36
|
+
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.userSessionManager.addSessionPartStartedListener(() => {
|
|
37
37
|
const currentRoute = require_api_page_pageAPI.page.getCurrentRoute();
|
|
38
38
|
if (currentRoute && !this._currentRouteSpan) {
|
|
39
39
|
this._diag.debug("Session started, starting route span.");
|
|
40
40
|
this._startRouteSpan(currentRoute);
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
-
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.
|
|
43
|
+
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.userSessionManager.addSessionPartEndedListener(() => {
|
|
44
44
|
if (this._currentRouteSpan) {
|
|
45
45
|
this._diag.debug("Session ended, ending route span.");
|
|
46
46
|
this._endRouteSpan(require_api_page_pageAPI.page.getCurrentRoute());
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.cjs","names":["MXLInstrumentationBase","page","KEY_MXL_TYPE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_MXL_INSTRUMENTATION"],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.cjs","names":["MXLInstrumentationBase","page","KEY_MXL_TYPE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_MXL_INSTRUMENTATION"],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n config: {},\n diag,\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.userSessionManager.addSessionPartStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn =\n this.userSessionManager.addSessionPartEndedListener(() => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n });\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+CA,uEAAAA,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACzB,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAeC,yBAAAA,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,4BAAA,KAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,mBAAmB,oCAAoC;GAC1D,MAAM,eAAeA,yBAAAA,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAcA,yBAAAA,KAAK,iBAAiB,CAAC;;IAE5C;;CAIR,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACTC,6BAAAA,eAAAA;IACAC,6BAAAA,oBAAoB;IACpBC,6BAAAA,kBAAkBH,yBAAAA,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrBI,6BAAAA,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA0BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA0BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js
CHANGED
|
@@ -11,10 +11,10 @@ var NavigationInstrumentation = class extends MXLInstrumentationBase {
|
|
|
11
11
|
_removeSessionEndedFn = null;
|
|
12
12
|
constructor({ diag, shouldCleanupPathOptionsFromRouteName = true }) {
|
|
13
13
|
super({
|
|
14
|
-
|
|
15
|
-
instrumentationVersion: "1.0.0",
|
|
14
|
+
config: {},
|
|
16
15
|
diag,
|
|
17
|
-
|
|
16
|
+
instrumentationName: "NavigationInstrumentation",
|
|
17
|
+
instrumentationVersion: "1.0.0"
|
|
18
18
|
});
|
|
19
19
|
this._shouldCleanupPathOptionsFromRouteName = shouldCleanupPathOptionsFromRouteName;
|
|
20
20
|
if (this._config.enabled) this.enable();
|
|
@@ -32,14 +32,14 @@ var NavigationInstrumentation = class extends MXLInstrumentationBase {
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
_setupSessionListeners = () => {
|
|
35
|
-
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.
|
|
35
|
+
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.userSessionManager.addSessionPartStartedListener(() => {
|
|
36
36
|
const currentRoute = page.getCurrentRoute();
|
|
37
37
|
if (currentRoute && !this._currentRouteSpan) {
|
|
38
38
|
this._diag.debug("Session started, starting route span.");
|
|
39
39
|
this._startRouteSpan(currentRoute);
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.
|
|
42
|
+
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.userSessionManager.addSessionPartEndedListener(() => {
|
|
43
43
|
if (this._currentRouteSpan) {
|
|
44
44
|
this._diag.debug("Session ended, ending route span.");
|
|
45
45
|
this._endRouteSpan(page.getCurrentRoute());
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n config: {},\n diag,\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.userSessionManager.addSessionPartStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn =\n this.userSessionManager.addSessionPartEndedListener(() => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n });\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+C,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACzB,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAe,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,QAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,mBAAmB,oCAAoC;GAC1D,MAAM,eAAe,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAc,KAAK,iBAAiB,CAAC;;IAE5C;;CAIR,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACT,eAAA;IACA,oBAAoB;IACpB,kBAAkB,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrB,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withMXLRoutingLegacy.cjs","names":["getNavigationInstrumentation","React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"withMXLRoutingLegacy.cjs","names":["getNavigationInstrumentation","React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RouteComponentProps, SwitchedRouteComponentProps } from './types';\n\nexport const withMXLRoutingLegacy = <P extends RouteComponentProps>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.DeclarativeLegacy,\n );\n\n const RouteWithMXLRoutingLegacy: React.FC<P> = (props: P) => {\n // Make sure this is Route component\n if (props.path) {\n // Routes get injected with computedMatch when they are children of a <Switch> but the types do not reflect that\n // Manually setting the type here.\n const routeProps = props as SwitchedRouteComponentProps;\n\n // Depends on this internal behaviour\n // https://github.com/remix-run/react-router/blob/v5.3.4/packages/react-router/modules/Switch.js#L40\n // It shouldn't change as this version is legacy, and it's not being actively worked on\n if (routeProps.computedMatch) {\n navigationInstrumentation.setCurrentRoute({\n path: routeProps.computedMatch.path,\n url: routeProps.computedMatch.url,\n });\n }\n }\n\n return React.createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RouteWithMXLRoutingLegacy.displayName = `withMXLRoutingLegacy(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RouteWithMXLRoutingLegacy, WrappedComponent);\n\n return RouteWithMXLRoutingLegacy;\n};\n"],"mappings":";;;;;;;;;AAMA,MAAa,wBACX,qBACG;CACH,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,kCAEzB;CAED,MAAM,6BAA0C,UAAa;AAE3D,MAAI,MAAM,MAAM;GAGd,MAAM,aAAa;AAKnB,OAAI,WAAW,cACb,2BAA0B,gBAAgB;IACxC,MAAM,WAAW,cAAc;IAC/B,KAAK,WAAW,cAAc;IAC/B,CAAC;;AAIN,SAAOC,MAAM,cAAiB,kBAAkB,MAAM;;AAIxD,2BAA0B,cAAc,wBAAwB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AACrI,EAAA,GAAA,wBAAA,SAAqB,2BAA2B,iBAAiB;AAEjE,QAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withMXLRoutingLegacy.js","names":["React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"withMXLRoutingLegacy.js","names":["React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RouteComponentProps, SwitchedRouteComponentProps } from './types';\n\nexport const withMXLRoutingLegacy = <P extends RouteComponentProps>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.DeclarativeLegacy,\n );\n\n const RouteWithMXLRoutingLegacy: React.FC<P> = (props: P) => {\n // Make sure this is Route component\n if (props.path) {\n // Routes get injected with computedMatch when they are children of a <Switch> but the types do not reflect that\n // Manually setting the type here.\n const routeProps = props as SwitchedRouteComponentProps;\n\n // Depends on this internal behaviour\n // https://github.com/remix-run/react-router/blob/v5.3.4/packages/react-router/modules/Switch.js#L40\n // It shouldn't change as this version is legacy, and it's not being actively worked on\n if (routeProps.computedMatch) {\n navigationInstrumentation.setCurrentRoute({\n path: routeProps.computedMatch.path,\n url: routeProps.computedMatch.url,\n });\n }\n }\n\n return React.createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RouteWithMXLRoutingLegacy.displayName = `withMXLRoutingLegacy(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RouteWithMXLRoutingLegacy, WrappedComponent);\n\n return RouteWithMXLRoutingLegacy;\n};\n"],"mappings":";;;;;AAMA,MAAa,wBACX,qBACG;CACH,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,kCAEzB;CAED,MAAM,6BAA0C,UAAa;AAE3D,MAAI,MAAM,MAAM;GAGd,MAAM,aAAa;AAKnB,OAAI,WAAW,cACb,2BAA0B,gBAAgB;IACxC,MAAM,WAAW,cAAc;IAC/B,KAAK,WAAW,cAAc;IAC/B,CAAC;;AAIN,SAAOA,QAAM,cAAiB,kBAAkB,MAAM;;AAIxD,2BAA0B,cAAc,wBAAwB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AACrI,sBAAqB,2BAA2B,iBAAiB;AAEjE,QAAO"}
|
|
@@ -3,7 +3,7 @@ require("../../../../../constants/attributes.cjs");
|
|
|
3
3
|
const require_instrumentations_navigation_NavigationInstrumentation_instance = require("../../instance.cjs");
|
|
4
4
|
//#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* GetRouteFromMatches goes through all the matches routes to build the full path
|
|
7
7
|
* nested routes contain only the partial match, so we need to go through all of them
|
|
8
8
|
* in order to build the full path.
|
|
9
9
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listenToRouterChanges.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"listenToRouterChanges.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { ListenToRouterChangesArgs, Match } from './types';\n\n/**\n * GetRouteFromMatches goes through all the matches routes to build the full path\n * nested routes contain only the partial match, so we need to go through all of them\n * in order to build the full path.\n *\n * Filtering by currentPathname ensures that we only consider routes that are relevant to the current URL.\n */\nconst getRouteFromMatches = (\n matches: Match[],\n currentPathname: string,\n): Route | null => {\n const currentMatchIndex = matches.findIndex(\n (match) => match.pathname === currentPathname,\n );\n\n if (currentMatchIndex === -1 || !matches[currentMatchIndex].route.path) {\n return null;\n }\n\n // Build full absolute path by reducing all matches up to the current one.\n // Absolute child paths reset the accumulation; relative paths are appended.\n return matches\n .slice(0, currentMatchIndex + 1)\n .reduce<Route | null>((acc, match) => {\n const routePath = match.route.path;\n\n if (!routePath) {\n return acc;\n }\n\n // If the route path starts with '/', it's an absolute path and should reset the accumulated path.\n // Otherwise, it's a relative path and should be appended to the accumulated path.\n const path = routePath.startsWith('/')\n ? routePath\n : `${acc?.path ?? ''}/${routePath}`;\n\n return { path, url: matches[currentMatchIndex].pathname };\n }, null);\n};\n\nexport const listenToRouterChanges = ({\n router,\n routesMatcher,\n config: { pathnameDocument = window.location } = {},\n}: ListenToRouterChangesArgs) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Data,\n );\n\n const initialMatches = routesMatcher(router.routes, {\n pathname: pathnameDocument.pathname,\n });\n\n const initialRoute = initialMatches\n ? getRouteFromMatches(initialMatches, pathnameDocument.pathname)\n : null;\n\n if (initialRoute) {\n navigationInstrumentation.setCurrentRoute(initialRoute);\n }\n\n return router.subscribe((state) => {\n // State has a list of already matched routes\n // https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/router/router.ts#L954\n const currentRoute = getRouteFromMatches(\n state.matches,\n state.location.pathname,\n );\n\n if (currentRoute) {\n navigationInstrumentation.setCurrentRoute(currentRoute);\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,uBACJ,SACA,oBACiB;CACjB,MAAM,oBAAoB,QAAQ,WAC/B,UAAU,MAAM,aAAa,gBAC/B;AAED,KAAI,sBAAsB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,KAChE,QAAO;AAKT,QAAO,QACJ,MAAM,GAAG,oBAAoB,EAAE,CAC/B,QAAsB,KAAK,UAAU;EACpC,MAAM,YAAY,MAAM,MAAM;AAE9B,MAAI,CAAC,UACH,QAAO;AAST,SAAO;GAAE,MAJI,UAAU,WAAW,IAAI,GAClC,YACA,GAAG,KAAK,QAAQ,GAAG,GAAG;GAEX,KAAK,QAAQ,mBAAmB;GAAU;IACxD,KAAK;;AAGZ,MAAa,yBAAyB,EACpC,QACA,eACA,QAAQ,EAAE,mBAAmB,OAAO,aAAa,EAAE,OACpB;CAC/B,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,oBAEzB;CAED,MAAM,iBAAiB,cAAc,OAAO,QAAQ,EAClD,UAAU,iBAAiB,UAC5B,CAAC;CAEF,MAAM,eAAe,iBACjB,oBAAoB,gBAAgB,iBAAiB,SAAS,GAC9D;AAEJ,KAAI,aACF,2BAA0B,gBAAgB,aAAa;AAGzD,QAAO,OAAO,WAAW,UAAU;EAGjC,MAAM,eAAe,oBACnB,MAAM,SACN,MAAM,SAAS,SAChB;AAED,MAAI,aACF,2BAA0B,gBAAgB,aAAa;GAEzD"}
|
|
@@ -2,7 +2,7 @@ import "../../../../../constants/attributes.js";
|
|
|
2
2
|
import { getNavigationInstrumentation } from "../../instance.js";
|
|
3
3
|
//#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* GetRouteFromMatches goes through all the matches routes to build the full path
|
|
6
6
|
* nested routes contain only the partial match, so we need to go through all of them
|
|
7
7
|
* in order to build the full path.
|
|
8
8
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listenToRouterChanges.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"listenToRouterChanges.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { ListenToRouterChangesArgs, Match } from './types';\n\n/**\n * GetRouteFromMatches goes through all the matches routes to build the full path\n * nested routes contain only the partial match, so we need to go through all of them\n * in order to build the full path.\n *\n * Filtering by currentPathname ensures that we only consider routes that are relevant to the current URL.\n */\nconst getRouteFromMatches = (\n matches: Match[],\n currentPathname: string,\n): Route | null => {\n const currentMatchIndex = matches.findIndex(\n (match) => match.pathname === currentPathname,\n );\n\n if (currentMatchIndex === -1 || !matches[currentMatchIndex].route.path) {\n return null;\n }\n\n // Build full absolute path by reducing all matches up to the current one.\n // Absolute child paths reset the accumulation; relative paths are appended.\n return matches\n .slice(0, currentMatchIndex + 1)\n .reduce<Route | null>((acc, match) => {\n const routePath = match.route.path;\n\n if (!routePath) {\n return acc;\n }\n\n // If the route path starts with '/', it's an absolute path and should reset the accumulated path.\n // Otherwise, it's a relative path and should be appended to the accumulated path.\n const path = routePath.startsWith('/')\n ? routePath\n : `${acc?.path ?? ''}/${routePath}`;\n\n return { path, url: matches[currentMatchIndex].pathname };\n }, null);\n};\n\nexport const listenToRouterChanges = ({\n router,\n routesMatcher,\n config: { pathnameDocument = window.location } = {},\n}: ListenToRouterChangesArgs) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Data,\n );\n\n const initialMatches = routesMatcher(router.routes, {\n pathname: pathnameDocument.pathname,\n });\n\n const initialRoute = initialMatches\n ? getRouteFromMatches(initialMatches, pathnameDocument.pathname)\n : null;\n\n if (initialRoute) {\n navigationInstrumentation.setCurrentRoute(initialRoute);\n }\n\n return router.subscribe((state) => {\n // State has a list of already matched routes\n // https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/router/router.ts#L954\n const currentRoute = getRouteFromMatches(\n state.matches,\n state.location.pathname,\n );\n\n if (currentRoute) {\n navigationInstrumentation.setCurrentRoute(currentRoute);\n }\n });\n};\n"],"mappings":";;;;;;;;;;AAYA,MAAM,uBACJ,SACA,oBACiB;CACjB,MAAM,oBAAoB,QAAQ,WAC/B,UAAU,MAAM,aAAa,gBAC/B;AAED,KAAI,sBAAsB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,KAChE,QAAO;AAKT,QAAO,QACJ,MAAM,GAAG,oBAAoB,EAAE,CAC/B,QAAsB,KAAK,UAAU;EACpC,MAAM,YAAY,MAAM,MAAM;AAE9B,MAAI,CAAC,UACH,QAAO;AAST,SAAO;GAAE,MAJI,UAAU,WAAW,IAAI,GAClC,YACA,GAAG,KAAK,QAAQ,GAAG,GAAG;GAEX,KAAK,QAAQ,mBAAmB;GAAU;IACxD,KAAK;;AAGZ,MAAa,yBAAyB,EACpC,QACA,eACA,QAAQ,EAAE,mBAAmB,OAAO,aAAa,EAAE,OACpB;CAC/B,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,oBAEzB;CAED,MAAM,iBAAiB,cAAc,OAAO,QAAQ,EAClD,UAAU,iBAAiB,UAC5B,CAAC;CAEF,MAAM,eAAe,iBACjB,oBAAoB,gBAAgB,iBAAiB,SAAS,GAC9D;AAEJ,KAAI,aACF,2BAA0B,gBAAgB,aAAa;AAGzD,QAAO,OAAO,WAAW,UAAU;EAGjC,MAAM,eAAe,oBACnB,MAAM,SACN,MAAM,SAAS,SAChB;AAED,MAAI,aACF,2BAA0B,gBAAgB,aAAa;GAEzD"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { PathnameDocument } from "../../../../../common/types.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts
|
|
4
|
-
|
|
4
|
+
interface Route {
|
|
5
5
|
path?: string;
|
|
6
|
-
}
|
|
7
|
-
|
|
6
|
+
}
|
|
7
|
+
interface Match {
|
|
8
8
|
pathname: string;
|
|
9
9
|
route: Route;
|
|
10
|
-
}
|
|
11
|
-
|
|
10
|
+
}
|
|
11
|
+
interface Location {
|
|
12
12
|
pathname: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
13
|
+
}
|
|
14
|
+
interface RouterState {
|
|
15
15
|
location: Location;
|
|
16
16
|
matches: Match[];
|
|
17
|
-
}
|
|
17
|
+
}
|
|
18
18
|
type MatchRoutesFunction = (routes: Route[], location: Location) => Match[] | null;
|
|
19
19
|
interface Router {
|
|
20
20
|
routes: Route[];
|
|
21
21
|
subscribe: (listener: (state: RouterState) => void) => () => void;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
interface ListenToRouterChangesArgs {
|
|
24
24
|
router: Router;
|
|
25
25
|
routesMatcher: MatchRoutesFunction;
|
|
26
26
|
config?: {
|
|
27
27
|
pathnameDocument?: PathnameDocument;
|
|
28
28
|
};
|
|
29
|
-
}
|
|
29
|
+
}
|
|
30
30
|
//#endregion
|
|
31
31
|
export { ListenToRouterChangesArgs, Match, MatchRoutesFunction, Router, RouterState };
|
|
32
32
|
//# sourceMappingURL=types.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;UAEU,KAAA;EACR,IAAA;AAAA;AAAA,UAGe,KAAA;EACf,QAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,UAGC,QAAA;EACR,QAAA;AAAA;AAAA,UAGe,WAAA;EACf,QAAA,EAAU,QAAA;EACV,OAAA,EAAS,KAAA;AAAA;AAAA,KAGC,mBAAA,IACV,MAAA,EAAQ,KAAA,IACR,QAAA,EAAU,QAAA,KACP,KAAA;AAAA,UAEY,MAAA;EACf,MAAA,EAAQ,KAAA;EACR,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,WAAA;AAAA;AAAA,UAGf,yBAAA;EACf,MAAA,EAAQ,MAAA;EACR,aAAA,EAAe,mBAAA;EACf,MAAA;IACE,gBAAA,GAAmB,gBAAA;EAAA;AAAA"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { PathnameDocument } from "../../../../../common/types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts
|
|
4
|
-
|
|
4
|
+
interface Route {
|
|
5
5
|
path?: string;
|
|
6
|
-
}
|
|
7
|
-
|
|
6
|
+
}
|
|
7
|
+
interface Match {
|
|
8
8
|
pathname: string;
|
|
9
9
|
route: Route;
|
|
10
|
-
}
|
|
11
|
-
|
|
10
|
+
}
|
|
11
|
+
interface Location {
|
|
12
12
|
pathname: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
13
|
+
}
|
|
14
|
+
interface RouterState {
|
|
15
15
|
location: Location;
|
|
16
16
|
matches: Match[];
|
|
17
|
-
}
|
|
17
|
+
}
|
|
18
18
|
type MatchRoutesFunction = (routes: Route[], location: Location) => Match[] | null;
|
|
19
19
|
interface Router {
|
|
20
20
|
routes: Route[];
|
|
21
21
|
subscribe: (listener: (state: RouterState) => void) => () => void;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
interface ListenToRouterChangesArgs {
|
|
24
24
|
router: Router;
|
|
25
25
|
routesMatcher: MatchRoutesFunction;
|
|
26
26
|
config?: {
|
|
27
27
|
pathnameDocument?: PathnameDocument;
|
|
28
28
|
};
|
|
29
|
-
}
|
|
29
|
+
}
|
|
30
30
|
//#endregion
|
|
31
31
|
export { ListenToRouterChangesArgs, Match, MatchRoutesFunction, Router, RouterState };
|
|
32
32
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;UAEU,KAAA;EACR,IAAA;AAAA;AAAA,UAGe,KAAA;EACf,QAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,UAGC,QAAA;EACR,QAAA;AAAA;AAAA,UAGe,WAAA;EACf,QAAA,EAAU,QAAA;EACV,OAAA,EAAS,KAAA;AAAA;AAAA,KAGC,mBAAA,IACV,MAAA,EAAQ,KAAA,IACR,QAAA,EAAU,QAAA,KACP,KAAA;AAAA,UAEY,MAAA;EACf,MAAA,EAAQ,KAAA;EACR,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,WAAA;AAAA;AAAA,UAGf,yBAAA;EACf,MAAA,EAAQ,MAAA;EACR,aAAA,EAAe,mBAAA;EACf,MAAA;IACE,gBAAA,GAAmB,gBAAA;EAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts
|
|
2
|
-
|
|
2
|
+
interface RoutesFunctionalComponentReturn {
|
|
3
3
|
props: {
|
|
4
4
|
match?: {
|
|
5
5
|
pathname: string;
|
|
@@ -12,7 +12,7 @@ type RoutesFunctionalComponentReturn = {
|
|
|
12
12
|
outlet: RoutesFunctionalComponentReturn | null;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
}
|
|
15
|
+
}
|
|
16
16
|
//#endregion
|
|
17
17
|
export { RoutesFunctionalComponentReturn };
|
|
18
18
|
//# sourceMappingURL=types.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";UAEiB,+BAAA;EACf,KAAA;IACE,KAAA;MACE,QAAA;MACA,YAAA;MACA,KAAA;QACE,IAAA;MAAA;IAAA;IAGJ,YAAA;MAEE,MAAA,EAAQ,+BAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts
|
|
2
|
-
|
|
2
|
+
interface RoutesFunctionalComponentReturn {
|
|
3
3
|
props: {
|
|
4
4
|
match?: {
|
|
5
5
|
pathname: string;
|
|
@@ -12,7 +12,7 @@ type RoutesFunctionalComponentReturn = {
|
|
|
12
12
|
outlet: RoutesFunctionalComponentReturn | null;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
}
|
|
15
|
+
}
|
|
16
16
|
//#endregion
|
|
17
17
|
export { RoutesFunctionalComponentReturn };
|
|
18
18
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";UAEiB,+BAAA;EACf,KAAA;IACE,KAAA;MACE,QAAA;MACA,YAAA;MACA,KAAA;QACE,IAAA;MAAA;IAAA;IAGJ,YAAA;MAEE,MAAA,EAAQ,+BAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withMXLRouting.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"withMXLRouting.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RoutesFunctionalComponentReturn } from './types';\n\n// Routes can be nested, we need to traverse the routeContext to find the last route\nconst getLastRoute = (\n matchedComponent: RoutesFunctionalComponentReturn,\n lastRoute: Route | null,\n): Route | null => {\n if (!matchedComponent.props.match?.route) {\n return null;\n }\n\n const childPath = matchedComponent.props.match.route.path;\n const path =\n lastRoute && !childPath.startsWith('/')\n ? `${lastRoute.path}/${childPath}`\n : childPath;\n\n if (matchedComponent.props.routeContext?.outlet) {\n return getLastRoute(matchedComponent.props.routeContext.outlet, {\n path,\n url: matchedComponent.props.match.pathname,\n });\n }\n\n return {\n path,\n url: matchedComponent.props.match.pathname,\n };\n};\n\nexport const withMXLRouting = <P extends object>(\n WrappedComponent: React.FunctionComponent<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Declarative,\n );\n\n const RoutesWithMXLRouting: React.FC<P> = (props: P) => {\n /**\n * React-router v6+ implementation is very different from v5\n * It doesn't have a <Switch> component that injects props into <Route>\n * Instead, it has <Routes> which internally calculates the matched route\n * and returns it as a children, <Route> cannot be wrapped since it requires all children to be a <Route> component\n * here we rely on that matching to get the current route.\n * It's not ideal to rely on internal implementation details, but it's the easier way of getting the current route\n * without having to manually match it or using hooks on each children component\n *\n * See: https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/hooks.tsx#L553\n */\n const matchedComponent = WrappedComponent(\n props,\n ) as unknown as RoutesFunctionalComponentReturn;\n\n if (matchedComponent.props.match?.route) {\n const lastRoute = getLastRoute(matchedComponent, null);\n if (lastRoute) {\n navigationInstrumentation.setCurrentRoute(lastRoute);\n }\n }\n\n return createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RoutesWithMXLRouting.displayName = `withMXLRouting(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RoutesWithMXLRouting, WrappedComponent);\n\n return RoutesWithMXLRouting;\n};\n"],"mappings":";;;;;;;;AASA,MAAM,gBACJ,kBACA,cACiB;AACjB,KAAI,CAAC,iBAAiB,MAAM,OAAO,MACjC,QAAO;CAGT,MAAM,YAAY,iBAAiB,MAAM,MAAM,MAAM;CACrD,MAAM,OACJ,aAAa,CAAC,UAAU,WAAW,IAAI,GACnC,GAAG,UAAU,KAAK,GAAG,cACrB;AAEN,KAAI,iBAAiB,MAAM,cAAc,OACvC,QAAO,aAAa,iBAAiB,MAAM,aAAa,QAAQ;EAC9D;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC,CAAC;AAGJ,QAAO;EACL;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC;;AAGH,MAAa,kBACX,qBACG;CACH,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,2BAEzB;CAED,MAAM,wBAAqC,UAAa;;;;;;;;;;;;EAYtD,MAAM,mBAAmB,iBACvB,MACD;AAED,MAAI,iBAAiB,MAAM,OAAO,OAAO;GACvC,MAAM,YAAY,aAAa,kBAAkB,KAAK;AACtD,OAAI,UACF,2BAA0B,gBAAgB,UAAU;;AAIxD,UAAA,GAAA,MAAA,eAAwB,kBAAkB,MAAM;;AAIlD,sBAAqB,cAAc,kBAAkB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AAC1H,EAAA,GAAA,wBAAA,SAAqB,sBAAsB,iBAAiB;AAE5D,QAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withMXLRouting.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"withMXLRouting.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RoutesFunctionalComponentReturn } from './types';\n\n// Routes can be nested, we need to traverse the routeContext to find the last route\nconst getLastRoute = (\n matchedComponent: RoutesFunctionalComponentReturn,\n lastRoute: Route | null,\n): Route | null => {\n if (!matchedComponent.props.match?.route) {\n return null;\n }\n\n const childPath = matchedComponent.props.match.route.path;\n const path =\n lastRoute && !childPath.startsWith('/')\n ? `${lastRoute.path}/${childPath}`\n : childPath;\n\n if (matchedComponent.props.routeContext?.outlet) {\n return getLastRoute(matchedComponent.props.routeContext.outlet, {\n path,\n url: matchedComponent.props.match.pathname,\n });\n }\n\n return {\n path,\n url: matchedComponent.props.match.pathname,\n };\n};\n\nexport const withMXLRouting = <P extends object>(\n WrappedComponent: React.FunctionComponent<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Declarative,\n );\n\n const RoutesWithMXLRouting: React.FC<P> = (props: P) => {\n /**\n * React-router v6+ implementation is very different from v5\n * It doesn't have a <Switch> component that injects props into <Route>\n * Instead, it has <Routes> which internally calculates the matched route\n * and returns it as a children, <Route> cannot be wrapped since it requires all children to be a <Route> component\n * here we rely on that matching to get the current route.\n * It's not ideal to rely on internal implementation details, but it's the easier way of getting the current route\n * without having to manually match it or using hooks on each children component\n *\n * See: https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/hooks.tsx#L553\n */\n const matchedComponent = WrappedComponent(\n props,\n ) as unknown as RoutesFunctionalComponentReturn;\n\n if (matchedComponent.props.match?.route) {\n const lastRoute = getLastRoute(matchedComponent, null);\n if (lastRoute) {\n navigationInstrumentation.setCurrentRoute(lastRoute);\n }\n }\n\n return createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RoutesWithMXLRouting.displayName = `withMXLRouting(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RoutesWithMXLRouting, WrappedComponent);\n\n return RoutesWithMXLRouting;\n};\n"],"mappings":";;;;;AASA,MAAM,gBACJ,kBACA,cACiB;AACjB,KAAI,CAAC,iBAAiB,MAAM,OAAO,MACjC,QAAO;CAGT,MAAM,YAAY,iBAAiB,MAAM,MAAM,MAAM;CACrD,MAAM,OACJ,aAAa,CAAC,UAAU,WAAW,IAAI,GACnC,GAAG,UAAU,KAAK,GAAG,cACrB;AAEN,KAAI,iBAAiB,MAAM,cAAc,OACvC,QAAO,aAAa,iBAAiB,MAAM,aAAa,QAAQ;EAC9D;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC,CAAC;AAGJ,QAAO;EACL;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC;;AAGH,MAAa,kBACX,qBACG;CACH,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,2BAEzB;CAED,MAAM,wBAAqC,UAAa;;;;;;;;;;;;EAYtD,MAAM,mBAAmB,iBACvB,MACD;AAED,MAAI,iBAAiB,MAAM,OAAO,OAAO;GACvC,MAAM,YAAY,aAAa,kBAAkB,KAAK;AACtD,OAAI,UACF,2BAA0B,gBAAgB,UAAU;;AAIxD,SAAO,cAAiB,kBAAkB,MAAM;;AAIlD,sBAAqB,cAAc,kBAAkB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AAC1H,sBAAqB,sBAAsB,iBAAiB;AAE5D,QAAO"}
|