@aws-amplify/analytics 7.0.1-console-preview.b5a42af.0 → 7.0.1-console-preview.4ae78ed.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/assertValidationError.d.ts +1 -1
- package/lib/errors/assertValidationError.js +7 -3
- package/lib/errors/validation.d.ts +3 -1
- package/lib/errors/validation.js +8 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/providers/kinesis/apis/flushEvents.d.ts +8 -0
- package/lib/providers/kinesis/apis/flushEvents.js +37 -0
- package/lib/providers/kinesis/apis/index.d.ts +1 -0
- package/lib/providers/kinesis/apis/index.js +3 -1
- package/lib/providers/kinesis/apis/record.d.ts +1 -1
- package/lib/providers/kinesis/apis/record.js +40 -2
- package/lib/providers/kinesis/index.d.ts +1 -1
- package/lib/providers/kinesis/index.js +2 -1
- 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 +1 -0
- package/lib/providers/kinesis/types/inputs.d.ts +6 -1
- 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 +36 -0
- package/lib/providers/kinesis-firehose/apis/index.d.ts +1 -0
- package/lib/providers/kinesis-firehose/apis/index.js +3 -1
- package/lib/providers/kinesis-firehose/apis/record.d.ts +1 -1
- package/lib/providers/kinesis-firehose/apis/record.js +37 -2
- package/lib/providers/kinesis-firehose/index.d.ts +1 -1
- package/lib/providers/kinesis-firehose/index.js +2 -1
- package/lib/providers/kinesis-firehose/types/buffer.d.ts +15 -0
- package/lib/providers/kinesis-firehose/types/buffer.js +4 -0
- package/lib/providers/kinesis-firehose/types/index.d.ts +1 -0
- package/lib/providers/kinesis-firehose/types/inputs.d.ts +5 -1
- 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 +35 -0
- package/lib/providers/personalize/apis/index.d.ts +1 -0
- package/lib/providers/personalize/apis/index.js +3 -1
- package/lib/providers/personalize/apis/record.d.ts +1 -1
- package/lib/providers/personalize/apis/record.js +65 -2
- package/lib/providers/personalize/index.d.ts +1 -1
- package/lib/providers/personalize/index.js +2 -1
- 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 -1
- package/lib/providers/personalize/types/inputs.d.ts +7 -1
- package/lib/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
- package/lib/providers/personalize/utils/autoTrackMedia.js +182 -0
- package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
- package/lib/providers/personalize/utils/cachedSession.js +52 -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/flushEvents.d.ts +8 -0
- package/lib/providers/pinpoint/apis/flushEvents.js +27 -0
- package/lib/providers/pinpoint/apis/identifyUser.d.ts +2 -2
- package/lib/providers/pinpoint/apis/identifyUser.js +3 -3
- package/lib/providers/pinpoint/apis/index.d.ts +1 -0
- package/lib/providers/pinpoint/apis/index.js +3 -1
- package/lib/providers/pinpoint/index.d.ts +1 -1
- package/lib/providers/pinpoint/index.js +2 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/kinesis.d.ts +8 -0
- package/lib/types/kinesis.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 +3 -0
- package/lib/utils/index.js +7 -1
- package/lib/utils/resolveCredentials.d.ts +9 -0
- package/lib/utils/resolveCredentials.js +21 -0
- package/lib-esm/errors/assertValidationError.d.ts +1 -1
- package/lib-esm/errors/assertValidationError.js +7 -3
- package/lib-esm/errors/validation.d.ts +3 -1
- package/lib-esm/errors/validation.js +8 -0
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/index.js +1 -1
- package/lib-esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
- package/lib-esm/providers/kinesis/apis/flushEvents.js +33 -0
- package/lib-esm/providers/kinesis/apis/index.d.ts +1 -0
- package/lib-esm/providers/kinesis/apis/index.js +1 -0
- package/lib-esm/providers/kinesis/apis/record.d.ts +1 -1
- package/lib-esm/providers/kinesis/apis/record.js +40 -2
- package/lib-esm/providers/kinesis/index.d.ts +1 -1
- package/lib-esm/providers/kinesis/index.js +1 -1
- 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 +1 -0
- package/lib-esm/providers/kinesis/types/inputs.d.ts +6 -1
- 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 +32 -0
- package/lib-esm/providers/kinesis-firehose/apis/index.d.ts +1 -0
- package/lib-esm/providers/kinesis-firehose/apis/index.js +1 -0
- package/lib-esm/providers/kinesis-firehose/apis/record.d.ts +1 -1
- package/lib-esm/providers/kinesis-firehose/apis/record.js +37 -2
- package/lib-esm/providers/kinesis-firehose/index.d.ts +1 -1
- package/lib-esm/providers/kinesis-firehose/index.js +1 -1
- package/lib-esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
- package/lib-esm/providers/kinesis-firehose/types/buffer.js +3 -0
- package/lib-esm/providers/kinesis-firehose/types/index.d.ts +1 -0
- package/lib-esm/providers/kinesis-firehose/types/inputs.d.ts +5 -1
- 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 +31 -0
- package/lib-esm/providers/personalize/apis/index.d.ts +1 -0
- package/lib-esm/providers/personalize/apis/index.js +1 -0
- package/lib-esm/providers/personalize/apis/record.d.ts +1 -1
- package/lib-esm/providers/personalize/apis/record.js +65 -2
- package/lib-esm/providers/personalize/index.d.ts +1 -1
- package/lib-esm/providers/personalize/index.js +1 -1
- 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 -1
- package/lib-esm/providers/personalize/types/inputs.d.ts +7 -1
- package/lib-esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
- package/lib-esm/providers/personalize/utils/autoTrackMedia.js +178 -0
- package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
- package/lib-esm/providers/personalize/utils/cachedSession.js +47 -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/flushEvents.d.ts +8 -0
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +23 -0
- package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +2 -2
- package/lib-esm/providers/pinpoint/apis/identifyUser.js +3 -3
- package/lib-esm/providers/pinpoint/apis/index.d.ts +1 -0
- package/lib-esm/providers/pinpoint/apis/index.js +1 -0
- package/lib-esm/providers/pinpoint/index.d.ts +1 -1
- package/lib-esm/providers/pinpoint/index.js +1 -1
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/types/index.d.ts +1 -0
- package/lib-esm/types/kinesis.d.ts +8 -0
- package/lib-esm/types/kinesis.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 +3 -0
- package/lib-esm/utils/index.js +3 -0
- package/lib-esm/utils/resolveCredentials.d.ts +9 -0
- package/lib-esm/utils/resolveCredentials.js +17 -0
- package/package.json +5 -4
- package/src/errors/assertValidationError.ts +9 -3
- package/src/errors/validation.ts +8 -0
- package/src/index.ts +1 -0
- package/src/providers/kinesis/apis/flushEvents.ts +42 -0
- package/src/providers/kinesis/apis/index.ts +1 -0
- package/src/providers/kinesis/apis/record.ts +54 -2
- package/src/providers/kinesis/index.ts +1 -1
- package/src/providers/kinesis/types/buffer.ts +20 -0
- package/src/providers/kinesis/types/index.ts +1 -0
- package/src/providers/kinesis/types/inputs.ts +7 -1
- 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 +41 -0
- package/src/providers/kinesis-firehose/apis/index.ts +1 -0
- package/src/providers/kinesis-firehose/apis/record.ts +47 -2
- package/src/providers/kinesis-firehose/index.ts +1 -1
- package/src/providers/kinesis-firehose/types/buffer.ts +20 -0
- package/src/providers/kinesis-firehose/types/index.ts +5 -0
- package/src/providers/kinesis-firehose/types/inputs.ts +6 -1
- 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 +39 -0
- package/src/providers/personalize/apis/index.ts +1 -0
- package/src/providers/personalize/apis/record.ts +98 -2
- package/src/providers/personalize/index.ts +1 -1
- package/src/providers/personalize/types/buffer.ts +21 -0
- package/src/providers/personalize/types/index.ts +2 -1
- package/src/providers/personalize/types/inputs.ts +8 -1
- package/src/providers/personalize/utils/autoTrackMedia.ts +231 -0
- package/src/providers/personalize/utils/cachedSession.ts +67 -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/flushEvents.ts +34 -0
- package/src/providers/pinpoint/apis/identifyUser.ts +3 -3
- package/src/providers/pinpoint/apis/index.ts +1 -0
- package/src/providers/pinpoint/index.ts +1 -1
- package/src/types/index.ts +2 -0
- package/src/types/kinesis.ts +13 -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 +7 -0
- package/src/utils/resolveCredentials.ts +14 -0
|
@@ -0,0 +1,100 @@
|
|
|
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_personalize_events_1 = require("@aws-sdk/client-personalize-events");
|
|
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 DELIMITER = '#';
|
|
20
|
+
var createPutEventsCommand = function (ids, events) {
|
|
21
|
+
var _a = tslib_1.__read(ids.split(DELIMITER), 3), trackingId = _a[0], sessionId = _a[1], userId = _a[2];
|
|
22
|
+
return new client_personalize_events_1.PutEventsCommand({
|
|
23
|
+
trackingId: trackingId,
|
|
24
|
+
sessionId: sessionId,
|
|
25
|
+
userId: userId,
|
|
26
|
+
eventList: events.map(function (event) { return ({
|
|
27
|
+
eventId: event.event.eventId,
|
|
28
|
+
eventType: event.event.eventType,
|
|
29
|
+
properties: JSON.stringify(event.event.properties),
|
|
30
|
+
sentAt: new Date(event.timestamp),
|
|
31
|
+
}); }),
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var submitEvents = function (events, client) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
35
|
+
var groupedByIds, requests;
|
|
36
|
+
return tslib_1.__generator(this, function (_a) {
|
|
37
|
+
switch (_a.label) {
|
|
38
|
+
case 0:
|
|
39
|
+
groupedByIds = Object.entries((0, utils_1.groupBy)(function (event) {
|
|
40
|
+
return [event.trackingId, event.sessionId, event.userId]
|
|
41
|
+
.filter(function (id) { return !!id; })
|
|
42
|
+
.join(DELIMITER);
|
|
43
|
+
}, events));
|
|
44
|
+
requests = groupedByIds
|
|
45
|
+
.map(function (_a) {
|
|
46
|
+
var _b = tslib_1.__read(_a, 2), ids = _b[0], events = _b[1];
|
|
47
|
+
return createPutEventsCommand(ids, events);
|
|
48
|
+
})
|
|
49
|
+
.map(function (command) { return client.send(command); });
|
|
50
|
+
return [4 /*yield*/, Promise.allSettled(requests)];
|
|
51
|
+
case 1:
|
|
52
|
+
_a.sent();
|
|
53
|
+
return [2 /*return*/, Promise.resolve([])];
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}); };
|
|
57
|
+
var getEventBuffer = function (_a) {
|
|
58
|
+
var e_1, _b;
|
|
59
|
+
var region = _a.region, flushSize = _a.flushSize, flushInterval = _a.flushInterval, bufferSize = _a.bufferSize, credentials = _a.credentials, identityId = _a.identityId, 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 getClient = function () {
|
|
66
|
+
if (!cachedClients[sessionIdentityKey]) {
|
|
67
|
+
cachedClients[sessionIdentityKey] = new client_personalize_events_1.PersonalizeEventsClient({
|
|
68
|
+
region: region,
|
|
69
|
+
credentials: credentials,
|
|
70
|
+
customUserAgent: userAgentValue,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return function (events) { return submitEvents(events, cachedClients[sessionIdentityKey]); };
|
|
74
|
+
};
|
|
75
|
+
eventBufferMap[sessionIdentityKey] =
|
|
76
|
+
new utils_1.EventBuffer({
|
|
77
|
+
bufferSize: bufferSize,
|
|
78
|
+
flushSize: flushSize,
|
|
79
|
+
flushInterval: flushInterval,
|
|
80
|
+
}, getClient);
|
|
81
|
+
var releaseSessionKeys = Object.keys(eventBufferMap).filter(function (key) { return key !== sessionIdentityKey; });
|
|
82
|
+
try {
|
|
83
|
+
for (var releaseSessionKeys_1 = tslib_1.__values(releaseSessionKeys), releaseSessionKeys_1_1 = releaseSessionKeys_1.next(); !releaseSessionKeys_1_1.done; releaseSessionKeys_1_1 = releaseSessionKeys_1.next()) {
|
|
84
|
+
var releaseSessionKey = releaseSessionKeys_1_1.value;
|
|
85
|
+
eventBufferMap[releaseSessionKey].release();
|
|
86
|
+
delete eventBufferMap[releaseSessionKey];
|
|
87
|
+
delete cachedClients[releaseSessionKey];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
91
|
+
finally {
|
|
92
|
+
try {
|
|
93
|
+
if (releaseSessionKeys_1_1 && !releaseSessionKeys_1_1.done && (_b = releaseSessionKeys_1.return)) _b.call(releaseSessionKeys_1);
|
|
94
|
+
}
|
|
95
|
+
finally { if (e_1) throw e_1.error; }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return eventBufferMap[sessionIdentityKey];
|
|
99
|
+
};
|
|
100
|
+
exports.getEventBuffer = getEventBuffer;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getEventBuffer } from './getEventBuffer';
|
|
2
|
+
export { resolveConfig } from './resolveConfig';
|
|
3
|
+
export { autoTrackMedia } from './autoTrackMedia';
|
|
4
|
+
export { resolveCachedSession, updateCachedSession } from './cachedSession';
|
|
5
|
+
export { DEFAULT_PERSONALIZE_CONFIG, PERSONALIZE_FLUSH_SIZE_MAX, } from './constants';
|
|
@@ -0,0 +1,17 @@
|
|
|
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.PERSONALIZE_FLUSH_SIZE_MAX = exports.DEFAULT_PERSONALIZE_CONFIG = exports.updateCachedSession = exports.resolveCachedSession = exports.autoTrackMedia = exports.resolveConfig = exports.getEventBuffer = void 0;
|
|
6
|
+
var getEventBuffer_1 = require("./getEventBuffer");
|
|
7
|
+
Object.defineProperty(exports, "getEventBuffer", { enumerable: true, get: function () { return getEventBuffer_1.getEventBuffer; } });
|
|
8
|
+
var resolveConfig_1 = require("./resolveConfig");
|
|
9
|
+
Object.defineProperty(exports, "resolveConfig", { enumerable: true, get: function () { return resolveConfig_1.resolveConfig; } });
|
|
10
|
+
var autoTrackMedia_1 = require("./autoTrackMedia");
|
|
11
|
+
Object.defineProperty(exports, "autoTrackMedia", { enumerable: true, get: function () { return autoTrackMedia_1.autoTrackMedia; } });
|
|
12
|
+
var cachedSession_1 = require("./cachedSession");
|
|
13
|
+
Object.defineProperty(exports, "resolveCachedSession", { enumerable: true, get: function () { return cachedSession_1.resolveCachedSession; } });
|
|
14
|
+
Object.defineProperty(exports, "updateCachedSession", { enumerable: true, get: function () { return cachedSession_1.updateCachedSession; } });
|
|
15
|
+
var constants_1 = require("./constants");
|
|
16
|
+
Object.defineProperty(exports, "DEFAULT_PERSONALIZE_CONFIG", { enumerable: true, get: function () { return constants_1.DEFAULT_PERSONALIZE_CONFIG; } });
|
|
17
|
+
Object.defineProperty(exports, "PERSONALIZE_FLUSH_SIZE_MAX", { enumerable: true, get: function () { return constants_1.PERSONALIZE_FLUSH_SIZE_MAX; } });
|
|
@@ -0,0 +1,25 @@
|
|
|
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 _1 = require("./");
|
|
10
|
+
var resolveConfig = function () {
|
|
11
|
+
var _a;
|
|
12
|
+
var config = (_a = core_1.Amplify.getConfig().Analytics) === null || _a === void 0 ? void 0 : _a.Personalize;
|
|
13
|
+
var _b = tslib_1.__assign(tslib_1.__assign({}, _1.DEFAULT_PERSONALIZE_CONFIG), config), region = _b.region, trackingId = _b.trackingId, _c = _b.flushSize, flushSize = _c === void 0 ? _1.DEFAULT_PERSONALIZE_CONFIG.flushSize : _c, _d = _b.flushInterval, flushInterval = _d === void 0 ? _1.DEFAULT_PERSONALIZE_CONFIG.flushInterval : _d;
|
|
14
|
+
(0, errors_1.assertValidationError)(!!region, errors_1.AnalyticsValidationErrorCode.NoRegion);
|
|
15
|
+
(0, errors_1.assertValidationError)(!!trackingId, errors_1.AnalyticsValidationErrorCode.NoTrackingId);
|
|
16
|
+
(0, errors_1.assertValidationError)(flushSize <= _1.PERSONALIZE_FLUSH_SIZE_MAX, errors_1.AnalyticsValidationErrorCode.InvalidFlushSize, "FlushSize for Personalize should be less or equal than ".concat(_1.PERSONALIZE_FLUSH_SIZE_MAX));
|
|
17
|
+
return {
|
|
18
|
+
region: region,
|
|
19
|
+
trackingId: trackingId,
|
|
20
|
+
bufferSize: flushSize + 1,
|
|
21
|
+
flushSize: flushSize,
|
|
22
|
+
flushInterval: flushInterval,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.resolveConfig = resolveConfig;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flushes all buffered Pinpoint 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,27 @@
|
|
|
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 pinpoint_1 = require("@aws-amplify/core/internals/providers/pinpoint");
|
|
8
|
+
var utils_2 = require("@aws-amplify/core/internals/utils");
|
|
9
|
+
var utils_3 = require("../../../utils");
|
|
10
|
+
var logger = new utils_2.ConsoleLogger('Analytics');
|
|
11
|
+
/**
|
|
12
|
+
* Flushes all buffered Pinpoint 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)(), appId = _a.appId, region = _a.region;
|
|
20
|
+
(0, utils_1.resolveCredentials)()
|
|
21
|
+
.then(function (_a) {
|
|
22
|
+
var credentials = _a.credentials, identityId = _a.identityId;
|
|
23
|
+
return (0, pinpoint_1.flushEvents)(appId, region, credentials, identityId, (0, utils_3.getAnalyticsUserAgentString)(utils_2.AnalyticsAction.Record));
|
|
24
|
+
})
|
|
25
|
+
.catch(function (e) { return logger.warn('Failed to flush events', e); });
|
|
26
|
+
};
|
|
27
|
+
exports.flushEvents = flushEvents;
|
|
@@ -19,7 +19,7 @@ import { IdentifyUserInput } from '../types';
|
|
|
19
19
|
* await identifyUser({
|
|
20
20
|
* userId,
|
|
21
21
|
* userProfile: {
|
|
22
|
-
* email:
|
|
22
|
+
* email: 'userEmail@example.com'
|
|
23
23
|
* customProperties: {
|
|
24
24
|
* phoneNumber: ['555-555-5555'],
|
|
25
25
|
* },
|
|
@@ -33,7 +33,7 @@ import { IdentifyUserInput } from '../types';
|
|
|
33
33
|
* await identifyUser({
|
|
34
34
|
* userId,
|
|
35
35
|
* userProfile: {
|
|
36
|
-
* email:
|
|
36
|
+
* email: 'userEmail@example.com'
|
|
37
37
|
* customProperties: {
|
|
38
38
|
* phoneNumber: ['555-555-5555'],
|
|
39
39
|
* },
|
|
@@ -28,7 +28,7 @@ var utils_3 = require("../utils");
|
|
|
28
28
|
* await identifyUser({
|
|
29
29
|
* userId,
|
|
30
30
|
* userProfile: {
|
|
31
|
-
* email:
|
|
31
|
+
* email: 'userEmail@example.com'
|
|
32
32
|
* customProperties: {
|
|
33
33
|
* phoneNumber: ['555-555-5555'],
|
|
34
34
|
* },
|
|
@@ -42,7 +42,7 @@ var utils_3 = require("../utils");
|
|
|
42
42
|
* await identifyUser({
|
|
43
43
|
* userId,
|
|
44
44
|
* userProfile: {
|
|
45
|
-
* email:
|
|
45
|
+
* email: 'userEmail@example.com'
|
|
46
46
|
* customProperties: {
|
|
47
47
|
* phoneNumber: ['555-555-5555'],
|
|
48
48
|
* },
|
|
@@ -74,7 +74,7 @@ var identifyUser = function (_a) {
|
|
|
74
74
|
userAttributes: userAttributes,
|
|
75
75
|
userId: userId,
|
|
76
76
|
userProfile: userProfile,
|
|
77
|
-
userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.
|
|
77
|
+
userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.IdentifyUser),
|
|
78
78
|
});
|
|
79
79
|
return [2 /*return*/];
|
|
80
80
|
}
|
|
@@ -2,8 +2,10 @@
|
|
|
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.identifyUser = exports.record = void 0;
|
|
5
|
+
exports.flushEvents = exports.identifyUser = exports.record = void 0;
|
|
6
6
|
var record_1 = require("./record");
|
|
7
7
|
Object.defineProperty(exports, "record", { enumerable: true, get: function () { return record_1.record; } });
|
|
8
8
|
var identifyUser_1 = require("./identifyUser");
|
|
9
9
|
Object.defineProperty(exports, "identifyUser", { enumerable: true, get: function () { return identifyUser_1.identifyUser; } });
|
|
10
|
+
var flushEvents_1 = require("./flushEvents");
|
|
11
|
+
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return flushEvents_1.flushEvents; } });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { record, identifyUser } from './apis';
|
|
1
|
+
export { record, identifyUser, flushEvents } from './apis';
|
|
2
2
|
export { RecordInput, IdentifyUserInput } from './types/inputs';
|
|
@@ -2,7 +2,8 @@
|
|
|
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.identifyUser = exports.record = void 0;
|
|
5
|
+
exports.flushEvents = exports.identifyUser = exports.record = void 0;
|
|
6
6
|
var apis_1 = require("./apis");
|
|
7
7
|
Object.defineProperty(exports, "record", { enumerable: true, get: function () { return apis_1.record; } });
|
|
8
8
|
Object.defineProperty(exports, "identifyUser", { enumerable: true, get: function () { return apis_1.identifyUser; } });
|
|
9
|
+
Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return apis_1.flushEvents; } });
|