@aws-amplify/analytics 7.0.1-preview-testing.be90020.0 → 7.0.1-ssr-api.df60e41.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/kinesis/package.json +7 -0
- package/kinesis-firehose/package.json +7 -0
- package/lib/apis/disable.d.ts +8 -0
- package/lib/apis/disable.js +14 -0
- package/lib/apis/enable.d.ts +7 -0
- package/lib/apis/enable.js +13 -0
- package/lib/apis/index.d.ts +2 -0
- package/lib/apis/index.js +9 -0
- package/lib/errors/AnalyticsError.d.ts +2 -2
- package/lib/errors/AnalyticsError.js +7 -11
- package/lib/errors/assertValidationError.d.ts +1 -1
- package/lib/errors/assertValidationError.js +9 -5
- package/lib/errors/validation.d.ts +5 -2
- package/lib/errors/validation.js +22 -11
- package/lib/index.d.ts +2 -1
- package/lib/index.js +6 -1
- package/lib/providers/kinesis/apis/flushEvents.d.ts +8 -0
- package/lib/providers/kinesis/apis/flushEvents.js +35 -0
- package/lib/providers/kinesis/apis/index.d.ts +2 -0
- package/lib/providers/kinesis/apis/index.js +9 -0
- package/lib/providers/kinesis/apis/record.d.ts +2 -0
- package/lib/providers/kinesis/apis/record.js +46 -0
- package/lib/providers/kinesis/index.d.ts +1 -0
- package/lib/providers/kinesis/index.js +8 -0
- package/lib/providers/kinesis/types/buffer.d.ts +15 -0
- package/lib/providers/kinesis/types/buffer.js +4 -0
- package/lib/providers/kinesis/types/index.d.ts +2 -0
- package/lib/providers/kinesis/types/index.js +4 -0
- package/lib/providers/kinesis/types/inputs.d.ts +6 -0
- package/lib/providers/kinesis/types/inputs.js +4 -0
- package/lib/providers/kinesis/utils/constants.d.ts +6 -0
- package/lib/providers/kinesis/utils/constants.js +11 -0
- package/lib/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
- package/lib/providers/kinesis/utils/getEventBuffer.js +72 -0
- package/lib/providers/kinesis/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/kinesis/utils/resolveConfig.js +25 -0
- package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
- package/lib/providers/kinesis-firehose/apis/flushEvents.js +34 -0
- package/lib/providers/kinesis-firehose/apis/index.d.ts +2 -0
- package/lib/providers/kinesis-firehose/apis/index.js +9 -0
- package/lib/providers/kinesis-firehose/apis/record.d.ts +2 -0
- package/lib/providers/kinesis-firehose/apis/record.js +43 -0
- package/lib/providers/kinesis-firehose/index.d.ts +1 -0
- package/lib/providers/kinesis-firehose/index.js +8 -0
- package/lib/providers/kinesis-firehose/types/buffer.d.ts +15 -0
- package/lib/providers/kinesis-firehose/types/index.d.ts +2 -0
- package/lib/providers/kinesis-firehose/types/index.js +4 -0
- package/lib/providers/kinesis-firehose/types/inputs.d.ts +5 -0
- package/lib/providers/kinesis-firehose/types/inputs.js +4 -0
- package/lib/providers/kinesis-firehose/utils/constants.d.ts +6 -0
- package/lib/providers/kinesis-firehose/utils/constants.js +11 -0
- package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
- package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +71 -0
- package/lib/providers/kinesis-firehose/utils/index.d.ts +2 -0
- package/lib/providers/kinesis-firehose/utils/index.js +9 -0
- package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/kinesis-firehose/utils/resolveConfig.js +25 -0
- package/lib/providers/personalize/apis/flushEvents.d.ts +8 -0
- package/lib/providers/personalize/apis/flushEvents.js +33 -0
- package/lib/providers/personalize/apis/index.d.ts +2 -0
- package/lib/providers/personalize/apis/index.js +9 -0
- package/lib/providers/personalize/apis/record.d.ts +2 -0
- package/lib/providers/personalize/apis/record.js +71 -0
- package/lib/providers/personalize/index.d.ts +1 -0
- package/lib/providers/personalize/index.js +8 -0
- package/lib/providers/personalize/types/buffer.d.ts +16 -0
- package/lib/providers/personalize/types/buffer.js +4 -0
- package/lib/providers/personalize/types/index.d.ts +2 -0
- package/lib/providers/personalize/types/index.js +4 -0
- package/lib/providers/personalize/types/inputs.d.ts +7 -0
- package/lib/providers/personalize/types/inputs.js +4 -0
- package/lib/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
- package/lib/providers/personalize/utils/autoTrackMedia.js +181 -0
- package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
- package/lib/providers/personalize/utils/cachedSession.js +49 -0
- package/lib/providers/personalize/utils/constants.d.ts +7 -0
- package/lib/providers/personalize/utils/constants.js +12 -0
- package/lib/providers/personalize/utils/getEventBuffer.d.ts +3 -0
- package/lib/providers/personalize/utils/getEventBuffer.js +73 -0
- package/lib/providers/personalize/utils/index.d.ts +5 -0
- package/lib/providers/personalize/utils/index.js +17 -0
- package/lib/providers/personalize/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/personalize/utils/resolveConfig.js +26 -0
- package/lib/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
- package/lib/providers/pinpoint/apis/configureAutoTrack.js +35 -0
- package/lib/providers/pinpoint/apis/flushEvents.d.ts +8 -0
- package/lib/providers/pinpoint/apis/flushEvents.js +25 -0
- package/lib/providers/pinpoint/apis/identifyUser.d.ts +7 -5
- package/lib/providers/pinpoint/apis/identifyUser.js +24 -32
- package/lib/providers/pinpoint/apis/index.d.ts +2 -0
- package/lib/providers/pinpoint/apis/index.js +5 -1
- package/lib/providers/pinpoint/apis/record.d.ts +8 -14
- package/lib/providers/pinpoint/apis/record.js +31 -34
- package/lib/providers/pinpoint/index.d.ts +2 -2
- package/lib/providers/pinpoint/index.js +3 -1
- package/lib/providers/pinpoint/types/index.d.ts +2 -2
- package/lib/providers/pinpoint/types/index.js +0 -3
- package/lib/providers/pinpoint/types/inputs.d.ts +8 -17
- package/lib/providers/pinpoint/types/options.d.ts +5 -0
- package/lib/providers/pinpoint/types/options.js +4 -0
- package/lib/providers/pinpoint/utils/resolveConfig.js +5 -6
- package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
- package/lib/providers/pinpoint/utils/resolveCredentials.js +7 -15
- package/lib/setupTests.js +1 -1
- package/lib/trackers/EventTracker.d.ts +10 -0
- package/lib/trackers/EventTracker.js +98 -0
- package/lib/trackers/PageViewTracker.d.ts +18 -0
- package/lib/trackers/PageViewTracker.js +112 -0
- package/lib/trackers/SessionTracker.d.ts +13 -0
- package/lib/trackers/SessionTracker.js +67 -0
- package/lib/trackers/SessionTracker.native.d.ts +13 -0
- package/lib/trackers/SessionTracker.native.js +67 -0
- package/lib/trackers/index.d.ts +3 -0
- package/lib/trackers/index.js +11 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/index.d.ts +3 -1
- package/lib/types/index.js +0 -2
- package/lib/types/inputs.d.ts +35 -0
- package/lib/types/inputs.js +4 -0
- package/lib/types/kinesis.d.ts +8 -0
- package/lib/types/kinesis.js +4 -0
- package/lib/types/options.d.ts +4 -0
- package/lib/types/options.js +4 -0
- package/lib/types/trackers.d.ts +22 -0
- package/lib/types/trackers.js +4 -0
- package/lib/utils/eventBuffer/EventBuffer.d.ts +16 -0
- package/lib/utils/eventBuffer/EventBuffer.js +63 -0
- package/lib/utils/eventBuffer/index.d.ts +2 -0
- package/lib/utils/eventBuffer/index.js +7 -0
- package/lib/utils/eventBuffer/types.d.ts +8 -0
- package/lib/utils/eventBuffer/types.js +4 -0
- package/lib/utils/groupBy.d.ts +1 -0
- package/lib/utils/groupBy.js +12 -0
- package/lib/utils/index.d.ts +7 -0
- package/lib/utils/index.js +22 -0
- package/lib/utils/resolveCredentials.d.ts +4 -0
- package/lib/utils/resolveCredentials.js +13 -0
- package/lib/utils/statusHelpers.d.ts +6 -0
- package/lib/utils/statusHelpers.js +19 -0
- package/lib/utils/trackerConfigHelpers.d.ts +5 -0
- package/lib/utils/trackerConfigHelpers.js +15 -0
- package/lib/utils/trackerConfigHelpers.native.d.ts +5 -0
- package/lib/utils/trackerConfigHelpers.native.js +14 -0
- package/lib/utils/trackerHelpers.d.ts +9 -0
- package/lib/utils/trackerHelpers.js +44 -0
- package/lib/utils/userAgent.js +3 -3
- package/lib-esm/apis/disable.d.ts +8 -0
- package/lib-esm/apis/disable.js +11 -0
- package/lib-esm/apis/enable.d.ts +7 -0
- package/lib-esm/apis/enable.js +10 -0
- package/lib-esm/apis/index.d.ts +2 -0
- package/lib-esm/apis/index.js +4 -0
- package/lib-esm/errors/AnalyticsError.d.ts +2 -2
- package/lib-esm/errors/AnalyticsError.js +7 -12
- package/lib-esm/errors/assertValidationError.d.ts +1 -1
- package/lib-esm/errors/assertValidationError.js +7 -3
- package/lib-esm/errors/validation.d.ts +5 -2
- package/lib-esm/errors/validation.js +22 -11
- package/lib-esm/index.d.ts +2 -1
- package/lib-esm/index.js +2 -1
- package/lib-esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/kinesis/apis/flushEvents.js +31 -0
- package/lib-esm/providers/kinesis/apis/index.d.ts +2 -0
- package/lib-esm/providers/kinesis/apis/index.js +4 -0
- package/lib-esm/providers/kinesis/apis/record.d.ts +2 -0
- package/lib-esm/providers/kinesis/apis/record.js +42 -0
- package/lib-esm/providers/kinesis/index.d.ts +1 -0
- package/lib-esm/providers/kinesis/index.js +3 -0
- package/lib-esm/providers/kinesis/types/buffer.d.ts +15 -0
- package/lib-esm/providers/kinesis/types/buffer.js +3 -0
- package/lib-esm/providers/kinesis/types/index.d.ts +2 -0
- package/lib-esm/providers/kinesis/types/index.js +3 -0
- package/lib-esm/providers/kinesis/types/inputs.d.ts +6 -0
- package/lib-esm/providers/kinesis/types/inputs.js +3 -0
- package/lib-esm/providers/kinesis/utils/constants.d.ts +6 -0
- package/lib-esm/providers/kinesis/utils/constants.js +8 -0
- package/lib-esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
- package/lib-esm/providers/kinesis/utils/getEventBuffer.js +68 -0
- package/lib-esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/kinesis/utils/resolveConfig.js +21 -0
- package/lib-esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +30 -0
- package/lib-esm/providers/kinesis-firehose/apis/index.d.ts +2 -0
- package/lib-esm/providers/kinesis-firehose/apis/index.js +4 -0
- package/lib-esm/providers/kinesis-firehose/apis/record.d.ts +2 -0
- package/lib-esm/providers/kinesis-firehose/apis/record.js +39 -0
- package/lib-esm/providers/kinesis-firehose/index.d.ts +1 -0
- package/lib-esm/providers/kinesis-firehose/index.js +3 -0
- package/lib-esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
- package/lib-esm/providers/kinesis-firehose/types/index.d.ts +2 -0
- package/lib-esm/providers/kinesis-firehose/types/index.js +3 -0
- package/lib-esm/providers/kinesis-firehose/types/inputs.d.ts +5 -0
- package/lib-esm/providers/kinesis-firehose/types/inputs.js +3 -0
- package/lib-esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
- package/lib-esm/providers/kinesis-firehose/utils/constants.js +8 -0
- package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
- package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +67 -0
- package/lib-esm/providers/kinesis-firehose/utils/index.d.ts +2 -0
- package/lib-esm/providers/kinesis-firehose/utils/index.js +4 -0
- package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +21 -0
- package/lib-esm/providers/personalize/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/personalize/apis/flushEvents.js +29 -0
- package/lib-esm/providers/personalize/apis/index.d.ts +2 -0
- package/lib-esm/providers/personalize/apis/index.js +4 -0
- package/lib-esm/providers/personalize/apis/record.d.ts +2 -0
- package/lib-esm/providers/personalize/apis/record.js +67 -0
- package/lib-esm/providers/personalize/index.d.ts +1 -0
- package/lib-esm/providers/personalize/index.js +3 -0
- package/lib-esm/providers/personalize/types/buffer.d.ts +16 -0
- package/lib-esm/providers/personalize/types/buffer.js +3 -0
- package/lib-esm/providers/personalize/types/index.d.ts +2 -0
- package/lib-esm/providers/personalize/types/index.js +3 -0
- package/lib-esm/providers/personalize/types/inputs.d.ts +7 -0
- package/lib-esm/providers/personalize/types/inputs.js +3 -0
- package/lib-esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
- package/lib-esm/providers/personalize/utils/autoTrackMedia.js +177 -0
- package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
- package/lib-esm/providers/personalize/utils/cachedSession.js +44 -0
- package/lib-esm/providers/personalize/utils/constants.d.ts +7 -0
- package/lib-esm/providers/personalize/utils/constants.js +9 -0
- package/lib-esm/providers/personalize/utils/getEventBuffer.d.ts +3 -0
- package/lib-esm/providers/personalize/utils/getEventBuffer.js +69 -0
- package/lib-esm/providers/personalize/utils/index.d.ts +5 -0
- package/lib-esm/providers/personalize/utils/index.js +7 -0
- package/lib-esm/providers/personalize/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/personalize/utils/resolveConfig.js +22 -0
- package/lib-esm/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
- package/lib-esm/providers/pinpoint/apis/configureAutoTrack.js +31 -0
- package/lib-esm/providers/pinpoint/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +21 -0
- package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +7 -5
- package/lib-esm/providers/pinpoint/apis/identifyUser.js +22 -30
- package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
- package/lib-esm/providers/pinpoint/apis/index.js +2 -0
- package/lib-esm/providers/pinpoint/apis/record.d.ts +8 -14
- package/lib-esm/providers/pinpoint/apis/record.js +26 -29
- package/lib-esm/providers/pinpoint/index.d.ts +2 -2
- package/lib-esm/providers/pinpoint/index.js +1 -1
- package/lib-esm/providers/pinpoint/types/index.d.ts +2 -2
- package/lib-esm/providers/pinpoint/types/index.js +1 -1
- package/lib-esm/providers/pinpoint/types/inputs.d.ts +8 -17
- package/lib-esm/providers/pinpoint/types/options.d.ts +5 -0
- package/lib-esm/providers/pinpoint/types/options.js +3 -0
- package/lib-esm/providers/pinpoint/utils/resolveConfig.js +3 -4
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +5 -13
- package/lib-esm/setupTests.js +1 -1
- package/lib-esm/trackers/EventTracker.d.ts +10 -0
- package/lib-esm/trackers/EventTracker.js +94 -0
- package/lib-esm/trackers/PageViewTracker.d.ts +18 -0
- package/lib-esm/trackers/PageViewTracker.js +108 -0
- package/lib-esm/trackers/SessionTracker.d.ts +13 -0
- package/lib-esm/trackers/SessionTracker.js +63 -0
- package/lib-esm/trackers/SessionTracker.native.d.ts +13 -0
- package/lib-esm/trackers/SessionTracker.native.js +63 -0
- package/lib-esm/trackers/index.d.ts +3 -0
- package/lib-esm/trackers/index.js +5 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/types/index.d.ts +3 -1
- package/lib-esm/types/index.js +1 -1
- package/lib-esm/types/inputs.d.ts +35 -0
- package/lib-esm/types/inputs.js +3 -0
- package/lib-esm/types/kinesis.d.ts +8 -0
- package/lib-esm/types/kinesis.js +3 -0
- package/lib-esm/types/options.d.ts +4 -0
- package/lib-esm/types/options.js +3 -0
- package/lib-esm/types/trackers.d.ts +22 -0
- package/lib-esm/types/trackers.js +3 -0
- package/lib-esm/utils/eventBuffer/EventBuffer.d.ts +16 -0
- package/lib-esm/utils/eventBuffer/EventBuffer.js +59 -0
- package/lib-esm/utils/eventBuffer/index.d.ts +2 -0
- package/lib-esm/utils/eventBuffer/index.js +3 -0
- package/lib-esm/utils/eventBuffer/types.d.ts +8 -0
- package/lib-esm/utils/eventBuffer/types.js +3 -0
- package/lib-esm/utils/groupBy.d.ts +1 -0
- package/lib-esm/utils/groupBy.js +8 -0
- package/lib-esm/utils/index.d.ts +7 -0
- package/lib-esm/utils/index.js +9 -0
- package/lib-esm/utils/resolveCredentials.d.ts +4 -0
- package/lib-esm/utils/resolveCredentials.js +9 -0
- package/lib-esm/utils/statusHelpers.d.ts +6 -0
- package/lib-esm/utils/statusHelpers.js +13 -0
- package/lib-esm/utils/trackerConfigHelpers.d.ts +5 -0
- package/lib-esm/utils/trackerConfigHelpers.js +11 -0
- package/lib-esm/utils/trackerConfigHelpers.native.d.ts +5 -0
- package/lib-esm/utils/trackerConfigHelpers.native.js +10 -0
- package/lib-esm/utils/trackerHelpers.d.ts +9 -0
- package/lib-esm/utils/trackerHelpers.js +40 -0
- package/lib-esm/utils/userAgent.js +2 -2
- package/package.json +39 -12
- package/personalize/package.json +7 -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 +5 -2
- package/src/errors/assertValidationError.ts +9 -3
- package/src/errors/validation.ts +16 -4
- package/src/index.ts +4 -0
- package/src/providers/kinesis/apis/flushEvents.ts +40 -0
- package/src/providers/kinesis/apis/index.ts +5 -0
- package/src/providers/kinesis/apis/record.ts +58 -0
- package/src/providers/kinesis/index.ts +4 -0
- package/src/providers/kinesis/types/buffer.ts +20 -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 +109 -0
- package/src/providers/kinesis/utils/resolveConfig.ts +36 -0
- package/src/providers/kinesis-firehose/apis/flushEvents.ts +39 -0
- package/src/providers/kinesis-firehose/apis/index.ts +5 -0
- package/src/providers/kinesis-firehose/apis/record.ts +51 -0
- package/src/providers/kinesis-firehose/index.ts +4 -0
- package/src/providers/kinesis-firehose/types/buffer.ts +20 -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 +117 -0
- package/src/providers/kinesis-firehose/utils/index.ts +5 -0
- package/src/providers/kinesis-firehose/utils/resolveConfig.ts +36 -0
- package/src/providers/personalize/apis/flushEvents.ts +37 -0
- package/src/providers/personalize/apis/index.ts +5 -0
- package/src/providers/personalize/apis/record.ts +102 -0
- package/src/providers/personalize/index.ts +4 -0
- package/src/providers/personalize/types/buffer.ts +21 -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 +232 -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 +110 -0
- package/src/providers/personalize/utils/index.ts +11 -0
- package/src/providers/personalize/utils/resolveConfig.ts +41 -0
- package/src/providers/pinpoint/apis/configureAutoTrack.ts +49 -0
- package/src/providers/pinpoint/apis/flushEvents.ts +32 -0
- package/src/providers/pinpoint/apis/identifyUser.ts +20 -12
- package/src/providers/pinpoint/apis/index.ts +2 -0
- package/src/providers/pinpoint/apis/record.ts +31 -23
- package/src/providers/pinpoint/index.ts +6 -2
- package/src/providers/pinpoint/types/index.ts +6 -2
- package/src/providers/pinpoint/types/inputs.ts +11 -17
- package/src/providers/pinpoint/types/options.ts +12 -0
- package/src/trackers/EventTracker.ts +135 -0
- package/src/trackers/PageViewTracker.ts +160 -0
- package/src/trackers/SessionTracker.native.ts +105 -0
- package/src/trackers/SessionTracker.ts +105 -0
- package/src/trackers/index.ts +6 -0
- package/src/types/index.ts +8 -1
- package/src/types/inputs.ts +52 -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 +84 -0
- package/src/utils/eventBuffer/index.ts +5 -0
- package/src/utils/eventBuffer/types.ts +12 -0
- package/src/utils/groupBy.ts +12 -0
- package/src/utils/index.ts +21 -0
- package/src/utils/resolveCredentials.ts +14 -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 +57 -0
- package/lib/providers/pinpoint/types/errors.d.ts +0 -9
- package/lib/providers/pinpoint/types/errors.js +0 -15
- package/lib/types/analytics.d.ts +0 -50
- package/lib-esm/providers/pinpoint/types/errors.d.ts +0 -9
- package/lib-esm/providers/pinpoint/types/errors.js +0 -12
- package/lib-esm/types/analytics.d.ts +0 -50
- package/src/providers/pinpoint/types/errors.ts +0 -12
- package/src/types/analytics.ts +0 -70
- /package/lib/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
- /package/lib-esm/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type SessionTrackingOptions = {
|
|
2
|
+
attributes?: TrackerAttributes;
|
|
3
|
+
};
|
|
4
|
+
export type PageViewTrackingOptions = {
|
|
5
|
+
attributes?: TrackerAttributes;
|
|
6
|
+
eventName?: string;
|
|
7
|
+
urlProvider?: () => string;
|
|
8
|
+
appType?: 'multiPage' | 'singlePage';
|
|
9
|
+
};
|
|
10
|
+
export type 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,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
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.EventBuffer = void 0;
|
|
6
|
+
const core_1 = require("@aws-amplify/core");
|
|
7
|
+
const logger = new core_1.ConsoleLogger('EventBuffer');
|
|
8
|
+
class EventBuffer {
|
|
9
|
+
constructor(config, getAnalyticsClient) {
|
|
10
|
+
this.list = [];
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.getAnalyticsClient = getAnalyticsClient;
|
|
13
|
+
this.startEventLoop();
|
|
14
|
+
}
|
|
15
|
+
append(...events) {
|
|
16
|
+
for (const event of events) {
|
|
17
|
+
if (this.list.length + 1 > this.config.bufferSize) {
|
|
18
|
+
logger.debug(`Exceed ${typeof event} event buffer limits, event dropped`);
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
this.list.push(event);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
flushAll() {
|
|
25
|
+
return this.submitEvents(this.list.length);
|
|
26
|
+
}
|
|
27
|
+
release() {
|
|
28
|
+
this.list = [];
|
|
29
|
+
if (this.timer) {
|
|
30
|
+
clearInterval(this.timer);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get length() {
|
|
34
|
+
return this.list.length;
|
|
35
|
+
}
|
|
36
|
+
head(count) {
|
|
37
|
+
return this.list.splice(0, count);
|
|
38
|
+
}
|
|
39
|
+
insertAtBeginning(...data) {
|
|
40
|
+
this.list.unshift(...data);
|
|
41
|
+
}
|
|
42
|
+
startEventLoop() {
|
|
43
|
+
if (this.timer) {
|
|
44
|
+
clearInterval(this.timer);
|
|
45
|
+
}
|
|
46
|
+
const { flushSize, flushInterval } = this.config;
|
|
47
|
+
setInterval(() => {
|
|
48
|
+
this.submitEvents(flushSize);
|
|
49
|
+
}, flushInterval);
|
|
50
|
+
}
|
|
51
|
+
submitEvents(count) {
|
|
52
|
+
const events = this.head(count);
|
|
53
|
+
if (events.length === 0) {
|
|
54
|
+
return Promise.resolve();
|
|
55
|
+
}
|
|
56
|
+
return this.getAnalyticsClient()(events).then(result => {
|
|
57
|
+
if (result.length > 0) {
|
|
58
|
+
this.insertAtBeginning(...result);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.EventBuffer = EventBuffer;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.EventBuffer = void 0;
|
|
6
|
+
var EventBuffer_1 = require("./EventBuffer");
|
|
7
|
+
Object.defineProperty(exports, "EventBuffer", { enumerable: true, get: function () { return EventBuffer_1.EventBuffer; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const groupBy: <T>(getGroupId: (x: T) => string, list: T[]) => Record<string, T[]>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.groupBy = void 0;
|
|
6
|
+
const groupBy = (getGroupId, list) => {
|
|
7
|
+
return list.reduce((result, current) => {
|
|
8
|
+
const groupId = getGroupId(current);
|
|
9
|
+
return { ...result, [groupId]: [...(result[groupId] ?? []), current] };
|
|
10
|
+
}, {});
|
|
11
|
+
};
|
|
12
|
+
exports.groupBy = groupBy;
|
|
@@ -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,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.validateTrackerConfiguration = exports.updateProviderTrackers = exports.getAnalyticsUserAgentString = exports.getAnalyticsUserAgent = exports.isAnalyticsEnabled = exports.disableAnalytics = exports.enableAnalytics = exports.EventBuffer = exports.groupBy = exports.resolveCredentials = void 0;
|
|
6
|
+
var resolveCredentials_1 = require("./resolveCredentials");
|
|
7
|
+
Object.defineProperty(exports, "resolveCredentials", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });
|
|
8
|
+
var groupBy_1 = require("./groupBy");
|
|
9
|
+
Object.defineProperty(exports, "groupBy", { enumerable: true, get: function () { return groupBy_1.groupBy; } });
|
|
10
|
+
var eventBuffer_1 = require("./eventBuffer");
|
|
11
|
+
Object.defineProperty(exports, "EventBuffer", { enumerable: true, get: function () { return eventBuffer_1.EventBuffer; } });
|
|
12
|
+
var statusHelpers_1 = require("./statusHelpers");
|
|
13
|
+
Object.defineProperty(exports, "enableAnalytics", { enumerable: true, get: function () { return statusHelpers_1.enableAnalytics; } });
|
|
14
|
+
Object.defineProperty(exports, "disableAnalytics", { enumerable: true, get: function () { return statusHelpers_1.disableAnalytics; } });
|
|
15
|
+
Object.defineProperty(exports, "isAnalyticsEnabled", { enumerable: true, get: function () { return statusHelpers_1.isAnalyticsEnabled; } });
|
|
16
|
+
var userAgent_1 = require("./userAgent");
|
|
17
|
+
Object.defineProperty(exports, "getAnalyticsUserAgent", { enumerable: true, get: function () { return userAgent_1.getAnalyticsUserAgent; } });
|
|
18
|
+
Object.defineProperty(exports, "getAnalyticsUserAgentString", { enumerable: true, get: function () { return userAgent_1.getAnalyticsUserAgentString; } });
|
|
19
|
+
var trackerHelpers_1 = require("./trackerHelpers");
|
|
20
|
+
Object.defineProperty(exports, "updateProviderTrackers", { enumerable: true, get: function () { return trackerHelpers_1.updateProviderTrackers; } });
|
|
21
|
+
var trackerConfigHelpers_1 = require("./trackerConfigHelpers");
|
|
22
|
+
Object.defineProperty(exports, "validateTrackerConfiguration", { enumerable: true, get: function () { return trackerConfigHelpers_1.validateTrackerConfiguration; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.resolveCredentials = void 0;
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const resolveCredentials = async () => {
|
|
9
|
+
const { credentials, identityId } = await (0, core_1.fetchAuthSession)();
|
|
10
|
+
(0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);
|
|
11
|
+
return { credentials, identityId };
|
|
12
|
+
};
|
|
13
|
+
exports.resolveCredentials = resolveCredentials;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.isAnalyticsEnabled = exports.disableAnalytics = exports.enableAnalytics = void 0;
|
|
6
|
+
let analyticsEnabled = true;
|
|
7
|
+
const enableAnalytics = () => {
|
|
8
|
+
analyticsEnabled = true;
|
|
9
|
+
};
|
|
10
|
+
exports.enableAnalytics = enableAnalytics;
|
|
11
|
+
const disableAnalytics = () => {
|
|
12
|
+
analyticsEnabled = false;
|
|
13
|
+
};
|
|
14
|
+
exports.disableAnalytics = disableAnalytics;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the current status of the Analytics category.
|
|
17
|
+
*/
|
|
18
|
+
const isAnalyticsEnabled = () => analyticsEnabled;
|
|
19
|
+
exports.isAnalyticsEnabled = isAnalyticsEnabled;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.validateTrackerConfiguration = void 0;
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
/**
|
|
8
|
+
* Validates tracker configuration.
|
|
9
|
+
*/
|
|
10
|
+
const validateTrackerConfiguration = (input) => {
|
|
11
|
+
(0, errors_1.assertValidationError)(input.type === 'event' ||
|
|
12
|
+
input.type === 'pageView' ||
|
|
13
|
+
input.type === 'session', errors_1.AnalyticsValidationErrorCode.InvalidTracker);
|
|
14
|
+
};
|
|
15
|
+
exports.validateTrackerConfiguration = validateTrackerConfiguration;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.validateTrackerConfiguration = void 0;
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
/**
|
|
8
|
+
* Validates tracker configuration.
|
|
9
|
+
*/
|
|
10
|
+
const validateTrackerConfiguration = (input) => {
|
|
11
|
+
// React Native only supports session tracking
|
|
12
|
+
(0, errors_1.assertValidationError)(input.type === 'session', errors_1.AnalyticsValidationErrorCode.UnsupportedPlatform);
|
|
13
|
+
};
|
|
14
|
+
exports.validateTrackerConfiguration = validateTrackerConfiguration;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TrackerEventRecorder, TrackerInterface, TrackerType } from '../types/trackers';
|
|
2
|
+
import { ConfigureAutoTrackInput } from '../providers/pinpoint';
|
|
3
|
+
/**
|
|
4
|
+
* Updates a provider's trackers as appropriate for the provided auto-track configuration.
|
|
5
|
+
*
|
|
6
|
+
* @remark
|
|
7
|
+
* This utility will mutate the provider's configured trackers via `providerTrackers`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const updateProviderTrackers: (input: ConfigureAutoTrackInput, providerEventRecorder: TrackerEventRecorder, providerTrackers: Partial<Record<TrackerType, TrackerInterface>>) => void;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.updateProviderTrackers = void 0;
|
|
6
|
+
const trackers_1 = require("../trackers");
|
|
7
|
+
/**
|
|
8
|
+
* Updates a provider's trackers as appropriate for the provided auto-track configuration.
|
|
9
|
+
*
|
|
10
|
+
* @remark
|
|
11
|
+
* This utility will mutate the provider's configured trackers via `providerTrackers`.
|
|
12
|
+
*/
|
|
13
|
+
const updateProviderTrackers = (input, providerEventRecorder, providerTrackers) => {
|
|
14
|
+
let trackerInstance;
|
|
15
|
+
const trackerType = input.type;
|
|
16
|
+
const currentTracker = providerTrackers[trackerType];
|
|
17
|
+
// Check if the tracker was disabled & should be cleaned up
|
|
18
|
+
if (!input.enable) {
|
|
19
|
+
if (currentTracker) {
|
|
20
|
+
currentTracker.cleanup();
|
|
21
|
+
delete providerTrackers[trackerType];
|
|
22
|
+
}
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Re-configure the existing tracker, or create & configure an instance if it doesn't exist yet
|
|
26
|
+
if (currentTracker) {
|
|
27
|
+
currentTracker.configure(providerEventRecorder, input.options);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Create a new tracker instance for the type
|
|
31
|
+
if (trackerType === 'event') {
|
|
32
|
+
trackerInstance = new trackers_1.EventTracker(providerEventRecorder, input.options);
|
|
33
|
+
}
|
|
34
|
+
else if (trackerType === 'pageView') {
|
|
35
|
+
trackerInstance = new trackers_1.PageViewTracker(providerEventRecorder, input.options);
|
|
36
|
+
}
|
|
37
|
+
else if (trackerType === 'session') {
|
|
38
|
+
trackerInstance = new trackers_1.SessionTracker(providerEventRecorder, input.options);
|
|
39
|
+
}
|
|
40
|
+
if (trackerInstance) {
|
|
41
|
+
providerTrackers[trackerType] = trackerInstance;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.updateProviderTrackers = updateProviderTrackers;
|
package/lib/utils/userAgent.js
CHANGED
|
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getAnalyticsUserAgentString = exports.getAnalyticsUserAgent = void 0;
|
|
4
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
|
|
6
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
7
7
|
function getAnalyticsUserAgent(action) {
|
|
8
8
|
return (0, utils_1.getAmplifyUserAgentObject)({
|
|
9
9
|
category: utils_1.Category.Analytics,
|
|
10
|
-
action
|
|
10
|
+
action,
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
exports.getAnalyticsUserAgent = getAnalyticsUserAgent;
|
|
14
14
|
function getAnalyticsUserAgentString(action) {
|
|
15
15
|
return (0, utils_1.getAmplifyUserAgent)({
|
|
16
16
|
category: utils_1.Category.Analytics,
|
|
17
|
-
action
|
|
17
|
+
action,
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
exports.getAnalyticsUserAgentString = getAnalyticsUserAgentString;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Disables the Analytics category.
|
|
3
|
+
*
|
|
4
|
+
* @note
|
|
5
|
+
* When Analytics is disabled events will not be buffered or transmitted to your selected service. Any auto-tracking
|
|
6
|
+
* behavior that you have configured via `configureAutoTrack` will not have any effect while Analytics is disabled.
|
|
7
|
+
*/
|
|
8
|
+
export declare const disable: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { disableAnalytics } from '../utils';
|
|
4
|
+
/**
|
|
5
|
+
* Disables the Analytics category.
|
|
6
|
+
*
|
|
7
|
+
* @note
|
|
8
|
+
* When Analytics is disabled events will not be buffered or transmitted to your selected service. Any auto-tracking
|
|
9
|
+
* behavior that you have configured via `configureAutoTrack` will not have any effect while Analytics is disabled.
|
|
10
|
+
*/
|
|
11
|
+
export const disable = disableAnalytics;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { enableAnalytics } from '../utils';
|
|
4
|
+
/**
|
|
5
|
+
* Enables the Analytics category to permit the transmission of events.
|
|
6
|
+
*
|
|
7
|
+
* @note
|
|
8
|
+
* Analytics is enabled by default. You do not need to call this API unless you have disabled Analytics.
|
|
9
|
+
*/
|
|
10
|
+
export const enable = enableAnalytics;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AmplifyError,
|
|
1
|
+
import { AmplifyError, AmplifyErrorParams } from '@aws-amplify/core/internals/utils';
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
*/
|
|
5
5
|
export declare class AnalyticsError extends AmplifyError {
|
|
6
|
-
constructor(params:
|
|
6
|
+
constructor(params: AmplifyErrorParams);
|
|
7
7
|
}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import {
|
|
4
|
-
import { AmplifyError } from '@aws-amplify/core/internals/utils';
|
|
3
|
+
import { AmplifyError, } from '@aws-amplify/core/internals/utils';
|
|
5
4
|
/**
|
|
6
5
|
* @internal
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _this = _super.call(this, params) || this;
|
|
7
|
+
export class AnalyticsError extends AmplifyError {
|
|
8
|
+
constructor(params) {
|
|
9
|
+
super(params);
|
|
12
10
|
// Hack for making the custom error class work when transpiled to es5
|
|
13
11
|
// TODO: Delete the following 2 lines after we change the build target to >= es2015
|
|
14
|
-
|
|
15
|
-
Object.setPrototypeOf(
|
|
16
|
-
return _this;
|
|
12
|
+
this.constructor = AnalyticsError;
|
|
13
|
+
Object.setPrototypeOf(this, AnalyticsError.prototype);
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
}(AmplifyError));
|
|
20
|
-
export { AnalyticsError };
|
|
15
|
+
}
|
|
@@ -2,4 +2,4 @@ import { AnalyticsValidationErrorCode } from './validation';
|
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
*/
|
|
5
|
-
export declare function assertValidationError(assertion: boolean, name: AnalyticsValidationErrorCode): asserts assertion;
|
|
5
|
+
export declare function assertValidationError(assertion: boolean, name: AnalyticsValidationErrorCode, message?: string): asserts assertion;
|
|
@@ -5,9 +5,13 @@ import { validationErrorMap } from './validation';
|
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
|
-
export function assertValidationError(assertion, name) {
|
|
9
|
-
|
|
8
|
+
export function assertValidationError(assertion, name, message) {
|
|
9
|
+
const { message: defaultMessage, recoverySuggestion } = validationErrorMap[name];
|
|
10
10
|
if (!assertion) {
|
|
11
|
-
throw new AnalyticsError({
|
|
11
|
+
throw new AnalyticsError({
|
|
12
|
+
name,
|
|
13
|
+
message: message ?? defaultMessage,
|
|
14
|
+
recoverySuggestion,
|
|
15
|
+
});
|
|
12
16
|
}
|
|
13
17
|
}
|
|
@@ -2,8 +2,11 @@ import { AmplifyErrorMap } from '@aws-amplify/core/internals/utils';
|
|
|
2
2
|
export declare enum AnalyticsValidationErrorCode {
|
|
3
3
|
NoAppId = "NoAppId",
|
|
4
4
|
NoCredentials = "NoCredentials",
|
|
5
|
-
NoEvent = "NoEvent",
|
|
6
5
|
NoEventName = "NoEventName",
|
|
7
|
-
NoRegion = "NoRegion"
|
|
6
|
+
NoRegion = "NoRegion",
|
|
7
|
+
InvalidTracker = "InvalidTracker",
|
|
8
|
+
UnsupportedPlatform = "UnsupportedPlatform",
|
|
9
|
+
NoTrackingId = "NoTrackingId",
|
|
10
|
+
InvalidFlushSize = "InvalidFlushSize"
|
|
8
11
|
}
|
|
9
12
|
export declare const validationErrorMap: AmplifyErrorMap<AnalyticsValidationErrorCode>;
|
|
@@ -1,28 +1,39 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var _a;
|
|
4
3
|
export var AnalyticsValidationErrorCode;
|
|
5
4
|
(function (AnalyticsValidationErrorCode) {
|
|
6
5
|
AnalyticsValidationErrorCode["NoAppId"] = "NoAppId";
|
|
7
6
|
AnalyticsValidationErrorCode["NoCredentials"] = "NoCredentials";
|
|
8
|
-
AnalyticsValidationErrorCode["NoEvent"] = "NoEvent";
|
|
9
7
|
AnalyticsValidationErrorCode["NoEventName"] = "NoEventName";
|
|
10
8
|
AnalyticsValidationErrorCode["NoRegion"] = "NoRegion";
|
|
9
|
+
AnalyticsValidationErrorCode["InvalidTracker"] = "InvalidTracker";
|
|
10
|
+
AnalyticsValidationErrorCode["UnsupportedPlatform"] = "UnsupportedPlatform";
|
|
11
|
+
AnalyticsValidationErrorCode["NoTrackingId"] = "NoTrackingId";
|
|
12
|
+
AnalyticsValidationErrorCode["InvalidFlushSize"] = "InvalidFlushSize";
|
|
11
13
|
})(AnalyticsValidationErrorCode || (AnalyticsValidationErrorCode = {}));
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
+
export const validationErrorMap = {
|
|
15
|
+
[AnalyticsValidationErrorCode.NoAppId]: {
|
|
14
16
|
message: 'Missing application id.',
|
|
15
17
|
},
|
|
16
|
-
|
|
18
|
+
[AnalyticsValidationErrorCode.NoCredentials]: {
|
|
17
19
|
message: 'Credentials should not be empty.',
|
|
18
20
|
},
|
|
19
|
-
|
|
20
|
-
message: 'An event is required to record.',
|
|
21
|
-
},
|
|
22
|
-
_a[AnalyticsValidationErrorCode.NoEventName] = {
|
|
21
|
+
[AnalyticsValidationErrorCode.NoEventName]: {
|
|
23
22
|
message: 'Events must specify a name.',
|
|
24
23
|
},
|
|
25
|
-
|
|
24
|
+
[AnalyticsValidationErrorCode.NoRegion]: {
|
|
26
25
|
message: 'Missing region.',
|
|
27
26
|
},
|
|
28
|
-
|
|
27
|
+
[AnalyticsValidationErrorCode.InvalidTracker]: {
|
|
28
|
+
message: 'Invalid tracker type specified.',
|
|
29
|
+
},
|
|
30
|
+
[AnalyticsValidationErrorCode.UnsupportedPlatform]: {
|
|
31
|
+
message: 'Only session tracking is supported on React Native.',
|
|
32
|
+
},
|
|
33
|
+
[AnalyticsValidationErrorCode.InvalidFlushSize]: {
|
|
34
|
+
message: 'Invalid FlushSize, it should be smaller than BufferSize',
|
|
35
|
+
},
|
|
36
|
+
[AnalyticsValidationErrorCode.NoTrackingId]: {
|
|
37
|
+
message: 'A trackingId is required to use Amazon Personalize',
|
|
38
|
+
},
|
|
39
|
+
};
|
package/lib-esm/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { record, identifyUser, RecordInput, IdentifyUserInput, } from './providers/pinpoint';
|
|
1
|
+
export { record, identifyUser, configureAutoTrack, flushEvents, RecordInput, IdentifyUserInput, ConfigureAutoTrackInput, } from './providers/pinpoint';
|
|
2
|
+
export { enable, disable } from './apis';
|
|
2
3
|
export { AnalyticsError } from './errors';
|
package/lib-esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
export { record, identifyUser, } from './providers/pinpoint';
|
|
3
|
+
export { record, identifyUser, configureAutoTrack, flushEvents, } from './providers/pinpoint';
|
|
4
|
+
export { enable, disable } from './apis';
|
|
4
5
|
export { AnalyticsError } from './errors';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flushes all buffered Kinesis events to the service.
|
|
3
|
+
*
|
|
4
|
+
* @note
|
|
5
|
+
* This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
|
|
6
|
+
* this API may not be included in the flush.
|
|
7
|
+
*/
|
|
8
|
+
export declare const flushEvents: () => void;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { resolveConfig } from '../utils/resolveConfig';
|
|
4
|
+
import { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';
|
|
5
|
+
import { getEventBuffer } from '../utils/getEventBuffer';
|
|
6
|
+
import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
|
|
7
|
+
import { ConsoleLogger } from '@aws-amplify/core';
|
|
8
|
+
const logger = new ConsoleLogger('Kinesis');
|
|
9
|
+
/**
|
|
10
|
+
* Flushes all buffered Kinesis events to the service.
|
|
11
|
+
*
|
|
12
|
+
* @note
|
|
13
|
+
* This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
|
|
14
|
+
* this API may not be included in the flush.
|
|
15
|
+
*/
|
|
16
|
+
export const flushEvents = () => {
|
|
17
|
+
const { region, flushSize, flushInterval, bufferSize, resendLimit } = resolveConfig();
|
|
18
|
+
resolveCredentials()
|
|
19
|
+
.then(({ credentials, identityId }) => getEventBuffer({
|
|
20
|
+
region,
|
|
21
|
+
flushSize,
|
|
22
|
+
flushInterval,
|
|
23
|
+
bufferSize,
|
|
24
|
+
credentials,
|
|
25
|
+
identityId,
|
|
26
|
+
resendLimit,
|
|
27
|
+
userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
|
|
28
|
+
}))
|
|
29
|
+
.then(eventBuffer => eventBuffer.flushAll())
|
|
30
|
+
.catch(e => logger.warn('Failed to flush events.', e));
|
|
31
|
+
};
|