@grafana/faro-core 2.3.1 → 2.5.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/README.md +13 -1
- package/dist/bundle/faro-core.iife.js +1 -1
- package/dist/bundle/types/api/exceptions/types.d.ts +2 -0
- package/dist/bundle/types/api/index.d.ts +1 -0
- package/dist/bundle/types/api/noop.d.ts +2 -0
- package/dist/bundle/types/api/userActions/userAction.d.ts +1 -0
- package/dist/bundle/types/extensions/baseExtension.d.ts +1 -1
- package/dist/bundle/types/index.d.ts +2 -2
- package/dist/bundle/types/metas/index.d.ts +1 -1
- package/dist/bundle/types/metas/types.d.ts +19 -2
- package/dist/bundle/types/testUtils/mockTransport.d.ts +1 -1
- package/dist/bundle/types/utils/date.d.ts +18 -0
- package/dist/bundle/types/utils/index.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 +29 -40
- package/dist/cjs/api/exceptions/initialize.js.map +1 -1
- package/dist/cjs/api/exceptions/types.js.map +1 -1
- package/dist/cjs/api/index.js +3 -1
- package/dist/cjs/api/index.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/noop.js +30 -0
- package/dist/cjs/api/noop.js.map +1 -0
- 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 +57 -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/index.js +2 -1
- package/dist/cjs/index.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/index.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/metas/types.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 +11 -10
- 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/date.js +24 -0
- package/dist/cjs/utils/date.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/index.js +2 -1
- package/dist/cjs/utils/index.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/api/exceptions/initialize.js +6 -4
- package/dist/esm/api/exceptions/initialize.js.map +1 -1
- package/dist/esm/api/exceptions/types.js.map +1 -1
- package/dist/esm/api/index.js +1 -0
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/noop.js +27 -0
- package/dist/esm/api/noop.js.map +1 -0
- package/dist/esm/api/userActions/userAction.js +11 -2
- package/dist/esm/api/userActions/userAction.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/metas/index.js.map +1 -1
- package/dist/esm/metas/types.js.map +1 -1
- package/dist/esm/sdk/registerFaro.js +2 -1
- package/dist/esm/sdk/registerFaro.js.map +1 -1
- package/dist/esm/utils/date.js +23 -0
- package/dist/esm/utils/date.js.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/api/exceptions/types.d.ts +2 -0
- package/dist/types/api/index.d.ts +1 -0
- package/dist/types/api/noop.d.ts +2 -0
- package/dist/types/api/userActions/userAction.d.ts +1 -0
- package/dist/types/extensions/baseExtension.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/metas/index.d.ts +1 -1
- package/dist/types/metas/types.d.ts +19 -2
- package/dist/types/testUtils/mockTransport.d.ts +1 -1
- package/dist/types/utils/date.d.ts +18 -0
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
- 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 -82
- 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,82 +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
|
-
var __1 = require("../..");
|
|
7
|
-
var testUtils_1 = require("../../testUtils");
|
|
8
|
-
var apiTestHelpers_1 = require("../apiTestHelpers");
|
|
9
|
-
var const_1 = require("./const");
|
|
10
|
-
var initialize_1 = require("./initialize");
|
|
11
|
-
var userAction_1 = __importDefault(require("./userAction"));
|
|
12
|
-
describe('initializeUserActionsAPI', function () {
|
|
13
|
-
var transports;
|
|
14
|
-
var config;
|
|
15
|
-
var internalLogger;
|
|
16
|
-
var api;
|
|
17
|
-
var mockPushEvent;
|
|
18
|
-
beforeEach(function () {
|
|
19
|
-
transports = apiTestHelpers_1.mockTransports;
|
|
20
|
-
config = (0, testUtils_1.mockConfig)({
|
|
21
|
-
userActionsInstrumentation: {
|
|
22
|
-
excludeItem: jest.fn(),
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
internalLogger = testUtils_1.mockInternalLogger;
|
|
26
|
-
mockPushEvent = jest.fn();
|
|
27
|
-
api = (0, initialize_1.initializeUserActionsAPI)({ transports: transports, config: config, internalLogger: internalLogger, pushEvent: mockPushEvent });
|
|
28
|
-
jest.resetAllMocks();
|
|
29
|
-
});
|
|
30
|
-
afterEach(function () {
|
|
31
|
-
jest.resetAllMocks();
|
|
32
|
-
});
|
|
33
|
-
it('getActiveUserAction returns undefined before any action is created', function () {
|
|
34
|
-
expect(api.getActiveUserAction()).toBeUndefined();
|
|
35
|
-
});
|
|
36
|
-
it('startUserAction returns a new UserAction when none exists', function () {
|
|
37
|
-
var action = api.startUserAction('first');
|
|
38
|
-
expect(action).toBeInstanceOf(userAction_1.default);
|
|
39
|
-
expect(api.getActiveUserAction()).toBe(action);
|
|
40
|
-
});
|
|
41
|
-
it('startUserAction has custom importance and trigger set', function () {
|
|
42
|
-
var action = api.startUserAction('first', undefined, {
|
|
43
|
-
importance: __1.UserActionImportance.Critical,
|
|
44
|
-
triggerName: 'foo',
|
|
45
|
-
});
|
|
46
|
-
expect(action).toBeInstanceOf(userAction_1.default);
|
|
47
|
-
var activeAction = api.getActiveUserAction();
|
|
48
|
-
expect(activeAction).toBe(action);
|
|
49
|
-
activeAction === null || activeAction === void 0 ? void 0 : activeAction.end();
|
|
50
|
-
expect(mockPushEvent).toHaveBeenCalledTimes(1);
|
|
51
|
-
expect(mockPushEvent).toHaveBeenCalledWith(expect.any(String), expect.objectContaining({ userActionImportance: 'critical', userActionTrigger: 'foo' }), undefined, expect.any(Object));
|
|
52
|
-
});
|
|
53
|
-
it('subsequent startUserAction calls will return undefined as long as there is an action running', function () {
|
|
54
|
-
api.startUserAction('A');
|
|
55
|
-
var a2 = api.startUserAction('B');
|
|
56
|
-
expect(a2).not.toBeDefined();
|
|
57
|
-
});
|
|
58
|
-
it('getActiveUserAction returns undefined if the action is ended', function () {
|
|
59
|
-
var action = api.startUserAction('first');
|
|
60
|
-
action === null || action === void 0 ? void 0 : action.end();
|
|
61
|
-
expect(api.getActiveUserAction()).toBeUndefined();
|
|
62
|
-
});
|
|
63
|
-
it('getActiveUserAction returns undefined if the action is cancelled', function () {
|
|
64
|
-
var action = api.startUserAction('first');
|
|
65
|
-
action === null || action === void 0 ? void 0 : action.cancel();
|
|
66
|
-
expect(api.getActiveUserAction()).toBeUndefined();
|
|
67
|
-
});
|
|
68
|
-
it('user action has proper event name and contains all necessary attributes', function () {
|
|
69
|
-
var action = api.startUserAction('test-action', { foo: 'bar' }, { importance: __1.UserActionImportance.Critical, triggerName: 'foo' });
|
|
70
|
-
action === null || action === void 0 ? void 0 : action.end();
|
|
71
|
-
expect(mockPushEvent).toHaveBeenCalledWith(const_1.userActionEventName, expect.objectContaining({
|
|
72
|
-
userActionName: 'test-action',
|
|
73
|
-
userActionDuration: expect.any(String),
|
|
74
|
-
userActionImportance: 'critical',
|
|
75
|
-
userActionStartTime: expect.any(String),
|
|
76
|
-
userActionEndTime: expect.any(String),
|
|
77
|
-
userActionTrigger: 'foo',
|
|
78
|
-
foo: 'bar',
|
|
79
|
-
}), undefined, expect.any(Object));
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
//# sourceMappingURL=initialize.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { UserActionImportance } from '../..';\nimport { mockConfig, mockInternalLogger } from '../../testUtils';\nimport { mockTransports } from '../apiTestHelpers';\n\nimport { userActionEventName } from './const';\nimport { initializeUserActionsAPI } from './initialize';\nimport { UserActionInternalInterface, UserActionsAPI } from './types';\nimport UserAction from './userAction';\n\ndescribe('initializeUserActionsAPI', () => {\n let transports;\n let config;\n let internalLogger;\n let api: UserActionsAPI;\n let mockPushEvent: jest.Mock;\n\n beforeEach(() => {\n transports = mockTransports;\n config = mockConfig({\n userActionsInstrumentation: {\n excludeItem: jest.fn(),\n },\n });\n internalLogger = mockInternalLogger;\n mockPushEvent = jest.fn();\n api = initializeUserActionsAPI({ transports, config, internalLogger, pushEvent: mockPushEvent });\n jest.resetAllMocks();\n });\n\n afterEach(() => {\n jest.resetAllMocks();\n });\n\n it('getActiveUserAction returns undefined before any action is created', () => {\n expect(api.getActiveUserAction()).toBeUndefined();\n });\n\n it('startUserAction returns a new UserAction when none exists', () => {\n const action = api.startUserAction('first');\n expect(action).toBeInstanceOf(UserAction);\n expect(api.getActiveUserAction()).toBe(action);\n });\n\n it('startUserAction has custom importance and trigger set', () => {\n const action = api.startUserAction('first', undefined, {\n importance: UserActionImportance.Critical,\n triggerName: 'foo',\n });\n expect(action).toBeInstanceOf(UserAction);\n\n const activeAction = api.getActiveUserAction();\n expect(activeAction).toBe(action);\n\n (activeAction as unknown as UserActionInternalInterface)?.end();\n\n expect(mockPushEvent).toHaveBeenCalledTimes(1);\n expect(mockPushEvent).toHaveBeenCalledWith(\n expect.any(String),\n expect.objectContaining({ userActionImportance: 'critical', userActionTrigger: 'foo' }),\n undefined,\n expect.any(Object)\n );\n });\n\n it('subsequent startUserAction calls will return undefined as long as there is an action running', () => {\n api.startUserAction('A');\n const a2 = api.startUserAction('B');\n expect(a2).not.toBeDefined();\n });\n\n it('getActiveUserAction returns undefined if the action is ended', () => {\n const action = api.startUserAction('first');\n (action as unknown as UserActionInternalInterface)?.end();\n expect(api.getActiveUserAction()).toBeUndefined();\n });\n\n it('getActiveUserAction returns undefined if the action is cancelled', () => {\n const action = api.startUserAction('first');\n (action as unknown as UserActionInternalInterface)?.cancel();\n expect(api.getActiveUserAction()).toBeUndefined();\n });\n\n it('user action has proper event name and contains all necessary attributes', () => {\n const action = api.startUserAction(\n 'test-action',\n { foo: 'bar' },\n { importance: UserActionImportance.Critical, triggerName: 'foo' }\n );\n (action as unknown as UserActionInternalInterface)?.end();\n\n expect(mockPushEvent).toHaveBeenCalledWith(\n userActionEventName,\n expect.objectContaining({\n userActionName: 'test-action',\n userActionDuration: expect.any(String),\n userActionImportance: 'critical',\n userActionStartTime: expect.any(String),\n userActionEndTime: expect.any(String),\n userActionTrigger: 'foo',\n foo: 'bar',\n }),\n undefined,\n expect.any(Object)\n );\n });\n});\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UserActionState = void 0;
|
|
4
|
-
var UserActionState;
|
|
5
|
-
(function (UserActionState) {
|
|
6
|
-
UserActionState[UserActionState["Started"] = 0] = "Started";
|
|
7
|
-
UserActionState[UserActionState["Halted"] = 1] = "Halted";
|
|
8
|
-
UserActionState[UserActionState["Cancelled"] = 2] = "Cancelled";
|
|
9
|
-
UserActionState[UserActionState["Ended"] = 3] = "Ended";
|
|
10
|
-
})(UserActionState || (exports.UserActionState = UserActionState = {}));
|
|
11
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/types.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,2DAAO,CAAA;IACP,yDAAM,CAAA;IACN,+DAAS,CAAA;IACT,uDAAK,CAAA;AACP,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B","sourcesContent":["import { type TransportItem } from '../../transports';\n\nimport { type UserActionImportanceType, userActionStartByApiCallEventName } from './const';\n\nexport enum UserActionState {\n Started,\n Halted,\n Cancelled,\n Ended,\n}\n\n/**\n * Public interface for the UserAction.\n * This is the interface that is part of the public API.\n */\nexport interface UserActionInterface {\n name: string;\n parentId: string;\n}\n\n/**\n * Internal interface for the UserAction.\n * This interface is intended for internal use only and not guaranteed to be stable.\n */\nexport interface UserActionInternalInterface extends UserActionInterface {\n halt(): void;\n end(attributes?: Record<string, string>): void;\n cancel(): void;\n getState(): UserActionState;\n}\n\nexport interface UserActionTransportItemBuffer {\n addItem(item: TransportItem): boolean;\n}\n\nexport type ApiUserActionEvent = {\n name: string;\n attributes?: Record<string, string>;\n type: typeof userActionStartByApiCallEventName | string;\n};\n\nexport type EndUserActionProps = {\n userActionName: string;\n startTime: number;\n endTime: number;\n actionId: string;\n event: ApiUserActionEvent;\n attributes?: Record<string, string>;\n};\n\nexport type StartUserActionOptions = {\n triggerName?: string;\n importance?: UserActionImportanceType;\n};\n\nexport interface UserActionsAPI {\n startUserAction: (\n name: string,\n attributes?: Record<string, string>,\n options?: StartUserActionOptions\n ) => UserActionInterface | undefined;\n getActiveUserAction: () => UserActionInterface | undefined;\n}\n\nexport type UserActionStart = {\n type: 'user_action_start';\n userAction: UserActionInterface;\n};\n\n// Union type\nexport type UserActionMessage = UserActionStart;\n"]}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
var transports_1 = require("../../transports");
|
|
30
|
-
var utils_1 = require("../../utils");
|
|
31
|
-
var ItemBuffer_1 = require("../ItemBuffer");
|
|
32
|
-
var const_1 = require("./const");
|
|
33
|
-
var types_1 = require("./types");
|
|
34
|
-
var UserAction = /** @class */ (function (_super) {
|
|
35
|
-
__extends(UserAction, _super);
|
|
36
|
-
function UserAction(_a) {
|
|
37
|
-
var name = _a.name, parentId = _a.parentId, trigger = _a.trigger, transports = _a.transports, attributes = _a.attributes, trackUserActionsExcludeItem = _a.trackUserActionsExcludeItem, _b = _a.importance, importance = _b === void 0 ? const_1.UserActionImportance.Normal : _b, pushEvent = _a.pushEvent;
|
|
38
|
-
var _this = _super.call(this) || this;
|
|
39
|
-
_this.name = name;
|
|
40
|
-
_this.attributes = attributes;
|
|
41
|
-
_this.id = (0, utils_1.genShortID)();
|
|
42
|
-
_this.trigger = trigger;
|
|
43
|
-
_this.parentId = parentId !== null && parentId !== void 0 ? parentId : _this.id;
|
|
44
|
-
_this.trackUserActionsExcludeItem = trackUserActionsExcludeItem;
|
|
45
|
-
_this.importance = importance;
|
|
46
|
-
_this._pushEvent = pushEvent;
|
|
47
|
-
_this._itemBuffer = new ItemBuffer_1.ItemBuffer();
|
|
48
|
-
_this._transports = transports;
|
|
49
|
-
_this._state = types_1.UserActionState.Started;
|
|
50
|
-
_this._start();
|
|
51
|
-
return _this;
|
|
52
|
-
}
|
|
53
|
-
UserAction.prototype.addItem = function (item) {
|
|
54
|
-
if (this._state === types_1.UserActionState.Started) {
|
|
55
|
-
this._itemBuffer.addItem(item);
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
return false;
|
|
59
|
-
};
|
|
60
|
-
UserAction.prototype._start = function () {
|
|
61
|
-
this._state = types_1.UserActionState.Started;
|
|
62
|
-
if (this._state === types_1.UserActionState.Started) {
|
|
63
|
-
this.startTime = (0, utils_1.dateNow)();
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
UserAction.prototype.halt = function () {
|
|
67
|
-
if (this._state !== types_1.UserActionState.Started) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
this._state = types_1.UserActionState.Halted;
|
|
71
|
-
this.notify(this._state);
|
|
72
|
-
};
|
|
73
|
-
UserAction.prototype.cancel = function () {
|
|
74
|
-
var _this = this;
|
|
75
|
-
if (this._state === types_1.UserActionState.Started) {
|
|
76
|
-
// Empty the buffer
|
|
77
|
-
this._itemBuffer.flushBuffer(function (item) {
|
|
78
|
-
_this._transports.execute(item);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
this._state = types_1.UserActionState.Cancelled;
|
|
82
|
-
this.notify(this._state);
|
|
83
|
-
};
|
|
84
|
-
UserAction.prototype.end = function () {
|
|
85
|
-
var _this = this;
|
|
86
|
-
if (this._state === types_1.UserActionState.Cancelled) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
var endTime = (0, utils_1.dateNow)();
|
|
90
|
-
var duration = endTime - this.startTime;
|
|
91
|
-
this._state = types_1.UserActionState.Ended;
|
|
92
|
-
this._itemBuffer.flushBuffer(function (item) {
|
|
93
|
-
if (isExcludeFromUserAction(item, _this.trackUserActionsExcludeItem)) {
|
|
94
|
-
_this._transports.execute(item);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
var userActionItem = __assign(__assign({}, item), { payload: __assign(__assign({}, item.payload), { action: {
|
|
98
|
-
parentId: _this.id,
|
|
99
|
-
name: _this.name,
|
|
100
|
-
} }) });
|
|
101
|
-
_this._transports.execute(userActionItem);
|
|
102
|
-
});
|
|
103
|
-
this._state = types_1.UserActionState.Ended;
|
|
104
|
-
this.notify(this._state);
|
|
105
|
-
this._pushEvent(const_1.userActionEventName, __assign({ userActionName: this.name, userActionStartTime: this.startTime.toString(), userActionEndTime: endTime.toString(), userActionDuration: duration.toString(), userActionTrigger: this.trigger, userActionImportance: this.importance }, (0, utils_1.stringifyObjectValues)(this.attributes)), undefined, {
|
|
106
|
-
timestampOverwriteMs: this.startTime,
|
|
107
|
-
customPayloadTransformer: function (payload) {
|
|
108
|
-
payload.action = {
|
|
109
|
-
id: _this.id,
|
|
110
|
-
name: _this.name,
|
|
111
|
-
};
|
|
112
|
-
return payload;
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
UserAction.prototype.getState = function () {
|
|
117
|
-
return this._state;
|
|
118
|
-
};
|
|
119
|
-
return UserAction;
|
|
120
|
-
}(utils_1.Observable));
|
|
121
|
-
exports.default = UserAction;
|
|
122
|
-
function isExcludeFromUserAction(item, trackUserActionsExcludeItem) {
|
|
123
|
-
return ((trackUserActionsExcludeItem === null || trackUserActionsExcludeItem === void 0 ? void 0 : trackUserActionsExcludeItem(item)) ||
|
|
124
|
-
(item.type === transports_1.TransportItemType.MEASUREMENT && item.payload.type === 'web-vitals'));
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=userAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"userAction.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/userAction.ts"],"names":[],"mappings":"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","sourcesContent":["import { type TransportItem, TransportItemType, type Transports } from '../../transports';\nimport { dateNow, genShortID, Observable, stringifyObjectValues } from '../../utils';\nimport type { EventsAPI } from '../events/types';\nimport { ItemBuffer } from '../ItemBuffer';\nimport { type MeasurementEvent } from '../measurements/types';\nimport { type APIEvent } from '../types';\n\nimport { userActionEventName, UserActionImportance, type UserActionImportanceType } from './const';\nimport { type UserActionInternalInterface, UserActionState, type UserActionTransportItemBuffer } from './types';\n\nexport default class UserAction\n extends Observable\n implements UserActionInternalInterface, UserActionTransportItemBuffer\n{\n name: string;\n id: string;\n attributes?: Record<string, string>;\n parentId: string;\n trigger: string;\n importance: UserActionImportanceType;\n startTime?: number;\n trackUserActionsExcludeItem?: (item: TransportItem<APIEvent>) => boolean;\n\n private _state: UserActionState;\n private _itemBuffer: ItemBuffer<TransportItem>;\n private _transports: Transports;\n private _pushEvent: EventsAPI['pushEvent'];\n\n constructor({\n name,\n parentId,\n trigger,\n transports,\n attributes,\n trackUserActionsExcludeItem,\n importance = UserActionImportance.Normal,\n pushEvent,\n }: {\n name: string;\n transports: Transports;\n parentId?: string;\n trigger: string;\n attributes?: Record<string, string>;\n trackUserActionsExcludeItem?: (item: TransportItem<APIEvent>) => boolean;\n importance?: UserActionImportanceType;\n pushEvent: EventsAPI['pushEvent'];\n }) {\n super();\n this.name = name;\n this.attributes = attributes;\n this.id = genShortID();\n this.trigger = trigger;\n this.parentId = parentId ?? this.id;\n this.trackUserActionsExcludeItem = trackUserActionsExcludeItem;\n this.importance = importance;\n this._pushEvent = pushEvent;\n\n this._itemBuffer = new ItemBuffer<TransportItem>();\n this._transports = transports;\n this._state = UserActionState.Started;\n this._start();\n }\n\n addItem(item: TransportItem): boolean {\n if (this._state === UserActionState.Started) {\n this._itemBuffer.addItem(item);\n return true;\n }\n return false;\n }\n\n private _start(): void {\n this._state = UserActionState.Started;\n if (this._state === UserActionState.Started) {\n this.startTime = dateNow();\n }\n }\n\n halt() {\n if (this._state !== UserActionState.Started) {\n return;\n }\n this._state = UserActionState.Halted;\n this.notify(this._state);\n }\n\n cancel() {\n if (this._state === UserActionState.Started) {\n // Empty the buffer\n this._itemBuffer.flushBuffer((item) => {\n this._transports.execute(item);\n });\n }\n\n this._state = UserActionState.Cancelled;\n this.notify(this._state);\n }\n\n end() {\n if (this._state === UserActionState.Cancelled) {\n return;\n }\n\n const endTime = dateNow();\n const duration = endTime - this.startTime!;\n this._state = UserActionState.Ended;\n this._itemBuffer.flushBuffer((item) => {\n if (isExcludeFromUserAction(item, this.trackUserActionsExcludeItem)) {\n this._transports.execute(item);\n return;\n }\n\n const userActionItem = {\n ...item,\n payload: {\n ...item.payload,\n action: {\n parentId: this.id,\n name: this.name,\n },\n },\n } as TransportItem;\n\n this._transports.execute(userActionItem);\n });\n\n this._state = UserActionState.Ended;\n this.notify(this._state);\n\n this._pushEvent(\n userActionEventName,\n {\n userActionName: this.name,\n userActionStartTime: this.startTime!.toString(),\n userActionEndTime: endTime.toString(),\n userActionDuration: duration.toString(),\n userActionTrigger: this.trigger!,\n userActionImportance: this.importance,\n ...stringifyObjectValues(this.attributes),\n },\n undefined,\n {\n timestampOverwriteMs: this.startTime,\n customPayloadTransformer: (payload) => {\n payload.action = {\n id: this.id,\n name: this.name,\n };\n\n return payload;\n },\n }\n );\n }\n\n getState(): UserActionState {\n return this._state;\n }\n}\n\nfunction isExcludeFromUserAction(\n item: TransportItem<APIEvent>,\n trackUserActionsExcludeItem: ((item: TransportItem<APIEvent>) => boolean) | undefined\n) {\n return (\n trackUserActionsExcludeItem?.(item) ||\n (item.type === TransportItemType.MEASUREMENT && (item.payload as MeasurementEvent).type === 'web-vitals')\n );\n}\n"]}
|
|
@@ -1,85 +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
|
-
var globals_1 = require("@jest/globals");
|
|
7
|
-
var __1 = require("../..");
|
|
8
|
-
var apiTestHelpers_1 = require("../apiTestHelpers");
|
|
9
|
-
var ItemBuffer_1 = require("../ItemBuffer");
|
|
10
|
-
var types_1 = require("./types");
|
|
11
|
-
var userAction_1 = __importDefault(require("./userAction"));
|
|
12
|
-
globals_1.jest.useFakeTimers();
|
|
13
|
-
describe('UserAction', function () {
|
|
14
|
-
var transports;
|
|
15
|
-
var mockPushEvent;
|
|
16
|
-
beforeEach(function () {
|
|
17
|
-
transports = apiTestHelpers_1.mockTransports;
|
|
18
|
-
mockPushEvent = globals_1.jest.fn();
|
|
19
|
-
globals_1.jest.spyOn(ItemBuffer_1.ItemBuffer.prototype, 'flushBuffer').mockImplementation(function (cb) {
|
|
20
|
-
if (cb) {
|
|
21
|
-
var dummyItem = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
22
|
-
cb(dummyItem);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
afterEach(function () {
|
|
27
|
-
globals_1.jest.clearAllMocks();
|
|
28
|
-
globals_1.jest.clearAllTimers();
|
|
29
|
-
});
|
|
30
|
-
it('initializes in Started state and sets startTime', function () {
|
|
31
|
-
var ua = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
32
|
-
expect(ua.getState()).toBe(types_1.UserActionState.Started);
|
|
33
|
-
expect(typeof ua.startTime).toBe('number');
|
|
34
|
-
expect(ua.startTime > 0).toBe(true);
|
|
35
|
-
});
|
|
36
|
-
it('cancel() flushes the buffer and goes to Cancelled', function () {
|
|
37
|
-
var ua = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
38
|
-
ua.cancel();
|
|
39
|
-
expect(ua.getState()).toBe(types_1.UserActionState.Cancelled);
|
|
40
|
-
expect(ItemBuffer_1.ItemBuffer.prototype.flushBuffer).toHaveBeenCalled();
|
|
41
|
-
expect(transports.execute).toHaveBeenCalled();
|
|
42
|
-
});
|
|
43
|
-
it('end() will not fire if action is cancelled', function () {
|
|
44
|
-
var ua = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
45
|
-
ua.cancel();
|
|
46
|
-
ua.end();
|
|
47
|
-
expect(ua.getState()).toBe(types_1.UserActionState.Cancelled);
|
|
48
|
-
expect(transports.execute).toHaveBeenCalled();
|
|
49
|
-
expect(mockPushEvent).not.toHaveBeenCalled();
|
|
50
|
-
});
|
|
51
|
-
it('end() will send items with action payload', function () {
|
|
52
|
-
var ua = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
53
|
-
ua.end();
|
|
54
|
-
expect(ua.getState()).toBe(types_1.UserActionState.Ended);
|
|
55
|
-
expect(transports.execute).not.toHaveBeenCalledWith('koko');
|
|
56
|
-
});
|
|
57
|
-
it('addItem returns true and buffers when state is Started', function () {
|
|
58
|
-
var userAction = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
59
|
-
var item = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
60
|
-
var result = userAction.addItem(item);
|
|
61
|
-
expect(result).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
it('addItem returns false when state is Halted', function () {
|
|
64
|
-
var userAction = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
65
|
-
userAction.halt();
|
|
66
|
-
var item = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
67
|
-
var result = userAction.addItem(item);
|
|
68
|
-
expect(result).toBe(false);
|
|
69
|
-
});
|
|
70
|
-
it('addItem returns false when state is Cancelled', function () {
|
|
71
|
-
var userAction = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
72
|
-
userAction.cancel();
|
|
73
|
-
var item = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
74
|
-
var result = userAction.addItem(item);
|
|
75
|
-
expect(result).toBe(false);
|
|
76
|
-
});
|
|
77
|
-
it('addItem returns false when state is Ended', function () {
|
|
78
|
-
var userAction = new userAction_1.default({ name: 'foo', transports: transports, trigger: 'foo', pushEvent: mockPushEvent });
|
|
79
|
-
userAction.end();
|
|
80
|
-
var item = { type: __1.TransportItemType.EVENT, payload: {}, meta: {} };
|
|
81
|
-
var result = userAction.addItem(item);
|
|
82
|
-
expect(result).toBe(false);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
//# sourceMappingURL=userAction.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"userAction.test.js","sourceRoot":"","sources":["../../../../../../src/api/userActions/userAction.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { jest } from '@jest/globals';\n\nimport { type TransportItem, TransportItemType, Transports } from '../..';\nimport { mockTransports } from '../apiTestHelpers';\nimport { ItemBuffer } from '../ItemBuffer';\n\nimport { UserActionState } from './types';\nimport UserAction from './userAction';\n\njest.useFakeTimers();\n\ndescribe('UserAction', () => {\n let transports: Transports;\n let mockPushEvent: jest.Mock;\n\n beforeEach(() => {\n transports = mockTransports;\n mockPushEvent = jest.fn();\n\n jest.spyOn(ItemBuffer.prototype, 'flushBuffer').mockImplementation((cb?: (item: TransportItem) => void) => {\n if (cb) {\n const dummyItem = { type: TransportItemType.EVENT, payload: {}, meta: {} };\n cb(dummyItem);\n }\n });\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n jest.clearAllTimers();\n });\n\n it('initializes in Started state and sets startTime', () => {\n const ua = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n expect(ua.getState()).toBe(UserActionState.Started);\n expect(typeof ua.startTime).toBe('number');\n expect(ua.startTime! > 0).toBe(true);\n });\n\n it('cancel() flushes the buffer and goes to Cancelled', () => {\n const ua = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n ua.cancel();\n\n expect(ua.getState()).toBe(UserActionState.Cancelled);\n expect(ItemBuffer.prototype.flushBuffer).toHaveBeenCalled();\n expect(transports.execute).toHaveBeenCalled();\n });\n\n it('end() will not fire if action is cancelled', () => {\n const ua = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n ua.cancel();\n ua.end();\n expect(ua.getState()).toBe(UserActionState.Cancelled);\n expect(transports.execute).toHaveBeenCalled();\n expect(mockPushEvent).not.toHaveBeenCalled();\n });\n\n it('end() will send items with action payload', () => {\n const ua = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n ua.end();\n expect(ua.getState()).toBe(UserActionState.Ended);\n expect(transports.execute).not.toHaveBeenCalledWith('koko');\n });\n\n it('addItem returns true and buffers when state is Started', () => {\n const userAction = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n const item: TransportItem = { type: TransportItemType.EVENT, payload: {}, meta: {} };\n const result = userAction.addItem(item);\n expect(result).toBe(true);\n });\n\n it('addItem returns false when state is Halted', () => {\n const userAction = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n userAction.halt();\n const item: TransportItem = { type: TransportItemType.EVENT, payload: {}, meta: {} };\n const result = userAction.addItem(item);\n expect(result).toBe(false);\n });\n\n it('addItem returns false when state is Cancelled', () => {\n const userAction = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n userAction.cancel();\n const item: TransportItem = { type: TransportItemType.EVENT, payload: {}, meta: {} };\n const result = userAction.addItem(item);\n expect(result).toBe(false);\n });\n\n it('addItem returns false when state is Ended', () => {\n const userAction = new UserAction({ name: 'foo', transports, trigger: 'foo', pushEvent: mockPushEvent });\n userAction.end();\n const item: TransportItem = { type: TransportItemType.EVENT, payload: {}, meta: {} };\n const result = userAction.addItem(item);\n expect(result).toBe(false);\n });\n});\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shouldIgnoreEvent = shouldIgnoreEvent;
|
|
4
|
-
var is_1 = require("../utils/is");
|
|
5
|
-
function shouldIgnoreEvent(patterns, msg) {
|
|
6
|
-
return patterns.some(function (pattern) {
|
|
7
|
-
return (0, is_1.isString)(pattern) ? msg.includes(pattern) : !!msg.match(pattern);
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/utils.ts"],"names":[],"mappings":";;AAGA,8CAIC;AAND,kCAAuC;AAEvC,SAAgB,iBAAiB,CAAC,QAAkB,EAAE,GAAW;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO;QAC3B,OAAO,IAAA,aAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { Patterns } from '../config/types';\nimport { isString } from '../utils/is';\n\nexport function shouldIgnoreEvent(patterns: Patterns, msg: string): boolean {\n return patterns.some((pattern) => {\n return isString(pattern) ? msg.includes(pattern) : !!msg.match(pattern);\n });\n}\n"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var utils_1 = require("./utils");
|
|
4
|
-
describe('api/utils', function () {
|
|
5
|
-
it('should ignore event', function () {
|
|
6
|
-
var patterns = ['pattern1', 'pattern2'];
|
|
7
|
-
var msg = 'message pattern1';
|
|
8
|
-
var result = (0, utils_1.shouldIgnoreEvent)(patterns, msg);
|
|
9
|
-
expect(result).toBe(true);
|
|
10
|
-
patterns = ['pattern1', /foo/];
|
|
11
|
-
msg = 'This is a foo example';
|
|
12
|
-
result = (0, utils_1.shouldIgnoreEvent)(patterns, msg);
|
|
13
|
-
expect(result).toBe(true);
|
|
14
|
-
patterns = ['pattern1', /foo/];
|
|
15
|
-
msg = "This example doesn't match";
|
|
16
|
-
result = (0, utils_1.shouldIgnoreEvent)(patterns, msg);
|
|
17
|
-
expect(result).toBe(false);
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=utils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../../src/api/utils.test.ts"],"names":[],"mappings":";;AAEA,iCAA4C;AAE5C,QAAQ,CAAC,WAAW,EAAE;IACpB,EAAE,CAAC,qBAAqB,EAAE;QACxB,IAAI,QAAQ,GAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,kBAAkB,CAAC;QAC7B,IAAI,MAAM,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1B,QAAQ,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,GAAG,GAAG,uBAAuB,CAAC;QAC9B,MAAM,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1B,QAAQ,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,GAAG,GAAG,4BAA4B,CAAC;QACnC,MAAM,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import type { Patterns } from '..';\n\nimport { shouldIgnoreEvent } from './utils';\n\ndescribe('api/utils', () => {\n it('should ignore event', () => {\n let patterns: Patterns = ['pattern1', 'pattern2'];\n let msg = 'message pattern1';\n let result = shouldIgnoreEvent(patterns, msg);\n expect(result).toBe(true);\n\n patterns = ['pattern1', /foo/];\n msg = 'This is a foo example';\n result = shouldIgnoreEvent(patterns, msg);\n expect(result).toBe(true);\n\n patterns = ['pattern1', /foo/];\n msg = \"This example doesn't match\";\n result = shouldIgnoreEvent(patterns, msg);\n expect(result).toBe(false);\n });\n});\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defaultBatchingConfig = exports.defaultGlobalObjectKey = void 0;
|
|
4
|
-
exports.defaultGlobalObjectKey = 'faro';
|
|
5
|
-
exports.defaultBatchingConfig = {
|
|
6
|
-
enabled: true,
|
|
7
|
-
sendTimeout: 250,
|
|
8
|
-
itemLimit: 50,
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=const.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../src/config/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAEhC,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,EAAE;CACd,CAAC","sourcesContent":["export const defaultGlobalObjectKey = 'faro';\n\nexport const defaultBatchingConfig = {\n enabled: true,\n sendTimeout: 250,\n itemLimit: 50,\n};\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defaultGlobalObjectKey = exports.defaultBatchingConfig = void 0;
|
|
4
|
-
var const_1 = require("./const");
|
|
5
|
-
Object.defineProperty(exports, "defaultBatchingConfig", { enumerable: true, get: function () { return const_1.defaultBatchingConfig; } });
|
|
6
|
-
Object.defineProperty(exports, "defaultGlobalObjectKey", { enumerable: true, get: function () { return const_1.defaultGlobalObjectKey; } });
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,iCAAwE;AAA/D,8GAAA,qBAAqB,OAAA;AAAE,+GAAA,sBAAsB,OAAA","sourcesContent":["export { defaultBatchingConfig, defaultGlobalObjectKey } from './const';\n\nexport type { Config, Patterns } from './types';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/config/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { APIEvent, LogArgsSerializer, StacktraceParser } from '../api';\nimport type { Instrumentation } from '../instrumentations';\nimport type { InternalLoggerLevel } from '../internalLogger';\nimport type { Meta, MetaApp, MetaItem, MetaPage, MetaSession, MetaUser, MetaView } from '../metas';\nimport type { BatchExecutorOptions, BeforeSendHook, Transport, TransportItem } from '../transports';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\nimport type { LogLevel } from '../utils';\n\ntype SamplingContext = {\n metas: Meta;\n};\n\nexport interface Config<P = APIEvent> {\n /**\n * Application metadata\n */\n app: MetaApp;\n\n /**\n * Set max number and max interval for signals to be batched before sending\n */\n batching?: BatchExecutorOptions;\n\n /**\n * A flag for toggling deduplication for signals\n */\n dedupe: boolean;\n\n /**\n * The key (name) to use for the global Faro object (default: 'faro')\n */\n globalObjectKey: string;\n\n /**\n * The (custom) instrumentations to use with Faro\n */\n instrumentations: Instrumentation[];\n\n /**\n * The level of information printed to console for internal messages (default: LogLevel.ERROR)\n */\n internalLoggerLevel: InternalLoggerLevel;\n\n /**\n * Isolate Faro instance from other Faro instances on the same page. (default: false)\n */\n isolate: boolean;\n\n /**\n * Custom function to serialize log arguments\n */\n logArgsSerializer?: LogArgsSerializer;\n\n /**\n * Add custom Metas during Faro initialization\n */\n metas: MetaItem[];\n\n /**\n * Custom function used to parse stack traces\n */\n parseStacktrace: StacktraceParser;\n\n /**\n * Pause sending data (default: false)\n */\n paused: boolean;\n\n /**\n * Prevent Faro from exposing itself to the global object (default: false)\n */\n preventGlobalExposure: boolean;\n\n /**\n * The transports to use for sending beacons\n */\n transports: Transport[];\n\n /**\n * Some instrumentations might override the default console methods but Faro instance provides a\n * way to access the unmodified console methods.\n *\n * faro.unpatchedConsole.log('This is a log');\n * faro.unpatchedConsole.warn('This is a warning');\n */\n unpatchedConsole: UnpatchedConsole;\n\n /**\n * Function which invoked before pushing event to transport. Can be used to modify or filter events\n */\n beforeSend?: BeforeSendHook<P>;\n\n /**\n * Error message patterns for errors that should be ignored\n */\n ignoreErrors?: Patterns;\n\n /**\n * Path patterns for Endpoints that should be ignored form being tracked\n */\n ignoreUrls?: Patterns;\n\n /**\n * Configuration for the built in session tracker\n */\n sessionTracking?: {\n /**\n * Enable session tracking (default: true)\n */\n enabled?: boolean;\n /**\n * Wether to use sticky sessions (default: false)\n */\n persistent?: boolean;\n /**\n * Session metadata object to be used when initializing session tracking\n */\n session?: MetaSession;\n /**\n * How long is a sticky session valid for recurring users (default: 15 minutes)\n */\n maxSessionPersistenceTime?: number;\n /**\n * Called each time a session changes. This can be when a new session is created or when an existing session is updated.\n * @param oldSession\n * @param newSession\n */\n onSessionChange?: (oldSession: MetaSession | null, newSession: MetaSession) => void;\n /**\n * Then sampling rate for the session based sampler (default: 1). If a session is not part of a sample, no signals for this session are tracked.\n */\n samplingRate?: number;\n /**\n * Custom sampler function if custom sampling logic is needed.\n * @param context\n */\n sampler?: (context: SamplingContext) => number;\n /**\n * Custom function to generate session id. If available Faro uses this function instead of the internal one.\n */\n generateSessionId?: () => string;\n };\n\n /**\n * Meta object for user data\n */\n user?: MetaUser;\n\n /**\n * Meta object for view data\n */\n view?: MetaView;\n\n eventDomain?: string;\n\n /**\n * Only resource timings for fetch and xhr requests are tracked by default. Set this to true to track all resources (default: false).\n */\n trackResources?: boolean;\n\n /**\n * Configuration for the web vitals instrumentation\n */\n webVitalsInstrumentation?: {\n /**\n * Report all changes for web vitals (default: false)\n *\n * In most cases, you only want the callback function to be called when the metric is ready to be reported.\n * However, it is possible to report every change (e.g. each larger layout shift as it happens)\n * by setting reportAllChanges to true.\n *\n * This can be useful when debugging, but in general using reportAllChanges is not needed (or recommended)\n * for measuring these metrics in production.\n */\n reportAllChanges?: boolean;\n };\n\n /**\n * Configuration for the console instrumentation\n */\n consoleInstrumentation?: {\n /**\n * Configure what console levels should be captured by Faro. By default the following levels\n * are disabled: console.debug, console.trace, console.log\n *\n * If you want to collect all levels set captureConsoleDisabledLevels: [];\n * If you want to disable only some levels set captureConsoleDisabledLevels: [LogLevel.DEBUG, LogLevel.TRACE];\n */\n disabledLevels?: LogLevel[];\n /*\n * By default, Faro sends an error for console.error calls. If you want to send a log instead, set this to true.\n */\n consoleErrorAsLog?: boolean;\n\n /**\n * If true, use the default Faro error serializer for console.error calls. If false, simply call toString() on the error arguments.\n * If enabled, payloads containing serialized errors may become very large. If left disabled, some error details may be lost.\n * (default: false)\n */\n serializeErrors?: boolean;\n\n /**\n * Custom function to serialize Error arguments\n */\n errorSerializer?: LogArgsSerializer;\n };\n\n /**\n * Configuration for the page tracking\n */\n pageTracking?: {\n /**\n * The page meta for initial page settings\n */\n page?: MetaPage;\n\n /**\n * Allows to provide a template for the page id\n */\n generatePageId?: (location: Location) => string;\n };\n\n /**\n * Enable or disable geolocation tracking.\n * Geolocation tracking must be enabled in the Grafana Cloud settings first.\n * It cannot be enabled solely on the client side.\n * This option allows control over tracking on the client side to comply with user\n * privacy requirements.\n */\n trackGeolocation?: boolean;\n\n /**\n * Configuration for the user actions instrumentation\n */\n userActionsInstrumentation?: {\n /**\n * Configure your own attribute name for tracking user actions. Default is 'data-faro-user-action-name'\n */\n dataAttributeName?: string;\n\n /**\n * Predicate function to exclude items from user actions.\n * If the function returns true, the item will be excluded from user actions.\n */\n excludeItem?: (item: TransportItem<APIEvent>) => boolean;\n };\n\n /**\n * When enabled, preserves the original Error object in the transport item for use in the beforeSend hook.\n * The original error is automatically removed before the item is sent to the transport.\n *\n * This is useful for error post-processing in (uncontrolled) environments where you need to handle special cases:\n * - Errors from third-party libraries\n * - Errors with missing or incomplete data\n * - Edge cases like `throw undefined` or `throw ''`\n *\n * With access to the original error in the beforeSend hook, you can enhance or modify the\n * Faro exception payload to include additional context or fix missing information.\n */\n preserveOriginalError?: boolean;\n\n /**\n * Configuration for experimental features.\n * These features have been tested thoroughly, but it is possible that they might not work as expected in all cases.\n */\n experimental?: {\n /**\n * Track navigation events.\n */\n trackNavigation?: boolean;\n };\n}\n\nexport type Patterns = Array<string | RegExp>;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../../src/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,SAAS,CAAC","sourcesContent":["export const unknownString = 'unknown';\n"]}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
-
if (ar || !(i in from)) {
|
|
5
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
-
ar[i] = from[i];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.BaseExtension = void 0;
|
|
13
|
-
var internalLogger_1 = require("../internalLogger");
|
|
14
|
-
var unpatchedConsole_1 = require("../unpatchedConsole");
|
|
15
|
-
var BaseExtension = /** @class */ (function () {
|
|
16
|
-
function BaseExtension() {
|
|
17
|
-
this.unpatchedConsole = unpatchedConsole_1.defaultUnpatchedConsole;
|
|
18
|
-
this.internalLogger = internalLogger_1.defaultInternalLogger;
|
|
19
|
-
this.config = {};
|
|
20
|
-
this.metas = {};
|
|
21
|
-
}
|
|
22
|
-
BaseExtension.prototype.logDebug = function () {
|
|
23
|
-
var _a;
|
|
24
|
-
var args = [];
|
|
25
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
26
|
-
args[_i] = arguments[_i];
|
|
27
|
-
}
|
|
28
|
-
(_a = this.internalLogger).debug.apply(_a, __spreadArray(["".concat(this.name, "\n")], args, false));
|
|
29
|
-
};
|
|
30
|
-
BaseExtension.prototype.logInfo = function () {
|
|
31
|
-
var _a;
|
|
32
|
-
var args = [];
|
|
33
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
34
|
-
args[_i] = arguments[_i];
|
|
35
|
-
}
|
|
36
|
-
(_a = this.internalLogger).info.apply(_a, __spreadArray(["".concat(this.name, "\n")], args, false));
|
|
37
|
-
};
|
|
38
|
-
BaseExtension.prototype.logWarn = function () {
|
|
39
|
-
var _a;
|
|
40
|
-
var args = [];
|
|
41
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
42
|
-
args[_i] = arguments[_i];
|
|
43
|
-
}
|
|
44
|
-
(_a = this.internalLogger).warn.apply(_a, __spreadArray(["".concat(this.name, "\n")], args, false));
|
|
45
|
-
};
|
|
46
|
-
BaseExtension.prototype.logError = function () {
|
|
47
|
-
var _a;
|
|
48
|
-
var args = [];
|
|
49
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
50
|
-
args[_i] = arguments[_i];
|
|
51
|
-
}
|
|
52
|
-
(_a = this.internalLogger).error.apply(_a, __spreadArray(["".concat(this.name, "\n")], args, false));
|
|
53
|
-
};
|
|
54
|
-
return BaseExtension;
|
|
55
|
-
}());
|
|
56
|
-
exports.BaseExtension = BaseExtension;
|
|
57
|
-
//# sourceMappingURL=baseExtension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baseExtension.js","sourceRoot":"","sources":["../../../../../src/extensions/baseExtension.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oDAA0D;AAE1D,wDAA8D;AAI9D;IAAA;QAIE,qBAAgB,GAAG,0CAAuB,CAAC;QAC3C,mBAAc,GAAG,sCAAqB,CAAC;QACvC,WAAM,GAAG,EAAY,CAAC;QACtB,UAAK,GAAG,EAAW,CAAC;IAiBtB,CAAC;IAfC,gCAAQ,GAAR;;QAAS,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACzB,CAAA,KAAA,IAAI,CAAC,cAAc,CAAA,CAAC,KAAK,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,UAAE;IACvD,CAAC;IAED,+BAAO,GAAP;;QAAQ,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACxB,CAAA,KAAA,IAAI,CAAC,cAAc,CAAA,CAAC,IAAI,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,UAAE;IACtD,CAAC;IAED,+BAAO,GAAP;;QAAQ,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACxB,CAAA,KAAA,IAAI,CAAC,cAAc,CAAA,CAAC,IAAI,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,UAAE;IACtD,CAAC;IAED,gCAAQ,GAAR;;QAAS,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACzB,CAAA,KAAA,IAAI,CAAC,cAAc,CAAA,CAAC,KAAK,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,UAAE;IACvD,CAAC;IACH,oBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBqB,sCAAa","sourcesContent":["import type { Config } from '../config';\nimport { defaultInternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport { defaultUnpatchedConsole } from '../unpatchedConsole';\n\nimport type { Extension } from './types';\n\nexport abstract class BaseExtension implements Extension {\n abstract readonly name: string;\n abstract readonly version: string;\n\n unpatchedConsole = defaultUnpatchedConsole;\n internalLogger = defaultInternalLogger;\n config = {} as Config;\n metas = {} as Metas;\n\n logDebug(...args: unknown[]): void {\n this.internalLogger.debug(`${this.name}\\n`, ...args);\n }\n\n logInfo(...args: unknown[]): void {\n this.internalLogger.info(`${this.name}\\n`, ...args);\n }\n\n logWarn(...args: unknown[]): void {\n this.internalLogger.warn(`${this.name}\\n`, ...args);\n }\n\n logError(...args: unknown[]): void {\n this.internalLogger.error(`${this.name}\\n`, ...args);\n }\n}\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseExtension = void 0;
|
|
4
|
-
var baseExtension_1 = require("./baseExtension");
|
|
5
|
-
Object.defineProperty(exports, "BaseExtension", { enumerable: true, get: function () { return baseExtension_1.BaseExtension; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/index.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAAvC,8GAAA,aAAa,OAAA","sourcesContent":["export { BaseExtension } from './baseExtension';\n\nexport type { Extension } from './types';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/extensions/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\n\nexport interface Extension {\n readonly name: string;\n readonly version: string;\n\n internalLogger: InternalLogger;\n unpatchedConsole: UnpatchedConsole;\n config: Config;\n metas: Metas;\n\n logDebug(...args: unknown[]): void;\n logInfo(...args: unknown[]): void;\n logWarn(...args: unknown[]): void;\n logError(...args: unknown[]): void;\n}\n"]}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var initialize_1 = require("./initialize");
|
|
4
|
-
var testUtils_1 = require("./testUtils");
|
|
5
|
-
describe('faro', function () {
|
|
6
|
-
it("can be started paused and doesn't ingest events until unpaused", function () {
|
|
7
|
-
var transport = new testUtils_1.MockTransport();
|
|
8
|
-
var faro = (0, initialize_1.initializeFaro)((0, testUtils_1.mockConfig)({
|
|
9
|
-
isolate: true,
|
|
10
|
-
paused: true,
|
|
11
|
-
transports: [transport],
|
|
12
|
-
}));
|
|
13
|
-
faro.api.pushLog(['test']);
|
|
14
|
-
expect(transport.items).toHaveLength(0);
|
|
15
|
-
faro.unpause();
|
|
16
|
-
faro.api.pushLog(['test2']);
|
|
17
|
-
expect(transport.items).toHaveLength(1);
|
|
18
|
-
var item = transport.items[0];
|
|
19
|
-
expect(item.payload.message).toEqual('test2');
|
|
20
|
-
});
|
|
21
|
-
it('can be started unpaused, then paused and unpaused again', function () {
|
|
22
|
-
var _a, _b;
|
|
23
|
-
var transport = new testUtils_1.MockTransport();
|
|
24
|
-
var faro = (0, initialize_1.initializeFaro)((0, testUtils_1.mockConfig)({
|
|
25
|
-
isolate: true,
|
|
26
|
-
transports: [transport],
|
|
27
|
-
}));
|
|
28
|
-
faro.api.pushLog(['test1']);
|
|
29
|
-
expect(transport.items).toHaveLength(1);
|
|
30
|
-
faro.pause();
|
|
31
|
-
faro.api.pushLog(['test2']);
|
|
32
|
-
expect(transport.items).toHaveLength(1);
|
|
33
|
-
faro.unpause();
|
|
34
|
-
faro.api.pushLog(['test3']);
|
|
35
|
-
var items = transport.items;
|
|
36
|
-
expect((_a = items[0]) === null || _a === void 0 ? void 0 : _a.payload.message).toEqual('test1');
|
|
37
|
-
expect((_b = items[1]) === null || _b === void 0 ? void 0 : _b.payload.message).toEqual('test3');
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=faro.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"faro.test.js","sourceRoot":"","sources":["../../../../src/faro.test.ts"],"names":[],"mappings":";;AACA,2CAA8C;AAC9C,yCAAwD;AAGxD,QAAQ,CAAC,MAAM,EAAE;IACf,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QAEtC,IAAM,IAAI,GAAG,IAAA,2BAAc,EACzB,IAAA,sBAAU,EAAC;YACT,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE;;QAC5D,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,IAAI,GAAG,IAAA,2BAAc,EACzB,IAAA,sBAAU,EAAC;YACT,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,IAAM,KAAK,GAAG,SAAS,CAAC,KAAuC,CAAC;QAChE,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import type { LogEvent } from './api';\nimport { initializeFaro } from './initialize';\nimport { mockConfig, MockTransport } from './testUtils';\nimport type { TransportItem } from './transports';\n\ndescribe('faro', () => {\n it(`can be started paused and doesn't ingest events until unpaused`, () => {\n const transport = new MockTransport();\n\n const faro = initializeFaro(\n mockConfig({\n isolate: true,\n paused: true,\n transports: [transport],\n })\n );\n\n faro.api.pushLog(['test']);\n expect(transport.items).toHaveLength(0);\n\n faro.unpause();\n faro.api.pushLog(['test2']);\n expect(transport.items).toHaveLength(1);\n\n const item = transport.items[0]! as TransportItem<LogEvent>;\n expect(item.payload.message).toEqual('test2');\n });\n\n it('can be started unpaused, then paused and unpaused again', () => {\n const transport = new MockTransport();\n const faro = initializeFaro(\n mockConfig({\n isolate: true,\n transports: [transport],\n })\n );\n\n faro.api.pushLog(['test1']);\n expect(transport.items).toHaveLength(1);\n\n faro.pause();\n faro.api.pushLog(['test2']);\n expect(transport.items).toHaveLength(1);\n\n faro.unpause();\n faro.api.pushLog(['test3']);\n const items = transport.items as Array<TransportItem<LogEvent>>;\n expect(items[0]?.payload.message).toEqual('test1');\n expect(items[1]?.payload.message).toEqual('test3');\n });\n});\n"]}
|