@aws-amplify/analytics 0.0.0-unstable-1ca644b-20260128091132
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 +3 -0
- package/dist/cjs/apis/disable.js +16 -0
- package/dist/cjs/apis/disable.js.map +1 -0
- package/dist/cjs/apis/enable.js +15 -0
- package/dist/cjs/apis/enable.js.map +1 -0
- package/dist/cjs/apis/index.js +11 -0
- 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/dist/cjs/errors/assertValidationError.js +22 -0
- package/dist/cjs/errors/assertValidationError.js.map +1 -0
- package/dist/cjs/errors/index.js +14 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors/validation.js +44 -0
- package/dist/cjs/errors/validation.js.map +1 -0
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/providers/kinesis/apis/flushEvents.js +39 -0
- package/dist/cjs/providers/kinesis/apis/flushEvents.js.map +1 -0
- package/dist/cjs/providers/kinesis/apis/index.js +11 -0
- package/dist/cjs/providers/kinesis/apis/index.js.map +1 -0
- package/dist/cjs/providers/kinesis/apis/record.js +69 -0
- package/dist/cjs/providers/kinesis/apis/record.js.map +1 -0
- package/dist/cjs/providers/kinesis/index.js +10 -0
- package/dist/cjs/providers/kinesis/index.js.map +1 -0
- package/dist/cjs/providers/kinesis/types/buffer.js +6 -0
- package/dist/cjs/providers/kinesis/types/buffer.js.map +1 -0
- package/dist/cjs/providers/kinesis/types/index.js +6 -0
- package/dist/cjs/providers/kinesis/types/index.js.map +1 -0
- package/dist/cjs/providers/kinesis/types/inputs.js +6 -0
- package/dist/cjs/providers/kinesis/types/inputs.js.map +1 -0
- package/dist/cjs/providers/kinesis/utils/constants.js +13 -0
- package/dist/cjs/providers/kinesis/utils/constants.js.map +1 -0
- package/dist/cjs/providers/kinesis/utils/getEventBuffer.js +85 -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 +38 -0
- package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/apis/index.js +11 -0
- package/dist/cjs/providers/kinesis-firehose/apis/index.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/apis/record.js +62 -0
- package/dist/cjs/providers/kinesis-firehose/apis/record.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/index.js +10 -0
- package/dist/cjs/providers/kinesis-firehose/index.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/types/buffer.js +6 -0
- package/dist/cjs/providers/kinesis-firehose/types/buffer.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/types/index.js +6 -0
- package/dist/cjs/providers/kinesis-firehose/types/index.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/types/inputs.js +6 -0
- package/dist/cjs/providers/kinesis-firehose/types/inputs.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/utils/constants.js +13 -0
- package/dist/cjs/providers/kinesis-firehose/utils/constants.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js +83 -0
- package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js.map +1 -0
- package/dist/cjs/providers/kinesis-firehose/utils/index.js +11 -0
- 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 +37 -0
- package/dist/cjs/providers/personalize/apis/flushEvents.js.map +1 -0
- package/dist/cjs/providers/personalize/apis/index.js +11 -0
- package/dist/cjs/providers/personalize/apis/index.js.map +1 -0
- package/dist/cjs/providers/personalize/apis/record.js +98 -0
- package/dist/cjs/providers/personalize/apis/record.js.map +1 -0
- package/dist/cjs/providers/personalize/index.js +10 -0
- package/dist/cjs/providers/personalize/index.js.map +1 -0
- package/dist/cjs/providers/personalize/types/buffer.js +6 -0
- package/dist/cjs/providers/personalize/types/buffer.js.map +1 -0
- package/dist/cjs/providers/personalize/types/index.js +6 -0
- package/dist/cjs/providers/personalize/types/index.js.map +1 -0
- package/dist/cjs/providers/personalize/types/inputs.js +6 -0
- 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/dist/cjs/providers/personalize/utils/constants.js +14 -0
- package/dist/cjs/providers/personalize/utils/constants.js.map +1 -0
- package/dist/cjs/providers/personalize/utils/getEventBuffer.js +86 -0
- package/dist/cjs/providers/personalize/utils/getEventBuffer.js.map +1 -0
- package/dist/cjs/providers/personalize/utils/index.js +19 -0
- 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/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js +39 -0
- package/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js.map +1 -0
- package/dist/cjs/providers/pinpoint/apis/flushEvents.js +43 -0
- package/dist/cjs/providers/pinpoint/apis/flushEvents.js.map +1 -0
- package/dist/cjs/providers/pinpoint/apis/identifyUser.js +75 -0
- package/dist/cjs/providers/pinpoint/apis/identifyUser.js.map +1 -0
- package/dist/cjs/providers/pinpoint/apis/index.js +15 -0
- package/dist/cjs/providers/pinpoint/apis/index.js.map +1 -0
- package/dist/cjs/providers/pinpoint/apis/record.js +74 -0
- package/dist/cjs/providers/pinpoint/apis/record.js.map +1 -0
- package/dist/cjs/providers/pinpoint/index.js +12 -0
- package/dist/cjs/providers/pinpoint/index.js.map +1 -0
- package/dist/cjs/providers/pinpoint/types/index.js +6 -0
- package/dist/cjs/providers/pinpoint/types/index.js.map +1 -0
- package/dist/cjs/providers/pinpoint/types/inputs.js +6 -0
- package/dist/cjs/providers/pinpoint/types/inputs.js.map +1 -0
- package/dist/cjs/providers/pinpoint/types/options.js +6 -0
- package/dist/cjs/providers/pinpoint/types/options.js.map +1 -0
- package/dist/cjs/providers/pinpoint/utils/index.js +11 -0
- package/dist/cjs/providers/pinpoint/utils/index.js.map +1 -0
- package/dist/cjs/providers/pinpoint/utils/resolveConfig.js +19 -0
- 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/dist/cjs/trackers/EventTracker.js +100 -0
- package/dist/cjs/trackers/EventTracker.js.map +1 -0
- package/dist/cjs/trackers/PageViewTracker.js +112 -0
- package/dist/cjs/trackers/PageViewTracker.js.map +1 -0
- package/dist/cjs/trackers/SessionTracker.js +69 -0
- package/dist/cjs/trackers/SessionTracker.js.map +1 -0
- package/dist/cjs/trackers/SessionTracker.native.js +69 -0
- package/dist/cjs/trackers/SessionTracker.native.js.map +1 -0
- package/dist/cjs/trackers/index.js +13 -0
- 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/dist/cjs/types/kinesis.js +6 -0
- package/dist/cjs/types/kinesis.js.map +1 -0
- package/dist/cjs/types/options.js +6 -0
- package/dist/cjs/types/options.js.map +1 -0
- package/dist/cjs/types/trackers.js +6 -0
- 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/dist/cjs/utils/eventBuffer/index.js +9 -0
- package/dist/cjs/utils/eventBuffer/index.js.map +1 -0
- package/dist/cjs/utils/eventBuffer/types.js +6 -0
- 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/dist/cjs/utils/index.js +24 -0
- 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/dist/cjs/utils/statusHelpers.js +21 -0
- package/dist/cjs/utils/statusHelpers.js.map +1 -0
- package/dist/cjs/utils/trackerConfigHelpers.js +17 -0
- package/dist/cjs/utils/trackerConfigHelpers.js.map +1 -0
- package/dist/cjs/utils/trackerConfigHelpers.native.js +16 -0
- package/dist/cjs/utils/trackerConfigHelpers.native.js.map +1 -0
- package/dist/cjs/utils/trackerHelpers.js +46 -0
- package/dist/cjs/utils/trackerHelpers.js.map +1 -0
- package/dist/cjs/utils/userAgent.js +21 -0
- package/dist/cjs/utils/userAgent.js.map +1 -0
- package/dist/esm/apis/disable.d.ts +8 -0
- package/dist/esm/apis/disable.mjs +22 -0
- package/dist/esm/apis/disable.mjs.map +1 -0
- package/dist/esm/apis/enable.d.ts +7 -0
- package/dist/esm/apis/enable.mjs +21 -0
- package/dist/esm/apis/enable.mjs.map +1 -0
- package/dist/esm/apis/index.d.ts +2 -0
- package/dist/esm/apis/index.mjs +3 -0
- package/dist/esm/apis/index.mjs.map +1 -0
- package/dist/esm/errors/AnalyticsError.d.ts +7 -0
- package/dist/esm/errors/AnalyticsError.mjs +19 -0
- package/dist/esm/errors/AnalyticsError.mjs.map +1 -0
- package/dist/esm/errors/assertValidationError.d.ts +5 -0
- package/dist/esm/errors/assertValidationError.mjs +21 -0
- package/dist/esm/errors/assertValidationError.mjs.map +1 -0
- package/dist/esm/errors/index.d.ts +3 -0
- package/dist/esm/errors/index.mjs +4 -0
- package/dist/esm/errors/index.mjs.map +1 -0
- package/dist/esm/errors/validation.d.ts +12 -0
- package/dist/esm/errors/validation.mjs +42 -0
- package/dist/esm/errors/validation.mjs.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.mjs +9 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
- package/dist/esm/providers/kinesis/apis/flushEvents.mjs +43 -0
- package/dist/esm/providers/kinesis/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/kinesis/apis/index.d.ts +2 -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.d.ts +23 -0
- package/dist/esm/providers/kinesis/apis/record.mjs +74 -0
- package/dist/esm/providers/kinesis/apis/record.mjs.map +1 -0
- package/dist/esm/providers/kinesis/index.d.ts +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.d.ts +15 -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.d.ts +2 -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.d.ts +6 -0
- package/dist/esm/providers/kinesis/types/inputs.mjs +2 -0
- package/dist/esm/providers/kinesis/types/inputs.mjs.map +1 -0
- package/dist/esm/providers/kinesis/utils/constants.d.ts +6 -0
- package/dist/esm/providers/kinesis/utils/constants.mjs +11 -0
- package/dist/esm/providers/kinesis/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
- package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs +89 -0
- package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs.map +1 -0
- package/dist/esm/providers/kinesis/utils/resolveConfig.d.ts +7 -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.d.ts +8 -0
- package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs +43 -0
- package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/apis/index.d.ts +2 -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.d.ts +19 -0
- package/dist/esm/providers/kinesis-firehose/apis/record.mjs +68 -0
- package/dist/esm/providers/kinesis-firehose/apis/record.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/index.d.ts +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.d.ts +15 -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.d.ts +2 -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.d.ts +5 -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/dist/esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
- package/dist/esm/providers/kinesis-firehose/utils/constants.mjs +11 -0
- package/dist/esm/providers/kinesis-firehose/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
- package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs +87 -0
- package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs.map +1 -0
- package/dist/esm/providers/kinesis-firehose/utils/index.d.ts +2 -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.d.ts +7 -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.d.ts +8 -0
- package/dist/esm/providers/personalize/apis/flushEvents.mjs +43 -0
- package/dist/esm/providers/personalize/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/personalize/apis/index.d.ts +2 -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.d.ts +27 -0
- package/dist/esm/providers/personalize/apis/record.mjs +106 -0
- package/dist/esm/providers/personalize/apis/record.mjs.map +1 -0
- package/dist/esm/providers/personalize/index.d.ts +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.d.ts +16 -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.d.ts +2 -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.d.ts +7 -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.d.ts +10 -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.d.ts +5 -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.d.ts +7 -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.d.ts +3 -0
- package/dist/esm/providers/personalize/utils/getEventBuffer.mjs +90 -0
- package/dist/esm/providers/personalize/utils/getEventBuffer.mjs.map +1 -0
- package/dist/esm/providers/personalize/utils/index.d.ts +5 -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.d.ts +7 -0
- package/dist/esm/providers/personalize/utils/resolveConfig.mjs +28 -0
- package/dist/esm/providers/personalize/utils/resolveConfig.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/configureAutoTrack.d.ts +17 -0
- package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs +42 -0
- package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/flushEvents.d.ts +10 -0
- package/dist/esm/providers/pinpoint/apis/flushEvents.mjs +47 -0
- package/dist/esm/providers/pinpoint/apis/flushEvents.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/identifyUser.d.ts +49 -0
- package/dist/esm/providers/pinpoint/apis/identifyUser.mjs +80 -0
- package/dist/esm/providers/pinpoint/apis/identifyUser.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/index.d.ts +4 -0
- package/dist/esm/providers/pinpoint/apis/index.mjs +5 -0
- package/dist/esm/providers/pinpoint/apis/index.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/apis/record.d.ts +32 -0
- package/dist/esm/providers/pinpoint/apis/record.mjs +79 -0
- package/dist/esm/providers/pinpoint/apis/record.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/index.d.ts +2 -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.d.ts +2 -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.d.ts +15 -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.d.ts +5 -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.d.ts +2 -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.d.ts +11 -0
- package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs +19 -0
- package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs.map +1 -0
- package/dist/esm/providers/pinpoint/utils/resolveCredentials.d.ts +7 -0
- package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs +18 -0
- package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs.map +1 -0
- package/dist/esm/trackers/EventTracker.d.ts +10 -0
- package/dist/esm/trackers/EventTracker.mjs +98 -0
- package/dist/esm/trackers/EventTracker.mjs.map +1 -0
- package/dist/esm/trackers/PageViewTracker.d.ts +18 -0
- package/dist/esm/trackers/PageViewTracker.mjs +110 -0
- package/dist/esm/trackers/PageViewTracker.mjs.map +1 -0
- package/dist/esm/trackers/SessionTracker.d.ts +13 -0
- package/dist/esm/trackers/SessionTracker.mjs +67 -0
- package/dist/esm/trackers/SessionTracker.mjs.map +1 -0
- package/dist/esm/trackers/SessionTracker.native.d.ts +13 -0
- package/dist/esm/trackers/SessionTracker.native.mjs +67 -0
- package/dist/esm/trackers/SessionTracker.native.mjs.map +1 -0
- package/dist/esm/trackers/index.d.ts +3 -0
- package/dist/esm/trackers/index.mjs +4 -0
- package/dist/esm/trackers/index.mjs.map +1 -0
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/esm/types/index.mjs +2 -0
- package/dist/esm/types/index.mjs.map +1 -0
- package/dist/esm/types/inputs.d.ts +35 -0
- package/dist/esm/types/inputs.mjs +2 -0
- package/dist/esm/types/inputs.mjs.map +1 -0
- package/dist/esm/types/kinesis.d.ts +8 -0
- package/dist/esm/types/kinesis.mjs +2 -0
- package/dist/esm/types/kinesis.mjs.map +1 -0
- package/dist/esm/types/options.d.ts +4 -0
- package/dist/esm/types/options.mjs +2 -0
- package/dist/esm/types/options.mjs.map +1 -0
- package/dist/esm/types/trackers.d.ts +22 -0
- package/dist/esm/types/trackers.mjs +2 -0
- package/dist/esm/types/trackers.mjs.map +1 -0
- package/dist/esm/utils/eventBuffer/EventBuffer.d.ts +16 -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.d.ts +2 -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.d.ts +6 -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.d.ts +1 -0
- package/dist/esm/utils/groupBy.mjs +11 -0
- package/dist/esm/utils/groupBy.mjs.map +1 -0
- package/dist/esm/utils/index.d.ts +7 -0
- package/dist/esm/utils/index.mjs +8 -0
- package/dist/esm/utils/index.mjs.map +1 -0
- package/dist/esm/utils/resolveCredentials.d.ts +4 -0
- package/dist/esm/utils/resolveCredentials.mjs +15 -0
- package/dist/esm/utils/resolveCredentials.mjs.map +1 -0
- package/dist/esm/utils/statusHelpers.d.ts +6 -0
- package/dist/esm/utils/statusHelpers.mjs +16 -0
- package/dist/esm/utils/statusHelpers.mjs.map +1 -0
- package/dist/esm/utils/trackerConfigHelpers.d.ts +5 -0
- package/dist/esm/utils/trackerConfigHelpers.mjs +17 -0
- package/dist/esm/utils/trackerConfigHelpers.mjs.map +1 -0
- package/dist/esm/utils/trackerConfigHelpers.native.d.ts +5 -0
- package/dist/esm/utils/trackerConfigHelpers.native.mjs +16 -0
- package/dist/esm/utils/trackerConfigHelpers.native.mjs.map +1 -0
- package/dist/esm/utils/trackerHelpers.d.ts +9 -0
- package/dist/esm/utils/trackerHelpers.mjs +46 -0
- package/dist/esm/utils/trackerHelpers.mjs.map +1 -0
- package/dist/esm/utils/userAgent.d.ts +4 -0
- package/dist/esm/utils/userAgent.mjs +19 -0
- package/dist/esm/utils/userAgent.mjs.map +1 -0
- package/kinesis/package.json +8 -0
- package/kinesis-firehose/package.json +8 -0
- package/package.json +110 -0
- package/personalize/package.json +8 -0
- package/pinpoint/package.json +8 -0
- package/src/apis/disable.ts +13 -0
- package/src/apis/enable.ts +12 -0
- package/src/apis/index.ts +5 -0
- package/src/errors/AnalyticsError.ts +21 -0
- package/src/errors/assertValidationError.ts +25 -0
- package/src/errors/index.ts +6 -0
- package/src/errors/validation.ts +43 -0
- package/src/index.ts +14 -0
- package/src/providers/kinesis/apis/flushEvents.ts +43 -0
- package/src/providers/kinesis/apis/index.ts +5 -0
- package/src/providers/kinesis/apis/record.ts +82 -0
- package/src/providers/kinesis/index.ts +4 -0
- package/src/providers/kinesis/types/buffer.ts +21 -0
- package/src/providers/kinesis/types/index.ts +5 -0
- package/src/providers/kinesis/types/inputs.ts +10 -0
- package/src/providers/kinesis/utils/constants.ts +9 -0
- package/src/providers/kinesis/utils/getEventBuffer.ts +130 -0
- package/src/providers/kinesis/utils/resolveConfig.ts +39 -0
- package/src/providers/kinesis-firehose/apis/flushEvents.ts +42 -0
- package/src/providers/kinesis-firehose/apis/index.ts +5 -0
- package/src/providers/kinesis-firehose/apis/record.ts +71 -0
- package/src/providers/kinesis-firehose/index.ts +4 -0
- package/src/providers/kinesis-firehose/types/buffer.ts +21 -0
- package/src/providers/kinesis-firehose/types/index.ts +9 -0
- package/src/providers/kinesis-firehose/types/inputs.ts +9 -0
- package/src/providers/kinesis-firehose/utils/constants.ts +9 -0
- package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +138 -0
- package/src/providers/kinesis-firehose/utils/index.ts +5 -0
- package/src/providers/kinesis-firehose/utils/resolveConfig.ts +39 -0
- package/src/providers/personalize/apis/flushEvents.ts +40 -0
- package/src/providers/personalize/apis/index.ts +5 -0
- package/src/providers/personalize/apis/record.ts +130 -0
- package/src/providers/personalize/index.ts +4 -0
- package/src/providers/personalize/types/buffer.ts +23 -0
- package/src/providers/personalize/types/index.ts +5 -0
- package/src/providers/personalize/types/inputs.ts +11 -0
- package/src/providers/personalize/utils/autoTrackMedia.ts +240 -0
- package/src/providers/personalize/utils/cachedSession.ts +68 -0
- package/src/providers/personalize/utils/constants.ts +12 -0
- package/src/providers/personalize/utils/getEventBuffer.ts +135 -0
- package/src/providers/personalize/utils/index.ts +11 -0
- package/src/providers/personalize/utils/resolveConfig.ts +46 -0
- package/src/providers/pinpoint/apis/configureAutoTrack.ts +54 -0
- package/src/providers/pinpoint/apis/flushEvents.ts +42 -0
- package/src/providers/pinpoint/apis/identifyUser.ts +81 -0
- package/src/providers/pinpoint/apis/index.ts +7 -0
- package/src/providers/pinpoint/apis/record.ts +92 -0
- package/src/providers/pinpoint/index.ts +9 -0
- package/src/providers/pinpoint/types/index.ts +9 -0
- package/src/providers/pinpoint/types/inputs.ts +26 -0
- package/src/providers/pinpoint/types/options.ts +12 -0
- package/src/providers/pinpoint/utils/index.ts +5 -0
- package/src/providers/pinpoint/utils/resolveConfig.ts +21 -0
- package/src/providers/pinpoint/utils/resolveCredentials.ts +22 -0
- package/src/trackers/EventTracker.ts +136 -0
- package/src/trackers/PageViewTracker.ts +155 -0
- package/src/trackers/SessionTracker.native.ts +106 -0
- package/src/trackers/SessionTracker.ts +106 -0
- package/src/trackers/index.ts +6 -0
- package/src/types/index.ts +11 -0
- package/src/types/inputs.ts +53 -0
- package/src/types/kinesis.ts +13 -0
- package/src/types/options.ts +7 -0
- package/src/types/trackers.ts +35 -0
- package/src/utils/eventBuffer/EventBuffer.ts +85 -0
- package/src/utils/eventBuffer/index.ts +5 -0
- package/src/utils/eventBuffer/types.ts +10 -0
- package/src/utils/groupBy.ts +16 -0
- package/src/utils/index.ts +21 -0
- package/src/utils/resolveCredentials.ts +16 -0
- package/src/utils/statusHelpers.ts +17 -0
- package/src/utils/trackerConfigHelpers.native.ts +18 -0
- package/src/utils/trackerConfigHelpers.ts +19 -0
- package/src/utils/trackerHelpers.ts +56 -0
- package/src/utils/userAgent.ts +23 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PageViewTrackingOptions, TrackerEventRecorder, TrackerInterface } from '../types/trackers';
|
|
2
|
+
export declare class PageViewTracker implements TrackerInterface {
|
|
3
|
+
private trackerActive;
|
|
4
|
+
private options;
|
|
5
|
+
private eventRecorder;
|
|
6
|
+
private spaTrackingActive;
|
|
7
|
+
private pushStateProxy?;
|
|
8
|
+
private replaceStateProxy?;
|
|
9
|
+
private originalPushState;
|
|
10
|
+
private originalReplaceState;
|
|
11
|
+
constructor(eventRecorder: TrackerEventRecorder, options?: PageViewTrackingOptions);
|
|
12
|
+
configure(eventRecorder: TrackerEventRecorder, options?: PageViewTrackingOptions): void;
|
|
13
|
+
cleanup(): void;
|
|
14
|
+
private setupSPATracking;
|
|
15
|
+
private setupMPATracking;
|
|
16
|
+
private handleLocationChange;
|
|
17
|
+
private urlHasChanged;
|
|
18
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ConsoleLogger } from '@aws-amplify/core';
|
|
2
|
+
import { isBrowser } from '@aws-amplify/core/internals/utils';
|
|
3
|
+
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
const logger = new ConsoleLogger('PageViewTracker');
|
|
7
|
+
const DEFAULT_EVENT_NAME = 'pageView';
|
|
8
|
+
const DEFAULT_APP_TYPE = 'singlePage';
|
|
9
|
+
const DEFAULT_URL_PROVIDER = () => {
|
|
10
|
+
return window.location.origin + window.location.pathname;
|
|
11
|
+
};
|
|
12
|
+
const PREV_URL_STORAGE_KEY = 'aws-amplify-analytics-prevUrl';
|
|
13
|
+
class PageViewTracker {
|
|
14
|
+
constructor(eventRecorder, options) {
|
|
15
|
+
this.options = {};
|
|
16
|
+
this.trackerActive = true;
|
|
17
|
+
this.eventRecorder = eventRecorder;
|
|
18
|
+
this.spaTrackingActive = false;
|
|
19
|
+
this.handleLocationChange = this.handleLocationChange.bind(this);
|
|
20
|
+
this.configure(eventRecorder, options);
|
|
21
|
+
}
|
|
22
|
+
configure(eventRecorder, options) {
|
|
23
|
+
this.eventRecorder = eventRecorder;
|
|
24
|
+
// Clean up any existing listeners
|
|
25
|
+
this.cleanup();
|
|
26
|
+
// Apply defaults
|
|
27
|
+
this.options = {
|
|
28
|
+
appType: options?.appType ?? DEFAULT_APP_TYPE,
|
|
29
|
+
attributes: options?.attributes ?? undefined,
|
|
30
|
+
eventName: options?.eventName ?? DEFAULT_EVENT_NAME,
|
|
31
|
+
urlProvider: options?.urlProvider ?? DEFAULT_URL_PROVIDER,
|
|
32
|
+
};
|
|
33
|
+
// Configure SPA or MPA page view tracking
|
|
34
|
+
if (isBrowser()) {
|
|
35
|
+
if (this.options.appType === 'singlePage') {
|
|
36
|
+
this.setupSPATracking();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.setupMPATracking();
|
|
40
|
+
}
|
|
41
|
+
this.trackerActive = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
cleanup() {
|
|
45
|
+
// No-op if document listener is not active
|
|
46
|
+
if (!this.trackerActive) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// Clean up SPA page view listeners
|
|
50
|
+
if (this.spaTrackingActive) {
|
|
51
|
+
window.history.pushState = this.originalPushState;
|
|
52
|
+
window.history.replaceState = this.originalReplaceState;
|
|
53
|
+
this.pushStateProxy?.revoke();
|
|
54
|
+
this.replaceStateProxy?.revoke();
|
|
55
|
+
window.removeEventListener('popstate', this.handleLocationChange);
|
|
56
|
+
this.spaTrackingActive = false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
setupSPATracking() {
|
|
60
|
+
if (!this.spaTrackingActive) {
|
|
61
|
+
// Configure proxies on History APIs
|
|
62
|
+
this.pushStateProxy = Proxy.revocable(window.history.pushState, {
|
|
63
|
+
apply: (target, thisArg, args) => {
|
|
64
|
+
target.apply(thisArg, args);
|
|
65
|
+
this.handleLocationChange();
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
this.replaceStateProxy = Proxy.revocable(window.history.replaceState, {
|
|
69
|
+
apply: (target, thisArg, args) => {
|
|
70
|
+
target.apply(thisArg, args);
|
|
71
|
+
this.handleLocationChange();
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
this.originalPushState = window.history.pushState;
|
|
75
|
+
this.originalReplaceState = window.history.replaceState;
|
|
76
|
+
window.history.pushState = this.pushStateProxy.proxy;
|
|
77
|
+
window.history.replaceState = this.replaceStateProxy.proxy;
|
|
78
|
+
window.addEventListener('popstate', this.handleLocationChange);
|
|
79
|
+
sessionStorage.removeItem(PREV_URL_STORAGE_KEY);
|
|
80
|
+
this.spaTrackingActive = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
setupMPATracking() {
|
|
84
|
+
this.handleLocationChange();
|
|
85
|
+
}
|
|
86
|
+
handleLocationChange() {
|
|
87
|
+
const currentUrl = this.options.urlProvider();
|
|
88
|
+
const eventName = this.options.eventName || DEFAULT_EVENT_NAME;
|
|
89
|
+
if (this.urlHasChanged()) {
|
|
90
|
+
sessionStorage.setItem(PREV_URL_STORAGE_KEY, currentUrl);
|
|
91
|
+
// Assemble attribute list
|
|
92
|
+
const attributes = Object.assign({
|
|
93
|
+
url: currentUrl,
|
|
94
|
+
}, this.options.attributes);
|
|
95
|
+
logger.debug('Recording automatically tracked page view event', {
|
|
96
|
+
eventName,
|
|
97
|
+
attributes,
|
|
98
|
+
});
|
|
99
|
+
this.eventRecorder(eventName, attributes);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
urlHasChanged() {
|
|
103
|
+
const prevUrl = sessionStorage.getItem(PREV_URL_STORAGE_KEY);
|
|
104
|
+
const currUrl = this.options.urlProvider();
|
|
105
|
+
return currUrl !== prevUrl;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { PageViewTracker };
|
|
110
|
+
//# sourceMappingURL=PageViewTracker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageViewTracker.mjs","sources":["../../../src/trackers/PageViewTracker.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { isBrowser } from '@aws-amplify/core/internals/utils';\nconst logger = new 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';\nexport class 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: options?.eventName ?? DEFAULT_EVENT_NAME,\n urlProvider: options?.urlProvider ?? DEFAULT_URL_PROVIDER,\n };\n // Configure SPA or MPA page view tracking\n if (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 target.apply(thisArg, args);\n this.handleLocationChange();\n },\n });\n this.replaceStateProxy = Proxy.revocable(window.history.replaceState, {\n apply: (target, thisArg, args) => {\n target.apply(thisArg, args);\n this.handleLocationChange();\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}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SessionTrackingOptions, TrackerEventRecorder, TrackerInterface } from '../types/trackers';
|
|
2
|
+
export declare class SessionTracker implements TrackerInterface {
|
|
3
|
+
private options;
|
|
4
|
+
private eventRecorder;
|
|
5
|
+
private sessionTrackingActive;
|
|
6
|
+
private initialEventSent;
|
|
7
|
+
constructor(eventRecorder: TrackerEventRecorder, options?: SessionTrackingOptions);
|
|
8
|
+
configure(eventRecorder: TrackerEventRecorder, options?: SessionTrackingOptions): void;
|
|
9
|
+
cleanup(): void;
|
|
10
|
+
private handleStateChange;
|
|
11
|
+
private sessionStarted;
|
|
12
|
+
private sessionStopped;
|
|
13
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { sessionListener, SESSION_START_EVENT, SESSION_STOP_EVENT } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { ConsoleLogger } from '@aws-amplify/core';
|
|
3
|
+
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
const logger = new ConsoleLogger('SessionTracker');
|
|
7
|
+
class SessionTracker {
|
|
8
|
+
constructor(eventRecorder, options) {
|
|
9
|
+
this.options = {};
|
|
10
|
+
this.eventRecorder = eventRecorder;
|
|
11
|
+
this.sessionTrackingActive = false;
|
|
12
|
+
this.initialEventSent = false;
|
|
13
|
+
this.handleStateChange = this.handleStateChange.bind(this);
|
|
14
|
+
this.configure(eventRecorder, options);
|
|
15
|
+
}
|
|
16
|
+
configure(eventRecorder, options) {
|
|
17
|
+
this.eventRecorder = eventRecorder;
|
|
18
|
+
// Clean up any existing listeners
|
|
19
|
+
this.cleanup();
|
|
20
|
+
// Apply defaults
|
|
21
|
+
this.options = {
|
|
22
|
+
attributes: options?.attributes ?? {},
|
|
23
|
+
};
|
|
24
|
+
// Setup state listeners
|
|
25
|
+
if (!this.sessionTrackingActive) {
|
|
26
|
+
sessionListener.addStateChangeListener(this.handleStateChange, !this.initialEventSent);
|
|
27
|
+
this.sessionTrackingActive = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
cleanup() {
|
|
31
|
+
if (this.sessionTrackingActive) {
|
|
32
|
+
sessionListener.removeStateChangeListener(this.handleStateChange);
|
|
33
|
+
}
|
|
34
|
+
this.sessionTrackingActive = false;
|
|
35
|
+
}
|
|
36
|
+
handleStateChange(state) {
|
|
37
|
+
if (state === 'started') {
|
|
38
|
+
this.sessionStarted();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.sessionStopped();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
sessionStarted() {
|
|
45
|
+
const attributes = this.options.attributes ?? {};
|
|
46
|
+
logger.debug('Recording automatically tracked page view event', {
|
|
47
|
+
SESSION_START_EVENT,
|
|
48
|
+
attributes,
|
|
49
|
+
});
|
|
50
|
+
this.eventRecorder(SESSION_START_EVENT, attributes);
|
|
51
|
+
// NOTE: The initial event will not be re-sent on re-configuration (e.g. to add additional custom attributes)
|
|
52
|
+
if (!this.initialEventSent) {
|
|
53
|
+
this.initialEventSent = true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
sessionStopped() {
|
|
57
|
+
const attributes = this.options.attributes ?? {};
|
|
58
|
+
logger.debug('Recording automatically tracked page view event', {
|
|
59
|
+
SESSION_STOP_EVENT,
|
|
60
|
+
attributes,
|
|
61
|
+
});
|
|
62
|
+
this.eventRecorder(SESSION_STOP_EVENT, attributes);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { SessionTracker };
|
|
67
|
+
//# sourceMappingURL=SessionTracker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionTracker.mjs","sources":["../../../src/trackers/SessionTracker.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { SESSION_START_EVENT, SESSION_STOP_EVENT, sessionListener, } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('SessionTracker');\nexport class SessionTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.eventRecorder = eventRecorder;\n this.sessionTrackingActive = false;\n this.initialEventSent = false;\n this.handleStateChange = this.handleStateChange.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 ?? {},\n };\n // Setup state listeners\n if (!this.sessionTrackingActive) {\n sessionListener.addStateChangeListener(this.handleStateChange, !this.initialEventSent);\n this.sessionTrackingActive = true;\n }\n }\n cleanup() {\n if (this.sessionTrackingActive) {\n sessionListener.removeStateChangeListener(this.handleStateChange);\n }\n this.sessionTrackingActive = false;\n }\n handleStateChange(state) {\n if (state === 'started') {\n this.sessionStarted();\n }\n else {\n this.sessionStopped();\n }\n }\n sessionStarted() {\n const attributes = this.options.attributes ?? {};\n logger.debug('Recording automatically tracked page view event', {\n SESSION_START_EVENT,\n attributes,\n });\n this.eventRecorder(SESSION_START_EVENT, attributes);\n // NOTE: The initial event will not be re-sent on re-configuration (e.g. to add additional custom attributes)\n if (!this.initialEventSent) {\n this.initialEventSent = true;\n }\n }\n sessionStopped() {\n const attributes = this.options.attributes ?? {};\n logger.debug('Recording automatically tracked page view event', {\n SESSION_STOP_EVENT,\n attributes,\n });\n this.eventRecorder(SESSION_STOP_EVENT, attributes);\n }\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,gBAAgB,CAAC;AAC3C,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE;AACzB,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C,QAAQ,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAC1C,QAAQ,IAAI,CAAC,gBAAgB,GAAG,KAAK;AACrC,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClE,QAAQ,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;AAC9C,IAAI;AACJ,IAAI,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE;AACtC,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C;AACA,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG;AACvB,YAAY,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;AACjD,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACzC,YAAY,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAClG,YAAY,IAAI,CAAC,qBAAqB,GAAG,IAAI;AAC7C,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE;AACxC,YAAY,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC7E,QAAQ;AACR,QAAQ,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAC1C,IAAI;AACJ,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC7B,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE;AACjC,YAAY,IAAI,CAAC,cAAc,EAAE;AACjC,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,cAAc,EAAE;AACjC,QAAQ;AACR,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACxD,QAAQ,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;AACxE,YAAY,mBAAmB;AAC/B,YAAY,UAAU;AACtB,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,UAAU,CAAC;AAC3D;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACpC,YAAY,IAAI,CAAC,gBAAgB,GAAG,IAAI;AACxC,QAAQ;AACR,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACxD,QAAQ,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;AACxE,YAAY,kBAAkB;AAC9B,YAAY,UAAU;AACtB,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,UAAU,CAAC;AAC1D,IAAI;AACJ;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SessionTrackingOptions, TrackerEventRecorder, TrackerInterface } from '../types/trackers';
|
|
2
|
+
export declare class SessionTracker implements TrackerInterface {
|
|
3
|
+
private options;
|
|
4
|
+
private eventRecorder;
|
|
5
|
+
private initialEventSent;
|
|
6
|
+
private sessionTrackingActive;
|
|
7
|
+
constructor(eventRecorder: TrackerEventRecorder, options?: SessionTrackingOptions);
|
|
8
|
+
configure(eventRecorder: TrackerEventRecorder, options?: SessionTrackingOptions): void;
|
|
9
|
+
cleanup(): void;
|
|
10
|
+
private handleStateChange;
|
|
11
|
+
private sessionStarted;
|
|
12
|
+
private sessionStopped;
|
|
13
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { sessionListener, SESSION_START_EVENT, SESSION_STOP_EVENT } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { ConsoleLogger } from '@aws-amplify/core';
|
|
3
|
+
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
const logger = new ConsoleLogger('SessionTracker');
|
|
7
|
+
class SessionTracker {
|
|
8
|
+
constructor(eventRecorder, options) {
|
|
9
|
+
this.options = {};
|
|
10
|
+
this.eventRecorder = eventRecorder;
|
|
11
|
+
this.initialEventSent = false;
|
|
12
|
+
this.sessionTrackingActive = false;
|
|
13
|
+
this.handleStateChange = this.handleStateChange.bind(this);
|
|
14
|
+
this.configure(eventRecorder, options);
|
|
15
|
+
}
|
|
16
|
+
configure(eventRecorder, options) {
|
|
17
|
+
this.eventRecorder = eventRecorder;
|
|
18
|
+
// Clean up any existing listeners
|
|
19
|
+
this.cleanup();
|
|
20
|
+
// Apply defaults
|
|
21
|
+
this.options = {
|
|
22
|
+
attributes: options?.attributes ?? {},
|
|
23
|
+
};
|
|
24
|
+
// Setup state listeners
|
|
25
|
+
if (!this.sessionTrackingActive) {
|
|
26
|
+
sessionListener.addStateChangeListener(this.handleStateChange, !this.initialEventSent);
|
|
27
|
+
this.sessionTrackingActive = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
cleanup() {
|
|
31
|
+
if (this.sessionTrackingActive) {
|
|
32
|
+
sessionListener.removeStateChangeListener(this.handleStateChange);
|
|
33
|
+
}
|
|
34
|
+
this.sessionTrackingActive = false;
|
|
35
|
+
}
|
|
36
|
+
handleStateChange(state) {
|
|
37
|
+
if (state === 'started') {
|
|
38
|
+
this.sessionStarted();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.sessionStopped();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
sessionStarted() {
|
|
45
|
+
const attributes = this.options.attributes ?? {};
|
|
46
|
+
logger.debug('Recording automatically tracked page view event', {
|
|
47
|
+
SESSION_START_EVENT,
|
|
48
|
+
attributes,
|
|
49
|
+
});
|
|
50
|
+
this.eventRecorder(SESSION_START_EVENT, attributes);
|
|
51
|
+
// NOTE: The initial event will not be re-sent on re-configuration (e.g. to add additional custom attributes)
|
|
52
|
+
if (!this.initialEventSent) {
|
|
53
|
+
this.initialEventSent = true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
sessionStopped() {
|
|
57
|
+
const attributes = this.options.attributes ?? {};
|
|
58
|
+
logger.debug('Recording automatically tracked page view event', {
|
|
59
|
+
SESSION_STOP_EVENT,
|
|
60
|
+
attributes,
|
|
61
|
+
});
|
|
62
|
+
this.eventRecorder(SESSION_STOP_EVENT, attributes);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { SessionTracker };
|
|
67
|
+
//# sourceMappingURL=SessionTracker.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionTracker.native.mjs","sources":["../../../src/trackers/SessionTracker.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { SESSION_START_EVENT, SESSION_STOP_EVENT, sessionListener, } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('SessionTracker');\nexport class SessionTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.eventRecorder = eventRecorder;\n this.initialEventSent = false;\n this.sessionTrackingActive = false;\n this.handleStateChange = this.handleStateChange.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 ?? {},\n };\n // Setup state listeners\n if (!this.sessionTrackingActive) {\n sessionListener.addStateChangeListener(this.handleStateChange, !this.initialEventSent);\n this.sessionTrackingActive = true;\n }\n }\n cleanup() {\n if (this.sessionTrackingActive) {\n sessionListener.removeStateChangeListener(this.handleStateChange);\n }\n this.sessionTrackingActive = false;\n }\n handleStateChange(state) {\n if (state === 'started') {\n this.sessionStarted();\n }\n else {\n this.sessionStopped();\n }\n }\n sessionStarted() {\n const attributes = this.options.attributes ?? {};\n logger.debug('Recording automatically tracked page view event', {\n SESSION_START_EVENT,\n attributes,\n });\n this.eventRecorder(SESSION_START_EVENT, attributes);\n // NOTE: The initial event will not be re-sent on re-configuration (e.g. to add additional custom attributes)\n if (!this.initialEventSent) {\n this.initialEventSent = true;\n }\n }\n sessionStopped() {\n const attributes = this.options.attributes ?? {};\n logger.debug('Recording automatically tracked page view event', {\n SESSION_STOP_EVENT,\n attributes,\n });\n this.eventRecorder(SESSION_STOP_EVENT, attributes);\n }\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,gBAAgB,CAAC;AAC3C,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE;AACzB,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C,QAAQ,IAAI,CAAC,gBAAgB,GAAG,KAAK;AACrC,QAAQ,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAC1C,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClE,QAAQ,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;AAC9C,IAAI;AACJ,IAAI,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE;AACtC,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C;AACA,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG;AACvB,YAAY,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;AACjD,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACzC,YAAY,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAClG,YAAY,IAAI,CAAC,qBAAqB,GAAG,IAAI;AAC7C,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE;AACxC,YAAY,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC7E,QAAQ;AACR,QAAQ,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAC1C,IAAI;AACJ,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC7B,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE;AACjC,YAAY,IAAI,CAAC,cAAc,EAAE;AACjC,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,cAAc,EAAE;AACjC,QAAQ;AACR,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACxD,QAAQ,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;AACxE,YAAY,mBAAmB;AAC/B,YAAY,UAAU;AACtB,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,UAAU,CAAC;AAC3D;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACpC,YAAY,IAAI,CAAC,gBAAgB,GAAG,IAAI;AACxC,QAAQ;AACR,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AACxD,QAAQ,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;AACxE,YAAY,kBAAkB;AAC9B,YAAY,UAAU;AACtB,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,UAAU,CAAC;AAC1D,IAAI;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { UserProfile } from '@aws-amplify/core';
|
|
2
|
+
import { AnalyticsServiceOptions } from './options';
|
|
3
|
+
import { EventTrackingOptions, PageViewTrackingOptions, SessionTrackingOptions } from './trackers';
|
|
4
|
+
/**
|
|
5
|
+
* Input type for `identifyUser`.
|
|
6
|
+
*/
|
|
7
|
+
export interface AnalyticsIdentifyUserInput<ServiceOptions extends AnalyticsServiceOptions = AnalyticsServiceOptions> {
|
|
8
|
+
/**
|
|
9
|
+
* A User ID associated to the current device.
|
|
10
|
+
*/
|
|
11
|
+
userId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Additional information about the user and their device.
|
|
14
|
+
*/
|
|
15
|
+
userProfile: UserProfile;
|
|
16
|
+
/**
|
|
17
|
+
* Options to be passed to the API.
|
|
18
|
+
*/
|
|
19
|
+
options?: ServiceOptions;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Input type for `configureAutoTrack`.
|
|
23
|
+
*/
|
|
24
|
+
export type AnalyticsConfigureAutoTrackInput = {
|
|
25
|
+
enable: boolean;
|
|
26
|
+
} & ({
|
|
27
|
+
type: 'session';
|
|
28
|
+
options?: SessionTrackingOptions;
|
|
29
|
+
} | {
|
|
30
|
+
type: 'pageView';
|
|
31
|
+
options?: PageViewTrackingOptions;
|
|
32
|
+
} | {
|
|
33
|
+
type: 'event';
|
|
34
|
+
options?: EventTrackingOptions;
|
|
35
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kinesis.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface SessionTrackingOptions {
|
|
2
|
+
attributes?: TrackerAttributes;
|
|
3
|
+
}
|
|
4
|
+
export interface PageViewTrackingOptions {
|
|
5
|
+
attributes?: TrackerAttributes;
|
|
6
|
+
eventName?: string;
|
|
7
|
+
urlProvider?(): string;
|
|
8
|
+
appType?: 'multiPage' | 'singlePage';
|
|
9
|
+
}
|
|
10
|
+
export interface EventTrackingOptions {
|
|
11
|
+
attributes?: TrackerAttributes;
|
|
12
|
+
events?: DOMEvent[];
|
|
13
|
+
selectorPrefix?: string;
|
|
14
|
+
}
|
|
15
|
+
export type TrackerType = 'event' | 'pageView' | 'session';
|
|
16
|
+
export type TrackerAttributes = Record<string, string>;
|
|
17
|
+
export type TrackerEventRecorder = (eventName: string, attributes: TrackerAttributes) => void;
|
|
18
|
+
export type DOMEvent = keyof GlobalEventHandlersEventMap;
|
|
19
|
+
export interface TrackerInterface {
|
|
20
|
+
configure(eventRecorder: TrackerEventRecorder, options?: object): void;
|
|
21
|
+
cleanup(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackers.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventBufferConfig, IAnalyticsClient } from './';
|
|
2
|
+
export declare class EventBuffer<T> {
|
|
3
|
+
private list;
|
|
4
|
+
private readonly config;
|
|
5
|
+
private getAnalyticsClient;
|
|
6
|
+
private timer?;
|
|
7
|
+
constructor(config: EventBufferConfig, getAnalyticsClient: () => IAnalyticsClient<T>);
|
|
8
|
+
append(...events: T[]): void;
|
|
9
|
+
flushAll(): Promise<void>;
|
|
10
|
+
release(): void;
|
|
11
|
+
get length(): number;
|
|
12
|
+
private head;
|
|
13
|
+
private insertAtBeginning;
|
|
14
|
+
private startEventLoop;
|
|
15
|
+
private submitEvents;
|
|
16
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ConsoleLogger } from '@aws-amplify/core';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
const logger = new ConsoleLogger('EventBuffer');
|
|
6
|
+
class EventBuffer {
|
|
7
|
+
constructor(config, getAnalyticsClient) {
|
|
8
|
+
this.list = [];
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.getAnalyticsClient = getAnalyticsClient;
|
|
11
|
+
this.startEventLoop();
|
|
12
|
+
}
|
|
13
|
+
append(...events) {
|
|
14
|
+
for (const event of events) {
|
|
15
|
+
if (this.list.length + 1 > this.config.bufferSize) {
|
|
16
|
+
logger.debug(`Exceed ${typeof event} event buffer limits, event dropped`);
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
this.list.push(event);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
flushAll() {
|
|
23
|
+
return this.submitEvents(this.list.length);
|
|
24
|
+
}
|
|
25
|
+
release() {
|
|
26
|
+
this.list = [];
|
|
27
|
+
if (this.timer) {
|
|
28
|
+
clearInterval(this.timer);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
get length() {
|
|
32
|
+
return this.list.length;
|
|
33
|
+
}
|
|
34
|
+
head(count) {
|
|
35
|
+
return this.list.splice(0, count);
|
|
36
|
+
}
|
|
37
|
+
insertAtBeginning(...data) {
|
|
38
|
+
this.list.unshift(...data);
|
|
39
|
+
}
|
|
40
|
+
startEventLoop() {
|
|
41
|
+
if (this.timer) {
|
|
42
|
+
clearInterval(this.timer);
|
|
43
|
+
}
|
|
44
|
+
const { flushSize, flushInterval } = this.config;
|
|
45
|
+
setInterval(() => {
|
|
46
|
+
this.submitEvents(flushSize);
|
|
47
|
+
}, flushInterval);
|
|
48
|
+
}
|
|
49
|
+
submitEvents(count) {
|
|
50
|
+
const events = this.head(count);
|
|
51
|
+
if (events.length === 0) {
|
|
52
|
+
return Promise.resolve();
|
|
53
|
+
}
|
|
54
|
+
return this.getAnalyticsClient()(events).then(result => {
|
|
55
|
+
if (result.length > 0) {
|
|
56
|
+
this.insertAtBeginning(...result);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { EventBuffer };
|
|
63
|
+
//# sourceMappingURL=EventBuffer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBuffer.mjs","sources":["../../../../src/utils/eventBuffer/EventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('EventBuffer');\nexport class EventBuffer {\n constructor(config, getAnalyticsClient) {\n this.list = [];\n this.config = config;\n this.getAnalyticsClient = getAnalyticsClient;\n this.startEventLoop();\n }\n append(...events) {\n for (const event of events) {\n if (this.list.length + 1 > this.config.bufferSize) {\n logger.debug(`Exceed ${typeof event} event buffer limits, event dropped`);\n continue;\n }\n this.list.push(event);\n }\n }\n flushAll() {\n return this.submitEvents(this.list.length);\n }\n release() {\n this.list = [];\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n get length() {\n return this.list.length;\n }\n head(count) {\n return this.list.splice(0, count);\n }\n insertAtBeginning(...data) {\n this.list.unshift(...data);\n }\n startEventLoop() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n const { flushSize, flushInterval } = this.config;\n setInterval(() => {\n this.submitEvents(flushSize);\n }, flushInterval);\n }\n submitEvents(count) {\n const events = this.head(count);\n if (events.length === 0) {\n return Promise.resolve();\n }\n return this.getAnalyticsClient()(events).then(result => {\n if (result.length > 0) {\n this.insertAtBeginning(...result);\n }\n });\n }\n}\n"],"names":[],"mappings":";;AAAA;AACA;AAEA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC;AACxC,MAAM,WAAW,CAAC;AACzB,IAAI,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE;AAC5C,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE;AACtB,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM;AAC5B,QAAQ,IAAI,CAAC,kBAAkB,GAAG,kBAAkB;AACpD,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,IAAI;AACJ,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE;AACtB,QAAQ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AACpC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AAC/D,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACzF,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,QAAQ;AACR,IAAI;AACJ,IAAI,QAAQ,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAClD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE;AACtB,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;AACxB,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACrC,QAAQ;AACR,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;AAC/B,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;AACzC,IAAI;AACJ,IAAI,iBAAiB,CAAC,GAAG,IAAI,EAAE;AAC/B,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAClC,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;AACxB,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACrC,QAAQ;AACR,QAAQ,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM;AACxD,QAAQ,WAAW,CAAC,MAAM;AAC1B,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AACxC,QAAQ,CAAC,EAAE,aAAa,CAAC;AACzB,IAAI;AACJ,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACvC,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,YAAY,OAAO,OAAO,CAAC,OAAO,EAAE;AACpC,QAAQ;AACR,QAAQ,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI;AAChE,YAAY,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,gBAAgB,IAAI,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;AACjD,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const groupBy: <T>(getGroupId: (x: T) => string, list: T[]) => Record<string, T[]>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
const groupBy = (getGroupId, list) => {
|
|
4
|
+
return list.reduce((result, current) => {
|
|
5
|
+
const groupId = getGroupId(current);
|
|
6
|
+
return { ...result, [groupId]: [...(result[groupId] ?? []), current] };
|
|
7
|
+
}, {});
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { groupBy };
|
|
11
|
+
//# sourceMappingURL=groupBy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupBy.mjs","sources":["../../../src/utils/groupBy.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const groupBy = (getGroupId, list) => {\n return list.reduce((result, current) => {\n const groupId = getGroupId(current);\n return { ...result, [groupId]: [...(result[groupId] ?? []), current] };\n }, {});\n};\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,OAAO,GAAG,CAAC,UAAU,EAAE,IAAI,KAAK;AAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK;AAC5C,QAAQ,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AAC3C,QAAQ,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;AAC9E,IAAI,CAAC,EAAE,EAAE,CAAC;AACV;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { resolveCredentials } from './resolveCredentials';
|
|
2
|
+
export { groupBy } from './groupBy';
|
|
3
|
+
export { EventBuffer, IAnalyticsClient, EventBufferConfig, } from './eventBuffer';
|
|
4
|
+
export { enableAnalytics, disableAnalytics, isAnalyticsEnabled, } from './statusHelpers';
|
|
5
|
+
export { getAnalyticsUserAgent, getAnalyticsUserAgentString, } from './userAgent';
|
|
6
|
+
export { updateProviderTrackers } from './trackerHelpers';
|
|
7
|
+
export { validateTrackerConfiguration } from './trackerConfigHelpers';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { resolveCredentials } from './resolveCredentials.mjs';
|
|
2
|
+
export { groupBy } from './groupBy.mjs';
|
|
3
|
+
export { EventBuffer } from './eventBuffer/EventBuffer.mjs';
|
|
4
|
+
export { disableAnalytics, enableAnalytics, isAnalyticsEnabled } from './statusHelpers.mjs';
|
|
5
|
+
export { getAnalyticsUserAgent, getAnalyticsUserAgentString } from './userAgent.mjs';
|
|
6
|
+
export { updateProviderTrackers } from './trackerHelpers.mjs';
|
|
7
|
+
export { validateTrackerConfiguration } from './trackerConfigHelpers.mjs';
|
|
8
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|