@aws-amplify/analytics 7.0.1-preview-testing.034e780.0 → 7.0.1-server-generate-client.1e317a1.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/assertValidationError.d.ts +1 -1
- package/lib/errors/assertValidationError.js +7 -3
- package/lib/errors/validation.d.ts +5 -2
- package/lib/errors/validation.js +16 -4
- 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 +38 -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 +48 -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 +103 -0
- package/lib/providers/kinesis/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/kinesis/utils/resolveConfig.js +24 -0
- package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
- package/lib/providers/kinesis-firehose/apis/flushEvents.js +37 -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 +45 -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 +100 -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 +24 -0
- package/lib/providers/personalize/apis/flushEvents.d.ts +8 -0
- package/lib/providers/personalize/apis/flushEvents.js +36 -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 +87 -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 +183 -0
- package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
- package/lib/providers/personalize/utils/cachedSession.js +61 -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 +100 -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 +25 -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 +28 -0
- package/lib/providers/pinpoint/apis/identifyUser.d.ts +7 -5
- package/lib/providers/pinpoint/apis/identifyUser.js +15 -11
- 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 +22 -24
- 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/resolveCredentials.d.ts +1 -6
- package/lib/trackers/EventTracker.d.ts +10 -0
- package/lib/trackers/EventTracker.js +104 -0
- package/lib/trackers/PageViewTracker.d.ts +18 -0
- package/lib/trackers/PageViewTracker.js +116 -0
- package/lib/trackers/SessionTracker.d.ts +13 -0
- package/lib/trackers/SessionTracker.js +73 -0
- package/lib/trackers/SessionTracker.native.d.ts +13 -0
- package/lib/trackers/SessionTracker.native.js +73 -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 +91 -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 +15 -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 +21 -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-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 +1 -1
- 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 +16 -4
- 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 +34 -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 +44 -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 +99 -0
- package/lib-esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/kinesis/utils/resolveConfig.js +20 -0
- package/lib-esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +33 -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 +41 -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 +96 -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 +20 -0
- package/lib-esm/providers/personalize/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/personalize/apis/flushEvents.js +32 -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 +83 -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 +179 -0
- package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
- package/lib-esm/providers/personalize/utils/cachedSession.js +56 -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 +96 -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 +21 -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 +24 -0
- package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +7 -5
- package/lib-esm/providers/pinpoint/apis/identifyUser.js +13 -9
- 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 +20 -22
- 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/resolveCredentials.d.ts +1 -6
- package/lib-esm/trackers/EventTracker.d.ts +10 -0
- package/lib-esm/trackers/EventTracker.js +101 -0
- package/lib-esm/trackers/PageViewTracker.d.ts +18 -0
- package/lib-esm/trackers/PageViewTracker.js +113 -0
- package/lib-esm/trackers/SessionTracker.d.ts +13 -0
- package/lib-esm/trackers/SessionTracker.js +70 -0
- package/lib-esm/trackers/SessionTracker.native.d.ts +13 -0
- package/lib-esm/trackers/SessionTracker.native.js +70 -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 +88 -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 +11 -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 +17 -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/package.json +39 -9
- 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 +110 -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 +118 -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 +111 -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 +106 -0
- package/src/trackers/SessionTracker.ts +106 -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,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aws-amplify/analytics/kinesis-firehose",
|
|
3
|
+
"main": "../lib/providers/kinesis-firehose/index.js",
|
|
4
|
+
"browser": "../lib-esm/providers/kinesis-firehose/index.js",
|
|
5
|
+
"module": "../lib-esm/providers/kinesis-firehose/index.js",
|
|
6
|
+
"typings": "../lib-esm/providers/kinesis-firehose/index.d.ts"
|
|
7
|
+
}
|
|
@@ -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,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.disable = void 0;
|
|
6
|
+
var utils_1 = require("../utils");
|
|
7
|
+
/**
|
|
8
|
+
* Disables the Analytics category.
|
|
9
|
+
*
|
|
10
|
+
* @note
|
|
11
|
+
* When Analytics is disabled events will not be buffered or transmitted to your selected service. Any auto-tracking
|
|
12
|
+
* behavior that you have configured via `configureAutoTrack` will not have any effect while Analytics is disabled.
|
|
13
|
+
*/
|
|
14
|
+
exports.disable = utils_1.disableAnalytics;
|
|
@@ -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.enable = void 0;
|
|
6
|
+
var utils_1 = require("../utils");
|
|
7
|
+
/**
|
|
8
|
+
* Enables the Analytics category to permit the transmission of events.
|
|
9
|
+
*
|
|
10
|
+
* @note
|
|
11
|
+
* Analytics is enabled by default. You do not need to call this API unless you have disabled Analytics.
|
|
12
|
+
*/
|
|
13
|
+
exports.enable = utils_1.enableAnalytics;
|
|
@@ -0,0 +1,9 @@
|
|
|
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.disable = exports.enable = void 0;
|
|
6
|
+
var enable_1 = require("./enable");
|
|
7
|
+
Object.defineProperty(exports, "enable", { enumerable: true, get: function () { return enable_1.enable; } });
|
|
8
|
+
var disable_1 = require("./disable");
|
|
9
|
+
Object.defineProperty(exports, "disable", { enumerable: true, get: function () { return disable_1.disable; } });
|
|
@@ -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
|
}
|
|
@@ -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;
|
|
@@ -8,10 +8,14 @@ var validation_1 = require("./validation");
|
|
|
8
8
|
/**
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
|
-
function assertValidationError(assertion, name) {
|
|
12
|
-
var _a = validation_1.validationErrorMap[name],
|
|
11
|
+
function assertValidationError(assertion, name, message) {
|
|
12
|
+
var _a = validation_1.validationErrorMap[name], defaultMessage = _a.message, recoverySuggestion = _a.recoverySuggestion;
|
|
13
13
|
if (!assertion) {
|
|
14
|
-
throw new AnalyticsError_1.AnalyticsError({
|
|
14
|
+
throw new AnalyticsError_1.AnalyticsError({
|
|
15
|
+
name: name,
|
|
16
|
+
message: message !== null && message !== void 0 ? message : defaultMessage,
|
|
17
|
+
recoverySuggestion: recoverySuggestion,
|
|
18
|
+
});
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
21
|
exports.assertValidationError = assertValidationError;
|
|
@@ -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>;
|
package/lib/errors/validation.js
CHANGED
|
@@ -8,9 +8,12 @@ var AnalyticsValidationErrorCode;
|
|
|
8
8
|
(function (AnalyticsValidationErrorCode) {
|
|
9
9
|
AnalyticsValidationErrorCode["NoAppId"] = "NoAppId";
|
|
10
10
|
AnalyticsValidationErrorCode["NoCredentials"] = "NoCredentials";
|
|
11
|
-
AnalyticsValidationErrorCode["NoEvent"] = "NoEvent";
|
|
12
11
|
AnalyticsValidationErrorCode["NoEventName"] = "NoEventName";
|
|
13
12
|
AnalyticsValidationErrorCode["NoRegion"] = "NoRegion";
|
|
13
|
+
AnalyticsValidationErrorCode["InvalidTracker"] = "InvalidTracker";
|
|
14
|
+
AnalyticsValidationErrorCode["UnsupportedPlatform"] = "UnsupportedPlatform";
|
|
15
|
+
AnalyticsValidationErrorCode["NoTrackingId"] = "NoTrackingId";
|
|
16
|
+
AnalyticsValidationErrorCode["InvalidFlushSize"] = "InvalidFlushSize";
|
|
14
17
|
})(AnalyticsValidationErrorCode = exports.AnalyticsValidationErrorCode || (exports.AnalyticsValidationErrorCode = {}));
|
|
15
18
|
exports.validationErrorMap = (_a = {},
|
|
16
19
|
_a[AnalyticsValidationErrorCode.NoAppId] = {
|
|
@@ -19,13 +22,22 @@ exports.validationErrorMap = (_a = {},
|
|
|
19
22
|
_a[AnalyticsValidationErrorCode.NoCredentials] = {
|
|
20
23
|
message: 'Credentials should not be empty.',
|
|
21
24
|
},
|
|
22
|
-
_a[AnalyticsValidationErrorCode.NoEvent] = {
|
|
23
|
-
message: 'An event is required to record.',
|
|
24
|
-
},
|
|
25
25
|
_a[AnalyticsValidationErrorCode.NoEventName] = {
|
|
26
26
|
message: 'Events must specify a name.',
|
|
27
27
|
},
|
|
28
28
|
_a[AnalyticsValidationErrorCode.NoRegion] = {
|
|
29
29
|
message: 'Missing region.',
|
|
30
30
|
},
|
|
31
|
+
_a[AnalyticsValidationErrorCode.InvalidTracker] = {
|
|
32
|
+
message: 'Invalid tracker type specified.',
|
|
33
|
+
},
|
|
34
|
+
_a[AnalyticsValidationErrorCode.UnsupportedPlatform] = {
|
|
35
|
+
message: 'Only session tracking is supported on React Native.',
|
|
36
|
+
},
|
|
37
|
+
_a[AnalyticsValidationErrorCode.InvalidFlushSize] = {
|
|
38
|
+
message: 'Invalid FlushSize, it should be smaller than BufferSize',
|
|
39
|
+
},
|
|
40
|
+
_a[AnalyticsValidationErrorCode.NoTrackingId] = {
|
|
41
|
+
message: 'A trackingId is required to use Amazon Personalize',
|
|
42
|
+
},
|
|
31
43
|
_a);
|
package/lib/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/index.js
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.AnalyticsError = exports.identifyUser = exports.record = void 0;
|
|
5
|
+
exports.AnalyticsError = exports.disable = exports.enable = exports.flushEvents = exports.configureAutoTrack = exports.identifyUser = exports.record = void 0;
|
|
6
6
|
var pinpoint_1 = require("./providers/pinpoint");
|
|
7
7
|
Object.defineProperty(exports, "record", { enumerable: true, get: function () { return pinpoint_1.record; } });
|
|
8
8
|
Object.defineProperty(exports, "identifyUser", { enumerable: true, get: function () { return pinpoint_1.identifyUser; } });
|
|
9
|
+
Object.defineProperty(exports, "configureAutoTrack", { enumerable: true, get: function () { return pinpoint_1.configureAutoTrack; } });
|
|
10
|
+
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return pinpoint_1.flushEvents; } });
|
|
11
|
+
var apis_1 = require("./apis");
|
|
12
|
+
Object.defineProperty(exports, "enable", { enumerable: true, get: function () { return apis_1.enable; } });
|
|
13
|
+
Object.defineProperty(exports, "disable", { enumerable: true, get: function () { return apis_1.disable; } });
|
|
9
14
|
var errors_1 = require("./errors");
|
|
10
15
|
Object.defineProperty(exports, "AnalyticsError", { enumerable: true, get: function () { return errors_1.AnalyticsError; } });
|
|
@@ -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,38 @@
|
|
|
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.flushEvents = void 0;
|
|
6
|
+
var resolveConfig_1 = require("../utils/resolveConfig");
|
|
7
|
+
var utils_1 = require("../../../utils");
|
|
8
|
+
var getEventBuffer_1 = require("../utils/getEventBuffer");
|
|
9
|
+
var utils_2 = require("@aws-amplify/core/internals/utils");
|
|
10
|
+
var core_1 = require("@aws-amplify/core");
|
|
11
|
+
var logger = new core_1.ConsoleLogger('Kinesis');
|
|
12
|
+
/**
|
|
13
|
+
* Flushes all buffered Kinesis events to the service.
|
|
14
|
+
*
|
|
15
|
+
* @note
|
|
16
|
+
* This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
|
|
17
|
+
* this API may not be included in the flush.
|
|
18
|
+
*/
|
|
19
|
+
var flushEvents = function () {
|
|
20
|
+
var _a = (0, resolveConfig_1.resolveConfig)(), region = _a.region, flushSize = _a.flushSize, flushInterval = _a.flushInterval, bufferSize = _a.bufferSize, resendLimit = _a.resendLimit;
|
|
21
|
+
(0, utils_1.resolveCredentials)()
|
|
22
|
+
.then(function (_a) {
|
|
23
|
+
var credentials = _a.credentials, identityId = _a.identityId;
|
|
24
|
+
return (0, getEventBuffer_1.getEventBuffer)({
|
|
25
|
+
region: region,
|
|
26
|
+
flushSize: flushSize,
|
|
27
|
+
flushInterval: flushInterval,
|
|
28
|
+
bufferSize: bufferSize,
|
|
29
|
+
credentials: credentials,
|
|
30
|
+
identityId: identityId,
|
|
31
|
+
resendLimit: resendLimit,
|
|
32
|
+
userAgentValue: (0, utils_1.getAnalyticsUserAgentString)(utils_2.AnalyticsAction.Record),
|
|
33
|
+
});
|
|
34
|
+
})
|
|
35
|
+
.then(function (eventBuffer) { return eventBuffer.flushAll(); })
|
|
36
|
+
.catch(function (e) { return logger.warn('Failed to flush events.', e); });
|
|
37
|
+
};
|
|
38
|
+
exports.flushEvents = flushEvents;
|
|
@@ -0,0 +1,9 @@
|
|
|
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.flushEvents = exports.record = void 0;
|
|
6
|
+
var record_1 = require("./record");
|
|
7
|
+
Object.defineProperty(exports, "record", { enumerable: true, get: function () { return record_1.record; } });
|
|
8
|
+
var flushEvents_1 = require("./flushEvents");
|
|
9
|
+
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return flushEvents_1.flushEvents; } });
|
|
@@ -0,0 +1,48 @@
|
|
|
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.record = void 0;
|
|
6
|
+
var getEventBuffer_1 = require("../utils/getEventBuffer");
|
|
7
|
+
var resolveConfig_1 = require("../utils/resolveConfig");
|
|
8
|
+
var utils_1 = require("../../../utils");
|
|
9
|
+
var util_utf8_1 = require("@smithy/util-utf8");
|
|
10
|
+
var utils_2 = require("@aws-amplify/core/internals/utils");
|
|
11
|
+
var core_1 = require("@aws-amplify/core");
|
|
12
|
+
var logger = new core_1.ConsoleLogger('Kinesis');
|
|
13
|
+
var record = function (_a) {
|
|
14
|
+
var streamName = _a.streamName, partitionKey = _a.partitionKey, data = _a.data;
|
|
15
|
+
if (!(0, utils_1.isAnalyticsEnabled)()) {
|
|
16
|
+
logger.debug('Analytics is disabled, event will not be recorded.');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
var timestamp = Date.now();
|
|
20
|
+
var _b = (0, resolveConfig_1.resolveConfig)(), region = _b.region, bufferSize = _b.bufferSize, flushSize = _b.flushSize, flushInterval = _b.flushInterval, resendLimit = _b.resendLimit;
|
|
21
|
+
(0, utils_1.resolveCredentials)()
|
|
22
|
+
.then(function (_a) {
|
|
23
|
+
var credentials = _a.credentials, identityId = _a.identityId;
|
|
24
|
+
var buffer = (0, getEventBuffer_1.getEventBuffer)({
|
|
25
|
+
region: region,
|
|
26
|
+
bufferSize: bufferSize,
|
|
27
|
+
flushSize: flushSize,
|
|
28
|
+
flushInterval: flushInterval,
|
|
29
|
+
credentials: credentials,
|
|
30
|
+
identityId: identityId,
|
|
31
|
+
resendLimit: resendLimit,
|
|
32
|
+
userAgentValue: (0, utils_1.getAnalyticsUserAgentString)(utils_2.AnalyticsAction.Record),
|
|
33
|
+
});
|
|
34
|
+
buffer.append({
|
|
35
|
+
region: region,
|
|
36
|
+
streamName: streamName,
|
|
37
|
+
partitionKey: partitionKey,
|
|
38
|
+
event: ArrayBuffer.isView(data) ? data : (0, util_utf8_1.fromUtf8)(JSON.stringify(data)),
|
|
39
|
+
timestamp: timestamp,
|
|
40
|
+
retryCount: 0,
|
|
41
|
+
});
|
|
42
|
+
})
|
|
43
|
+
.catch(function (e) {
|
|
44
|
+
// An error occured while fetching credentials or persisting the event to the buffer
|
|
45
|
+
logger.warn('Failed to record event.', e);
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
exports.record = record;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { record, flushEvents } from './apis';
|
|
@@ -0,0 +1,8 @@
|
|
|
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.flushEvents = exports.record = void 0;
|
|
6
|
+
var apis_1 = require("./apis");
|
|
7
|
+
Object.defineProperty(exports, "record", { enumerable: true, get: function () { return apis_1.record; } });
|
|
8
|
+
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return apis_1.flushEvents; } });
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AWSCredentials } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { EventBufferConfig } from '../../../utils';
|
|
3
|
+
import { KinesisShard } from '../../../types';
|
|
4
|
+
export type KinesisBufferEvent = KinesisShard & {
|
|
5
|
+
event: Uint8Array;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
retryCount: number;
|
|
8
|
+
};
|
|
9
|
+
export type KinesisEventBufferConfig = EventBufferConfig & {
|
|
10
|
+
region: string;
|
|
11
|
+
credentials: AWSCredentials;
|
|
12
|
+
identityId?: string;
|
|
13
|
+
resendLimit?: number;
|
|
14
|
+
userAgentValue?: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
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.DEFAULT_KINESIS_CONFIG = void 0;
|
|
6
|
+
exports.DEFAULT_KINESIS_CONFIG = {
|
|
7
|
+
bufferSize: 1000,
|
|
8
|
+
flushSize: 100,
|
|
9
|
+
flushInterval: 5000,
|
|
10
|
+
resendLimit: 5,
|
|
11
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { KinesisBufferEvent, KinesisEventBufferConfig } from '../types';
|
|
2
|
+
import { EventBuffer } from '../../../utils';
|
|
3
|
+
export declare const getEventBuffer: ({ region, flushInterval, flushSize, bufferSize, credentials, identityId, resendLimit, userAgentValue, }: KinesisEventBufferConfig) => EventBuffer<KinesisBufferEvent>;
|
|
@@ -0,0 +1,103 @@
|
|
|
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.getEventBuffer = void 0;
|
|
6
|
+
var tslib_1 = require("tslib");
|
|
7
|
+
var utils_1 = require("../../../utils");
|
|
8
|
+
var client_kinesis_1 = require("@aws-sdk/client-kinesis");
|
|
9
|
+
/**
|
|
10
|
+
* These Records hold cached event buffers and AWS clients.
|
|
11
|
+
* The hash key is determined by the region and session,
|
|
12
|
+
* consisting of a combined value comprising [region, sessionToken, identityId].
|
|
13
|
+
*
|
|
14
|
+
* Only one active session should exist at any given moment.
|
|
15
|
+
* When a new session is initiated, the previous ones should be released.
|
|
16
|
+
* */
|
|
17
|
+
var eventBufferMap = {};
|
|
18
|
+
var cachedClients = {};
|
|
19
|
+
var createKinesisPutRecordsCommand = function (streamName, events) {
|
|
20
|
+
return new client_kinesis_1.PutRecordsCommand({
|
|
21
|
+
StreamName: streamName,
|
|
22
|
+
Records: events.map(function (event) { return ({
|
|
23
|
+
PartitionKey: event.partitionKey,
|
|
24
|
+
Data: event.event,
|
|
25
|
+
}); }),
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
var submitEvents = function (events, client, resendLimit) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
29
|
+
var groupedByStreamName, requests, responses, failedEvents;
|
|
30
|
+
return tslib_1.__generator(this, function (_a) {
|
|
31
|
+
switch (_a.label) {
|
|
32
|
+
case 0:
|
|
33
|
+
groupedByStreamName = Object.entries((0, utils_1.groupBy)(function (event) { return event.streamName; }, events));
|
|
34
|
+
requests = groupedByStreamName
|
|
35
|
+
.map(function (_a) {
|
|
36
|
+
var _b = tslib_1.__read(_a, 2), streamName = _b[0], events = _b[1];
|
|
37
|
+
return createKinesisPutRecordsCommand(streamName, events);
|
|
38
|
+
})
|
|
39
|
+
.map(function (command) { return client.send(command); });
|
|
40
|
+
return [4 /*yield*/, Promise.allSettled(requests)];
|
|
41
|
+
case 1:
|
|
42
|
+
responses = _a.sent();
|
|
43
|
+
failedEvents = responses
|
|
44
|
+
.map(function (response, i) {
|
|
45
|
+
return response.status === 'rejected' ? groupedByStreamName[i][1] : [];
|
|
46
|
+
})
|
|
47
|
+
.flat();
|
|
48
|
+
return [2 /*return*/, resendLimit
|
|
49
|
+
? failedEvents
|
|
50
|
+
.filter(function (event) { return event.retryCount < resendLimit; })
|
|
51
|
+
.map(function (event) { return (tslib_1.__assign(tslib_1.__assign({}, event), { retryCount: event.retryCount + 1 })); })
|
|
52
|
+
.sort(function (a, b) { return a.timestamp - b.timestamp; })
|
|
53
|
+
: []];
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}); };
|
|
57
|
+
var getEventBuffer = function (_a) {
|
|
58
|
+
var e_1, _b;
|
|
59
|
+
var region = _a.region, flushInterval = _a.flushInterval, flushSize = _a.flushSize, bufferSize = _a.bufferSize, credentials = _a.credentials, identityId = _a.identityId, resendLimit = _a.resendLimit, userAgentValue = _a.userAgentValue;
|
|
60
|
+
var sessionToken = credentials.sessionToken;
|
|
61
|
+
var sessionIdentityKey = [region, sessionToken, identityId]
|
|
62
|
+
.filter(function (x) { return !!x; })
|
|
63
|
+
.join('-');
|
|
64
|
+
if (!eventBufferMap[sessionIdentityKey]) {
|
|
65
|
+
var getKinesisClient = function () {
|
|
66
|
+
if (!cachedClients[sessionIdentityKey]) {
|
|
67
|
+
cachedClients[sessionIdentityKey] = new client_kinesis_1.KinesisClient({
|
|
68
|
+
credentials: credentials,
|
|
69
|
+
region: region,
|
|
70
|
+
customUserAgent: userAgentValue,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return function (events) {
|
|
74
|
+
return submitEvents(events, cachedClients[sessionIdentityKey], resendLimit);
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
// create new session
|
|
78
|
+
eventBufferMap[sessionIdentityKey] = new utils_1.EventBuffer({
|
|
79
|
+
flushInterval: flushInterval,
|
|
80
|
+
flushSize: flushSize,
|
|
81
|
+
bufferSize: bufferSize,
|
|
82
|
+
}, getKinesisClient);
|
|
83
|
+
// release other sessions
|
|
84
|
+
var releaseSessionKeys = Object.keys(eventBufferMap).filter(function (x) { return x !== sessionIdentityKey; });
|
|
85
|
+
try {
|
|
86
|
+
for (var releaseSessionKeys_1 = tslib_1.__values(releaseSessionKeys), releaseSessionKeys_1_1 = releaseSessionKeys_1.next(); !releaseSessionKeys_1_1.done; releaseSessionKeys_1_1 = releaseSessionKeys_1.next()) {
|
|
87
|
+
var releaseSessionKey = releaseSessionKeys_1_1.value;
|
|
88
|
+
eventBufferMap[releaseSessionKey].release();
|
|
89
|
+
delete eventBufferMap[releaseSessionKey];
|
|
90
|
+
delete cachedClients[releaseSessionKey];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
94
|
+
finally {
|
|
95
|
+
try {
|
|
96
|
+
if (releaseSessionKeys_1_1 && !releaseSessionKeys_1_1.done && (_b = releaseSessionKeys_1.return)) _b.call(releaseSessionKeys_1);
|
|
97
|
+
}
|
|
98
|
+
finally { if (e_1) throw e_1.error; }
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return eventBufferMap[sessionIdentityKey];
|
|
102
|
+
};
|
|
103
|
+
exports.getEventBuffer = getEventBuffer;
|
|
@@ -0,0 +1,24 @@
|
|
|
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.resolveConfig = void 0;
|
|
6
|
+
var tslib_1 = require("tslib");
|
|
7
|
+
var core_1 = require("@aws-amplify/core");
|
|
8
|
+
var errors_1 = require("../../../errors");
|
|
9
|
+
var constants_1 = require("./constants");
|
|
10
|
+
var resolveConfig = function () {
|
|
11
|
+
var _a;
|
|
12
|
+
var config = (_a = core_1.Amplify.getConfig().Analytics) === null || _a === void 0 ? void 0 : _a.Kinesis;
|
|
13
|
+
var _b = tslib_1.__assign(tslib_1.__assign({}, constants_1.DEFAULT_KINESIS_CONFIG), config), region = _b.region, _c = _b.bufferSize, bufferSize = _c === void 0 ? constants_1.DEFAULT_KINESIS_CONFIG.bufferSize : _c, _d = _b.flushSize, flushSize = _d === void 0 ? constants_1.DEFAULT_KINESIS_CONFIG.flushSize : _d, _e = _b.flushInterval, flushInterval = _e === void 0 ? constants_1.DEFAULT_KINESIS_CONFIG.flushInterval : _e, resendLimit = _b.resendLimit;
|
|
14
|
+
(0, errors_1.assertValidationError)(!!region, errors_1.AnalyticsValidationErrorCode.NoRegion);
|
|
15
|
+
(0, errors_1.assertValidationError)(flushSize < bufferSize, errors_1.AnalyticsValidationErrorCode.InvalidFlushSize);
|
|
16
|
+
return {
|
|
17
|
+
region: region,
|
|
18
|
+
bufferSize: bufferSize,
|
|
19
|
+
flushSize: flushSize,
|
|
20
|
+
flushInterval: flushInterval,
|
|
21
|
+
resendLimit: resendLimit,
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.resolveConfig = resolveConfig;
|
|
@@ -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,37 @@
|
|
|
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.flushEvents = void 0;
|
|
6
|
+
var utils_1 = require("../utils");
|
|
7
|
+
var utils_2 = require("../../../utils");
|
|
8
|
+
var utils_3 = require("@aws-amplify/core/internals/utils");
|
|
9
|
+
var core_1 = require("@aws-amplify/core");
|
|
10
|
+
var logger = new core_1.ConsoleLogger('KinesisFirehose');
|
|
11
|
+
/**
|
|
12
|
+
* Flushes all buffered Kinesis events to the service.
|
|
13
|
+
*
|
|
14
|
+
* @note
|
|
15
|
+
* This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
|
|
16
|
+
* this API may not be included in the flush.
|
|
17
|
+
*/
|
|
18
|
+
var flushEvents = function () {
|
|
19
|
+
var _a = (0, utils_1.resolveConfig)(), region = _a.region, flushSize = _a.flushSize, flushInterval = _a.flushInterval, bufferSize = _a.bufferSize, resendLimit = _a.resendLimit;
|
|
20
|
+
(0, utils_2.resolveCredentials)()
|
|
21
|
+
.then(function (_a) {
|
|
22
|
+
var credentials = _a.credentials, identityId = _a.identityId;
|
|
23
|
+
return (0, utils_1.getEventBuffer)({
|
|
24
|
+
region: region,
|
|
25
|
+
flushSize: flushSize,
|
|
26
|
+
flushInterval: flushInterval,
|
|
27
|
+
bufferSize: bufferSize,
|
|
28
|
+
credentials: credentials,
|
|
29
|
+
identityId: identityId,
|
|
30
|
+
resendLimit: resendLimit,
|
|
31
|
+
userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_3.AnalyticsAction.Record),
|
|
32
|
+
});
|
|
33
|
+
})
|
|
34
|
+
.then(function (eventBuffer) { return eventBuffer.flushAll(); })
|
|
35
|
+
.catch(function (e) { return logger.warn('Failed to flush events.', e); });
|
|
36
|
+
};
|
|
37
|
+
exports.flushEvents = flushEvents;
|
|
@@ -0,0 +1,9 @@
|
|
|
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.flushEvents = exports.record = void 0;
|
|
6
|
+
var record_1 = require("./record");
|
|
7
|
+
Object.defineProperty(exports, "record", { enumerable: true, get: function () { return record_1.record; } });
|
|
8
|
+
var flushEvents_1 = require("./flushEvents");
|
|
9
|
+
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return flushEvents_1.flushEvents; } });
|