@grafana/faro-core 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/faro-core.iife.js +1 -1
- package/dist/bundle/types/extensions/baseExtension.d.ts +1 -1
- package/dist/bundle/types/testUtils/mockTransport.d.ts +1 -1
- package/dist/bundle/types/version.d.ts +1 -1
- package/dist/cjs/api/ItemBuffer.js +11 -13
- package/dist/cjs/api/ItemBuffer.js.map +1 -1
- package/dist/cjs/api/events/initialize.js +12 -14
- package/dist/cjs/api/events/initialize.js.map +1 -1
- package/dist/cjs/api/exceptions/const.js +3 -3
- package/dist/cjs/api/exceptions/const.js.map +1 -1
- package/dist/cjs/api/exceptions/initialize.js +26 -39
- package/dist/cjs/api/exceptions/initialize.js.map +1 -1
- package/dist/cjs/api/initialize.js +25 -36
- package/dist/cjs/api/initialize.js.map +1 -1
- package/dist/cjs/api/logs/const.js +10 -12
- package/dist/cjs/api/logs/const.js.map +1 -1
- package/dist/cjs/api/logs/initialize.js +14 -16
- package/dist/cjs/api/logs/initialize.js.map +1 -1
- package/dist/cjs/api/measurements/initialize.js +12 -25
- package/dist/cjs/api/measurements/initialize.js.map +1 -1
- package/dist/cjs/api/meta/initialize.js +29 -41
- package/dist/cjs/api/meta/initialize.js.map +1 -1
- package/dist/cjs/api/traces/initialize.js +17 -17
- package/dist/cjs/api/traces/initialize.js.map +1 -1
- package/dist/cjs/api/userActions/initialize.js +23 -24
- package/dist/cjs/api/userActions/initialize.js.map +1 -1
- package/dist/cjs/api/userActions/userAction.js +48 -80
- package/dist/cjs/api/userActions/userAction.js.map +1 -1
- package/dist/cjs/api/utils.js +2 -2
- package/dist/cjs/api/utils.js.map +1 -1
- package/dist/cjs/extensions/baseExtension.js +17 -47
- package/dist/cjs/extensions/baseExtension.js.map +1 -1
- package/dist/cjs/initialize.js +14 -14
- package/dist/cjs/initialize.js.map +1 -1
- package/dist/cjs/instrumentations/base.js +7 -25
- package/dist/cjs/instrumentations/base.js.map +1 -1
- package/dist/cjs/instrumentations/initialize.js +14 -31
- package/dist/cjs/instrumentations/initialize.js.map +1 -1
- package/dist/cjs/instrumentations/registerInitial.js +1 -2
- package/dist/cjs/instrumentations/registerInitial.js.map +1 -1
- package/dist/cjs/internalLogger/const.js +1 -1
- package/dist/cjs/internalLogger/const.js.map +1 -1
- package/dist/cjs/internalLogger/createInternalLogger.js +13 -40
- package/dist/cjs/internalLogger/createInternalLogger.js.map +1 -1
- package/dist/cjs/internalLogger/initialize.js +2 -2
- package/dist/cjs/internalLogger/initialize.js.map +1 -1
- package/dist/cjs/metas/initialize.js +18 -26
- package/dist/cjs/metas/initialize.js.map +1 -1
- package/dist/cjs/metas/registerInitial.js +7 -28
- package/dist/cjs/metas/registerInitial.js.map +1 -1
- package/dist/cjs/sdk/faroGlobalObject.js +3 -3
- package/dist/cjs/sdk/faroGlobalObject.js.map +1 -1
- package/dist/cjs/sdk/internalFaroGlobalObject.js +2 -2
- package/dist/cjs/sdk/internalFaroGlobalObject.js.map +1 -1
- package/dist/cjs/sdk/registerFaro.js +9 -9
- package/dist/cjs/sdk/registerFaro.js.map +1 -1
- package/dist/cjs/testUtils/mockConfig.js +6 -18
- package/dist/cjs/testUtils/mockConfig.js.map +1 -1
- package/dist/cjs/testUtils/mockInternalLogger.js +1 -1
- package/dist/cjs/testUtils/mockInternalLogger.js.map +1 -1
- package/dist/cjs/testUtils/mockStacktraceParser.js +5 -5
- package/dist/cjs/testUtils/mockStacktraceParser.js.map +1 -1
- package/dist/cjs/testUtils/mockTransport.js +17 -37
- package/dist/cjs/testUtils/mockTransport.js.map +1 -1
- package/dist/cjs/testUtils/testPromise.js +3 -3
- package/dist/cjs/testUtils/testPromise.js.map +1 -1
- package/dist/cjs/transports/base.js +7 -27
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/batchExecutor.js +24 -36
- package/dist/cjs/transports/batchExecutor.js.map +1 -1
- package/dist/cjs/transports/const.js +7 -8
- package/dist/cjs/transports/const.js.map +1 -1
- package/dist/cjs/transports/initialize.js +50 -79
- package/dist/cjs/transports/initialize.js.map +1 -1
- package/dist/cjs/transports/registerInitial.js +1 -2
- package/dist/cjs/transports/registerInitial.js.map +1 -1
- package/dist/cjs/transports/utils.js +13 -34
- package/dist/cjs/transports/utils.js.map +1 -1
- package/dist/cjs/unpatchedConsole/const.js +1 -12
- package/dist/cjs/unpatchedConsole/const.js.map +1 -1
- package/dist/cjs/unpatchedConsole/initialize.js +1 -1
- package/dist/cjs/unpatchedConsole/initialize.js.map +1 -1
- package/dist/cjs/utils/deepEqual.js +14 -16
- package/dist/cjs/utils/deepEqual.js.map +1 -1
- package/dist/cjs/utils/is.js +25 -29
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.js +6 -9
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/promiseBuffer.js +14 -14
- package/dist/cjs/utils/promiseBuffer.js.map +1 -1
- package/dist/cjs/utils/reactive.js +43 -50
- package/dist/cjs/utils/reactive.js.map +1 -1
- package/dist/cjs/utils/shortId.js +3 -4
- package/dist/cjs/utils/shortId.js.map +1 -1
- package/dist/cjs/utils/sourceMaps.js +2 -2
- package/dist/cjs/utils/sourceMaps.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/extensions/baseExtension.d.ts +1 -1
- package/dist/types/testUtils/mockTransport.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +8 -5
- package/dist/spec/core/src/api/ItemBuffer.js +0 -27
- package/dist/spec/core/src/api/ItemBuffer.js.map +0 -1
- package/dist/spec/core/src/api/apiTestHelpers.js +0 -40
- package/dist/spec/core/src/api/apiTestHelpers.js.map +0 -1
- package/dist/spec/core/src/api/events/index.js +0 -6
- package/dist/spec/core/src/api/events/index.js.map +0 -1
- package/dist/spec/core/src/api/events/initialize.js +0 -54
- package/dist/spec/core/src/api/events/initialize.js.map +0 -1
- package/dist/spec/core/src/api/events/initialize.test.js +0 -171
- package/dist/spec/core/src/api/events/initialize.test.js.map +0 -1
- package/dist/spec/core/src/api/events/types.js +0 -3
- package/dist/spec/core/src/api/events/types.js.map +0 -1
- package/dist/spec/core/src/api/exceptions/const.js +0 -17
- package/dist/spec/core/src/api/exceptions/const.js.map +0 -1
- package/dist/spec/core/src/api/exceptions/index.js +0 -9
- package/dist/spec/core/src/api/exceptions/index.js.map +0 -1
- package/dist/spec/core/src/api/exceptions/initialize.js +0 -104
- package/dist/spec/core/src/api/exceptions/initialize.js.map +0 -1
- package/dist/spec/core/src/api/exceptions/initialize.test.js +0 -317
- package/dist/spec/core/src/api/exceptions/initialize.test.js.map +0 -1
- package/dist/spec/core/src/api/exceptions/types.js +0 -3
- package/dist/spec/core/src/api/exceptions/types.js.map +0 -1
- package/dist/spec/core/src/api/index.js +0 -15
- package/dist/spec/core/src/api/index.js.map +0 -1
- package/dist/spec/core/src/api/initialize.js +0 -56
- package/dist/spec/core/src/api/initialize.js.map +0 -1
- package/dist/spec/core/src/api/initialize.test.js +0 -33
- package/dist/spec/core/src/api/initialize.test.js.map +0 -1
- package/dist/spec/core/src/api/itemBuffer.test.js +0 -36
- package/dist/spec/core/src/api/itemBuffer.test.js.map +0 -1
- package/dist/spec/core/src/api/logs/const.js +0 -17
- package/dist/spec/core/src/api/logs/const.js.map +0 -1
- package/dist/spec/core/src/api/logs/index.js +0 -8
- package/dist/spec/core/src/api/logs/index.js.map +0 -1
- package/dist/spec/core/src/api/logs/initialize.js +0 -58
- package/dist/spec/core/src/api/logs/initialize.js.map +0 -1
- package/dist/spec/core/src/api/logs/initialize.test.js +0 -185
- package/dist/spec/core/src/api/logs/initialize.test.js.map +0 -1
- package/dist/spec/core/src/api/logs/types.js +0 -3
- package/dist/spec/core/src/api/logs/types.js.map +0 -1
- package/dist/spec/core/src/api/measurements/index.js +0 -6
- package/dist/spec/core/src/api/measurements/index.js.map +0 -1
- package/dist/spec/core/src/api/measurements/initialize.js +0 -60
- package/dist/spec/core/src/api/measurements/initialize.js.map +0 -1
- package/dist/spec/core/src/api/measurements/initialize.test.js +0 -244
- package/dist/spec/core/src/api/measurements/initialize.test.js.map +0 -1
- package/dist/spec/core/src/api/measurements/types.js +0 -3
- package/dist/spec/core/src/api/measurements/types.js.map +0 -1
- package/dist/spec/core/src/api/meta/index.js +0 -6
- package/dist/spec/core/src/api/meta/index.js.map +0 -1
- package/dist/spec/core/src/api/meta/initialize.js +0 -92
- package/dist/spec/core/src/api/meta/initialize.js.map +0 -1
- package/dist/spec/core/src/api/meta/initilialize.test.js +0 -135
- package/dist/spec/core/src/api/meta/initilialize.test.js.map +0 -1
- package/dist/spec/core/src/api/meta/types.js +0 -3
- package/dist/spec/core/src/api/meta/types.js.map +0 -1
- package/dist/spec/core/src/api/traces/index.js +0 -6
- package/dist/spec/core/src/api/traces/index.js.map +0 -1
- package/dist/spec/core/src/api/traces/initialize.js +0 -48
- package/dist/spec/core/src/api/traces/initialize.js.map +0 -1
- package/dist/spec/core/src/api/traces/types.js +0 -3
- package/dist/spec/core/src/api/traces/types.js.map +0 -1
- package/dist/spec/core/src/api/types.js +0 -3
- package/dist/spec/core/src/api/types.js.map +0 -1
- package/dist/spec/core/src/api/userActions/const.js +0 -11
- package/dist/spec/core/src/api/userActions/const.js.map +0 -1
- package/dist/spec/core/src/api/userActions/index.js +0 -11
- package/dist/spec/core/src/api/userActions/index.js.map +0 -1
- package/dist/spec/core/src/api/userActions/initialize.js +0 -80
- package/dist/spec/core/src/api/userActions/initialize.js.map +0 -1
- package/dist/spec/core/src/api/userActions/initialize.test.js +0 -83
- package/dist/spec/core/src/api/userActions/initialize.test.js.map +0 -1
- package/dist/spec/core/src/api/userActions/types.js +0 -11
- package/dist/spec/core/src/api/userActions/types.js.map +0 -1
- package/dist/spec/core/src/api/userActions/userAction.js +0 -126
- package/dist/spec/core/src/api/userActions/userAction.js.map +0 -1
- package/dist/spec/core/src/api/userActions/userAction.test.js +0 -85
- package/dist/spec/core/src/api/userActions/userAction.test.js.map +0 -1
- package/dist/spec/core/src/api/utils.js +0 -10
- package/dist/spec/core/src/api/utils.js.map +0 -1
- package/dist/spec/core/src/api/utils.test.js +0 -20
- package/dist/spec/core/src/api/utils.test.js.map +0 -1
- package/dist/spec/core/src/config/const.js +0 -10
- package/dist/spec/core/src/config/const.js.map +0 -1
- package/dist/spec/core/src/config/index.js +0 -7
- package/dist/spec/core/src/config/index.js.map +0 -1
- package/dist/spec/core/src/config/types.js +0 -3
- package/dist/spec/core/src/config/types.js.map +0 -1
- package/dist/spec/core/src/consts.js +0 -5
- package/dist/spec/core/src/consts.js.map +0 -1
- package/dist/spec/core/src/extensions/baseExtension.js +0 -57
- package/dist/spec/core/src/extensions/baseExtension.js.map +0 -1
- package/dist/spec/core/src/extensions/index.js +0 -6
- package/dist/spec/core/src/extensions/index.js.map +0 -1
- package/dist/spec/core/src/extensions/types.js +0 -3
- package/dist/spec/core/src/extensions/types.js.map +0 -1
- package/dist/spec/core/src/faro.test.js +0 -40
- package/dist/spec/core/src/faro.test.js.map +0 -1
- package/dist/spec/core/src/globalObject/globalObject.js +0 -12
- package/dist/spec/core/src/globalObject/globalObject.js.map +0 -1
- package/dist/spec/core/src/globalObject/index.js +0 -6
- package/dist/spec/core/src/globalObject/index.js.map +0 -1
- package/dist/spec/core/src/index.js +0 -103
- package/dist/spec/core/src/index.js.map +0 -1
- package/dist/spec/core/src/initialize.js +0 -31
- package/dist/spec/core/src/initialize.js.map +0 -1
- package/dist/spec/core/src/instrumentations/base.js +0 -31
- package/dist/spec/core/src/instrumentations/base.js.map +0 -1
- package/dist/spec/core/src/instrumentations/index.js +0 -10
- package/dist/spec/core/src/instrumentations/index.js.map +0 -1
- package/dist/spec/core/src/instrumentations/initialize.js +0 -70
- package/dist/spec/core/src/instrumentations/initialize.js.map +0 -1
- package/dist/spec/core/src/instrumentations/registerInitial.js +0 -8
- package/dist/spec/core/src/instrumentations/registerInitial.js.map +0 -1
- package/dist/spec/core/src/instrumentations/types.js +0 -3
- package/dist/spec/core/src/instrumentations/types.js.map +0 -1
- package/dist/spec/core/src/internalLogger/const.js +0 -22
- package/dist/spec/core/src/internalLogger/const.js.map +0 -1
- package/dist/spec/core/src/internalLogger/createInternalLogger.js +0 -64
- package/dist/spec/core/src/internalLogger/createInternalLogger.js.map +0 -1
- package/dist/spec/core/src/internalLogger/index.js +0 -13
- package/dist/spec/core/src/internalLogger/index.js.map +0 -1
- package/dist/spec/core/src/internalLogger/initialize.js +0 -12
- package/dist/spec/core/src/internalLogger/initialize.js.map +0 -1
- package/dist/spec/core/src/internalLogger/types.js +0 -3
- package/dist/spec/core/src/internalLogger/types.js.map +0 -1
- package/dist/spec/core/src/metas/index.js +0 -8
- package/dist/spec/core/src/metas/index.js.map +0 -1
- package/dist/spec/core/src/metas/initialize.js +0 -51
- package/dist/spec/core/src/metas/initialize.js.map +0 -1
- package/dist/spec/core/src/metas/initialize.test.js +0 -20
- package/dist/spec/core/src/metas/initialize.test.js.map +0 -1
- package/dist/spec/core/src/metas/registerInitial.js +0 -53
- package/dist/spec/core/src/metas/registerInitial.js.map +0 -1
- package/dist/spec/core/src/metas/types.js +0 -3
- package/dist/spec/core/src/metas/types.js.map +0 -1
- package/dist/spec/core/src/sdk/const.js +0 -5
- package/dist/spec/core/src/sdk/const.js.map +0 -1
- package/dist/spec/core/src/sdk/faroGlobalObject.js +0 -22
- package/dist/spec/core/src/sdk/faroGlobalObject.js.map +0 -1
- package/dist/spec/core/src/sdk/index.js +0 -13
- package/dist/spec/core/src/sdk/index.js.map +0 -1
- package/dist/spec/core/src/sdk/internalFaroGlobalObject.js +0 -28
- package/dist/spec/core/src/sdk/internalFaroGlobalObject.js.map +0 -1
- package/dist/spec/core/src/sdk/registerFaro.js +0 -25
- package/dist/spec/core/src/sdk/registerFaro.js.map +0 -1
- package/dist/spec/core/src/sdk/types.js +0 -3
- package/dist/spec/core/src/sdk/types.js.map +0 -1
- package/dist/spec/core/src/semantic.js +0 -12
- package/dist/spec/core/src/semantic.js.map +0 -1
- package/dist/spec/core/src/testUtils/index.js +0 -14
- package/dist/spec/core/src/testUtils/index.js.map +0 -1
- package/dist/spec/core/src/testUtils/mockConfig.js +0 -27
- package/dist/spec/core/src/testUtils/mockConfig.js.map +0 -1
- package/dist/spec/core/src/testUtils/mockInternalLogger.js +0 -12
- package/dist/spec/core/src/testUtils/mockInternalLogger.js.map +0 -1
- package/dist/spec/core/src/testUtils/mockStacktraceParser.js +0 -21
- package/dist/spec/core/src/testUtils/mockStacktraceParser.js.map +0 -1
- package/dist/spec/core/src/testUtils/mockTransport.js +0 -45
- package/dist/spec/core/src/testUtils/mockTransport.js.map +0 -1
- package/dist/spec/core/src/testUtils/testPromise.js +0 -14
- package/dist/spec/core/src/testUtils/testPromise.js.map +0 -1
- package/dist/spec/core/src/transports/base.js +0 -34
- package/dist/spec/core/src/transports/base.js.map +0 -1
- package/dist/spec/core/src/transports/batchExecutor.js +0 -82
- package/dist/spec/core/src/transports/batchExecutor.js.map +0 -1
- package/dist/spec/core/src/transports/batchExecutor.test.js +0 -179
- package/dist/spec/core/src/transports/batchExecutor.test.js.map +0 -1
- package/dist/spec/core/src/transports/const.js +0 -20
- package/dist/spec/core/src/transports/const.js.map +0 -1
- package/dist/spec/core/src/transports/index.js +0 -15
- package/dist/spec/core/src/transports/index.js.map +0 -1
- package/dist/spec/core/src/transports/initialize.js +0 -188
- package/dist/spec/core/src/transports/initialize.js.map +0 -1
- package/dist/spec/core/src/transports/registerInitial.js +0 -9
- package/dist/spec/core/src/transports/registerInitial.js.map +0 -1
- package/dist/spec/core/src/transports/transports.test.js +0 -258
- package/dist/spec/core/src/transports/transports.test.js.map +0 -1
- package/dist/spec/core/src/transports/types.js +0 -3
- package/dist/spec/core/src/transports/types.js.map +0 -1
- package/dist/spec/core/src/transports/utils.js +0 -73
- package/dist/spec/core/src/transports/utils.js.map +0 -1
- package/dist/spec/core/src/transports/utils.test.js +0 -216
- package/dist/spec/core/src/transports/utils.test.js.map +0 -1
- package/dist/spec/core/src/unpatchedConsole/const.js +0 -16
- package/dist/spec/core/src/unpatchedConsole/const.js.map +0 -1
- package/dist/spec/core/src/unpatchedConsole/index.js +0 -9
- package/dist/spec/core/src/unpatchedConsole/index.js.map +0 -1
- package/dist/spec/core/src/unpatchedConsole/initialize.js +0 -12
- package/dist/spec/core/src/unpatchedConsole/initialize.js.map +0 -1
- package/dist/spec/core/src/unpatchedConsole/types.js +0 -3
- package/dist/spec/core/src/unpatchedConsole/types.js.map +0 -1
- package/dist/spec/core/src/utils/baseObject.js +0 -3
- package/dist/spec/core/src/utils/baseObject.js.map +0 -1
- package/dist/spec/core/src/utils/date.js +0 -15
- package/dist/spec/core/src/utils/date.js.map +0 -1
- package/dist/spec/core/src/utils/deepEqual.js +0 -61
- package/dist/spec/core/src/utils/deepEqual.js.map +0 -1
- package/dist/spec/core/src/utils/deepEqual.test.js +0 -103
- package/dist/spec/core/src/utils/deepEqual.test.js.map +0 -1
- package/dist/spec/core/src/utils/index.js +0 -60
- package/dist/spec/core/src/utils/index.js.map +0 -1
- package/dist/spec/core/src/utils/is.js +0 -66
- package/dist/spec/core/src/utils/is.js.map +0 -1
- package/dist/spec/core/src/utils/is.test.js +0 -21
- package/dist/spec/core/src/utils/is.test.js.map +0 -1
- package/dist/spec/core/src/utils/json.js +0 -32
- package/dist/spec/core/src/utils/json.js.map +0 -1
- package/dist/spec/core/src/utils/json.test.js +0 -35
- package/dist/spec/core/src/utils/json.test.js.map +0 -1
- package/dist/spec/core/src/utils/logLevels.js +0 -22
- package/dist/spec/core/src/utils/logLevels.js.map +0 -1
- package/dist/spec/core/src/utils/noop.js +0 -5
- package/dist/spec/core/src/utils/noop.js.map +0 -1
- package/dist/spec/core/src/utils/promiseBuffer.js +0 -42
- package/dist/spec/core/src/utils/promiseBuffer.js.map +0 -1
- package/dist/spec/core/src/utils/promiseBuffer.test.js +0 -146
- package/dist/spec/core/src/utils/promiseBuffer.test.js.map +0 -1
- package/dist/spec/core/src/utils/reactive.js +0 -90
- package/dist/spec/core/src/utils/reactive.js.map +0 -1
- package/dist/spec/core/src/utils/reactive.test.js +0 -117
- package/dist/spec/core/src/utils/reactive.test.js.map +0 -1
- package/dist/spec/core/src/utils/sampling.js +0 -7
- package/dist/spec/core/src/utils/sampling.js.map +0 -1
- package/dist/spec/core/src/utils/sampling.test.js +0 -17
- package/dist/spec/core/src/utils/sampling.test.js.map +0 -1
- package/dist/spec/core/src/utils/shortId.js +0 -11
- package/dist/spec/core/src/utils/shortId.js.map +0 -1
- package/dist/spec/core/src/utils/sourceMaps.js +0 -8
- package/dist/spec/core/src/utils/sourceMaps.js.map +0 -1
- package/dist/spec/core/src/utils/sourceMaps.test.js +0 -17
- package/dist/spec/core/src/utils/sourceMaps.test.js.map +0 -1
- package/dist/spec/core/src/version.js +0 -6
- package/dist/spec/core/src/version.js.map +0 -1
- package/dist/types/core/src/api/ItemBuffer.d.ts +0 -7
- package/dist/types/core/src/api/apiTestHelpers.d.ts +0 -13
- package/dist/types/core/src/api/events/index.d.ts +0 -2
- package/dist/types/core/src/api/events/initialize.d.ts +0 -17
- package/dist/types/core/src/api/events/initialize.test.d.ts +0 -1
- package/dist/types/core/src/api/events/types.d.ts +0 -29
- package/dist/types/core/src/api/exceptions/const.d.ts +0 -2
- package/dist/types/core/src/api/exceptions/index.d.ts +0 -3
- package/dist/types/core/src/api/exceptions/initialize.d.ts +0 -17
- package/dist/types/core/src/api/exceptions/initialize.test.d.ts +0 -1
- package/dist/types/core/src/api/exceptions/types.d.ts +0 -61
- package/dist/types/core/src/api/index.d.ts +0 -11
- package/dist/types/core/src/api/initialize.d.ts +0 -7
- package/dist/types/core/src/api/initialize.test.d.ts +0 -1
- package/dist/types/core/src/api/itemBuffer.test.d.ts +0 -1
- package/dist/types/core/src/api/logs/const.d.ts +0 -2
- package/dist/types/core/src/api/logs/index.d.ts +0 -3
- package/dist/types/core/src/api/logs/initialize.d.ts +0 -17
- package/dist/types/core/src/api/logs/initialize.test.d.ts +0 -1
- package/dist/types/core/src/api/logs/types.d.ts +0 -24
- package/dist/types/core/src/api/measurements/index.d.ts +0 -2
- package/dist/types/core/src/api/measurements/initialize.d.ts +0 -17
- package/dist/types/core/src/api/measurements/initialize.test.d.ts +0 -1
- package/dist/types/core/src/api/measurements/types.d.ts +0 -25
- package/dist/types/core/src/api/meta/index.d.ts +0 -2
- package/dist/types/core/src/api/meta/initialize.d.ts +0 -15
- package/dist/types/core/src/api/meta/initilialize.test.d.ts +0 -1
- package/dist/types/core/src/api/meta/types.d.ts +0 -21
- package/dist/types/core/src/api/traces/index.d.ts +0 -2
- package/dist/types/core/src/api/traces/initialize.d.ts +0 -7
- package/dist/types/core/src/api/traces/types.d.ts +0 -20
- package/dist/types/core/src/api/types.d.ts +0 -14
- package/dist/types/core/src/api/userActions/const.d.ts +0 -8
- package/dist/types/core/src/api/userActions/index.d.ts +0 -4
- package/dist/types/core/src/api/userActions/initialize.d.ts +0 -21
- package/dist/types/core/src/api/userActions/initialize.test.d.ts +0 -1
- package/dist/types/core/src/api/userActions/types.d.ts +0 -55
- package/dist/types/core/src/api/userActions/userAction.d.ts +0 -36
- package/dist/types/core/src/api/userActions/userAction.test.d.ts +0 -1
- package/dist/types/core/src/api/utils.d.ts +0 -2
- package/dist/types/core/src/api/utils.test.d.ts +0 -1
- package/dist/types/core/src/config/const.d.ts +0 -6
- package/dist/types/core/src/config/index.d.ts +0 -2
- package/dist/types/core/src/config/types.d.ts +0 -237
- package/dist/types/core/src/consts.d.ts +0 -1
- package/dist/types/core/src/extensions/baseExtension.d.ts +0 -15
- package/dist/types/core/src/extensions/index.d.ts +0 -2
- package/dist/types/core/src/extensions/types.d.ts +0 -16
- package/dist/types/core/src/faro.test.d.ts +0 -1
- package/dist/types/core/src/globalObject/globalObject.d.ts +0 -6
- package/dist/types/core/src/globalObject/index.d.ts +0 -2
- package/dist/types/core/src/index.d.ts +0 -25
- package/dist/types/core/src/initialize.d.ts +0 -3
- package/dist/types/core/src/instrumentations/base.d.ts +0 -9
- package/dist/types/core/src/instrumentations/index.d.ts +0 -4
- package/dist/types/core/src/instrumentations/initialize.d.ts +0 -8
- package/dist/types/core/src/instrumentations/registerInitial.d.ts +0 -2
- package/dist/types/core/src/instrumentations/types.d.ts +0 -14
- package/dist/types/core/src/internalLogger/const.d.ts +0 -11
- package/dist/types/core/src/internalLogger/createInternalLogger.d.ts +0 -4
- package/dist/types/core/src/internalLogger/index.d.ts +0 -4
- package/dist/types/core/src/internalLogger/initialize.d.ts +0 -5
- package/dist/types/core/src/internalLogger/types.d.ts +0 -7
- package/dist/types/core/src/metas/index.d.ts +0 -3
- package/dist/types/core/src/metas/initialize.d.ts +0 -5
- package/dist/types/core/src/metas/initialize.test.d.ts +0 -1
- package/dist/types/core/src/metas/registerInitial.d.ts +0 -2
- package/dist/types/core/src/metas/types.d.ts +0 -118
- package/dist/types/core/src/sdk/const.d.ts +0 -1
- package/dist/types/core/src/sdk/faroGlobalObject.d.ts +0 -2
- package/dist/types/core/src/sdk/index.d.ts +0 -4
- package/dist/types/core/src/sdk/internalFaroGlobalObject.d.ts +0 -4
- package/dist/types/core/src/sdk/registerFaro.d.ts +0 -10
- package/dist/types/core/src/sdk/types.d.ts +0 -18
- package/dist/types/core/src/semantic.d.ts +0 -8
- package/dist/types/core/src/testUtils/index.d.ts +0 -6
- package/dist/types/core/src/testUtils/mockConfig.d.ts +0 -2
- package/dist/types/core/src/testUtils/mockInternalLogger.d.ts +0 -2
- package/dist/types/core/src/testUtils/mockStacktraceParser.d.ts +0 -2
- package/dist/types/core/src/testUtils/mockTransport.d.ts +0 -13
- package/dist/types/core/src/testUtils/testPromise.d.ts +0 -7
- package/dist/types/core/src/transports/base.d.ts +0 -8
- package/dist/types/core/src/transports/batchExecutor.d.ts +0 -16
- package/dist/types/core/src/transports/batchExecutor.test.d.ts +0 -1
- package/dist/types/core/src/transports/const.d.ts +0 -9
- package/dist/types/core/src/transports/index.d.ts +0 -6
- package/dist/types/core/src/transports/initialize.d.ts +0 -6
- package/dist/types/core/src/transports/registerInitial.d.ts +0 -2
- package/dist/types/core/src/transports/transports.test.d.ts +0 -1
- package/dist/types/core/src/transports/types.d.ts +0 -45
- package/dist/types/core/src/transports/utils.d.ts +0 -5
- package/dist/types/core/src/transports/utils.test.d.ts +0 -1
- package/dist/types/core/src/unpatchedConsole/const.d.ts +0 -2
- package/dist/types/core/src/unpatchedConsole/index.d.ts +0 -3
- package/dist/types/core/src/unpatchedConsole/initialize.d.ts +0 -4
- package/dist/types/core/src/unpatchedConsole/types.d.ts +0 -1
- package/dist/types/core/src/utils/baseObject.d.ts +0 -6
- package/dist/types/core/src/utils/date.d.ts +0 -3
- package/dist/types/core/src/utils/deepEqual.d.ts +0 -1
- package/dist/types/core/src/utils/deepEqual.test.d.ts +0 -1
- package/dist/types/core/src/utils/index.d.ts +0 -16
- package/dist/types/core/src/utils/is.d.ts +0 -32
- package/dist/types/core/src/utils/is.test.d.ts +0 -1
- package/dist/types/core/src/utils/json.d.ts +0 -3
- package/dist/types/core/src/utils/json.test.d.ts +0 -1
- package/dist/types/core/src/utils/logLevels.d.ts +0 -10
- package/dist/types/core/src/utils/noop.d.ts +0 -1
- package/dist/types/core/src/utils/promiseBuffer.d.ts +0 -14
- package/dist/types/core/src/utils/promiseBuffer.test.d.ts +0 -1
- package/dist/types/core/src/utils/reactive.d.ts +0 -17
- package/dist/types/core/src/utils/reactive.test.d.ts +0 -1
- package/dist/types/core/src/utils/sampling.d.ts +0 -1
- package/dist/types/core/src/utils/sampling.test.d.ts +0 -1
- package/dist/types/core/src/utils/shortId.d.ts +0 -1
- package/dist/types/core/src/utils/sourceMaps.d.ts +0 -1
- package/dist/types/core/src/utils/sourceMaps.test.d.ts +0 -1
- package/dist/types/core/src/version.d.ts +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/measurements/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { type MeasurementEvent, type PushMeasurementOptions, TransportItem } from '../..';\nimport { initializeFaro } from '../../initialize';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { mockMetas, mockTracesApi, mockTransports, mockUserActionsApi } from '../apiTestHelpers';\nimport type { API } from '../types';\nimport UserAction from '../userActions/userAction';\n\nimport { initializeMeasurementsAPI } from './initialize';\n\ndescribe('api.measurements', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [API, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n\n const { api } = initializeFaro(config);\n\n return [api, transport];\n }\n\n describe('pushMeasurement', () => {\n let api: API;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n describe('Filtering', () => {\n it('filters the same measurement', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n });\n\n it('filters the same measurement with the same context', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const context = { foo: 'bar' };\n\n api.pushMeasurement(measurement, { context });\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { context });\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter events with different context\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement, { context: { foo: 'bar' } });\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { context: { bar: 'baz' } });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with same type and partially same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n values: {\n ...measurement1.values,\n b: 2,\n },\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with different type and same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters a measurement and doesn't filter the next different one\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { skipDedupe: true });\n expect(transport.items).toHaveLength(2);\n });\n\n it('uses traceId and spanId from custom context', () => {\n const spanContext: PushMeasurementOptions['spanContext'] = {\n traceId: 'my-trace-id',\n spanId: 'my-span-id',\n };\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement, { spanContext });\n expect(transport.items).toHaveLength(1);\n\n expect((transport.items[0]?.payload as MeasurementEvent).trace).toStrictEqual({\n trace_id: 'my-trace-id',\n span_id: 'my-span-id',\n });\n });\n });\n\n it('Sets the timestamp to the provided custom timestamp', () => {\n api.pushMeasurement(\n {\n type: 'custom',\n values: {\n a: 1,\n },\n },\n { timestampOverwriteMs: 123 }\n );\n expect(transport.items).toHaveLength(1);\n expect((transport.items[0]?.payload as MeasurementEvent).timestamp).toBe('1970-01-01T00:00:00.123Z');\n });\n\n it('stringifies all values in the attributes object', () => {\n api.pushEvent('test', {\n // @ts-expect-error\n a: 1,\n b: 'foo',\n // @ts-expect-error\n c: true,\n // @ts-expect-error\n d: { e: 'bar' },\n // @ts-expect-error\n g: null,\n // @ts-expect-error\n h: undefined,\n // @ts-expect-error\n i: [1, 2, 3],\n });\n\n // @ts-expect-error\n expect(transport.items[0]?.payload.attributes).toStrictEqual({\n a: '1',\n b: 'foo',\n c: 'true',\n d: '{\"e\":\"bar\"}',\n g: 'null',\n h: 'undefined',\n i: '[1,2,3]',\n });\n });\n\n it('does not stringify empty context', () => {\n api.pushMeasurement(\n {\n type: 'custom',\n values: {},\n },\n {\n context: {},\n }\n );\n api.pushMeasurement({\n type: 'custom2',\n values: {},\n });\n expect(transport.items).toHaveLength(2);\n expect((transport.items[0] as TransportItem<MeasurementEvent>).payload.context).toBeUndefined();\n expect((transport.items[0] as TransportItem<MeasurementEvent>).payload.context).toBeUndefined();\n });\n });\n\n describe('User action', () => {\n it('buffers the measurement if a user action is in progress', () => {\n const internalLogger = mockInternalLogger;\n const config = mockConfig();\n\n const api = initializeMeasurementsAPI({\n unpatchedConsole: console,\n internalLogger,\n config,\n metas: mockMetas,\n transports: mockTransports,\n tracesApi: mockTracesApi,\n userActionsApi: mockUserActionsApi,\n });\n\n (mockUserActionsApi.getActiveUserAction as jest.Mock).mockReturnValueOnce(\n new UserAction({\n name: 'test',\n trigger: 'foo',\n transports: mockTransports,\n pushEvent: jest.fn(),\n })\n );\n api.pushMeasurement({ type: 'test', values: { a: 1 } });\n expect(mockTransports.execute).not.toHaveBeenCalled();\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/api/measurements/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SpanContext } from '@opentelemetry/api';\n\nimport type { TraceContext } from '../traces';\nimport type { UserAction } from '../types';\n\nexport type MeasurementContext = Record<string, string>;\n\nexport interface MeasurementEvent<V extends { [label: string]: number } = { [label: string]: number }> {\n type: string;\n values: V;\n\n timestamp: string;\n trace?: TraceContext;\n context?: MeasurementContext;\n\n action?: UserAction;\n}\n\nexport interface PushMeasurementOptions {\n skipDedupe?: boolean;\n context?: MeasurementContext;\n spanContext?: Pick<SpanContext, 'traceId' | 'spanId'>;\n timestampOverwriteMs?: number;\n}\n\nexport interface MeasurementsAPI {\n pushMeasurement: (\n payload: Omit<MeasurementEvent, 'timestamp'> & Partial<Pick<MeasurementEvent, 'timestamp'>>,\n options?: PushMeasurementOptions\n ) => void;\n}\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeMetaAPI = void 0;
|
|
4
|
-
var initialize_1 = require("./initialize");
|
|
5
|
-
Object.defineProperty(exports, "initializeMetaAPI", { enumerable: true, get: function () { return initialize_1.initializeMetaAPI; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/meta/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA","sourcesContent":["export { initializeMetaAPI } from './initialize';\n\nexport type { MetaAPI } from './types';\n"]}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.initializeMetaAPI = initializeMetaAPI;
|
|
15
|
-
var is_1 = require("../../utils/is");
|
|
16
|
-
function initializeMetaAPI(_a) {
|
|
17
|
-
var internalLogger = _a.internalLogger, metas = _a.metas;
|
|
18
|
-
internalLogger.debug('Initializing meta API');
|
|
19
|
-
var metaSession = undefined;
|
|
20
|
-
var metaUser = undefined;
|
|
21
|
-
var metaView = undefined;
|
|
22
|
-
var metaPage = undefined;
|
|
23
|
-
var setUser = function (user) {
|
|
24
|
-
if (metaUser) {
|
|
25
|
-
metas.remove(metaUser);
|
|
26
|
-
}
|
|
27
|
-
metaUser = {
|
|
28
|
-
user: user,
|
|
29
|
-
};
|
|
30
|
-
metas.add(metaUser);
|
|
31
|
-
};
|
|
32
|
-
var setSession = function (session, options) {
|
|
33
|
-
var _a;
|
|
34
|
-
var newOverrides = options === null || options === void 0 ? void 0 : options.overrides;
|
|
35
|
-
var overrides = newOverrides
|
|
36
|
-
? {
|
|
37
|
-
overrides: __assign(__assign({}, (_a = metaSession === null || metaSession === void 0 ? void 0 : metaSession.session) === null || _a === void 0 ? void 0 : _a.overrides), newOverrides),
|
|
38
|
-
}
|
|
39
|
-
: {};
|
|
40
|
-
if (metaSession) {
|
|
41
|
-
metas.remove(metaSession);
|
|
42
|
-
}
|
|
43
|
-
metaSession = {
|
|
44
|
-
session: __assign(__assign({}, ((0, is_1.isEmpty)(session) ? undefined : session)), overrides),
|
|
45
|
-
};
|
|
46
|
-
metas.add(metaSession);
|
|
47
|
-
};
|
|
48
|
-
var getSession = function () { return metas.value.session; };
|
|
49
|
-
var setView = function (view, options) {
|
|
50
|
-
var _a;
|
|
51
|
-
if (options === null || options === void 0 ? void 0 : options.overrides) {
|
|
52
|
-
setSession(getSession(), { overrides: options.overrides });
|
|
53
|
-
}
|
|
54
|
-
if (((_a = metaView === null || metaView === void 0 ? void 0 : metaView.view) === null || _a === void 0 ? void 0 : _a.name) === (view === null || view === void 0 ? void 0 : view.name)) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
var previousView = metaView;
|
|
58
|
-
metaView = {
|
|
59
|
-
view: view,
|
|
60
|
-
};
|
|
61
|
-
metas.add(metaView);
|
|
62
|
-
if (previousView) {
|
|
63
|
-
metas.remove(previousView);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
var getView = function () { return metas.value.view; };
|
|
67
|
-
var setPage = function (page) {
|
|
68
|
-
var _a;
|
|
69
|
-
var pageMeta = (0, is_1.isString)(page)
|
|
70
|
-
? __assign(__assign({}, ((_a = metaPage === null || metaPage === void 0 ? void 0 : metaPage.page) !== null && _a !== void 0 ? _a : getPage())), { id: page }) : page;
|
|
71
|
-
if (metaPage) {
|
|
72
|
-
metas.remove(metaPage);
|
|
73
|
-
}
|
|
74
|
-
metaPage = {
|
|
75
|
-
page: pageMeta,
|
|
76
|
-
};
|
|
77
|
-
metas.add(metaPage);
|
|
78
|
-
};
|
|
79
|
-
var getPage = function () { return metas.value.page; };
|
|
80
|
-
return {
|
|
81
|
-
setUser: setUser,
|
|
82
|
-
resetUser: setUser,
|
|
83
|
-
setSession: setSession,
|
|
84
|
-
resetSession: setSession,
|
|
85
|
-
getSession: getSession,
|
|
86
|
-
setView: setView,
|
|
87
|
-
getView: getView,
|
|
88
|
-
setPage: setPage,
|
|
89
|
-
getPage: getPage,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAUA,8CAqHC;AA1HD,qCAAmD;AAKnD,SAAgB,iBAAiB,CAAC,EAUjC;QATC,cAAc,oBAAA,EACd,KAAK,WAAA;IASL,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE9C,IAAI,WAAW,GAA8B,SAAS,CAAC;IACvD,IAAI,QAAQ,GAA8B,SAAS,CAAC;IACpD,IAAI,QAAQ,GAA8B,SAAS,CAAC;IACpD,IAAI,QAAQ,GAA8B,SAAS,CAAC;IAEpD,IAAM,OAAO,GAAuB,UAAC,IAAI;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,QAAQ,GAAG;YACT,IAAI,MAAA;SACL,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,IAAM,UAAU,GAA0B,UAAC,OAAO,EAAE,OAAO;;QACzD,IAAM,YAAY,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;QACxC,IAAM,SAAS,GAAG,YAAY;YAC5B,CAAC,CAAC;gBACE,SAAS,wBACJ,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,SAAS,GAC/B,YAAY,CAChB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QAED,WAAW,GAAG;YACZ,OAAO,wBAEF,CAAC,IAAA,YAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GACxC,SAAS,CACb;SACF,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAM,UAAU,GAA0B,cAAM,OAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAnB,CAAmB,CAAC;IAEpE,IAAM,OAAO,GAAuB,UAAC,IAAI,EAAE,OAAO;;QAChD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE,CAAC;YACvB,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,OAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAM,YAAY,GAAG,QAAQ,CAAC;QAE9B,QAAQ,GAAG;YACT,IAAI,MAAA;SACL,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpB,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAuB,cAAM,OAAA,KAAK,CAAC,KAAK,CAAC,IAAI,EAAhB,CAAgB,CAAC;IAE3D,IAAM,OAAO,GAAuB,UAAC,IAAI;;QACvC,IAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,IAAI,CAAC;YAC7B,CAAC,uBAIM,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,OAAO,EAAE,CAAC,KAChC,EAAE,EAAE,IAAI,IAEZ,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,QAAQ,GAAG;YACT,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,IAAM,OAAO,GAAuB,cAAM,OAAA,KAAK,CAAC,KAAK,CAAC,IAAI,EAAhB,CAAgB,CAAC;IAE3D,OAAO;QACL,OAAO,SAAA;QACP,SAAS,EAAE,OAA+B;QAC1C,UAAU,YAAA;QACV,YAAY,EAAE,UAAqC;QACnD,UAAU,YAAA;QACV,OAAO,SAAA;QACP,OAAO,SAAA;QACP,OAAO,SAAA;QACP,OAAO,SAAA;KACR,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\nimport type { TracesAPI } from '../traces';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI({\n internalLogger,\n metas,\n}: {\n unpatchedConsole: UnpatchedConsole;\n internalLogger: InternalLogger;\n config: Config;\n metas: Metas;\n transports: Transports;\n tracesApi: TracesAPI;\n}): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const newOverrides = options?.overrides;\n const overrides = newOverrides\n ? {\n overrides: {\n ...metaSession?.session?.overrides,\n ...newOverrides,\n },\n }\n : {};\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is undefined, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...overrides,\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n // metaPage is available once setPage() has been called.\n // This is because page self updating metas like page need to be added as a function\n // Thus we call getPage in case metaPage is empty\n ...(metaPage?.page ?? getPage()),\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
var faro_core_1 = require("@grafana/faro-core");
|
|
15
|
-
var testUtils_1 = require("@grafana/faro-core/src/testUtils");
|
|
16
|
-
var originalWindow = window;
|
|
17
|
-
describe('Meta API', function () {
|
|
18
|
-
var mockUrl = 'http://dummy.com';
|
|
19
|
-
beforeEach(function () {
|
|
20
|
-
window = Object.create(window);
|
|
21
|
-
Object.defineProperty(window, 'location', {
|
|
22
|
-
value: {
|
|
23
|
-
href: mockUrl,
|
|
24
|
-
},
|
|
25
|
-
writable: true, // possibility to override
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
beforeEach(function () {
|
|
29
|
-
jest.resetModules();
|
|
30
|
-
jest.clearAllMocks();
|
|
31
|
-
jest.restoreAllMocks();
|
|
32
|
-
});
|
|
33
|
-
afterAll(function () {
|
|
34
|
-
window = originalWindow;
|
|
35
|
-
});
|
|
36
|
-
describe('setView', function () {
|
|
37
|
-
it('updates the view meta if the new view meta is different to the previous one', function () {
|
|
38
|
-
var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)()).api;
|
|
39
|
-
var view = { name: 'my-view' };
|
|
40
|
-
api.setView(view);
|
|
41
|
-
var previousView = api.getView();
|
|
42
|
-
expect(previousView).toEqual(view);
|
|
43
|
-
var newView = { name: 'my-new-view' };
|
|
44
|
-
api.setView(newView);
|
|
45
|
-
previousView = api.getView();
|
|
46
|
-
expect(previousView).toEqual(newView);
|
|
47
|
-
});
|
|
48
|
-
it('does not update the view meta if the new view meta is identical to the previous one', function () {
|
|
49
|
-
var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)()).api;
|
|
50
|
-
var view = { name: 'my-view' };
|
|
51
|
-
api.setView(view);
|
|
52
|
-
var previousView = api.getView();
|
|
53
|
-
expect(previousView).toEqual(view);
|
|
54
|
-
var newView = { name: 'my-view' };
|
|
55
|
-
api.setView(newView);
|
|
56
|
-
previousView = api.getView();
|
|
57
|
-
expect(previousView).toEqual(view);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
describe('setSession', function () {
|
|
61
|
-
it('adds overrides to the session meta if provided via the setView() function call', function () {
|
|
62
|
-
var initialSession = { id: 'my-session' };
|
|
63
|
-
var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)({ sessionTracking: { enabled: false, session: initialSession } })).api;
|
|
64
|
-
expect(api.getSession()).toEqual(initialSession);
|
|
65
|
-
var overrides = { serviceName: 'service-1' };
|
|
66
|
-
var newSession = { id: 'my-new-session', attributes: { hello: 'world' } };
|
|
67
|
-
api.setSession(newSession, { overrides: overrides });
|
|
68
|
-
expect(api.getSession()).toEqual(__assign(__assign({}, newSession), { overrides: overrides }));
|
|
69
|
-
overrides = { serviceName: 'service-2' };
|
|
70
|
-
api.setSession({}, { overrides: overrides });
|
|
71
|
-
expect(api.getSession()).toEqual({ overrides: overrides });
|
|
72
|
-
overrides = { serviceName: 'service-3' };
|
|
73
|
-
api.setSession(undefined, { overrides: overrides });
|
|
74
|
-
expect(api.getSession()).toEqual({ overrides: overrides });
|
|
75
|
-
});
|
|
76
|
-
it('merges the new overrides with the existing session meta overrides', function () {
|
|
77
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
78
|
-
var initialSession = { id: 'my-session' };
|
|
79
|
-
var mc = (0, testUtils_1.mockConfig)({
|
|
80
|
-
sessionTracking: {
|
|
81
|
-
session: initialSession,
|
|
82
|
-
},
|
|
83
|
-
trackGeolocation: false,
|
|
84
|
-
});
|
|
85
|
-
// mockConfig is the result of calling makeCoreConfig in faro-web-sdk package.
|
|
86
|
-
// It it reads the geoLocationTracking properties it adds them to the sessionTracking.session.overrides object.
|
|
87
|
-
mc.sessionTracking.session.overrides = { geoLocationTrackingEnabled: false };
|
|
88
|
-
var api = (0, faro_core_1.initializeFaro)(mc).api;
|
|
89
|
-
expect((_a = api.getSession()) === null || _a === void 0 ? void 0 : _a.id).toEqual(initialSession.id);
|
|
90
|
-
expect((_b = api.getSession()) === null || _b === void 0 ? void 0 : _b.overrides).toBeDefined();
|
|
91
|
-
expect((_c = api.getSession()) === null || _c === void 0 ? void 0 : _c.overrides).toStrictEqual({ geoLocationTrackingEnabled: false });
|
|
92
|
-
var overrides = { serviceName: 'service-1' };
|
|
93
|
-
var newSession = { id: 'my-new-session' };
|
|
94
|
-
api.setSession(newSession, { overrides: overrides });
|
|
95
|
-
expect((_d = api.getSession()) === null || _d === void 0 ? void 0 : _d.id).toEqual(newSession.id);
|
|
96
|
-
expect((_e = api.getSession()) === null || _e === void 0 ? void 0 : _e.overrides).toStrictEqual(__assign(__assign({}, overrides), { geoLocationTrackingEnabled: false }));
|
|
97
|
-
var newOverrides = { serviceName: 'service-2' };
|
|
98
|
-
api.setSession(newSession, { overrides: newOverrides });
|
|
99
|
-
expect((_f = api.getSession()) === null || _f === void 0 ? void 0 : _f.id).toEqual(newSession.id);
|
|
100
|
-
expect((_g = api.getSession()) === null || _g === void 0 ? void 0 : _g.overrides).toStrictEqual(__assign(__assign({}, newOverrides), { geoLocationTrackingEnabled: false }));
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe('setPage / getPage', function () {
|
|
104
|
-
it('updates the page meta when setPage(meta) is called', function () {
|
|
105
|
-
var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)()).api;
|
|
106
|
-
var page = { url: 'http://example.com/my-page', id: 'my-page' };
|
|
107
|
-
api.setPage(page);
|
|
108
|
-
expect(api.getPage()).toEqual(page);
|
|
109
|
-
var newPage = { url: 'http://example.com/my-new-page', id: 'my-new-page' };
|
|
110
|
-
api.setPage(newPage);
|
|
111
|
-
expect(api.getPage()).toEqual(newPage);
|
|
112
|
-
});
|
|
113
|
-
it('updates the page id if the parameter of setPage is a string', function () {
|
|
114
|
-
var _a;
|
|
115
|
-
var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)()).api;
|
|
116
|
-
var initialPage = { url: 'http://example.com/my-page', id: 'my-page', attributes: { hello: 'world' } };
|
|
117
|
-
api.setPage(initialPage);
|
|
118
|
-
expect(api.getPage()).toStrictEqual(initialPage);
|
|
119
|
-
var newPageId = 'my-new-page-id';
|
|
120
|
-
api.setPage(newPageId);
|
|
121
|
-
expect((_a = api.getPage()) === null || _a === void 0 ? void 0 : _a.id).toEqual(newPageId);
|
|
122
|
-
});
|
|
123
|
-
it('gets the page meta when getPage(meta) is called', function () {
|
|
124
|
-
var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)()).api;
|
|
125
|
-
var page = { url: 'http://example.com/my-page', id: 'my-page' };
|
|
126
|
-
api.setPage(page);
|
|
127
|
-
expect(api.getPage()).toEqual(page);
|
|
128
|
-
});
|
|
129
|
-
// Note: there's an integration test in the web-sdk that tests the following scenario:
|
|
130
|
-
// >>> it'sets the page meta correctly when setPage() is called and the locally cached meta is not set <<<
|
|
131
|
-
// This is because it needs web-sdk functions to be able to test the integration
|
|
132
|
-
// you can find it in the pageMeta test file: https://github.com/grafana/faro-web-sdk/blob/3c2ba0f8ea8bfdfb39cd79b704d9a6c07bc7834e/packages/web-sdk/src/metas/page/meta.test.ts#L10
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
//# sourceMappingURL=initilialize.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initilialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initilialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeFaro } from '@grafana/faro-core';\nimport { mockConfig } from '@grafana/faro-core/src/testUtils';\n\nconst originalWindow = window;\n\ndescribe('Meta API', () => {\n const mockUrl = 'http://dummy.com';\n\n beforeEach(() => {\n window = Object.create(window);\n Object.defineProperty(window, 'location', {\n value: {\n href: mockUrl,\n },\n writable: true, // possibility to override\n });\n });\n\n beforeEach(() => {\n jest.resetModules();\n jest.clearAllMocks();\n jest.restoreAllMocks();\n });\n\n afterAll(() => {\n window = originalWindow;\n });\n\n describe('setView', () => {\n it('updates the view meta if the new view meta is different to the previous one', () => {\n const { api } = initializeFaro(mockConfig());\n\n const view = { name: 'my-view' };\n api.setView(view);\n let previousView = api.getView();\n expect(previousView).toEqual(view);\n\n const newView = { name: 'my-new-view' };\n api.setView(newView);\n previousView = api.getView();\n expect(previousView).toEqual(newView);\n });\n\n it('does not update the view meta if the new view meta is identical to the previous one', () => {\n const { api } = initializeFaro(mockConfig());\n\n const view = { name: 'my-view' };\n api.setView(view);\n let previousView = api.getView();\n expect(previousView).toEqual(view);\n\n const newView = { name: 'my-view' };\n api.setView(newView);\n previousView = api.getView();\n expect(previousView).toEqual(view);\n });\n });\n\n describe('setSession', () => {\n it('adds overrides to the session meta if provided via the setView() function call', () => {\n const initialSession = { id: 'my-session' };\n\n const { api } = initializeFaro(mockConfig({ sessionTracking: { enabled: false, session: initialSession } }));\n\n expect(api.getSession()).toEqual(initialSession);\n\n let overrides = { serviceName: 'service-1' };\n\n const newSession = { id: 'my-new-session', attributes: { hello: 'world' } };\n api.setSession(newSession, { overrides });\n expect(api.getSession()).toEqual({ ...newSession, overrides });\n\n overrides = { serviceName: 'service-2' };\n api.setSession({}, { overrides });\n expect(api.getSession()).toEqual({ overrides });\n\n overrides = { serviceName: 'service-3' };\n api.setSession(undefined, { overrides });\n expect(api.getSession()).toEqual({ overrides });\n });\n\n it('merges the new overrides with the existing session meta overrides', () => {\n const initialSession = { id: 'my-session' };\n\n const mc = mockConfig({\n sessionTracking: {\n session: initialSession,\n },\n trackGeolocation: false,\n });\n\n // mockConfig is the result of calling makeCoreConfig in faro-web-sdk package.\n // It it reads the geoLocationTracking properties it adds them to the sessionTracking.session.overrides object.\n mc.sessionTracking!.session!.overrides = { geoLocationTrackingEnabled: false };\n\n const { api } = initializeFaro(mc);\n\n expect(api.getSession()?.id).toEqual(initialSession.id);\n expect(api.getSession()?.overrides).toBeDefined();\n expect(api.getSession()?.overrides).toStrictEqual({ geoLocationTrackingEnabled: false });\n\n const overrides = { serviceName: 'service-1' };\n const newSession = { id: 'my-new-session' };\n api.setSession(newSession, { overrides });\n expect(api.getSession()?.id).toEqual(newSession.id);\n expect(api.getSession()?.overrides).toStrictEqual({ ...overrides, geoLocationTrackingEnabled: false });\n\n const newOverrides = { serviceName: 'service-2' };\n api.setSession(newSession, { overrides: newOverrides });\n expect(api.getSession()?.id).toEqual(newSession.id);\n expect(api.getSession()?.overrides).toStrictEqual({ ...newOverrides, geoLocationTrackingEnabled: false });\n });\n });\n\n describe('setPage / getPage', () => {\n it('updates the page meta when setPage(meta) is called', () => {\n const { api } = initializeFaro(mockConfig());\n\n const page = { url: 'http://example.com/my-page', id: 'my-page' };\n api.setPage(page);\n expect(api.getPage()).toEqual(page);\n\n const newPage = { url: 'http://example.com/my-new-page', id: 'my-new-page' };\n api.setPage(newPage);\n expect(api.getPage()).toEqual(newPage);\n });\n\n it('updates the page id if the parameter of setPage is a string', () => {\n const { api } = initializeFaro(mockConfig());\n\n const initialPage = { url: 'http://example.com/my-page', id: 'my-page', attributes: { hello: 'world' } };\n api.setPage(initialPage);\n expect(api.getPage()).toStrictEqual(initialPage);\n\n const newPageId = 'my-new-page-id';\n api.setPage(newPageId);\n expect(api.getPage()?.id).toEqual(newPageId);\n });\n\n it('gets the page meta when getPage(meta) is called', () => {\n const { api } = initializeFaro(mockConfig());\n\n const page = { url: 'http://example.com/my-page', id: 'my-page' };\n api.setPage(page);\n expect(api.getPage()).toEqual(page);\n });\n\n // Note: there's an integration test in the web-sdk that tests the following scenario:\n // >>> it'sets the page meta correctly when setPage() is called and the locally cached meta is not set <<<\n // This is because it needs web-sdk functions to be able to test the integration\n // you can find it in the pageMeta test file: https://github.com/grafana/faro-web-sdk/blob/3c2ba0f8ea8bfdfb39cd79b704d9a6c07bc7834e/packages/web-sdk/src/metas/page/meta.test.ts#L10\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/api/meta/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MetaOverrides, MetaPage, MetaSession, MetaUser, MetaView } from '../../metas';\n\ntype OverridesAvailableThroughApi = Pick<MetaOverrides, 'serviceName'>;\n\nexport interface MetaAPI {\n setUser: (user?: MetaUser | undefined) => void;\n resetUser: () => void;\n setSession: (\n session?: MetaSession | undefined,\n options?: {\n overrides: OverridesAvailableThroughApi;\n }\n ) => void;\n resetSession: () => void;\n getSession: () => MetaSession | undefined;\n setView: (\n view?: MetaView | undefined,\n options?: {\n overrides: OverridesAvailableThroughApi;\n }\n ) => void;\n getView: () => MetaView | undefined;\n /**\n * If a string is provided, it will be used as the page id.\n */\n setPage: (page?: MetaPage | string | undefined) => void;\n getPage: () => MetaPage | undefined;\n}\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeTracesAPI = void 0;
|
|
4
|
-
var initialize_1 = require("./initialize");
|
|
5
|
-
Object.defineProperty(exports, "initializeTracesAPI", { enumerable: true, get: function () { return initialize_1.initializeTracesAPI; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/traces/index.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA","sourcesContent":["export { initializeTracesAPI } from './initialize';\n\nexport type { OTELApi, TraceContext, TraceEvent, TracesAPI } from './types';\n"]}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeTracesAPI = initializeTracesAPI;
|
|
4
|
-
var transports_1 = require("../../transports");
|
|
5
|
-
function initializeTracesAPI(_unpatchedConsole, internalLogger, _config, metas, transports) {
|
|
6
|
-
internalLogger.debug('Initializing traces API');
|
|
7
|
-
var otel = undefined;
|
|
8
|
-
var initOTEL = function (trace, context) {
|
|
9
|
-
internalLogger.debug('Initializing OpenTelemetry');
|
|
10
|
-
otel = {
|
|
11
|
-
trace: trace,
|
|
12
|
-
context: context,
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
var getTraceContext = function () {
|
|
16
|
-
var ctx = otel === null || otel === void 0 ? void 0 : otel.trace.getSpanContext(otel.context.active());
|
|
17
|
-
return !ctx
|
|
18
|
-
? undefined
|
|
19
|
-
: {
|
|
20
|
-
trace_id: ctx.traceId,
|
|
21
|
-
span_id: ctx.spanId,
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
var pushTraces = function (payload) {
|
|
25
|
-
try {
|
|
26
|
-
var item = {
|
|
27
|
-
type: transports_1.TransportItemType.TRACE,
|
|
28
|
-
payload: payload,
|
|
29
|
-
meta: metas.value,
|
|
30
|
-
};
|
|
31
|
-
internalLogger.debug('Pushing trace\n', item);
|
|
32
|
-
transports.execute(item);
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
internalLogger.error('Error pushing trace\n', err);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var getOTEL = function () { return otel; };
|
|
39
|
-
var isOTELInitialized = function () { return !!otel; };
|
|
40
|
-
return {
|
|
41
|
-
getOTEL: getOTEL,
|
|
42
|
-
getTraceContext: getTraceContext,
|
|
43
|
-
initOTEL: initOTEL,
|
|
44
|
-
isOTELInitialized: isOTELInitialized,
|
|
45
|
-
pushTraces: pushTraces,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/traces/initialize.ts"],"names":[],"mappings":";;AASA,kDA0DC;AAhED,+CAAqD;AAMrD,SAAgB,mBAAmB,CACjC,iBAAmC,EACnC,cAA8B,EAC9B,OAAe,EACf,KAAY,EACZ,UAAsB;IAEtB,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhD,IAAI,IAAI,GAAwB,SAAS,CAAC;IAE1C,IAAM,QAAQ,GAA0B,UAAC,KAAK,EAAE,OAAO;QACrD,cAAc,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEnD,IAAI,GAAG;YACL,KAAK,OAAA;YACL,OAAO,SAAA;SACR,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,eAAe,GAAiC;QACpD,IAAM,GAAG,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,OAAO,CAAC,GAAG;YACT,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,QAAQ,EAAE,GAAG,CAAC,OAAO;gBACrB,OAAO,EAAE,GAAG,CAAC,MAAM;aACpB,CAAC;IACR,CAAC,CAAC;IAEF,IAAM,UAAU,GAA4B,UAAC,OAAO;QAClD,IAAI,CAAC;YACH,IAAM,IAAI,GAA8B;gBACtC,IAAI,EAAE,8BAAiB,CAAC,KAAK;gBAC7B,OAAO,SAAA;gBACP,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,cAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAyB,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;IAEjD,IAAM,iBAAiB,GAAmC,cAAM,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC;IAEvE,OAAO;QACL,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACX,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItemType } from '../../transports';\nimport type { TransportItem, Transports } from '../../transports/types';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\n\nimport type { OTELApi, TraceEvent, TracesAPI } from './types';\n\nexport function initializeTracesAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n transports: Transports\n): TracesAPI {\n internalLogger.debug('Initializing traces API');\n\n let otel: OTELApi | undefined = undefined;\n\n const initOTEL: TracesAPI['initOTEL'] = (trace, context) => {\n internalLogger.debug('Initializing OpenTelemetry');\n\n otel = {\n trace,\n context,\n };\n };\n\n const getTraceContext: TracesAPI['getTraceContext'] = () => {\n const ctx = otel?.trace.getSpanContext(otel.context.active());\n\n return !ctx\n ? undefined\n : {\n trace_id: ctx.traceId,\n span_id: ctx.spanId,\n };\n };\n\n const pushTraces: TracesAPI['pushTraces'] = (payload) => {\n try {\n const item: TransportItem<TraceEvent> = {\n type: TransportItemType.TRACE,\n payload,\n meta: metas.value,\n };\n\n internalLogger.debug('Pushing trace\\n', item);\n\n transports.execute(item);\n } catch (err) {\n internalLogger.error('Error pushing trace\\n', err);\n }\n };\n\n const getOTEL: TracesAPI['getOTEL'] = () => otel;\n\n const isOTELInitialized: TracesAPI['isOTELInitialized'] = () => !!otel;\n\n return {\n getOTEL,\n getTraceContext,\n initOTEL,\n isOTELInitialized,\n pushTraces,\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/api/traces/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContextAPI as OTELContextAPI, TraceAPI as OTELTraceAPI } from '@opentelemetry/api';\nimport type { IResourceSpans } from '@opentelemetry/otlp-transformer/build/src/trace/internal-types';\n\n// TODO: Revert temporary patching\n// in latest OpenTelemetry packages protobuf type \"instrumentationLibrary\" has been renamed to \"scope\"\n// however on the Grafana Agent we use older OTel collector that doesn't have this change\n// temporarily patching types to the old shape until Grafana Agent catches up to otel-collector >= 0.52\nexport interface TraceEvent {\n resourceSpans?: IResourceSpans[];\n}\n\nexport interface OTELApi {\n trace: OTELTraceAPI;\n context: OTELContextAPI;\n}\n\nexport interface TracesAPI {\n getOTEL: () => OTELApi | undefined;\n getTraceContext: () => TraceContext | undefined;\n initOTEL: (trace: OTELTraceAPI, context: OTELContextAPI) => void;\n isOTELInitialized: () => boolean;\n pushTraces: (traces: TraceEvent) => void;\n}\n\n// trace context for logs, exceptions, measurements\nexport interface TraceContext {\n trace_id: string;\n span_id: string;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/api/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EventEvent, EventsAPI } from './events';\nimport type { ExceptionEvent, ExceptionsAPI } from './exceptions';\nimport type { LogEvent, LogsAPI } from './logs';\nimport type { MeasurementEvent, MeasurementsAPI } from './measurements';\nimport type { MetaAPI } from './meta';\nimport type { TraceEvent, TracesAPI } from './traces';\nimport type { UserActionsAPI } from './userActions';\n\nexport type UserAction = {\n name: string;\n id?: string;\n parentId?: string;\n};\n\nexport type APIEvent = LogEvent | ExceptionEvent | MeasurementEvent | TraceEvent | EventEvent;\n\nexport type API = LogsAPI & ExceptionsAPI & MeasurementsAPI & TracesAPI & MetaAPI & EventsAPI & UserActionsAPI;\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.userActionEventName = exports.UserActionImportance = exports.userActionStart = exports.userActionStartByApiCallEventName = void 0;
|
|
4
|
-
exports.userActionStartByApiCallEventName = 'faroApiCall';
|
|
5
|
-
exports.userActionStart = 'user_action_start';
|
|
6
|
-
exports.UserActionImportance = {
|
|
7
|
-
Normal: 'normal',
|
|
8
|
-
Critical: 'critical',
|
|
9
|
-
};
|
|
10
|
-
exports.userActionEventName = 'faro.user.action';
|
|
11
|
-
//# sourceMappingURL=const.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,iCAAiC,GAAG,aAAa,CAAC;AAElD,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,oBAAoB,GAAG;IAClC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIE,QAAA,mBAAmB,GAAG,kBAAkB,CAAC","sourcesContent":["export const userActionStartByApiCallEventName = 'faroApiCall';\n\nexport const userActionStart = 'user_action_start';\n\nexport const UserActionImportance = {\n Normal: 'normal',\n Critical: 'critical',\n} as const;\n\nexport type UserActionImportanceType = (typeof UserActionImportance)[keyof typeof UserActionImportance];\n\nexport const userActionEventName = 'faro.user.action';\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.userActionsMessageBus = exports.initializeUserActionsAPI = exports.UserActionState = exports.UserActionImportance = void 0;
|
|
4
|
-
var const_1 = require("./const");
|
|
5
|
-
Object.defineProperty(exports, "UserActionImportance", { enumerable: true, get: function () { return const_1.UserActionImportance; } });
|
|
6
|
-
var types_1 = require("./types");
|
|
7
|
-
Object.defineProperty(exports, "UserActionState", { enumerable: true, get: function () { return types_1.UserActionState; } });
|
|
8
|
-
var initialize_1 = require("./initialize");
|
|
9
|
-
Object.defineProperty(exports, "initializeUserActionsAPI", { enumerable: true, get: function () { return initialize_1.initializeUserActionsAPI; } });
|
|
10
|
-
Object.defineProperty(exports, "userActionsMessageBus", { enumerable: true, get: function () { return initialize_1.userActionsMessageBus; } });
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/index.ts"],"names":[],"mappings":";;;AAAA,iCAA+C;AAAtC,6GAAA,oBAAoB,OAAA;AAE7B,iCAKiB;AAHf,wGAAA,eAAe,OAAA;AAKjB,2CAA+E;AAAtE,sHAAA,wBAAwB,OAAA;AAAE,mHAAA,qBAAqB,OAAA","sourcesContent":["export { UserActionImportance } from './const';\nexport { type UserActionImportance as UserActionImportanceType } from './const';\nexport {\n type UserActionsAPI,\n UserActionState,\n type UserActionInterface,\n type UserActionInternalInterface,\n} from './types';\n\nexport { initializeUserActionsAPI, userActionsMessageBus } from './initialize';\n"]}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.userActionsMessageBus = void 0;
|
|
7
|
-
exports.initializeUserActionsAPI = initializeUserActionsAPI;
|
|
8
|
-
exports.addItemToUserActionBuffer = addItemToUserActionBuffer;
|
|
9
|
-
var reactive_1 = require("../../utils/reactive");
|
|
10
|
-
var const_1 = require("./const");
|
|
11
|
-
var types_1 = require("./types");
|
|
12
|
-
var userAction_1 = __importDefault(require("./userAction"));
|
|
13
|
-
exports.userActionsMessageBus = new reactive_1.Observable();
|
|
14
|
-
function initializeUserActionsAPI(_a) {
|
|
15
|
-
var _b;
|
|
16
|
-
var transports = _a.transports, internalLogger = _a.internalLogger, config = _a.config, pushEvent = _a.pushEvent;
|
|
17
|
-
var trackUserActionsExcludeItem = (_b = config.userActionsInstrumentation) === null || _b === void 0 ? void 0 : _b.excludeItem;
|
|
18
|
-
// Currently running user action. It can be in either started or halted
|
|
19
|
-
// state
|
|
20
|
-
var activeUserAction;
|
|
21
|
-
// If there is a an action already running, return undefined to indicate
|
|
22
|
-
// we were not able to create one.
|
|
23
|
-
var startUserAction = function (name, attributes, options) {
|
|
24
|
-
var currentRunningUserAction = getActiveUserAction();
|
|
25
|
-
if (currentRunningUserAction === undefined) {
|
|
26
|
-
var userAction = new userAction_1.default({
|
|
27
|
-
name: name,
|
|
28
|
-
transports: transports,
|
|
29
|
-
attributes: attributes,
|
|
30
|
-
trigger: (options === null || options === void 0 ? void 0 : options.triggerName) || const_1.userActionStartByApiCallEventName,
|
|
31
|
-
importance: (options === null || options === void 0 ? void 0 : options.importance) || const_1.UserActionImportance.Normal,
|
|
32
|
-
trackUserActionsExcludeItem: trackUserActionsExcludeItem,
|
|
33
|
-
pushEvent: pushEvent,
|
|
34
|
-
});
|
|
35
|
-
userAction
|
|
36
|
-
.filter(function (v) { return [types_1.UserActionState.Ended, types_1.UserActionState.Cancelled].includes(v); })
|
|
37
|
-
.first()
|
|
38
|
-
.subscribe(function () {
|
|
39
|
-
activeUserAction = undefined;
|
|
40
|
-
});
|
|
41
|
-
exports.userActionsMessageBus.notify({
|
|
42
|
-
type: const_1.userActionStart,
|
|
43
|
-
userAction: userAction,
|
|
44
|
-
});
|
|
45
|
-
activeUserAction = userAction;
|
|
46
|
-
return activeUserAction;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
internalLogger.error('Attempted to create a new user action while one is already running. This is not possible.');
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
var getActiveUserAction = function () {
|
|
54
|
-
return activeUserAction;
|
|
55
|
-
};
|
|
56
|
-
var api = {
|
|
57
|
-
startUserAction: startUserAction,
|
|
58
|
-
getActiveUserAction: getActiveUserAction,
|
|
59
|
-
};
|
|
60
|
-
return api;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Adds an item to the buffer associated with the given UserAction.
|
|
64
|
-
* The item will only be added if the UserAction is in the Started state.
|
|
65
|
-
* @param userAction The UserAction instance
|
|
66
|
-
* @param item The item to add to the buffer
|
|
67
|
-
* @returns {boolean} True if the item was added, false otherwise
|
|
68
|
-
*/
|
|
69
|
-
function addItemToUserActionBuffer(userAction, item) {
|
|
70
|
-
if (!userAction) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
var state = userAction === null || userAction === void 0 ? void 0 : userAction.getState();
|
|
74
|
-
if (state !== types_1.UserActionState.Started) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
userAction.addItem(item);
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=initialize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/initialize.ts"],"names":[],"mappings":";;;;;;AAoBA,4DAkEC;AASD,8DAUC;AAtGD,iDAAkD;AAGlD,iCAAmG;AACnG,iCAQiB;AACjB,4DAAsC;AAEzB,QAAA,qBAAqB,GAAG,IAAI,qBAAU,EAAqB,CAAC;AAEzE,SAAgB,wBAAwB,CAAC,EAUxC;;QATC,UAAU,gBAAA,EACV,cAAc,oBAAA,EACd,MAAM,YAAA,EACN,SAAS,eAAA;IAOT,IAAM,2BAA2B,GAAG,MAAA,MAAM,CAAC,0BAA0B,0CAAE,WAAW,CAAC;IAEnF,uEAAuE;IACvE,QAAQ;IACR,IAAI,gBAAwC,CAAC;IAE7C,wEAAwE;IACxE,kCAAkC;IAClC,IAAM,eAAe,GAAsC,UACzD,IAAY,EACZ,UAAmC,EACnC,OAAgC;QAEhC,IAAM,wBAAwB,GAAG,mBAAmB,EAAE,CAAC;QAEvD,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAM,UAAU,GAAG,IAAI,oBAAU,CAAC;gBAChC,IAAI,MAAA;gBACJ,UAAU,YAAA;gBACV,UAAU,YAAA;gBACV,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,yCAAiC;gBAClE,UAAU,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,4BAAoB,CAAC,MAAM;gBAC9D,2BAA2B,6BAAA;gBAC3B,SAAS,WAAA;aACV,CAAC,CAAC;YACH,UAAU;iBACP,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,uBAAe,CAAC,KAAK,EAAE,uBAAe,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAA9D,CAA8D,CAAC;iBAC7E,KAAK,EAAE;iBACP,SAAS,CAAC;gBACT,gBAAgB,GAAG,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEL,6BAAqB,CAAC,MAAM,CAAC;gBAC3B,IAAI,EAAE,uBAAe;gBACrB,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YACH,gBAAgB,GAAG,UAAU,CAAC;YAE9B,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAClH,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,mBAAmB,GAA0C;QACjE,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAM,GAAG,GAAmB;QAC1B,eAAe,iBAAA;QACf,mBAAmB,qBAAA;KACpB,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,UAA2C,EAAE,IAAmB;IACxG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAM,KAAK,GAAI,UAAqD,aAArD,UAAU,uBAAV,UAAU,CAA6C,QAAQ,EAAE,CAAC;IACjF,IAAI,KAAK,KAAK,uBAAe,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACA,UAAuD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { TransportItem, Transports } from '../../transports';\nimport { Observable } from '../../utils/reactive';\nimport type { EventsAPI } from '../events/types';\n\nimport { UserActionImportance, userActionStart, userActionStartByApiCallEventName } from './const';\nimport {\n type StartUserActionOptions,\n type UserActionInterface,\n type UserActionInternalInterface,\n type UserActionMessage,\n type UserActionsAPI,\n UserActionState,\n type UserActionTransportItemBuffer,\n} from './types';\nimport UserAction from './userAction';\n\nexport const userActionsMessageBus = new Observable<UserActionMessage>();\n\nexport function initializeUserActionsAPI({\n transports,\n internalLogger,\n config,\n pushEvent,\n}: {\n transports: Transports;\n config: Config;\n internalLogger: InternalLogger;\n pushEvent: EventsAPI['pushEvent'];\n}): UserActionsAPI {\n const trackUserActionsExcludeItem = config.userActionsInstrumentation?.excludeItem;\n\n // Currently running user action. It can be in either started or halted\n // state\n let activeUserAction: UserAction | undefined;\n\n // If there is a an action already running, return undefined to indicate\n // we were not able to create one.\n const startUserAction: UserActionsAPI['startUserAction'] = (\n name: string,\n attributes?: Record<string, string>,\n options?: StartUserActionOptions\n ): UserActionInterface | undefined => {\n const currentRunningUserAction = getActiveUserAction();\n\n if (currentRunningUserAction === undefined) {\n const userAction = new UserAction({\n name,\n transports,\n attributes,\n trigger: options?.triggerName || userActionStartByApiCallEventName,\n importance: options?.importance || UserActionImportance.Normal,\n trackUserActionsExcludeItem,\n pushEvent,\n });\n userAction\n .filter((v) => [UserActionState.Ended, UserActionState.Cancelled].includes(v))\n .first()\n .subscribe(() => {\n activeUserAction = undefined;\n });\n\n userActionsMessageBus.notify({\n type: userActionStart,\n userAction: userAction,\n });\n activeUserAction = userAction;\n\n return activeUserAction;\n } else {\n internalLogger.error('Attempted to create a new user action while one is already running. This is not possible.');\n return undefined;\n }\n };\n\n const getActiveUserAction: UserActionsAPI['getActiveUserAction'] = (): UserActionInterface | undefined => {\n return activeUserAction;\n };\n\n const api: UserActionsAPI = {\n startUserAction,\n getActiveUserAction,\n };\n\n return api;\n}\n\n/**\n * Adds an item to the buffer associated with the given UserAction.\n * The item will only be added if the UserAction is in the Started state.\n * @param userAction The UserAction instance\n * @param item The item to add to the buffer\n * @returns {boolean} True if the item was added, false otherwise\n */\nexport function addItemToUserActionBuffer(userAction: UserActionInterface | undefined, item: TransportItem): boolean {\n if (!userAction) {\n return false;\n }\n const state = (userAction as unknown as UserActionInternalInterface)?.getState();\n if (state !== UserActionState.Started) {\n return false;\n }\n (userAction as unknown as UserActionTransportItemBuffer).addItem(item);\n return true;\n}\n"]}
|