@aws-amplify/analytics 7.0.1-console-preview.d745d43.0 → 7.0.1-mjs-test.6f5dab7.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/{lib → dist/cjs}/apis/disable.js +4 -2
- package/dist/cjs/apis/disable.js.map +1 -0
- package/{lib → dist/cjs}/apis/enable.js +4 -2
- package/dist/cjs/apis/enable.js.map +1 -0
- package/{lib → dist/cjs}/apis/index.js +3 -1
- package/dist/cjs/apis/index.js.map +1 -0
- package/dist/cjs/errors/AnalyticsError.js +21 -0
- package/dist/cjs/errors/AnalyticsError.js.map +1 -0
- package/{lib → dist/cjs}/errors/assertValidationError.js +9 -7
- package/dist/cjs/errors/assertValidationError.js.map +1 -0
- package/{lib → dist/cjs}/errors/index.js +3 -1
- package/dist/cjs/errors/index.js.map +1 -0
- package/{lib → dist/cjs}/errors/validation.js +13 -12
- package/dist/cjs/errors/validation.js.map +1 -0
- package/{lib → dist/cjs}/index.js +3 -1
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/providers/kinesis/apis/flushEvents.js +37 -0
- package/dist/cjs/providers/kinesis/apis/flushEvents.js.map +1 -0
- package/{lib → dist/cjs}/providers/kinesis/apis/index.js +3 -1
- package/dist/cjs/providers/kinesis/apis/index.js.map +1 -0
- package/dist/cjs/providers/kinesis/apis/record.js +48 -0
- package/dist/cjs/providers/kinesis/apis/record.js.map +1 -0
- package/{lib/providers/personalize → dist/cjs/providers/kinesis}/index.js +3 -1
- package/dist/cjs/providers/kinesis/index.js.map +1 -0
- package/{lib → dist/cjs}/providers/kinesis/types/buffer.js +3 -1
- package/dist/cjs/providers/kinesis/types/buffer.js.map +1 -0
- package/{lib/providers/kinesis-firehose → dist/cjs/providers/kinesis}/types/index.js +3 -1
- package/dist/cjs/providers/kinesis/types/index.js.map +1 -0
- package/{lib/providers/personalize → dist/cjs/providers/kinesis}/types/inputs.js +3 -1
- package/dist/cjs/providers/kinesis/types/inputs.js.map +1 -0
- package/{lib → dist/cjs}/providers/kinesis/utils/constants.js +3 -1
- package/dist/cjs/providers/kinesis/utils/constants.js.map +1 -0
- package/dist/cjs/providers/kinesis/utils/getEventBuffer.js +74 -0
- package/dist/cjs/providers/kinesis/utils/getEventBuffer.js.map +1 -0
- package/dist/cjs/providers/kinesis/utils/resolveConfig.js +27 -0
- package/dist/cjs/providers/kinesis/utils/resolveConfig.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js +36 -0
- package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js.map +1 -0
- package/{lib/providers/personalize → dist/cjs/providers/kinesis-firehose}/apis/index.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/apis/index.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/apis/record.js +45 -0
- package/dist/cjs/providers/kinesis-firehose/apis/record.js.map +1 -0
- package/{lib → dist/cjs}/providers/kinesis-firehose/index.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/index.js.map +1 -0
- package/{lib/providers/personalize → dist/cjs/providers/kinesis-firehose}/types/buffer.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/types/buffer.js.map +1 -0
- package/{lib/providers/kinesis → dist/cjs/providers/kinesis-firehose}/types/index.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/types/index.js.map +1 -0
- package/{lib/providers/kinesis → dist/cjs/providers/kinesis-firehose}/types/inputs.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/types/inputs.js.map +1 -0
- package/{lib → dist/cjs}/providers/kinesis-firehose/utils/constants.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/utils/constants.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js +73 -0
- package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js.map +1 -0
- package/{lib → dist/cjs}/providers/kinesis-firehose/utils/index.js +3 -1
- package/dist/cjs/providers/kinesis-firehose/utils/index.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js +27 -0
- package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js.map +1 -0
- package/dist/cjs/providers/personalize/apis/flushEvents.js +35 -0
- package/dist/cjs/providers/personalize/apis/flushEvents.js.map +1 -0
- package/{lib/providers/kinesis-firehose → dist/cjs/providers/personalize}/apis/index.js +3 -1
- package/dist/cjs/providers/personalize/apis/index.js.map +1 -0
- package/dist/cjs/providers/personalize/apis/record.js +73 -0
- package/dist/cjs/providers/personalize/apis/record.js.map +1 -0
- package/{lib/providers/kinesis → dist/cjs/providers/personalize}/index.js +3 -1
- package/dist/cjs/providers/personalize/index.js.map +1 -0
- package/{lib/providers/kinesis-firehose → dist/cjs/providers/personalize}/types/buffer.js +3 -1
- package/dist/cjs/providers/personalize/types/buffer.js.map +1 -0
- package/{lib → dist/cjs}/providers/personalize/types/index.js +3 -1
- package/dist/cjs/providers/personalize/types/index.js.map +1 -0
- package/{lib/providers/kinesis-firehose → dist/cjs/providers/personalize}/types/inputs.js +3 -1
- package/dist/cjs/providers/personalize/types/inputs.js.map +1 -0
- package/dist/cjs/providers/personalize/utils/autoTrackMedia.js +183 -0
- package/dist/cjs/providers/personalize/utils/autoTrackMedia.js.map +1 -0
- package/dist/cjs/providers/personalize/utils/cachedSession.js +51 -0
- package/dist/cjs/providers/personalize/utils/cachedSession.js.map +1 -0
- package/{lib → dist/cjs}/providers/personalize/utils/constants.js +3 -1
- package/dist/cjs/providers/personalize/utils/constants.js.map +1 -0
- package/dist/cjs/providers/personalize/utils/getEventBuffer.js +75 -0
- package/dist/cjs/providers/personalize/utils/getEventBuffer.js.map +1 -0
- package/{lib → dist/cjs}/providers/personalize/utils/index.js +3 -1
- package/dist/cjs/providers/personalize/utils/index.js.map +1 -0
- package/dist/cjs/providers/personalize/utils/resolveConfig.js +28 -0
- package/dist/cjs/providers/personalize/utils/resolveConfig.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/apis/configureAutoTrack.js +9 -7
- package/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js.map +1 -0
- package/dist/cjs/providers/pinpoint/apis/flushEvents.js +27 -0
- package/dist/cjs/providers/pinpoint/apis/flushEvents.js.map +1 -0
- package/{lib/providers/pinpoint/apis/identifyUser.d.ts → dist/cjs/providers/pinpoint/apis/identifyUser.js} +28 -2
- package/dist/cjs/providers/pinpoint/apis/identifyUser.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/apis/index.js +3 -1
- package/dist/cjs/providers/pinpoint/apis/index.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/apis/record.js +18 -17
- package/dist/cjs/providers/pinpoint/apis/record.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/index.js +3 -1
- package/dist/cjs/providers/pinpoint/index.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/types/index.js +3 -1
- package/dist/cjs/providers/pinpoint/types/index.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/types/inputs.js +3 -1
- package/dist/cjs/providers/pinpoint/types/inputs.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/types/options.js +3 -1
- package/dist/cjs/providers/pinpoint/types/options.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/utils/index.js +3 -1
- package/dist/cjs/providers/pinpoint/utils/index.js.map +1 -0
- package/{lib → dist/cjs}/providers/pinpoint/utils/resolveConfig.js +8 -7
- package/dist/cjs/providers/pinpoint/utils/resolveConfig.js.map +1 -0
- package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js +18 -0
- package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js.map +1 -0
- package/{lib → dist/cjs}/setupTests.js +4 -2
- package/dist/cjs/setupTests.js.map +1 -0
- package/dist/cjs/trackers/EventTracker.js +100 -0
- package/dist/cjs/trackers/EventTracker.js.map +1 -0
- package/{lib → dist/cjs}/trackers/PageViewTracker.js +44 -46
- package/dist/cjs/trackers/PageViewTracker.js.map +1 -0
- package/{lib → dist/cjs}/trackers/SessionTracker.js +28 -32
- package/dist/cjs/trackers/SessionTracker.js.map +1 -0
- package/{lib → dist/cjs}/trackers/SessionTracker.native.js +28 -32
- package/dist/cjs/trackers/SessionTracker.native.js.map +1 -0
- package/{lib → dist/cjs}/trackers/index.js +3 -1
- package/dist/cjs/trackers/index.js.map +1 -0
- package/dist/cjs/types/index.js +6 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/inputs.js +6 -0
- package/dist/cjs/types/inputs.js.map +1 -0
- package/{lib → dist/cjs}/types/kinesis.js +3 -1
- package/dist/cjs/types/kinesis.js.map +1 -0
- package/{lib → dist/cjs}/types/options.js +3 -1
- package/dist/cjs/types/options.js.map +1 -0
- package/{lib → dist/cjs}/types/trackers.js +3 -1
- package/dist/cjs/types/trackers.js.map +1 -0
- package/dist/cjs/utils/eventBuffer/EventBuffer.js +65 -0
- package/dist/cjs/utils/eventBuffer/EventBuffer.js.map +1 -0
- package/{lib → dist/cjs}/utils/eventBuffer/index.js +3 -1
- package/dist/cjs/utils/eventBuffer/index.js.map +1 -0
- package/{lib → dist/cjs}/utils/eventBuffer/types.js +3 -1
- package/dist/cjs/utils/eventBuffer/types.js.map +1 -0
- package/dist/cjs/utils/groupBy.js +14 -0
- package/dist/cjs/utils/groupBy.js.map +1 -0
- package/{lib → dist/cjs}/utils/index.js +3 -1
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/resolveCredentials.js +15 -0
- package/dist/cjs/utils/resolveCredentials.js.map +1 -0
- package/{lib → dist/cjs}/utils/statusHelpers.js +7 -5
- package/dist/cjs/utils/statusHelpers.js.map +1 -0
- package/{lib → dist/cjs}/utils/trackerConfigHelpers.js +5 -3
- package/dist/cjs/utils/trackerConfigHelpers.js.map +1 -0
- package/{lib → dist/cjs}/utils/trackerConfigHelpers.native.js +5 -3
- package/dist/cjs/utils/trackerConfigHelpers.native.js.map +1 -0
- package/{lib → dist/cjs}/utils/trackerHelpers.js +8 -6
- package/dist/cjs/utils/trackerHelpers.js.map +1 -0
- package/{lib → dist/cjs}/utils/userAgent.js +6 -4
- package/dist/cjs/utils/userAgent.js.map +1 -0
- package/dist/esm/apis/disable.mjs +22 -0
- package/dist/esm/apis/disable.mjs.map +1 -0
- package/dist/esm/apis/enable.mjs +21 -0
- package/dist/esm/apis/enable.mjs.map +1 -0
- package/dist/esm/apis/index.mjs +3 -0
- package/dist/esm/apis/index.mjs.map +1 -0
- package/dist/esm/errors/AnalyticsError.mjs +19 -0
- package/dist/esm/errors/AnalyticsError.mjs.map +1 -0
- package/dist/esm/errors/assertValidationError.mjs +21 -0
- package/dist/esm/errors/assertValidationError.mjs.map +1 -0
- package/dist/esm/errors/index.mjs +4 -0
- package/dist/esm/errors/index.mjs.map +1 -0
- package/{lib-esm/errors/validation.js → dist/esm/errors/validation.mjs} +14 -12
- package/dist/esm/errors/validation.mjs.map +1 -0
- package/dist/esm/index.mjs +9 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis/apis/flushEvents.mjs +41 -0
- package/dist/esm/providers/kinesis/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/kinesis/apis/index.mjs +3 -0
- package/dist/esm/providers/kinesis/apis/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis/apis/record.mjs +53 -0
- package/dist/esm/providers/kinesis/apis/record.mjs.map +1 -0
- package/dist/esm/providers/kinesis/index.mjs +3 -0
- package/dist/esm/providers/kinesis/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis/types/buffer.mjs +2 -0
- package/dist/esm/providers/kinesis/types/buffer.mjs.map +1 -0
- package/dist/esm/providers/kinesis/types/index.mjs +2 -0
- package/dist/esm/providers/kinesis/types/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis/types/inputs.mjs +2 -0
- package/dist/esm/providers/kinesis/types/inputs.mjs.map +1 -0
- package/{lib-esm/providers/kinesis-firehose/utils/constants.js → dist/esm/providers/kinesis/utils/constants.mjs} +4 -1
- package/dist/esm/providers/kinesis/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs +79 -0
- package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs.map +1 -0
- package/dist/esm/providers/kinesis/utils/resolveConfig.mjs +27 -0
- package/dist/esm/providers/kinesis/utils/resolveConfig.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs +41 -0
- package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/apis/index.mjs +3 -0
- package/dist/esm/providers/kinesis-firehose/apis/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/apis/record.mjs +51 -0
- package/dist/esm/providers/kinesis-firehose/apis/record.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/index.mjs +3 -0
- package/dist/esm/providers/kinesis-firehose/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/types/buffer.mjs +2 -0
- package/dist/esm/providers/kinesis-firehose/types/buffer.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/types/index.mjs +2 -0
- package/dist/esm/providers/kinesis-firehose/types/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/types/inputs.mjs +2 -0
- package/dist/esm/providers/kinesis-firehose/types/inputs.mjs.map +1 -0
- package/{lib-esm/providers/kinesis/utils/constants.js → dist/esm/providers/kinesis-firehose/utils/constants.mjs} +4 -1
- package/dist/esm/providers/kinesis-firehose/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs +78 -0
- package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/utils/index.mjs +3 -0
- package/dist/esm/providers/kinesis-firehose/utils/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs +27 -0
- package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs.map +1 -0
- package/dist/esm/providers/personalize/apis/flushEvents.mjs +41 -0
- package/dist/esm/providers/personalize/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/personalize/apis/index.mjs +3 -0
- package/dist/esm/providers/personalize/apis/index.mjs.map +1 -0
- package/dist/esm/providers/personalize/apis/record.mjs +81 -0
- package/dist/esm/providers/personalize/apis/record.mjs.map +1 -0
- package/dist/esm/providers/personalize/index.mjs +3 -0
- package/dist/esm/providers/personalize/index.mjs.map +1 -0
- package/dist/esm/providers/personalize/types/buffer.mjs +2 -0
- package/dist/esm/providers/personalize/types/buffer.mjs.map +1 -0
- package/dist/esm/providers/personalize/types/index.mjs +2 -0
- package/dist/esm/providers/personalize/types/index.mjs.map +1 -0
- package/dist/esm/providers/personalize/types/inputs.mjs +2 -0
- package/dist/esm/providers/personalize/types/inputs.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs +181 -0
- package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/cachedSession.mjs +48 -0
- package/dist/esm/providers/personalize/utils/cachedSession.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/constants.mjs +12 -0
- package/dist/esm/providers/personalize/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/getEventBuffer.mjs +80 -0
- package/dist/esm/providers/personalize/utils/getEventBuffer.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/index.mjs +6 -0
- package/dist/esm/providers/personalize/utils/index.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/resolveConfig.mjs +34 -0
- package/dist/esm/providers/personalize/utils/resolveConfig.mjs.map +1 -0
- package/{lib-esm/providers/pinpoint/apis/configureAutoTrack.js → dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs} +15 -6
- package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/flushEvents.mjs +31 -0
- package/dist/esm/providers/pinpoint/apis/flushEvents.mjs.map +1 -0
- package/{lib-esm/providers/pinpoint/apis/identifyUser.js → dist/esm/providers/pinpoint/apis/identifyUser.mjs} +29 -30
- package/dist/esm/providers/pinpoint/apis/identifyUser.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/index.mjs +5 -0
- package/dist/esm/providers/pinpoint/apis/index.mjs.map +1 -0
- package/{lib-esm/providers/pinpoint/apis/record.js → dist/esm/providers/pinpoint/apis/record.mjs} +27 -17
- package/dist/esm/providers/pinpoint/apis/record.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/index.mjs +5 -0
- package/dist/esm/providers/pinpoint/index.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/types/index.mjs +2 -0
- package/dist/esm/providers/pinpoint/types/index.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/types/inputs.mjs +2 -0
- package/dist/esm/providers/pinpoint/types/inputs.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/types/options.mjs +2 -0
- package/dist/esm/providers/pinpoint/types/options.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/utils/index.mjs +3 -0
- package/dist/esm/providers/pinpoint/utils/index.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs +19 -0
- package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs.map +1 -0
- package/{lib-esm → dist/esm}/providers/pinpoint/utils/resolveCredentials.d.ts +1 -1
- package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs +18 -0
- package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs.map +1 -0
- package/{lib-esm/setupTests.js → dist/esm/setupTests.mjs} +2 -2
- package/dist/esm/setupTests.mjs.map +1 -0
- package/dist/esm/trackers/EventTracker.mjs +98 -0
- package/dist/esm/trackers/EventTracker.mjs.map +1 -0
- package/{lib-esm/trackers/PageViewTracker.js → dist/esm/trackers/PageViewTracker.mjs} +44 -45
- package/dist/esm/trackers/PageViewTracker.mjs.map +1 -0
- package/{lib-esm/trackers/SessionTracker.native.js → dist/esm/trackers/SessionTracker.mjs} +27 -30
- package/dist/esm/trackers/SessionTracker.mjs.map +1 -0
- package/{lib-esm/trackers/SessionTracker.js → dist/esm/trackers/SessionTracker.native.mjs} +27 -30
- package/dist/esm/trackers/SessionTracker.native.mjs.map +1 -0
- package/dist/esm/trackers/index.mjs +4 -0
- package/dist/esm/trackers/index.mjs.map +1 -0
- package/dist/esm/types/index.mjs +2 -0
- package/dist/esm/types/index.mjs.map +1 -0
- package/dist/esm/types/inputs.mjs +2 -0
- package/dist/esm/types/inputs.mjs.map +1 -0
- package/dist/esm/types/kinesis.mjs +2 -0
- package/dist/esm/types/kinesis.mjs.map +1 -0
- package/dist/esm/types/options.mjs +2 -0
- package/dist/esm/types/options.mjs.map +1 -0
- package/dist/esm/types/trackers.mjs +2 -0
- package/dist/esm/types/trackers.mjs.map +1 -0
- package/dist/esm/utils/eventBuffer/EventBuffer.mjs +63 -0
- package/dist/esm/utils/eventBuffer/EventBuffer.mjs.map +1 -0
- package/dist/esm/utils/eventBuffer/index.mjs +2 -0
- package/dist/esm/utils/eventBuffer/index.mjs.map +1 -0
- package/dist/esm/utils/eventBuffer/types.mjs +2 -0
- package/dist/esm/utils/eventBuffer/types.mjs.map +1 -0
- package/dist/esm/utils/groupBy.mjs +11 -0
- package/dist/esm/utils/groupBy.mjs.map +1 -0
- package/dist/esm/utils/index.mjs +8 -0
- package/dist/esm/utils/index.mjs.map +1 -0
- package/{lib-esm → dist/esm}/utils/resolveCredentials.d.ts +1 -1
- package/dist/esm/utils/resolveCredentials.mjs +15 -0
- package/dist/esm/utils/resolveCredentials.mjs.map +1 -0
- package/dist/esm/utils/statusHelpers.mjs +16 -0
- package/dist/esm/utils/statusHelpers.mjs.map +1 -0
- package/dist/esm/utils/trackerConfigHelpers.mjs +17 -0
- package/dist/esm/utils/trackerConfigHelpers.mjs.map +1 -0
- package/dist/esm/utils/trackerConfigHelpers.native.mjs +16 -0
- package/dist/esm/utils/trackerConfigHelpers.native.mjs.map +1 -0
- package/{lib-esm/utils/trackerHelpers.js → dist/esm/utils/trackerHelpers.mjs} +11 -5
- package/dist/esm/utils/trackerHelpers.mjs.map +1 -0
- package/dist/esm/utils/userAgent.mjs +19 -0
- package/dist/esm/utils/userAgent.mjs.map +1 -0
- package/kinesis/package.json +5 -4
- package/kinesis-firehose/package.json +5 -4
- package/package.json +45 -40
- package/personalize/package.json +5 -4
- package/pinpoint/package.json +5 -4
- package/src/providers/kinesis/utils/getEventBuffer.ts +6 -7
- package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +6 -7
- package/src/providers/personalize/utils/getEventBuffer.ts +6 -7
- package/src/trackers/SessionTracker.native.ts +2 -3
- package/src/trackers/SessionTracker.ts +2 -3
- package/lib/apis/disable.d.ts +0 -8
- package/lib/apis/enable.d.ts +0 -7
- package/lib/apis/index.d.ts +0 -2
- package/lib/errors/AnalyticsError.d.ts +0 -7
- package/lib/errors/AnalyticsError.js +0 -23
- package/lib/errors/assertValidationError.d.ts +0 -5
- package/lib/errors/index.d.ts +0 -3
- package/lib/errors/validation.d.ts +0 -12
- package/lib/index.d.ts +0 -3
- package/lib/providers/kinesis/apis/flushEvents.d.ts +0 -8
- package/lib/providers/kinesis/apis/flushEvents.js +0 -38
- package/lib/providers/kinesis/apis/index.d.ts +0 -2
- package/lib/providers/kinesis/apis/record.d.ts +0 -2
- package/lib/providers/kinesis/apis/record.js +0 -48
- package/lib/providers/kinesis/index.d.ts +0 -1
- package/lib/providers/kinesis/types/buffer.d.ts +0 -15
- package/lib/providers/kinesis/types/index.d.ts +0 -2
- package/lib/providers/kinesis/types/inputs.d.ts +0 -6
- package/lib/providers/kinesis/utils/constants.d.ts +0 -6
- package/lib/providers/kinesis/utils/getEventBuffer.d.ts +0 -3
- package/lib/providers/kinesis/utils/getEventBuffer.js +0 -103
- package/lib/providers/kinesis/utils/resolveConfig.d.ts +0 -7
- package/lib/providers/kinesis/utils/resolveConfig.js +0 -24
- package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +0 -8
- package/lib/providers/kinesis-firehose/apis/flushEvents.js +0 -37
- package/lib/providers/kinesis-firehose/apis/index.d.ts +0 -2
- package/lib/providers/kinesis-firehose/apis/record.d.ts +0 -2
- package/lib/providers/kinesis-firehose/apis/record.js +0 -45
- package/lib/providers/kinesis-firehose/index.d.ts +0 -1
- package/lib/providers/kinesis-firehose/types/buffer.d.ts +0 -15
- package/lib/providers/kinesis-firehose/types/index.d.ts +0 -2
- package/lib/providers/kinesis-firehose/types/inputs.d.ts +0 -5
- package/lib/providers/kinesis-firehose/utils/constants.d.ts +0 -6
- package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +0 -3
- package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +0 -100
- package/lib/providers/kinesis-firehose/utils/index.d.ts +0 -2
- package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +0 -7
- package/lib/providers/kinesis-firehose/utils/resolveConfig.js +0 -24
- package/lib/providers/personalize/apis/flushEvents.d.ts +0 -8
- package/lib/providers/personalize/apis/flushEvents.js +0 -36
- package/lib/providers/personalize/apis/index.d.ts +0 -2
- package/lib/providers/personalize/apis/record.d.ts +0 -2
- package/lib/providers/personalize/apis/record.js +0 -87
- package/lib/providers/personalize/index.d.ts +0 -1
- package/lib/providers/personalize/types/buffer.d.ts +0 -16
- package/lib/providers/personalize/types/index.d.ts +0 -2
- package/lib/providers/personalize/types/inputs.d.ts +0 -7
- package/lib/providers/personalize/utils/autoTrackMedia.d.ts +0 -10
- package/lib/providers/personalize/utils/autoTrackMedia.js +0 -183
- package/lib/providers/personalize/utils/cachedSession.d.ts +0 -5
- package/lib/providers/personalize/utils/cachedSession.js +0 -61
- package/lib/providers/personalize/utils/constants.d.ts +0 -7
- package/lib/providers/personalize/utils/getEventBuffer.d.ts +0 -3
- package/lib/providers/personalize/utils/getEventBuffer.js +0 -100
- package/lib/providers/personalize/utils/index.d.ts +0 -5
- package/lib/providers/personalize/utils/resolveConfig.d.ts +0 -7
- package/lib/providers/personalize/utils/resolveConfig.js +0 -25
- package/lib/providers/pinpoint/apis/configureAutoTrack.d.ts +0 -15
- package/lib/providers/pinpoint/apis/flushEvents.d.ts +0 -8
- package/lib/providers/pinpoint/apis/flushEvents.js +0 -28
- package/lib/providers/pinpoint/apis/identifyUser.js +0 -83
- package/lib/providers/pinpoint/apis/index.d.ts +0 -4
- package/lib/providers/pinpoint/apis/record.d.ts +0 -30
- package/lib/providers/pinpoint/index.d.ts +0 -2
- package/lib/providers/pinpoint/types/index.d.ts +0 -2
- package/lib/providers/pinpoint/types/inputs.d.ts +0 -15
- package/lib/providers/pinpoint/types/options.d.ts +0 -5
- package/lib/providers/pinpoint/utils/index.d.ts +0 -2
- package/lib/providers/pinpoint/utils/resolveConfig.d.ts +0 -7
- package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +0 -7
- package/lib/providers/pinpoint/utils/resolveCredentials.js +0 -24
- package/lib/setupTests.d.ts +0 -1
- package/lib/trackers/EventTracker.d.ts +0 -10
- package/lib/trackers/EventTracker.js +0 -104
- package/lib/trackers/PageViewTracker.d.ts +0 -18
- package/lib/trackers/SessionTracker.d.ts +0 -13
- package/lib/trackers/SessionTracker.native.d.ts +0 -13
- package/lib/trackers/index.d.ts +0 -3
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types/index.d.ts +0 -3
- package/lib/types/index.js +0 -4
- package/lib/types/inputs.d.ts +0 -35
- package/lib/types/inputs.js +0 -4
- package/lib/types/kinesis.d.ts +0 -8
- package/lib/types/options.d.ts +0 -4
- package/lib/types/trackers.d.ts +0 -22
- package/lib/utils/eventBuffer/EventBuffer.d.ts +0 -16
- package/lib/utils/eventBuffer/EventBuffer.js +0 -91
- package/lib/utils/eventBuffer/index.d.ts +0 -2
- package/lib/utils/eventBuffer/types.d.ts +0 -8
- package/lib/utils/groupBy.d.ts +0 -1
- package/lib/utils/groupBy.js +0 -15
- package/lib/utils/index.d.ts +0 -7
- package/lib/utils/resolveCredentials.d.ts +0 -4
- package/lib/utils/resolveCredentials.js +0 -21
- package/lib/utils/statusHelpers.d.ts +0 -6
- package/lib/utils/trackerConfigHelpers.d.ts +0 -5
- package/lib/utils/trackerConfigHelpers.native.d.ts +0 -5
- package/lib/utils/trackerHelpers.d.ts +0 -9
- package/lib/utils/userAgent.d.ts +0 -4
- package/lib-esm/apis/disable.js +0 -11
- package/lib-esm/apis/enable.js +0 -10
- package/lib-esm/apis/index.js +0 -4
- package/lib-esm/errors/AnalyticsError.js +0 -20
- package/lib-esm/errors/assertValidationError.js +0 -17
- package/lib-esm/errors/index.js +0 -5
- package/lib-esm/index.js +0 -5
- package/lib-esm/providers/kinesis/apis/flushEvents.js +0 -34
- package/lib-esm/providers/kinesis/apis/index.js +0 -4
- package/lib-esm/providers/kinesis/apis/record.js +0 -44
- package/lib-esm/providers/kinesis/index.js +0 -3
- package/lib-esm/providers/kinesis/types/buffer.js +0 -3
- package/lib-esm/providers/kinesis/types/index.js +0 -3
- package/lib-esm/providers/kinesis/types/inputs.js +0 -3
- package/lib-esm/providers/kinesis/utils/getEventBuffer.js +0 -99
- package/lib-esm/providers/kinesis/utils/resolveConfig.js +0 -20
- package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +0 -33
- package/lib-esm/providers/kinesis-firehose/apis/index.js +0 -4
- package/lib-esm/providers/kinesis-firehose/apis/record.js +0 -41
- package/lib-esm/providers/kinesis-firehose/index.js +0 -3
- package/lib-esm/providers/kinesis-firehose/types/buffer.js +0 -3
- package/lib-esm/providers/kinesis-firehose/types/index.js +0 -3
- package/lib-esm/providers/kinesis-firehose/types/inputs.js +0 -3
- package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +0 -96
- package/lib-esm/providers/kinesis-firehose/utils/index.js +0 -4
- package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +0 -20
- package/lib-esm/providers/personalize/apis/flushEvents.js +0 -32
- package/lib-esm/providers/personalize/apis/index.js +0 -4
- package/lib-esm/providers/personalize/apis/record.js +0 -83
- package/lib-esm/providers/personalize/index.js +0 -3
- package/lib-esm/providers/personalize/types/buffer.js +0 -3
- package/lib-esm/providers/personalize/types/index.js +0 -3
- package/lib-esm/providers/personalize/types/inputs.js +0 -3
- package/lib-esm/providers/personalize/utils/autoTrackMedia.js +0 -179
- package/lib-esm/providers/personalize/utils/cachedSession.js +0 -56
- package/lib-esm/providers/personalize/utils/constants.js +0 -9
- package/lib-esm/providers/personalize/utils/getEventBuffer.js +0 -96
- package/lib-esm/providers/personalize/utils/index.js +0 -7
- package/lib-esm/providers/personalize/utils/resolveConfig.js +0 -21
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +0 -24
- package/lib-esm/providers/pinpoint/apis/index.js +0 -6
- package/lib-esm/providers/pinpoint/index.js +0 -3
- package/lib-esm/providers/pinpoint/types/index.js +0 -3
- package/lib-esm/providers/pinpoint/types/inputs.js +0 -3
- package/lib-esm/providers/pinpoint/types/options.js +0 -3
- package/lib-esm/providers/pinpoint/utils/index.js +0 -4
- package/lib-esm/providers/pinpoint/utils/resolveConfig.js +0 -14
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +0 -20
- package/lib-esm/trackers/EventTracker.js +0 -101
- package/lib-esm/trackers/index.js +0 -5
- package/lib-esm/tsconfig.tsbuildinfo +0 -1
- package/lib-esm/types/index.js +0 -3
- package/lib-esm/types/inputs.js +0 -3
- package/lib-esm/types/kinesis.js +0 -3
- package/lib-esm/types/options.js +0 -3
- package/lib-esm/types/trackers.js +0 -3
- package/lib-esm/utils/eventBuffer/EventBuffer.js +0 -88
- package/lib-esm/utils/eventBuffer/index.js +0 -3
- package/lib-esm/utils/eventBuffer/types.js +0 -3
- package/lib-esm/utils/groupBy.js +0 -11
- package/lib-esm/utils/index.js +0 -9
- package/lib-esm/utils/resolveCredentials.js +0 -17
- package/lib-esm/utils/statusHelpers.js +0 -13
- package/lib-esm/utils/trackerConfigHelpers.js +0 -11
- package/lib-esm/utils/trackerConfigHelpers.native.js +0 -10
- package/lib-esm/utils/userAgent.js +0 -15
- /package/{lib-esm → dist/esm}/apis/disable.d.ts +0 -0
- /package/{lib-esm → dist/esm}/apis/enable.d.ts +0 -0
- /package/{lib-esm → dist/esm}/apis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/AnalyticsError.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/assertValidationError.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/validation.d.ts +0 -0
- /package/{lib-esm → dist/esm}/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/apis/flushEvents.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/apis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/apis/record.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/types/buffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/types/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/types/inputs.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/utils/constants.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/utils/getEventBuffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis/utils/resolveConfig.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/apis/flushEvents.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/apis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/apis/record.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/types/buffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/types/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/types/inputs.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/constants.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/getEventBuffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/resolveConfig.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/apis/flushEvents.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/apis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/apis/record.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/types/buffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/types/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/types/inputs.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/utils/autoTrackMedia.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/utils/cachedSession.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/utils/constants.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/utils/getEventBuffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/utils/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/personalize/utils/resolveConfig.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/apis/configureAutoTrack.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/apis/flushEvents.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/apis/identifyUser.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/apis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/apis/record.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/types/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/types/inputs.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/types/options.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/utils/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/providers/pinpoint/utils/resolveConfig.d.ts +0 -0
- /package/{lib-esm → dist/esm}/setupTests.d.ts +0 -0
- /package/{lib-esm → dist/esm}/trackers/EventTracker.d.ts +0 -0
- /package/{lib-esm → dist/esm}/trackers/PageViewTracker.d.ts +0 -0
- /package/{lib-esm → dist/esm}/trackers/SessionTracker.d.ts +0 -0
- /package/{lib-esm → dist/esm}/trackers/SessionTracker.native.d.ts +0 -0
- /package/{lib-esm → dist/esm}/trackers/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/types/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/types/inputs.d.ts +0 -0
- /package/{lib-esm → dist/esm}/types/kinesis.d.ts +0 -0
- /package/{lib-esm → dist/esm}/types/options.d.ts +0 -0
- /package/{lib-esm → dist/esm}/types/trackers.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/eventBuffer/EventBuffer.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/eventBuffer/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/eventBuffer/types.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/groupBy.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/statusHelpers.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/trackerConfigHelpers.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/trackerConfigHelpers.native.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/trackerHelpers.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/userAgent.d.ts +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.record = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
9
|
+
const pinpoint_1 = require("@aws-amplify/core/internals/providers/pinpoint");
|
|
10
|
+
const errors_1 = require("../../../errors");
|
|
11
|
+
const utils_2 = require("../../../utils");
|
|
12
|
+
const utils_3 = require("../utils");
|
|
13
|
+
const logger = new core_1.ConsoleLogger('Analytics');
|
|
13
14
|
/**
|
|
14
15
|
* Records an Analytic event to Pinpoint. Events will be buffered and periodically sent to Pinpoint.
|
|
15
16
|
*
|
|
@@ -38,30 +39,30 @@ var logger = new core_1.ConsoleLogger('Analytics');
|
|
|
38
39
|
* })
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
const record = (input) => {
|
|
43
|
+
const { appId, region } = (0, utils_3.resolveConfig)();
|
|
43
44
|
if (!(0, utils_2.isAnalyticsEnabled)()) {
|
|
44
45
|
logger.debug('Analytics is disabled, event will not be recorded.');
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
47
48
|
(0, errors_1.assertValidationError)(!!input.name, errors_1.AnalyticsValidationErrorCode.NoEventName);
|
|
48
49
|
(0, utils_3.resolveCredentials)()
|
|
49
|
-
.then(
|
|
50
|
-
var credentials = _a.credentials, identityId = _a.identityId;
|
|
50
|
+
.then(({ credentials, identityId }) => {
|
|
51
51
|
core_1.Hub.dispatch('analytics', { event: 'record', data: input, message: 'Recording Analytics event' }, 'Analytics', utils_1.AMPLIFY_SYMBOL);
|
|
52
52
|
(0, pinpoint_1.record)({
|
|
53
|
-
appId
|
|
53
|
+
appId,
|
|
54
54
|
category: 'Analytics',
|
|
55
|
-
credentials
|
|
55
|
+
credentials,
|
|
56
56
|
event: input,
|
|
57
|
-
identityId
|
|
58
|
-
region
|
|
57
|
+
identityId,
|
|
58
|
+
region,
|
|
59
59
|
userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.Record),
|
|
60
60
|
});
|
|
61
61
|
})
|
|
62
|
-
.catch(
|
|
62
|
+
.catch(e => {
|
|
63
63
|
// An error occured while fetching credentials or persisting the event to the buffer
|
|
64
64
|
logger.warn('Failed to record event.', e);
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
67
|
exports.record = record;
|
|
68
|
+
//# sourceMappingURL=record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sources":["../../../../../src/providers/pinpoint/apis/record.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.record = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst pinpoint_1 = require(\"@aws-amplify/core/internals/providers/pinpoint\");\nconst errors_1 = require(\"../../../errors\");\nconst utils_2 = require(\"../../../utils\");\nconst utils_3 = require(\"../utils\");\nconst logger = new core_1.ConsoleLogger('Analytics');\n/**\n * Records an Analytic event to Pinpoint. Events will be buffered and periodically sent to Pinpoint.\n *\n * @param {RecordInput} params The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * // Send an event to Pinpoint\n * record({ name: eventName })\n * ```\n *\n * @example\n * ```ts\n * // Send an event to Pinpoint with metrics & custom attributes\n * record({\n * name: eventName,\n * attributes: {\n * 'my-attribute': attributeValue\n * },\n * metrics: {\n * 'my-metric': metricValue\n * }\n * })\n * ```\n */\nconst record = (input) => {\n const { appId, region } = (0, utils_3.resolveConfig)();\n if (!(0, utils_2.isAnalyticsEnabled)()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n (0, errors_1.assertValidationError)(!!input.name, errors_1.AnalyticsValidationErrorCode.NoEventName);\n (0, utils_3.resolveCredentials)()\n .then(({ credentials, identityId }) => {\n core_1.Hub.dispatch('analytics', { event: 'record', data: input, message: 'Recording Analytics event' }, 'Analytics', utils_1.AMPLIFY_SYMBOL);\n (0, pinpoint_1.record)({\n appId,\n category: 'Analytics',\n credentials,\n event: input,\n identityId,\n region,\n userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.Record),\n });\n })\n .catch(e => {\n // An error occured while fetching credentials or persisting the event to the buffer\n logger.warn('Failed to record event.', e);\n });\n};\nexports.record = record;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACxB,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,gDAAgD,CAAC,CAAC;AAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK;AAC1B,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC;AAC3D,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,kBAAkB,GAAG,EAAE;AAC5C,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC3E,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;AACzG,IAAI,IAAI,OAAO,CAAC,kBAAkB,GAAG;AACrC,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AAC/C,QAAQ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AACtJ,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;AAC/B,YAAY,KAAK;AACjB,YAAY,QAAQ,EAAE,WAAW;AACjC,YAAY,WAAW;AACvB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,UAAU;AACtB,YAAY,MAAM;AAClB,YAAY,cAAc,EAAE,IAAI,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;AACpG,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,CAAC,MAAM,GAAG,MAAM;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -8,3 +9,4 @@ Object.defineProperty(exports, "record", { enumerable: true, get: function () {
|
|
|
8
9
|
Object.defineProperty(exports, "identifyUser", { enumerable: true, get: function () { return apis_1.identifyUser; } });
|
|
9
10
|
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return apis_1.flushEvents; } });
|
|
10
11
|
Object.defineProperty(exports, "configureAutoTrack", { enumerable: true, get: function () { return apis_1.configureAutoTrack; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/providers/pinpoint/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.configureAutoTrack = exports.flushEvents = exports.identifyUser = exports.record = void 0;\nvar apis_1 = require(\"./apis\");\nObject.defineProperty(exports, \"record\", { enumerable: true, get: function () { return apis_1.record; } });\nObject.defineProperty(exports, \"identifyUser\", { enumerable: true, get: function () { return apis_1.identifyUser; } });\nObject.defineProperty(exports, \"flushEvents\", { enumerable: true, get: function () { return apis_1.flushEvents; } });\nObject.defineProperty(exports, \"configureAutoTrack\", { enumerable: true, get: function () { return apis_1.configureAutoTrack; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AAClG,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3G,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;AACvH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;AACrH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/providers/pinpoint/types/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sources":["../../../../../src/providers/pinpoint/types/inputs.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sources":["../../../../../src/providers/pinpoint/types/options.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -7,3 +8,4 @@ var resolveConfig_1 = require("./resolveConfig");
|
|
|
7
8
|
Object.defineProperty(exports, "resolveConfig", { enumerable: true, get: function () { return resolveConfig_1.resolveConfig; } });
|
|
8
9
|
var resolveCredentials_1 = require("./resolveCredentials");
|
|
9
10
|
Object.defineProperty(exports, "resolveCredentials", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/providers/pinpoint/utils/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentials = exports.resolveConfig = void 0;\nvar resolveConfig_1 = require(\"./resolveConfig\");\nObject.defineProperty(exports, \"resolveConfig\", { enumerable: true, get: function () { return resolveConfig_1.resolveConfig; } });\nvar resolveCredentials_1 = require(\"./resolveCredentials\");\nObject.defineProperty(exports, \"resolveCredentials\", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC5D,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACjD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;AAClI,IAAI,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC3D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;;"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.resolveConfig = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const errors_1 = require("../../../errors");
|
|
8
9
|
/**
|
|
9
10
|
* @internal
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _c = (_b = (_a = core_1.Amplify.getConfig().Analytics) === null || _a === void 0 ? void 0 : _a.Pinpoint) !== null && _b !== void 0 ? _b : {}, appId = _c.appId, region = _c.region;
|
|
12
|
+
const resolveConfig = () => {
|
|
13
|
+
const { appId, region } = core_1.Amplify.getConfig().Analytics?.Pinpoint ?? {};
|
|
14
14
|
(0, errors_1.assertValidationError)(!!appId, errors_1.AnalyticsValidationErrorCode.NoAppId);
|
|
15
15
|
(0, errors_1.assertValidationError)(!!region, errors_1.AnalyticsValidationErrorCode.NoRegion);
|
|
16
|
-
return { appId
|
|
16
|
+
return { appId, region };
|
|
17
17
|
};
|
|
18
18
|
exports.resolveConfig = resolveConfig;
|
|
19
|
+
//# sourceMappingURL=resolveConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveConfig.js","sources":["../../../../../src/providers/pinpoint/utils/resolveConfig.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveConfig = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst errors_1 = require(\"../../../errors\");\n/**\n * @internal\n */\nconst resolveConfig = () => {\n const { appId, region } = core_1.Amplify.getConfig().Analytics?.Pinpoint ?? {};\n (0, errors_1.assertValidationError)(!!appId, errors_1.AnalyticsValidationErrorCode.NoAppId);\n (0, errors_1.assertValidationError)(!!region, errors_1.AnalyticsValidationErrorCode.NoRegion);\n return { appId, region };\n};\nexports.resolveConfig = resolveConfig;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C;AACA;AACA;AACA,MAAM,aAAa,GAAG,MAAM;AAC5B,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;AACnF,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAChG,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAClG,IAAI,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC;AACF,OAAO,CAAC,aAAa,GAAG,aAAa;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveCredentials = void 0;
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const errors_1 = require("../../../errors");
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
const resolveCredentials = async () => {
|
|
13
|
+
const { credentials, identityId } = await (0, core_1.fetchAuthSession)();
|
|
14
|
+
(0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);
|
|
15
|
+
return { credentials, identityId };
|
|
16
|
+
};
|
|
17
|
+
exports.resolveCredentials = resolveCredentials;
|
|
18
|
+
//# sourceMappingURL=resolveCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveCredentials.js","sources":["../../../../../src/providers/pinpoint/utils/resolveCredentials.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentials = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst errors_1 = require(\"../../../errors\");\n/**\n * @internal\n */\nconst resolveCredentials = async () => {\n const { credentials, identityId } = await (0, core_1.fetchAuthSession)();\n (0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);\n return { credentials, identityId };\n};\nexports.resolveCredentials = resolveCredentials;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,YAAY;AACvC,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC;AAC7E,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;AAC5G,IAAI,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC,CAAC;AACF,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
+
const anyGlobal = global;
|
|
5
6
|
anyGlobal.navigator = anyGlobal.navigator || {};
|
|
6
7
|
// @ts-ignore
|
|
7
8
|
anyGlobal.navigator.sendBeacon = anyGlobal.navigator.sendBeacon || jest.fn();
|
|
9
|
+
//# sourceMappingURL=setupTests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupTests.js","sources":["../../src/setupTests.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst anyGlobal = global;\nanyGlobal.navigator = anyGlobal.navigator || {};\n// @ts-ignore\nanyGlobal.navigator.sendBeacon = anyGlobal.navigator.sendBeacon || jest.fn();\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;AAChD;AACA,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE;;"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventTracker = void 0;
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
9
|
+
const DEFAULT_EVENTS = ['click'];
|
|
10
|
+
const DEFAULT_SELECTOR_PREFIX = 'data-amplify-analytics-';
|
|
11
|
+
const DEFAULT_EVENT_NAME = 'event'; // Default event name as sent to the analytics provider
|
|
12
|
+
const logger = new core_1.ConsoleLogger('EventTracker');
|
|
13
|
+
class EventTracker {
|
|
14
|
+
constructor(eventRecorder, options) {
|
|
15
|
+
this.options = {};
|
|
16
|
+
this.trackerActive = false;
|
|
17
|
+
this.eventRecorder = eventRecorder;
|
|
18
|
+
this.handleDocEvent = this.handleDocEvent.bind(this);
|
|
19
|
+
this.configure(eventRecorder, options);
|
|
20
|
+
}
|
|
21
|
+
configure(eventRecorder, options) {
|
|
22
|
+
this.eventRecorder = eventRecorder;
|
|
23
|
+
// Clean up any existing listeners
|
|
24
|
+
this.cleanup();
|
|
25
|
+
// Apply defaults
|
|
26
|
+
this.options = {
|
|
27
|
+
attributes: options?.attributes ?? undefined,
|
|
28
|
+
events: options?.events ?? DEFAULT_EVENTS,
|
|
29
|
+
selectorPrefix: options?.selectorPrefix ?? DEFAULT_SELECTOR_PREFIX,
|
|
30
|
+
};
|
|
31
|
+
// Register event listeners
|
|
32
|
+
if ((0, utils_1.isBrowser)()) {
|
|
33
|
+
this.options.events?.forEach(targetEvent => {
|
|
34
|
+
document.addEventListener(targetEvent, this.handleDocEvent, {
|
|
35
|
+
capture: true,
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
this.trackerActive = true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
cleanup() {
|
|
42
|
+
// No-op if document listener is not active
|
|
43
|
+
if (!this.trackerActive) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// Clean up event listeners
|
|
47
|
+
this.options.events?.forEach(targetEvent => {
|
|
48
|
+
document.removeEventListener(targetEvent, this.handleDocEvent, {
|
|
49
|
+
capture: true,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
handleDocEvent(event) {
|
|
54
|
+
/**
|
|
55
|
+
* Example DOM element:
|
|
56
|
+
*
|
|
57
|
+
* ```
|
|
58
|
+
* <button
|
|
59
|
+
* data-amplify-analytics-on="click"
|
|
60
|
+
* data-amplify-analytics-name="click"
|
|
61
|
+
* data-amplify-analytics-attrs="attr1:attr1_value,attr2:attr2_value"
|
|
62
|
+
* />
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
const triggerSelector = `[${this.options.selectorPrefix}on]`;
|
|
66
|
+
const attrSelector = `${this.options.selectorPrefix}attrs`;
|
|
67
|
+
const eventNameSelector = `${this.options.selectorPrefix}name`;
|
|
68
|
+
const eventSource = event.target;
|
|
69
|
+
// Validate that the triggering event type is being tracked
|
|
70
|
+
if (!this.options.events?.includes(event.type)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (eventSource instanceof HTMLElement) {
|
|
74
|
+
const target = eventSource.closest(triggerSelector);
|
|
75
|
+
if (target) {
|
|
76
|
+
// Parse event name from the element
|
|
77
|
+
const eventName = target.getAttribute(eventNameSelector) || DEFAULT_EVENT_NAME;
|
|
78
|
+
// Parse attributes from the element
|
|
79
|
+
const elementAttributes = {};
|
|
80
|
+
const rawElementAttributes = target.getAttribute(attrSelector);
|
|
81
|
+
rawElementAttributes?.split(/\s*,\s*/).forEach(attr => {
|
|
82
|
+
const tmp = attr.trim().split(/\s*:\s*/);
|
|
83
|
+
elementAttributes[tmp[0]] = tmp[1];
|
|
84
|
+
});
|
|
85
|
+
// Assemble final list of attributes
|
|
86
|
+
const attributes = Object.assign({
|
|
87
|
+
type: event.type,
|
|
88
|
+
target: `${target.localName} with id ${target.id}`,
|
|
89
|
+
}, this.options.attributes, elementAttributes);
|
|
90
|
+
logger.debug('Recording automatically tracked DOM event', {
|
|
91
|
+
eventName,
|
|
92
|
+
attributes,
|
|
93
|
+
});
|
|
94
|
+
this.eventRecorder(eventName, attributes);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.EventTracker = EventTracker;
|
|
100
|
+
//# sourceMappingURL=EventTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventTracker.js","sources":["../../../src/trackers/EventTracker.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTracker = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst DEFAULT_EVENTS = ['click'];\nconst DEFAULT_SELECTOR_PREFIX = 'data-amplify-analytics-';\nconst DEFAULT_EVENT_NAME = 'event'; // Default event name as sent to the analytics provider\nconst logger = new core_1.ConsoleLogger('EventTracker');\nclass EventTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.trackerActive = false;\n this.eventRecorder = eventRecorder;\n this.handleDocEvent = this.handleDocEvent.bind(this);\n this.configure(eventRecorder, options);\n }\n configure(eventRecorder, options) {\n this.eventRecorder = eventRecorder;\n // Clean up any existing listeners\n this.cleanup();\n // Apply defaults\n this.options = {\n attributes: options?.attributes ?? undefined,\n events: options?.events ?? DEFAULT_EVENTS,\n selectorPrefix: options?.selectorPrefix ?? DEFAULT_SELECTOR_PREFIX,\n };\n // Register event listeners\n if ((0, utils_1.isBrowser)()) {\n this.options.events?.forEach(targetEvent => {\n document.addEventListener(targetEvent, this.handleDocEvent, {\n capture: true,\n });\n });\n this.trackerActive = true;\n }\n }\n cleanup() {\n // No-op if document listener is not active\n if (!this.trackerActive) {\n return;\n }\n // Clean up event listeners\n this.options.events?.forEach(targetEvent => {\n document.removeEventListener(targetEvent, this.handleDocEvent, {\n capture: true,\n });\n });\n }\n handleDocEvent(event) {\n /**\n * Example DOM element:\n *\n * ```\n * <button\n * data-amplify-analytics-on=\"click\"\n * data-amplify-analytics-name=\"click\"\n * data-amplify-analytics-attrs=\"attr1:attr1_value,attr2:attr2_value\"\n * />\n * ```\n */\n const triggerSelector = `[${this.options.selectorPrefix}on]`;\n const attrSelector = `${this.options.selectorPrefix}attrs`;\n const eventNameSelector = `${this.options.selectorPrefix}name`;\n const eventSource = event.target;\n // Validate that the triggering event type is being tracked\n if (!this.options.events?.includes(event.type)) {\n return;\n }\n if (eventSource instanceof HTMLElement) {\n const target = eventSource.closest(triggerSelector);\n if (target) {\n // Parse event name from the element\n const eventName = target.getAttribute(eventNameSelector) || DEFAULT_EVENT_NAME;\n // Parse attributes from the element\n const elementAttributes = {};\n const rawElementAttributes = target.getAttribute(attrSelector);\n rawElementAttributes?.split(/\\s*,\\s*/).forEach(attr => {\n const tmp = attr.trim().split(/\\s*:\\s*/);\n elementAttributes[tmp[0]] = tmp[1];\n });\n // Assemble final list of attributes\n const attributes = Object.assign({\n type: event.type,\n target: `${target.localName} with id ${target.id}`,\n }, this.options.attributes, elementAttributes);\n logger.debug('Recording automatically tracked DOM event', {\n eventName,\n attributes,\n });\n this.eventRecorder(eventName, attributes);\n }\n }\n }\n}\nexports.EventTracker = EventTracker;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.PageViewTracker = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
9
|
+
const logger = new core_1.ConsoleLogger('PageViewTracker');
|
|
10
|
+
const DEFAULT_EVENT_NAME = 'pageView';
|
|
11
|
+
const DEFAULT_APP_TYPE = 'singlePage';
|
|
12
|
+
const DEFAULT_URL_PROVIDER = () => {
|
|
12
13
|
return window.location.origin + window.location.pathname;
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const PREV_URL_STORAGE_KEY = 'aws-amplify-analytics-prevUrl';
|
|
16
|
+
class PageViewTracker {
|
|
17
|
+
constructor(eventRecorder, options) {
|
|
17
18
|
this.options = {};
|
|
18
19
|
this.trackerActive = true;
|
|
19
20
|
this.eventRecorder = eventRecorder;
|
|
@@ -21,17 +22,16 @@ var PageViewTracker = /** @class */ (function () {
|
|
|
21
22
|
this.handleLocationChange = this.handleLocationChange.bind(this);
|
|
22
23
|
this.configure(eventRecorder, options);
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
var _a, _b, _c, _d, _e, _f;
|
|
25
|
+
configure(eventRecorder, options) {
|
|
26
26
|
this.eventRecorder = eventRecorder;
|
|
27
27
|
// Clean up any existing listeners
|
|
28
28
|
this.cleanup();
|
|
29
29
|
// Apply defaults
|
|
30
30
|
this.options = {
|
|
31
|
-
appType:
|
|
32
|
-
attributes:
|
|
33
|
-
eventName:
|
|
34
|
-
urlProvider:
|
|
31
|
+
appType: options?.appType ?? DEFAULT_APP_TYPE,
|
|
32
|
+
attributes: options?.attributes ?? undefined,
|
|
33
|
+
eventName: this.options?.eventName ?? DEFAULT_EVENT_NAME,
|
|
34
|
+
urlProvider: this.options?.urlProvider ?? DEFAULT_URL_PROVIDER,
|
|
35
35
|
};
|
|
36
36
|
// Configure SPA or MPA page view tracking
|
|
37
37
|
if ((0, utils_1.isBrowser)()) {
|
|
@@ -43,9 +43,8 @@ var PageViewTracker = /** @class */ (function () {
|
|
|
43
43
|
}
|
|
44
44
|
this.trackerActive = true;
|
|
45
45
|
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var _a, _b;
|
|
46
|
+
}
|
|
47
|
+
cleanup() {
|
|
49
48
|
// No-op if document listener is not active
|
|
50
49
|
if (!this.trackerActive) {
|
|
51
50
|
return;
|
|
@@ -54,27 +53,26 @@ var PageViewTracker = /** @class */ (function () {
|
|
|
54
53
|
if (this.spaTrackingActive) {
|
|
55
54
|
window.history.pushState = this.originalPushState;
|
|
56
55
|
window.history.replaceState = this.originalReplaceState;
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
this.pushStateProxy?.revoke();
|
|
57
|
+
this.replaceStateProxy?.revoke();
|
|
59
58
|
window.removeEventListener('popstate', this.handleLocationChange);
|
|
60
59
|
this.spaTrackingActive = false;
|
|
61
60
|
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
var _this = this;
|
|
61
|
+
}
|
|
62
|
+
setupSPATracking() {
|
|
65
63
|
if (!this.spaTrackingActive) {
|
|
66
64
|
// Configure proxies on History APIs
|
|
67
65
|
this.pushStateProxy = Proxy.revocable(window.history.pushState, {
|
|
68
|
-
apply:
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
apply: (target, thisArg, args) => {
|
|
67
|
+
const proxiedResult = target.apply(thisArg, args);
|
|
68
|
+
this.handleLocationChange();
|
|
71
69
|
return proxiedResult;
|
|
72
70
|
},
|
|
73
71
|
});
|
|
74
72
|
this.replaceStateProxy = Proxy.revocable(window.history.replaceState, {
|
|
75
|
-
apply:
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
apply: (target, thisArg, args) => {
|
|
74
|
+
const proxiedResult = target.apply(thisArg, args);
|
|
75
|
+
this.handleLocationChange();
|
|
78
76
|
return proxiedResult;
|
|
79
77
|
},
|
|
80
78
|
});
|
|
@@ -86,31 +84,31 @@ var PageViewTracker = /** @class */ (function () {
|
|
|
86
84
|
sessionStorage.removeItem(PREV_URL_STORAGE_KEY);
|
|
87
85
|
this.spaTrackingActive = true;
|
|
88
86
|
}
|
|
89
|
-
}
|
|
90
|
-
|
|
87
|
+
}
|
|
88
|
+
setupMPATracking() {
|
|
91
89
|
this.handleLocationChange();
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
}
|
|
91
|
+
handleLocationChange() {
|
|
92
|
+
const currentUrl = this.options.urlProvider();
|
|
93
|
+
const eventName = this.options.eventName || DEFAULT_EVENT_NAME;
|
|
96
94
|
if (this.urlHasChanged()) {
|
|
97
95
|
sessionStorage.setItem(PREV_URL_STORAGE_KEY, currentUrl);
|
|
98
96
|
// Assemble attribute list
|
|
99
|
-
|
|
97
|
+
const attributes = Object.assign({
|
|
100
98
|
url: currentUrl,
|
|
101
99
|
}, this.options.attributes);
|
|
102
100
|
logger.debug('Recording automatically tracked page view event', {
|
|
103
|
-
eventName
|
|
104
|
-
attributes
|
|
101
|
+
eventName,
|
|
102
|
+
attributes,
|
|
105
103
|
});
|
|
106
104
|
this.eventRecorder(eventName, attributes);
|
|
107
105
|
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
}
|
|
107
|
+
urlHasChanged() {
|
|
108
|
+
const prevUrl = sessionStorage.getItem(PREV_URL_STORAGE_KEY);
|
|
109
|
+
const currUrl = this.options.urlProvider();
|
|
112
110
|
return currUrl !== prevUrl;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
}());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
116
113
|
exports.PageViewTracker = PageViewTracker;
|
|
114
|
+
//# sourceMappingURL=PageViewTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageViewTracker.js","sources":["../../../src/trackers/PageViewTracker.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PageViewTracker = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst logger = new core_1.ConsoleLogger('PageViewTracker');\nconst DEFAULT_EVENT_NAME = 'pageView';\nconst DEFAULT_APP_TYPE = 'singlePage';\nconst DEFAULT_URL_PROVIDER = () => {\n return window.location.origin + window.location.pathname;\n};\nconst PREV_URL_STORAGE_KEY = 'aws-amplify-analytics-prevUrl';\nclass PageViewTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.trackerActive = true;\n this.eventRecorder = eventRecorder;\n this.spaTrackingActive = false;\n this.handleLocationChange = this.handleLocationChange.bind(this);\n this.configure(eventRecorder, options);\n }\n configure(eventRecorder, options) {\n this.eventRecorder = eventRecorder;\n // Clean up any existing listeners\n this.cleanup();\n // Apply defaults\n this.options = {\n appType: options?.appType ?? DEFAULT_APP_TYPE,\n attributes: options?.attributes ?? undefined,\n eventName: this.options?.eventName ?? DEFAULT_EVENT_NAME,\n urlProvider: this.options?.urlProvider ?? DEFAULT_URL_PROVIDER,\n };\n // Configure SPA or MPA page view tracking\n if ((0, utils_1.isBrowser)()) {\n if (this.options.appType === 'singlePage') {\n this.setupSPATracking();\n }\n else {\n this.setupMPATracking();\n }\n this.trackerActive = true;\n }\n }\n cleanup() {\n // No-op if document listener is not active\n if (!this.trackerActive) {\n return;\n }\n // Clean up SPA page view listeners\n if (this.spaTrackingActive) {\n window.history.pushState = this.originalPushState;\n window.history.replaceState = this.originalReplaceState;\n this.pushStateProxy?.revoke();\n this.replaceStateProxy?.revoke();\n window.removeEventListener('popstate', this.handleLocationChange);\n this.spaTrackingActive = false;\n }\n }\n setupSPATracking() {\n if (!this.spaTrackingActive) {\n // Configure proxies on History APIs\n this.pushStateProxy = Proxy.revocable(window.history.pushState, {\n apply: (target, thisArg, args) => {\n const proxiedResult = target.apply(thisArg, args);\n this.handleLocationChange();\n return proxiedResult;\n },\n });\n this.replaceStateProxy = Proxy.revocable(window.history.replaceState, {\n apply: (target, thisArg, args) => {\n const proxiedResult = target.apply(thisArg, args);\n this.handleLocationChange();\n return proxiedResult;\n },\n });\n this.originalPushState = window.history.pushState;\n this.originalReplaceState = window.history.replaceState;\n window.history.pushState = this.pushStateProxy.proxy;\n window.history.replaceState = this.replaceStateProxy.proxy;\n window.addEventListener('popstate', this.handleLocationChange);\n sessionStorage.removeItem(PREV_URL_STORAGE_KEY);\n this.spaTrackingActive = true;\n }\n }\n setupMPATracking() {\n this.handleLocationChange();\n }\n handleLocationChange() {\n const currentUrl = this.options.urlProvider();\n const eventName = this.options.eventName || DEFAULT_EVENT_NAME;\n if (this.urlHasChanged()) {\n sessionStorage.setItem(PREV_URL_STORAGE_KEY, currentUrl);\n // Assemble attribute list\n const attributes = Object.assign({\n url: currentUrl,\n }, this.options.attributes);\n logger.debug('Recording automatically tracked page view event', {\n eventName,\n attributes,\n });\n this.eventRecorder(eventName, attributes);\n }\n }\n urlHasChanged() {\n const prevUrl = sessionStorage.getItem(PREV_URL_STORAGE_KEY);\n const currUrl = this.options.urlProvider();\n return currUrl !== prevUrl;\n }\n}\nexports.PageViewTracker = PageViewTracker;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.SessionTracker = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var SessionTracker = /** @class */ (function () {
|
|
12
|
-
function SessionTracker(eventRecorder, options) {
|
|
7
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
8
|
+
const core_1 = require("@aws-amplify/core");
|
|
9
|
+
const logger = new core_1.ConsoleLogger('SessionTracker');
|
|
10
|
+
class SessionTracker {
|
|
11
|
+
constructor(eventRecorder, options) {
|
|
13
12
|
this.options = {};
|
|
14
13
|
this.eventRecorder = eventRecorder;
|
|
15
14
|
this.sessionTrackingActive = false;
|
|
@@ -17,57 +16,54 @@ var SessionTracker = /** @class */ (function () {
|
|
|
17
16
|
this.handleStateChange = this.handleStateChange.bind(this);
|
|
18
17
|
this.configure(eventRecorder, options);
|
|
19
18
|
}
|
|
20
|
-
|
|
21
|
-
var _a;
|
|
19
|
+
configure(eventRecorder, options) {
|
|
22
20
|
this.eventRecorder = eventRecorder;
|
|
23
21
|
// Clean up any existing listeners
|
|
24
22
|
this.cleanup();
|
|
25
23
|
// Apply defaults
|
|
26
24
|
this.options = {
|
|
27
|
-
attributes:
|
|
25
|
+
attributes: options?.attributes ?? {},
|
|
28
26
|
};
|
|
29
27
|
// Setup state listeners
|
|
30
28
|
if (!this.sessionTrackingActive) {
|
|
31
29
|
utils_1.sessionListener.addStateChangeListener(this.handleStateChange, !this.initialEventSent);
|
|
32
30
|
this.sessionTrackingActive = true;
|
|
33
31
|
}
|
|
34
|
-
}
|
|
35
|
-
|
|
32
|
+
}
|
|
33
|
+
cleanup() {
|
|
36
34
|
if (this.sessionTrackingActive) {
|
|
37
35
|
utils_1.sessionListener.removeStateChangeListener(this.handleStateChange);
|
|
38
36
|
}
|
|
39
37
|
this.sessionTrackingActive = false;
|
|
40
|
-
}
|
|
41
|
-
|
|
38
|
+
}
|
|
39
|
+
handleStateChange(state) {
|
|
42
40
|
if (state === 'started') {
|
|
43
41
|
this.sessionStarted();
|
|
44
42
|
}
|
|
45
43
|
else {
|
|
46
44
|
this.sessionStopped();
|
|
47
45
|
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
var attributes = (_a = this.options.attributes) !== null && _a !== void 0 ? _a : {};
|
|
46
|
+
}
|
|
47
|
+
sessionStarted() {
|
|
48
|
+
const attributes = this.options.attributes ?? {};
|
|
52
49
|
logger.debug('Recording automatically tracked page view event', {
|
|
53
|
-
SESSION_START_EVENT: SESSION_START_EVENT,
|
|
54
|
-
attributes
|
|
50
|
+
SESSION_START_EVENT: utils_1.SESSION_START_EVENT,
|
|
51
|
+
attributes,
|
|
55
52
|
});
|
|
56
|
-
this.eventRecorder(SESSION_START_EVENT, attributes);
|
|
53
|
+
this.eventRecorder(utils_1.SESSION_START_EVENT, attributes);
|
|
57
54
|
// NOTE: The initial event will not be re-sent on re-configuration (e.g. to add additional custom attributes)
|
|
58
55
|
if (!this.initialEventSent) {
|
|
59
56
|
this.initialEventSent = true;
|
|
60
57
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
var attributes = (_a = this.options.attributes) !== null && _a !== void 0 ? _a : {};
|
|
58
|
+
}
|
|
59
|
+
sessionStopped() {
|
|
60
|
+
const attributes = this.options.attributes ?? {};
|
|
65
61
|
logger.debug('Recording automatically tracked page view event', {
|
|
66
|
-
SESSION_STOP_EVENT: SESSION_STOP_EVENT,
|
|
67
|
-
attributes
|
|
62
|
+
SESSION_STOP_EVENT: utils_1.SESSION_STOP_EVENT,
|
|
63
|
+
attributes,
|
|
68
64
|
});
|
|
69
|
-
this.eventRecorder(SESSION_STOP_EVENT, attributes);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
}());
|
|
65
|
+
this.eventRecorder(utils_1.SESSION_STOP_EVENT, attributes);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
73
68
|
exports.SessionTracker = SessionTracker;
|
|
69
|
+
//# sourceMappingURL=SessionTracker.js.map
|