@aws-amplify/analytics 7.0.1-console-preview.f63250a.0 → 7.0.1-console-preview.e8aa063.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/errors/AnalyticsError.d.ts +7 -0
- package/lib/errors/AnalyticsError.js +23 -0
- package/lib/errors/assertValidationError.d.ts +5 -0
- package/lib/errors/assertValidationError.js +17 -0
- package/lib/errors/index.d.ts +3 -0
- package/lib/errors/index.js +12 -0
- package/lib/errors/validation.d.ts +9 -0
- package/lib/errors/validation.js +31 -0
- package/lib/index.d.ts +0 -3
- package/lib/index.js +0 -15
- package/lib/providers/pinpoint/apis/identifyUser.d.ts +10 -0
- package/lib/providers/pinpoint/apis/identifyUser.js +44 -0
- package/lib/providers/pinpoint/apis/index.d.ts +2 -0
- package/lib/providers/pinpoint/apis/index.js +9 -0
- package/lib/providers/pinpoint/apis/record.d.ts +11 -0
- package/lib/providers/pinpoint/apis/record.js +44 -0
- package/lib/providers/pinpoint/index.d.ts +1 -1
- package/lib/providers/pinpoint/index.js +1 -7
- package/lib/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib/providers/pinpoint/types/errors.js +15 -0
- package/lib/providers/pinpoint/types/index.d.ts +2 -0
- package/lib/providers/pinpoint/types/index.js +7 -0
- package/lib/providers/pinpoint/types/parameters.d.ts +18 -0
- package/lib/providers/pinpoint/utils/index.d.ts +2 -0
- package/lib/providers/pinpoint/utils/index.js +9 -0
- package/lib/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/pinpoint/utils/resolveConfig.js +18 -0
- package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
- package/lib/providers/pinpoint/utils/resolveCredentials.js +24 -0
- package/lib/setupTests.js +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/{lib-esm/types/Analytics.d.ts → lib/types/analytics.d.ts} +0 -8
- package/lib/types/index.d.ts +1 -3
- package/lib/types/index.js +1 -3
- package/lib/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
- package/lib/utils/{UserAgent.js → userAgent.js} +5 -5
- package/lib-esm/errors/AnalyticsError.d.ts +7 -0
- package/lib-esm/errors/AnalyticsError.js +20 -0
- package/lib-esm/errors/assertValidationError.d.ts +5 -0
- package/lib-esm/errors/assertValidationError.js +13 -0
- package/lib-esm/errors/index.d.ts +3 -0
- package/lib-esm/errors/index.js +5 -0
- package/lib-esm/errors/validation.d.ts +9 -0
- package/lib-esm/errors/validation.js +28 -0
- package/lib-esm/index.d.ts +0 -3
- package/lib-esm/index.js +0 -12
- package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +10 -0
- package/lib-esm/providers/pinpoint/apis/identifyUser.js +40 -0
- package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
- package/{src/types/providers/index.ts → lib-esm/providers/pinpoint/apis/index.js} +2 -1
- package/lib-esm/providers/pinpoint/apis/record.d.ts +11 -0
- package/lib-esm/providers/pinpoint/apis/record.js +40 -0
- package/lib-esm/providers/pinpoint/index.d.ts +1 -1
- package/lib-esm/providers/pinpoint/index.js +1 -6
- package/lib-esm/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib-esm/providers/pinpoint/types/errors.js +12 -0
- package/lib-esm/providers/pinpoint/types/index.d.ts +2 -0
- package/lib-esm/{types/providers → providers/pinpoint/types}/index.js +1 -1
- package/lib-esm/providers/pinpoint/types/parameters.d.ts +18 -0
- package/lib-esm/providers/pinpoint/utils/index.d.ts +2 -0
- package/lib-esm/{utils/AppUtils.js → providers/pinpoint/utils/index.js} +2 -4
- package/lib-esm/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/pinpoint/utils/resolveConfig.js +14 -0
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +20 -0
- package/lib-esm/setupTests.js +1 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/{lib/types/Analytics.d.ts → lib-esm/types/analytics.d.ts} +0 -8
- package/lib-esm/types/index.d.ts +1 -3
- package/lib-esm/types/index.js +1 -3
- package/lib-esm/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
- package/lib-esm/utils/{UserAgent.js → userAgent.js} +1 -1
- package/package.json +11 -29
- package/src/errors/AnalyticsError.ts +18 -0
- package/src/errors/assertValidationError.ts +19 -0
- package/src/errors/index.ts +6 -0
- package/src/errors/validation.ts +31 -0
- package/src/index.ts +0 -15
- package/src/providers/pinpoint/apis/identifyUser.ts +35 -0
- package/src/{utils/AppUtils.ts → providers/pinpoint/apis/index.ts} +2 -4
- package/src/providers/pinpoint/apis/record.ts +50 -0
- package/src/providers/pinpoint/index.ts +1 -3
- package/src/providers/pinpoint/types/errors.ts +12 -0
- package/src/providers/pinpoint/types/index.ts +5 -0
- package/src/providers/pinpoint/types/parameters.ts +24 -0
- package/src/providers/pinpoint/utils/index.ts +5 -0
- package/src/providers/pinpoint/utils/resolveConfig.ts +18 -0
- package/src/providers/pinpoint/utils/resolveCredentials.ts +20 -0
- package/src/types/{Analytics.ts → analytics.ts} +1 -10
- package/src/types/index.ts +1 -3
- package/src/utils/{UserAgent.ts → userAgent.ts} +1 -1
- package/lib/Analytics.d.ts +0 -87
- package/lib/Analytics.js +0 -354
- package/lib/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
- package/lib/providers/AWSKinesisFirehoseProvider.js +0 -82
- package/lib/providers/AWSKinesisProvider.d.ts +0 -43
- package/lib/providers/AWSKinesisProvider.js +0 -240
- package/lib/providers/AWSPinpointProvider.d.ts +0 -67
- package/lib/providers/AWSPinpointProvider.js +0 -576
- package/lib/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
- package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
- package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -156
- package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
- package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -96
- package/lib/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
- package/lib/providers/AmazonPersonalizeHelper/index.js +0 -7
- package/lib/providers/AmazonPersonalizeProvider.d.ts +0 -76
- package/lib/providers/AmazonPersonalizeProvider.js +0 -331
- package/lib/providers/EventBuffer.d.ts +0 -28
- package/lib/providers/EventBuffer.js +0 -209
- package/lib/providers/index.d.ts +0 -4
- package/lib/providers/index.js +0 -14
- package/lib/trackers/EventTracker.d.ts +0 -9
- package/lib/trackers/EventTracker.js +0 -99
- package/lib/trackers/PageViewTracker.d.ts +0 -12
- package/lib/trackers/PageViewTracker.js +0 -158
- package/lib/trackers/SessionTracker-rn.d.ts +0 -12
- package/lib/trackers/SessionTracker-rn.js +0 -134
- package/lib/trackers/SessionTracker.d.ts +0 -14
- package/lib/trackers/SessionTracker.js +0 -163
- package/lib/trackers/index.d.ts +0 -3
- package/lib/trackers/index.js +0 -11
- package/lib/trackers/reactnative.d.ts +0 -8
- package/lib/trackers/reactnative.js +0 -19
- package/lib/types/Analytics.js +0 -2
- package/lib/types/Provider.d.ts +0 -10
- package/lib/types/providers/AWSKinesisProvider.d.ts +0 -6
- package/lib/types/providers/AWSKinesisProvider.js +0 -2
- package/lib/types/providers/AWSPinpointProvider.d.ts +0 -50
- package/lib/types/providers/AWSPinpointProvider.js +0 -2
- package/lib/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
- package/lib/types/providers/AmazonPersonalizeProvider.js +0 -2
- package/lib/types/providers/index.d.ts +0 -1
- package/lib/types/providers/index.js +0 -6
- package/lib/utils/AppUtils.d.ts +0 -2
- package/lib/utils/AppUtils.js +0 -9
- package/lib/utils/AppUtils.native.d.ts +0 -2
- package/lib/utils/AppUtils.native.js +0 -10
- package/lib/utils/MethodEmbed.d.ts +0 -11
- package/lib/utils/MethodEmbed.js +0 -43
- package/lib/vendor/dom-utils/closest.d.ts +0 -12
- package/lib/vendor/dom-utils/closest.js +0 -27
- package/lib/vendor/dom-utils/delegate.d.ts +0 -18
- package/lib/vendor/dom-utils/delegate.js +0 -51
- package/lib/vendor/dom-utils/dispatch.d.ts +0 -17
- package/lib/vendor/dom-utils/dispatch.js +0 -51
- package/lib/vendor/dom-utils/get-attributes.d.ts +0 -11
- package/lib/vendor/dom-utils/get-attributes.js +0 -28
- package/lib/vendor/dom-utils/index.d.ts +0 -7
- package/lib/vendor/dom-utils/index.js +0 -17
- package/lib/vendor/dom-utils/matches.d.ts +0 -11
- package/lib/vendor/dom-utils/matches.js +0 -69
- package/lib/vendor/dom-utils/parents.d.ts +0 -10
- package/lib/vendor/dom-utils/parents.js +0 -22
- package/lib/vendor/dom-utils/parse-url.d.ts +0 -9
- package/lib/vendor/dom-utils/parse-url.js +0 -59
- package/lib-esm/Analytics.d.ts +0 -87
- package/lib-esm/Analytics.js +0 -351
- package/lib-esm/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
- package/lib-esm/providers/AWSKinesisFirehoseProvider.js +0 -79
- package/lib-esm/providers/AWSKinesisProvider.d.ts +0 -43
- package/lib-esm/providers/AWSKinesisProvider.js +0 -237
- package/lib-esm/providers/AWSPinpointProvider.d.ts +0 -67
- package/lib-esm/providers/AWSPinpointProvider.js +0 -573
- package/lib-esm/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
- package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
- package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -153
- package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
- package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -92
- package/lib-esm/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
- package/lib-esm/providers/AmazonPersonalizeHelper/index.js +0 -2
- package/lib-esm/providers/AmazonPersonalizeProvider.d.ts +0 -76
- package/lib-esm/providers/AmazonPersonalizeProvider.js +0 -328
- package/lib-esm/providers/EventBuffer.d.ts +0 -28
- package/lib-esm/providers/EventBuffer.js +0 -207
- package/lib-esm/providers/index.d.ts +0 -4
- package/lib-esm/providers/index.js +0 -7
- package/lib-esm/trackers/EventTracker.d.ts +0 -9
- package/lib-esm/trackers/EventTracker.js +0 -96
- package/lib-esm/trackers/PageViewTracker.d.ts +0 -12
- package/lib-esm/trackers/PageViewTracker.js +0 -155
- package/lib-esm/trackers/SessionTracker-rn.d.ts +0 -12
- package/lib-esm/trackers/SessionTracker-rn.js +0 -131
- package/lib-esm/trackers/SessionTracker.d.ts +0 -14
- package/lib-esm/trackers/SessionTracker.js +0 -160
- package/lib-esm/trackers/index.d.ts +0 -3
- package/lib-esm/trackers/index.js +0 -5
- package/lib-esm/trackers/reactnative.d.ts +0 -8
- package/lib-esm/trackers/reactnative.js +0 -14
- package/lib-esm/types/Analytics.js +0 -1
- package/lib-esm/types/Provider.d.ts +0 -10
- package/lib-esm/types/providers/AWSKinesisProvider.d.ts +0 -6
- package/lib-esm/types/providers/AWSKinesisProvider.js +0 -1
- package/lib-esm/types/providers/AWSPinpointProvider.d.ts +0 -50
- package/lib-esm/types/providers/AWSPinpointProvider.js +0 -1
- package/lib-esm/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
- package/lib-esm/types/providers/AmazonPersonalizeProvider.js +0 -1
- package/lib-esm/types/providers/index.d.ts +0 -1
- package/lib-esm/utils/AppUtils.d.ts +0 -2
- package/lib-esm/utils/AppUtils.native.d.ts +0 -2
- package/lib-esm/utils/AppUtils.native.js +0 -7
- package/lib-esm/utils/MethodEmbed.d.ts +0 -11
- package/lib-esm/utils/MethodEmbed.js +0 -40
- package/lib-esm/vendor/dom-utils/closest.d.ts +0 -12
- package/lib-esm/vendor/dom-utils/closest.js +0 -23
- package/lib-esm/vendor/dom-utils/delegate.d.ts +0 -18
- package/lib-esm/vendor/dom-utils/delegate.js +0 -47
- package/lib-esm/vendor/dom-utils/dispatch.d.ts +0 -17
- package/lib-esm/vendor/dom-utils/dispatch.js +0 -47
- package/lib-esm/vendor/dom-utils/get-attributes.d.ts +0 -11
- package/lib-esm/vendor/dom-utils/get-attributes.js +0 -24
- package/lib-esm/vendor/dom-utils/index.d.ts +0 -7
- package/lib-esm/vendor/dom-utils/index.js +0 -7
- package/lib-esm/vendor/dom-utils/matches.d.ts +0 -11
- package/lib-esm/vendor/dom-utils/matches.js +0 -65
- package/lib-esm/vendor/dom-utils/parents.d.ts +0 -10
- package/lib-esm/vendor/dom-utils/parents.js +0 -18
- package/lib-esm/vendor/dom-utils/parse-url.d.ts +0 -9
- package/lib-esm/vendor/dom-utils/parse-url.js +0 -55
- package/src/Analytics.ts +0 -446
- package/src/providers/AWSKinesisFirehoseProvider.ts +0 -105
- package/src/providers/AWSKinesisProvider.ts +0 -250
- package/src/providers/AWSPinpointProvider.ts +0 -685
- package/src/providers/AmazonPersonalizeHelper/DataType.ts +0 -49
- package/src/providers/AmazonPersonalizeHelper/MediaAutoTrack.ts +0 -196
- package/src/providers/AmazonPersonalizeHelper/SessionInfoManager.ts +0 -121
- package/src/providers/AmazonPersonalizeHelper/index.ts +0 -11
- package/src/providers/AmazonPersonalizeProvider.ts +0 -398
- package/src/providers/EventBuffer.ts +0 -257
- package/src/providers/index.ts +0 -8
- package/src/trackers/EventTracker.ts +0 -115
- package/src/trackers/PageViewTracker.ts +0 -157
- package/src/trackers/SessionTracker-rn.ts +0 -134
- package/src/trackers/SessionTracker.ts +0 -179
- package/src/trackers/index.ts +0 -5
- package/src/trackers/reactnative.ts +0 -13
- package/src/types/Provider.ts +0 -26
- package/src/types/providers/AWSKinesisProvider.ts +0 -8
- package/src/types/providers/AWSPinpointProvider.ts +0 -60
- package/src/types/providers/AmazonPersonalizeProvider.ts +0 -9
- package/src/utils/AppUtils.native.ts +0 -9
- package/src/utils/MethodEmbed.ts +0 -49
- package/src/vendor/dom-utils/closest.ts +0 -25
- package/src/vendor/dom-utils/delegate.ts +0 -51
- package/src/vendor/dom-utils/dispatch.ts +0 -59
- package/src/vendor/dom-utils/get-attributes.ts +0 -26
- package/src/vendor/dom-utils/index.ts +0 -7
- package/src/vendor/dom-utils/matches.ts +0 -68
- package/src/vendor/dom-utils/parents.ts +0 -19
- package/src/vendor/dom-utils/parse-url.ts +0 -66
- /package/lib/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
- /package/lib/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
- /package/lib-esm/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
- /package/lib-esm/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
|
@@ -1,331 +0,0 @@
|
|
|
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.AmazonPersonalizeProvider = void 0;
|
|
6
|
-
var tslib_1 = require("tslib");
|
|
7
|
-
var core_1 = require("@aws-amplify/core");
|
|
8
|
-
var client_personalize_events_1 = require("@aws-sdk/client-personalize-events");
|
|
9
|
-
var AmazonPersonalizeHelper_1 = require("./AmazonPersonalizeHelper");
|
|
10
|
-
var get_1 = tslib_1.__importDefault(require("lodash/get"));
|
|
11
|
-
var isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
|
|
12
|
-
var isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
13
|
-
var UserAgent_1 = require("../utils/UserAgent");
|
|
14
|
-
var logger = new core_1.ConsoleLogger('AmazonPersonalizeProvider');
|
|
15
|
-
// events buffer
|
|
16
|
-
var FLUSH_SIZE = 5;
|
|
17
|
-
var FLUSH_SIZE_THRESHHOLD = 10;
|
|
18
|
-
var FLUSH_INTERVAL = 5 * 1000; // 5s
|
|
19
|
-
var IDENTIFY_EVENT = 'Identify';
|
|
20
|
-
var AmazonPersonalizeProvider = /** @class */ (function () {
|
|
21
|
-
function AmazonPersonalizeProvider(config) {
|
|
22
|
-
this._buffer = [];
|
|
23
|
-
this._config = config ? config : {};
|
|
24
|
-
this._config.flushSize =
|
|
25
|
-
this._config.flushSize > 0 &&
|
|
26
|
-
this._config.flushSize <= FLUSH_SIZE_THRESHHOLD
|
|
27
|
-
? this._config.flushSize
|
|
28
|
-
: FLUSH_SIZE;
|
|
29
|
-
this._config.flushInterval = this._config.flushInterval || FLUSH_INTERVAL;
|
|
30
|
-
this._sessionManager = new AmazonPersonalizeHelper_1.SessionInfoManager();
|
|
31
|
-
if (!(0, isEmpty_1.default)(this._config.trackingId)) {
|
|
32
|
-
this._sessionInfo = this._sessionManager.retrieveSessionInfo(this._config.trackingId);
|
|
33
|
-
}
|
|
34
|
-
this._isBrowser = (0, core_1.browserOrNode)().isBrowser;
|
|
35
|
-
// flush event buffer
|
|
36
|
-
this._setupTimer();
|
|
37
|
-
}
|
|
38
|
-
AmazonPersonalizeProvider.prototype._setupTimer = function () {
|
|
39
|
-
if (this._timer) {
|
|
40
|
-
clearInterval(this._timer);
|
|
41
|
-
}
|
|
42
|
-
var flushInterval = this._config.flushInterval;
|
|
43
|
-
var that = this;
|
|
44
|
-
this._timer = setInterval(function () {
|
|
45
|
-
that._sendFromBuffer();
|
|
46
|
-
}, flushInterval);
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Record event
|
|
50
|
-
* @param eventType - type of the event action. e.g. "Click"
|
|
51
|
-
* @param properties - properties of the event
|
|
52
|
-
* @return Promise
|
|
53
|
-
*/
|
|
54
|
-
AmazonPersonalizeProvider.prototype.record = function (params) {
|
|
55
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
56
|
-
var credentials, _a, eventType, properties, requestParams, isLoaded;
|
|
57
|
-
return tslib_1.__generator(this, function (_b) {
|
|
58
|
-
switch (_b.label) {
|
|
59
|
-
case 0: return [4 /*yield*/, this._getCredentials()];
|
|
60
|
-
case 1:
|
|
61
|
-
credentials = _b.sent();
|
|
62
|
-
if (!credentials)
|
|
63
|
-
return [2 /*return*/, Promise.resolve(false)];
|
|
64
|
-
Object.assign(params, {
|
|
65
|
-
config: this._config,
|
|
66
|
-
credentials: credentials,
|
|
67
|
-
sentAt: new Date(),
|
|
68
|
-
});
|
|
69
|
-
_a = params.event, eventType = _a.eventType, properties = _a.properties;
|
|
70
|
-
if (eventType === IDENTIFY_EVENT) {
|
|
71
|
-
this._sessionManager.updateSessionInfo(properties && properties.userId ? properties.userId : '', this._sessionInfo);
|
|
72
|
-
return [2 /*return*/];
|
|
73
|
-
}
|
|
74
|
-
else if (!(0, isEmpty_1.default)(params.event.userId)) {
|
|
75
|
-
this._sessionManager.updateSessionInfo(params.event.userId, this._sessionInfo);
|
|
76
|
-
}
|
|
77
|
-
requestParams = this.generateRequestParams(params, this._sessionInfo);
|
|
78
|
-
if (!(eventType === 'MediaAutoTrack')) return [3 /*break*/, 7];
|
|
79
|
-
if (!this._isBrowser) return [3 /*break*/, 5];
|
|
80
|
-
if (!!(0, isEmpty_1.default)((0, get_1.default)(requestParams, 'eventData.properties.domElementId', null))) return [3 /*break*/, 3];
|
|
81
|
-
return [4 /*yield*/, this.isElementFullyLoaded(this.loadElement, requestParams.eventData.properties['domElementId'], 500, 5)];
|
|
82
|
-
case 2:
|
|
83
|
-
isLoaded = _b.sent();
|
|
84
|
-
if (isLoaded) {
|
|
85
|
-
new AmazonPersonalizeHelper_1.MediaAutoTrack(requestParams, this);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
logger.debug('Cannot find the media element.');
|
|
89
|
-
}
|
|
90
|
-
return [3 /*break*/, 4];
|
|
91
|
-
case 3:
|
|
92
|
-
logger.debug("Missing domElementId field in 'properties' for MediaAutoTrack event type.");
|
|
93
|
-
_b.label = 4;
|
|
94
|
-
case 4: return [3 /*break*/, 6];
|
|
95
|
-
case 5:
|
|
96
|
-
logger.debug('MediaAutoTrack only for browser');
|
|
97
|
-
_b.label = 6;
|
|
98
|
-
case 6: return [2 /*return*/];
|
|
99
|
-
case 7: return [2 /*return*/, this.putToBuffer(requestParams)];
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
AmazonPersonalizeProvider.prototype.loadElement = function (domId) {
|
|
105
|
-
return new Promise(function (resolve, reject) {
|
|
106
|
-
if (document.getElementById(domId) &&
|
|
107
|
-
document.getElementById(domId).clientHeight) {
|
|
108
|
-
return resolve(true);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return reject(true);
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
};
|
|
115
|
-
AmazonPersonalizeProvider.prototype.isElementFullyLoaded = function (operation, params, delay, times) {
|
|
116
|
-
var _this = this;
|
|
117
|
-
var wait = function (ms) { return new Promise(function (r) { return setTimeout(r, ms); }); };
|
|
118
|
-
return new Promise(function (resolve, reject) {
|
|
119
|
-
return operation(params)
|
|
120
|
-
.then(resolve)
|
|
121
|
-
.catch(function (reason) {
|
|
122
|
-
if (times - 1 > 0) {
|
|
123
|
-
return wait(delay)
|
|
124
|
-
.then(_this.isElementFullyLoaded.bind(null, operation, params, delay, times - 1))
|
|
125
|
-
.then(resolve)
|
|
126
|
-
.catch(reject);
|
|
127
|
-
}
|
|
128
|
-
return reject(reason);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* get the category of the plugin
|
|
134
|
-
*/
|
|
135
|
-
AmazonPersonalizeProvider.prototype.getCategory = function () {
|
|
136
|
-
return 'Analytics';
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* get provider name of the plugin
|
|
140
|
-
*/
|
|
141
|
-
AmazonPersonalizeProvider.prototype.getProviderName = function () {
|
|
142
|
-
return 'AmazonPersonalize';
|
|
143
|
-
};
|
|
144
|
-
/**
|
|
145
|
-
* configure the plugin
|
|
146
|
-
* @param {Object} config - configuration
|
|
147
|
-
*/
|
|
148
|
-
AmazonPersonalizeProvider.prototype.configure = function (config) {
|
|
149
|
-
logger.debug('configure Analytics', config);
|
|
150
|
-
var conf = config ? config : {};
|
|
151
|
-
this._config = Object.assign({}, this._config, conf);
|
|
152
|
-
if (!(0, isEmpty_1.default)(this._config.trackingId)) {
|
|
153
|
-
this._sessionInfo = this._sessionManager.retrieveSessionInfo(this._config.trackingId);
|
|
154
|
-
}
|
|
155
|
-
this._setupTimer();
|
|
156
|
-
return this._config;
|
|
157
|
-
};
|
|
158
|
-
/**
|
|
159
|
-
* Generate the requestParams from customer input params and sessionInfo
|
|
160
|
-
* @private
|
|
161
|
-
* @param eventData - customer input for event data
|
|
162
|
-
* @param api - api name
|
|
163
|
-
* @return RequestParams - wrapper object with all information required for make request
|
|
164
|
-
*/
|
|
165
|
-
AmazonPersonalizeProvider.prototype.generateRequestParams = function (params, sessionInfo) {
|
|
166
|
-
var requestParams = {};
|
|
167
|
-
var _a = params.event, eventType = _a.eventType, properties = _a.properties;
|
|
168
|
-
requestParams.eventData = { eventType: eventType, properties: properties };
|
|
169
|
-
requestParams.sessionInfo = sessionInfo;
|
|
170
|
-
requestParams.sentAt = params.sentAt;
|
|
171
|
-
requestParams.credentials = params.credentials;
|
|
172
|
-
requestParams.config = params.config;
|
|
173
|
-
return requestParams;
|
|
174
|
-
};
|
|
175
|
-
/**
|
|
176
|
-
* record an event
|
|
177
|
-
* @param {Object} params - the params of an event
|
|
178
|
-
*/
|
|
179
|
-
AmazonPersonalizeProvider.prototype._sendEvents = function (group) {
|
|
180
|
-
var groupLen = group.length;
|
|
181
|
-
if (groupLen === 0) {
|
|
182
|
-
logger.debug('events array is empty, directly return');
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
var _a = group[0], config = _a.config, credentials = _a.credentials, sessionInfo = _a.sessionInfo;
|
|
186
|
-
var initClients = this._init(config, credentials);
|
|
187
|
-
if (!initClients)
|
|
188
|
-
return false;
|
|
189
|
-
if (groupLen > 0) {
|
|
190
|
-
var events = [];
|
|
191
|
-
for (var i = 0; i < groupLen; i += 1) {
|
|
192
|
-
var params = group.shift();
|
|
193
|
-
var eventPayload = this._generateSingleRecordPayload(params, sessionInfo);
|
|
194
|
-
events.push(eventPayload);
|
|
195
|
-
}
|
|
196
|
-
var payload_1 = {};
|
|
197
|
-
payload_1.trackingId = sessionInfo.trackingId;
|
|
198
|
-
payload_1.sessionId = sessionInfo.sessionId;
|
|
199
|
-
payload_1.userId = sessionInfo.userId;
|
|
200
|
-
payload_1.eventList = [];
|
|
201
|
-
events.forEach(function (event) {
|
|
202
|
-
// @ts-ignore
|
|
203
|
-
payload_1.eventList.push(event);
|
|
204
|
-
});
|
|
205
|
-
var command = new client_personalize_events_1.PutEventsCommand(payload_1);
|
|
206
|
-
this._personalize.send(command, function (err) {
|
|
207
|
-
if (err)
|
|
208
|
-
logger.debug('Failed to call putEvents in Personalize', err);
|
|
209
|
-
else
|
|
210
|
-
logger.debug('Put events');
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
/**
|
|
215
|
-
* Put event into buffer
|
|
216
|
-
* @private
|
|
217
|
-
* @param params - params for the event recording
|
|
218
|
-
*/
|
|
219
|
-
AmazonPersonalizeProvider.prototype.putToBuffer = function (params) {
|
|
220
|
-
if (this._buffer.length < this._config.flushSize) {
|
|
221
|
-
this._buffer.push(params);
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
this._buffer.push(params);
|
|
225
|
-
this._sendFromBuffer();
|
|
226
|
-
}
|
|
227
|
-
return Promise.resolve(true);
|
|
228
|
-
};
|
|
229
|
-
/**
|
|
230
|
-
* flush the buffer and batch sending the request
|
|
231
|
-
* @private
|
|
232
|
-
* @param eventsParams - the buffer for cache the payload
|
|
233
|
-
*/
|
|
234
|
-
AmazonPersonalizeProvider.prototype._sendFromBuffer = function () {
|
|
235
|
-
var _this = this;
|
|
236
|
-
var size = this._buffer.length;
|
|
237
|
-
if (size <= 0)
|
|
238
|
-
return;
|
|
239
|
-
var eventsGroups = [];
|
|
240
|
-
var preCred = null;
|
|
241
|
-
var group = [];
|
|
242
|
-
for (var i = 0; i < size; i += 1) {
|
|
243
|
-
var currRequestParams = this._buffer.shift();
|
|
244
|
-
var cred = currRequestParams.credentials;
|
|
245
|
-
var sessionInfo = currRequestParams.sessionInfo;
|
|
246
|
-
if (i === 0) {
|
|
247
|
-
group.push(currRequestParams);
|
|
248
|
-
preCred = cred;
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
if ((0, isEqual_1.default)(sessionInfo, this._sessionInfo) &&
|
|
252
|
-
cred.sessionToken === preCred.sessionToken &&
|
|
253
|
-
cred.identityId === preCred.identityId) {
|
|
254
|
-
logger.debug('no change for cred, put event in the same group');
|
|
255
|
-
group.push(currRequestParams);
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
eventsGroups.push(group);
|
|
259
|
-
group = [];
|
|
260
|
-
group.push(currRequestParams);
|
|
261
|
-
preCred = cred;
|
|
262
|
-
this._sessionInfo = sessionInfo;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
eventsGroups.push(group);
|
|
267
|
-
eventsGroups.map(function (group) {
|
|
268
|
-
_this._sendEvents(group);
|
|
269
|
-
});
|
|
270
|
-
};
|
|
271
|
-
/**
|
|
272
|
-
* Generate the record payload for single event
|
|
273
|
-
* @private
|
|
274
|
-
* @param params - RequestParams
|
|
275
|
-
*/
|
|
276
|
-
AmazonPersonalizeProvider.prototype._generateSingleRecordPayload = function (params, sessionInfo) {
|
|
277
|
-
var eventData = params.eventData, sentAt = params.sentAt;
|
|
278
|
-
var trackPayload = {};
|
|
279
|
-
trackPayload.sentAt = sentAt;
|
|
280
|
-
trackPayload.properties =
|
|
281
|
-
eventData.properties && JSON.stringify(eventData.properties);
|
|
282
|
-
trackPayload.eventId =
|
|
283
|
-
this._sessionManager.getTimerKey() + sessionInfo.sessionId;
|
|
284
|
-
trackPayload.eventType = eventData.eventType;
|
|
285
|
-
return trackPayload;
|
|
286
|
-
};
|
|
287
|
-
/**
|
|
288
|
-
* Initialize the personalize client
|
|
289
|
-
* @private
|
|
290
|
-
* @param params - RequestParams
|
|
291
|
-
*/
|
|
292
|
-
AmazonPersonalizeProvider.prototype._init = function (config, credentials) {
|
|
293
|
-
logger.debug('init clients');
|
|
294
|
-
if (this._personalize &&
|
|
295
|
-
this._config.credentials &&
|
|
296
|
-
this._config.credentials.sessionToken === credentials.sessionToken &&
|
|
297
|
-
this._config.credentials.identityId === credentials.identityId) {
|
|
298
|
-
logger.debug('no change for analytics config, directly return from init');
|
|
299
|
-
return true;
|
|
300
|
-
}
|
|
301
|
-
this._config.credentials = credentials;
|
|
302
|
-
var region = config.region;
|
|
303
|
-
logger.debug('initialize personalize with credentials', credentials);
|
|
304
|
-
this._personalize = new client_personalize_events_1.PersonalizeEventsClient({
|
|
305
|
-
region: region,
|
|
306
|
-
credentials: credentials,
|
|
307
|
-
customUserAgent: (0, UserAgent_1.getAnalyticsUserAgent)(core_1.AnalyticsAction.Record),
|
|
308
|
-
});
|
|
309
|
-
return true;
|
|
310
|
-
};
|
|
311
|
-
/**
|
|
312
|
-
* check if current credentials exists
|
|
313
|
-
* @private
|
|
314
|
-
*/
|
|
315
|
-
AmazonPersonalizeProvider.prototype._getCredentials = function () {
|
|
316
|
-
var that = this;
|
|
317
|
-
return core_1.Credentials.get()
|
|
318
|
-
.then(function (credentials) {
|
|
319
|
-
if (!credentials)
|
|
320
|
-
return null;
|
|
321
|
-
logger.debug('set credentials for analytics', that._config.credentials);
|
|
322
|
-
return core_1.Credentials.shear(credentials);
|
|
323
|
-
})
|
|
324
|
-
.catch(function (err) {
|
|
325
|
-
logger.debug('ensure credentials error', err);
|
|
326
|
-
return null;
|
|
327
|
-
});
|
|
328
|
-
};
|
|
329
|
-
return AmazonPersonalizeProvider;
|
|
330
|
-
}());
|
|
331
|
-
exports.AmazonPersonalizeProvider = AmazonPersonalizeProvider;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { EventObject } from '../types';
|
|
2
|
-
type EventsBufferConfig = {
|
|
3
|
-
bufferSize: number;
|
|
4
|
-
flushSize: number;
|
|
5
|
-
flushInterval: number;
|
|
6
|
-
resendLimit: number;
|
|
7
|
-
};
|
|
8
|
-
export default class EventsBuffer {
|
|
9
|
-
private _config;
|
|
10
|
-
private _interval;
|
|
11
|
-
private _buffer;
|
|
12
|
-
private _pause;
|
|
13
|
-
private _flush;
|
|
14
|
-
constructor(config: EventsBufferConfig);
|
|
15
|
-
push(event: EventObject): any;
|
|
16
|
-
pause(): void;
|
|
17
|
-
resume(): void;
|
|
18
|
-
flush(): void;
|
|
19
|
-
private _startLoop;
|
|
20
|
-
private _sendBatch;
|
|
21
|
-
private _putEvents;
|
|
22
|
-
private _generateBatchEventParams;
|
|
23
|
-
private _handlePutEventsFailure;
|
|
24
|
-
private _processPutEventsSuccessResponse;
|
|
25
|
-
private _retry;
|
|
26
|
-
private _bufferToMap;
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
var core_1 = require("@aws-amplify/core");
|
|
7
|
-
var pinpoint_1 = require("@aws-amplify/core/internals/aws-clients/pinpoint");
|
|
8
|
-
var AppUtils_1 = require("../utils/AppUtils");
|
|
9
|
-
var UserAgent_1 = require("../utils/UserAgent");
|
|
10
|
-
var logger = new core_1.ConsoleLogger('EventsBuffer');
|
|
11
|
-
var RETRYABLE_CODES = [429, 500];
|
|
12
|
-
var ACCEPTED_CODES = [202];
|
|
13
|
-
var EventsBuffer = /** @class */ (function () {
|
|
14
|
-
function EventsBuffer(config) {
|
|
15
|
-
this._pause = false;
|
|
16
|
-
this._flush = false;
|
|
17
|
-
logger.debug('Instantiating buffer with config:', config);
|
|
18
|
-
this._buffer = [];
|
|
19
|
-
this._config = config;
|
|
20
|
-
this._sendBatch = this._sendBatch.bind(this);
|
|
21
|
-
this._startLoop();
|
|
22
|
-
}
|
|
23
|
-
EventsBuffer.prototype.push = function (event) {
|
|
24
|
-
var _a;
|
|
25
|
-
// if the buffer is currently at the configured limit, pushing would exceed it
|
|
26
|
-
if (this._buffer.length >= this._config.bufferSize) {
|
|
27
|
-
logger.debug('Exceeded analytics events buffer size');
|
|
28
|
-
return event.handlers.reject(new Error('Exceeded the size of analytics events buffer'));
|
|
29
|
-
}
|
|
30
|
-
var eventId = event.params.event.eventId;
|
|
31
|
-
var bufferElement = (_a = {}, _a[eventId] = event, _a);
|
|
32
|
-
this._buffer.push(bufferElement);
|
|
33
|
-
};
|
|
34
|
-
EventsBuffer.prototype.pause = function () {
|
|
35
|
-
this._pause = true;
|
|
36
|
-
};
|
|
37
|
-
EventsBuffer.prototype.resume = function () {
|
|
38
|
-
this._pause = false;
|
|
39
|
-
};
|
|
40
|
-
EventsBuffer.prototype.flush = function () {
|
|
41
|
-
this._flush = true;
|
|
42
|
-
};
|
|
43
|
-
EventsBuffer.prototype._startLoop = function () {
|
|
44
|
-
if (this._interval) {
|
|
45
|
-
clearInterval(this._interval);
|
|
46
|
-
}
|
|
47
|
-
var flushInterval = this._config.flushInterval;
|
|
48
|
-
this._interval = setInterval(this._sendBatch, flushInterval);
|
|
49
|
-
};
|
|
50
|
-
EventsBuffer.prototype._sendBatch = function () {
|
|
51
|
-
var bufferLength = this._buffer.length;
|
|
52
|
-
if (this._flush && !bufferLength) {
|
|
53
|
-
clearInterval(this._interval);
|
|
54
|
-
}
|
|
55
|
-
// Do not send the batch of events if
|
|
56
|
-
// the Buffer is paused or is empty or the App is not in the foreground
|
|
57
|
-
// Apps should be in the foreground since
|
|
58
|
-
// the OS may restrict access to the network in the background
|
|
59
|
-
if (this._pause || !bufferLength || !(0, AppUtils_1.isAppInForeground)()) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
var flushSize = this._config.flushSize;
|
|
63
|
-
var batchSize = Math.min(flushSize, bufferLength);
|
|
64
|
-
var bufferSubset = this._buffer.splice(0, batchSize);
|
|
65
|
-
this._putEvents(bufferSubset);
|
|
66
|
-
};
|
|
67
|
-
EventsBuffer.prototype._putEvents = function (buffer) {
|
|
68
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
69
|
-
var eventMap, batchEventParams, _a, credentials, region, data, err_1;
|
|
70
|
-
return tslib_1.__generator(this, function (_b) {
|
|
71
|
-
switch (_b.label) {
|
|
72
|
-
case 0:
|
|
73
|
-
eventMap = this._bufferToMap(buffer);
|
|
74
|
-
batchEventParams = this._generateBatchEventParams(eventMap);
|
|
75
|
-
_b.label = 1;
|
|
76
|
-
case 1:
|
|
77
|
-
_b.trys.push([1, 3, , 4]);
|
|
78
|
-
_a = this._config, credentials = _a.credentials, region = _a.region;
|
|
79
|
-
return [4 /*yield*/, (0, pinpoint_1.putEvents)({
|
|
80
|
-
credentials: credentials,
|
|
81
|
-
region: region,
|
|
82
|
-
userAgentValue: (0, UserAgent_1.getAnalyticsUserAgentString)(core_1.AnalyticsAction.Record),
|
|
83
|
-
}, batchEventParams)];
|
|
84
|
-
case 2:
|
|
85
|
-
data = _b.sent();
|
|
86
|
-
this._processPutEventsSuccessResponse(data, eventMap);
|
|
87
|
-
return [3 /*break*/, 4];
|
|
88
|
-
case 3:
|
|
89
|
-
err_1 = _b.sent();
|
|
90
|
-
return [2 /*return*/, this._handlePutEventsFailure(err_1, eventMap)];
|
|
91
|
-
case 4: return [2 /*return*/];
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
EventsBuffer.prototype._generateBatchEventParams = function (eventMap) {
|
|
97
|
-
var batchEventParams = {
|
|
98
|
-
ApplicationId: '',
|
|
99
|
-
EventsRequest: {
|
|
100
|
-
BatchItem: {},
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
Object.values(eventMap).forEach(function (item) {
|
|
104
|
-
var params = item.params;
|
|
105
|
-
var event = params.event, timestamp = params.timestamp, config = params.config;
|
|
106
|
-
var name = event.name, attributes = event.attributes, metrics = event.metrics, eventId = event.eventId, session = event.session;
|
|
107
|
-
var appId = config.appId, endpointId = config.endpointId;
|
|
108
|
-
var batchItem = batchEventParams.EventsRequest.BatchItem;
|
|
109
|
-
batchEventParams.ApplicationId = batchEventParams.ApplicationId || appId;
|
|
110
|
-
if (!batchItem[endpointId]) {
|
|
111
|
-
batchItem[endpointId] = {
|
|
112
|
-
Endpoint: {},
|
|
113
|
-
Events: {},
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
batchItem[endpointId].Events[eventId] = {
|
|
117
|
-
EventType: name,
|
|
118
|
-
Timestamp: new Date(timestamp).toISOString(),
|
|
119
|
-
Attributes: attributes,
|
|
120
|
-
Metrics: metrics,
|
|
121
|
-
Session: session,
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
return batchEventParams;
|
|
125
|
-
};
|
|
126
|
-
EventsBuffer.prototype._handlePutEventsFailure = function (err, eventMap) {
|
|
127
|
-
logger.debug('_putEvents Failed: ', err);
|
|
128
|
-
var statusCode = err.$metadata && err.$metadata.httpStatusCode;
|
|
129
|
-
if (RETRYABLE_CODES.includes(statusCode)) {
|
|
130
|
-
var retryableEvents = Object.values(eventMap);
|
|
131
|
-
this._retry(retryableEvents);
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
EventsBuffer.prototype._processPutEventsSuccessResponse = function (data, eventMap) {
|
|
136
|
-
var _a;
|
|
137
|
-
var _b = ((_a = data.EventsResponse) !== null && _a !== void 0 ? _a : {}).Results, Results = _b === void 0 ? {} : _b;
|
|
138
|
-
var retryableEvents = [];
|
|
139
|
-
Object.entries(Results).forEach(function (_a) {
|
|
140
|
-
var _b;
|
|
141
|
-
var _c = tslib_1.__read(_a, 2), endpointId = _c[0], endpointValues = _c[1];
|
|
142
|
-
var responses = (_b = endpointValues.EventsItemResponse) !== null && _b !== void 0 ? _b : {};
|
|
143
|
-
Object.entries(responses).forEach(function (_a) {
|
|
144
|
-
var _b, _c;
|
|
145
|
-
var _d = tslib_1.__read(_a, 2), eventId = _d[0], eventValues = _d[1];
|
|
146
|
-
var eventObject = eventMap[eventId];
|
|
147
|
-
if (!eventObject) {
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
var _e = eventValues !== null && eventValues !== void 0 ? eventValues : {}, StatusCode = _e.StatusCode, Message = _e.Message;
|
|
151
|
-
// manually crafting handlers response to keep API consistant
|
|
152
|
-
var response = {
|
|
153
|
-
EventsResponse: {
|
|
154
|
-
Results: (_b = {},
|
|
155
|
-
_b[endpointId] = {
|
|
156
|
-
EventsItemResponse: (_c = {},
|
|
157
|
-
_c[eventId] = { StatusCode: StatusCode, Message: Message },
|
|
158
|
-
_c),
|
|
159
|
-
},
|
|
160
|
-
_b),
|
|
161
|
-
},
|
|
162
|
-
};
|
|
163
|
-
if (StatusCode && ACCEPTED_CODES.includes(StatusCode)) {
|
|
164
|
-
eventObject.handlers.resolve(response);
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
if (StatusCode && RETRYABLE_CODES.includes(StatusCode)) {
|
|
168
|
-
retryableEvents.push(eventObject);
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
var name = eventObject.params.event.name;
|
|
172
|
-
logger.error("event ".concat(eventId, " : ").concat(name, " failed with error: ").concat(Message));
|
|
173
|
-
return eventObject.handlers.reject(response);
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
if (retryableEvents.length) {
|
|
177
|
-
this._retry(retryableEvents);
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
EventsBuffer.prototype._retry = function (retryableEvents) {
|
|
181
|
-
var _a;
|
|
182
|
-
// retryable events that haven't reached the resendLimit
|
|
183
|
-
var eligibleEvents = [];
|
|
184
|
-
retryableEvents.forEach(function (event) {
|
|
185
|
-
var _a;
|
|
186
|
-
var params = event.params;
|
|
187
|
-
var _b = params.event, eventId = _b.eventId, name = _b.name;
|
|
188
|
-
if (params.resendLimit-- > 0) {
|
|
189
|
-
logger.debug("resending event ".concat(eventId, " : ").concat(name, " with ").concat(params.resendLimit, " retry attempts remaining"));
|
|
190
|
-
eligibleEvents.push((_a = {}, _a[eventId] = event, _a));
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
logger.debug("no retry attempts remaining for event ".concat(eventId, " : ").concat(name));
|
|
194
|
-
});
|
|
195
|
-
// add the events to the front of the buffer
|
|
196
|
-
(_a = this._buffer).unshift.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(eligibleEvents), false));
|
|
197
|
-
};
|
|
198
|
-
// convert buffer to map, i.e. { eventId1: { params, handler }, eventId2: { params, handlers } }
|
|
199
|
-
// this allows us to easily access the handlers after receiving a batch response
|
|
200
|
-
EventsBuffer.prototype._bufferToMap = function (buffer) {
|
|
201
|
-
return buffer.reduce(function (acc, curVal) {
|
|
202
|
-
var _a = tslib_1.__read(Object.entries(curVal), 1), _b = tslib_1.__read(_a[0], 2), key = _b[0], value = _b[1];
|
|
203
|
-
acc[key] = value;
|
|
204
|
-
return acc;
|
|
205
|
-
}, {});
|
|
206
|
-
};
|
|
207
|
-
return EventsBuffer;
|
|
208
|
-
}());
|
|
209
|
-
exports.default = EventsBuffer;
|
package/lib/providers/index.d.ts
DELETED
package/lib/providers/index.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AmazonPersonalizeProvider = exports.AWSKinesisFirehoseProvider = exports.AWSKinesisProvider = exports.AWSPinpointProvider = void 0;
|
|
4
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
var AWSPinpointProvider_1 = require("./AWSPinpointProvider");
|
|
7
|
-
Object.defineProperty(exports, "AWSPinpointProvider", { enumerable: true, get: function () { return AWSPinpointProvider_1.AWSPinpointProvider; } });
|
|
8
|
-
// TODO(v6) Refactor as additional Analytics providers come online
|
|
9
|
-
var AWSKinesisProvider_1 = require("./AWSKinesisProvider");
|
|
10
|
-
Object.defineProperty(exports, "AWSKinesisProvider", { enumerable: true, get: function () { return AWSKinesisProvider_1.AWSKinesisProvider; } });
|
|
11
|
-
var AWSKinesisFirehoseProvider_1 = require("./AWSKinesisFirehoseProvider");
|
|
12
|
-
Object.defineProperty(exports, "AWSKinesisFirehoseProvider", { enumerable: true, get: function () { return AWSKinesisFirehoseProvider_1.AWSKinesisFirehoseProvider; } });
|
|
13
|
-
var AmazonPersonalizeProvider_1 = require("./AmazonPersonalizeProvider");
|
|
14
|
-
Object.defineProperty(exports, "AmazonPersonalizeProvider", { enumerable: true, get: function () { return AmazonPersonalizeProvider_1.AmazonPersonalizeProvider; } });
|