@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.
Files changed (234) hide show
  1. package/lib/errors/assertValidationError.d.ts +1 -1
  2. package/lib/errors/assertValidationError.js +7 -3
  3. package/lib/errors/validation.d.ts +3 -1
  4. package/lib/errors/validation.js +8 -0
  5. package/lib/index.d.ts +1 -1
  6. package/lib/index.js +2 -1
  7. package/lib/providers/kinesis/apis/flushEvents.d.ts +8 -0
  8. package/lib/providers/kinesis/apis/flushEvents.js +37 -0
  9. package/lib/providers/kinesis/apis/index.d.ts +1 -0
  10. package/lib/providers/kinesis/apis/index.js +3 -1
  11. package/lib/providers/kinesis/apis/record.d.ts +1 -1
  12. package/lib/providers/kinesis/apis/record.js +40 -2
  13. package/lib/providers/kinesis/index.d.ts +1 -1
  14. package/lib/providers/kinesis/index.js +2 -1
  15. package/lib/providers/kinesis/types/buffer.d.ts +15 -0
  16. package/lib/providers/kinesis/types/buffer.js +4 -0
  17. package/lib/providers/kinesis/types/index.d.ts +1 -0
  18. package/lib/providers/kinesis/types/inputs.d.ts +6 -1
  19. package/lib/providers/kinesis/utils/constants.d.ts +6 -0
  20. package/lib/providers/kinesis/utils/constants.js +11 -0
  21. package/lib/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  22. package/lib/providers/kinesis/utils/getEventBuffer.js +103 -0
  23. package/lib/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  24. package/lib/providers/kinesis/utils/resolveConfig.js +24 -0
  25. package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  26. package/lib/providers/kinesis-firehose/apis/flushEvents.js +36 -0
  27. package/lib/providers/kinesis-firehose/apis/index.d.ts +1 -0
  28. package/lib/providers/kinesis-firehose/apis/index.js +3 -1
  29. package/lib/providers/kinesis-firehose/apis/record.d.ts +1 -1
  30. package/lib/providers/kinesis-firehose/apis/record.js +37 -2
  31. package/lib/providers/kinesis-firehose/index.d.ts +1 -1
  32. package/lib/providers/kinesis-firehose/index.js +2 -1
  33. package/lib/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  34. package/lib/providers/kinesis-firehose/types/buffer.js +4 -0
  35. package/lib/providers/kinesis-firehose/types/index.d.ts +1 -0
  36. package/lib/providers/kinesis-firehose/types/inputs.d.ts +5 -1
  37. package/lib/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  38. package/lib/providers/kinesis-firehose/utils/constants.js +11 -0
  39. package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  40. package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +100 -0
  41. package/lib/providers/kinesis-firehose/utils/index.d.ts +2 -0
  42. package/lib/providers/kinesis-firehose/utils/index.js +9 -0
  43. package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  44. package/lib/providers/kinesis-firehose/utils/resolveConfig.js +24 -0
  45. package/lib/providers/personalize/apis/flushEvents.d.ts +8 -0
  46. package/lib/providers/personalize/apis/flushEvents.js +35 -0
  47. package/lib/providers/personalize/apis/index.d.ts +1 -0
  48. package/lib/providers/personalize/apis/index.js +3 -1
  49. package/lib/providers/personalize/apis/record.d.ts +1 -1
  50. package/lib/providers/personalize/apis/record.js +65 -2
  51. package/lib/providers/personalize/index.d.ts +1 -1
  52. package/lib/providers/personalize/index.js +2 -1
  53. package/lib/providers/personalize/types/buffer.d.ts +16 -0
  54. package/lib/providers/personalize/types/buffer.js +4 -0
  55. package/lib/providers/personalize/types/index.d.ts +2 -1
  56. package/lib/providers/personalize/types/inputs.d.ts +7 -1
  57. package/lib/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  58. package/lib/providers/personalize/utils/autoTrackMedia.js +182 -0
  59. package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
  60. package/lib/providers/personalize/utils/cachedSession.js +52 -0
  61. package/lib/providers/personalize/utils/constants.d.ts +7 -0
  62. package/lib/providers/personalize/utils/constants.js +12 -0
  63. package/lib/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  64. package/lib/providers/personalize/utils/getEventBuffer.js +100 -0
  65. package/lib/providers/personalize/utils/index.d.ts +5 -0
  66. package/lib/providers/personalize/utils/index.js +17 -0
  67. package/lib/providers/personalize/utils/resolveConfig.d.ts +7 -0
  68. package/lib/providers/personalize/utils/resolveConfig.js +25 -0
  69. package/lib/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  70. package/lib/providers/pinpoint/apis/flushEvents.js +27 -0
  71. package/lib/providers/pinpoint/apis/identifyUser.d.ts +2 -2
  72. package/lib/providers/pinpoint/apis/identifyUser.js +3 -3
  73. package/lib/providers/pinpoint/apis/index.d.ts +1 -0
  74. package/lib/providers/pinpoint/apis/index.js +3 -1
  75. package/lib/providers/pinpoint/index.d.ts +1 -1
  76. package/lib/providers/pinpoint/index.js +2 -1
  77. package/lib/tsconfig.tsbuildinfo +1 -1
  78. package/lib/types/index.d.ts +1 -0
  79. package/lib/types/kinesis.d.ts +8 -0
  80. package/lib/types/kinesis.js +4 -0
  81. package/lib/utils/eventBuffer/EventBuffer.d.ts +16 -0
  82. package/lib/utils/eventBuffer/EventBuffer.js +91 -0
  83. package/lib/utils/eventBuffer/index.d.ts +2 -0
  84. package/lib/utils/eventBuffer/index.js +7 -0
  85. package/lib/utils/eventBuffer/types.d.ts +8 -0
  86. package/lib/utils/eventBuffer/types.js +4 -0
  87. package/lib/utils/groupBy.d.ts +1 -0
  88. package/lib/utils/groupBy.js +15 -0
  89. package/lib/utils/index.d.ts +3 -0
  90. package/lib/utils/index.js +7 -1
  91. package/lib/utils/resolveCredentials.d.ts +9 -0
  92. package/lib/utils/resolveCredentials.js +21 -0
  93. package/lib-esm/errors/assertValidationError.d.ts +1 -1
  94. package/lib-esm/errors/assertValidationError.js +7 -3
  95. package/lib-esm/errors/validation.d.ts +3 -1
  96. package/lib-esm/errors/validation.js +8 -0
  97. package/lib-esm/index.d.ts +1 -1
  98. package/lib-esm/index.js +1 -1
  99. package/lib-esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
  100. package/lib-esm/providers/kinesis/apis/flushEvents.js +33 -0
  101. package/lib-esm/providers/kinesis/apis/index.d.ts +1 -0
  102. package/lib-esm/providers/kinesis/apis/index.js +1 -0
  103. package/lib-esm/providers/kinesis/apis/record.d.ts +1 -1
  104. package/lib-esm/providers/kinesis/apis/record.js +40 -2
  105. package/lib-esm/providers/kinesis/index.d.ts +1 -1
  106. package/lib-esm/providers/kinesis/index.js +1 -1
  107. package/lib-esm/providers/kinesis/types/buffer.d.ts +15 -0
  108. package/lib-esm/providers/kinesis/types/buffer.js +3 -0
  109. package/lib-esm/providers/kinesis/types/index.d.ts +1 -0
  110. package/lib-esm/providers/kinesis/types/inputs.d.ts +6 -1
  111. package/lib-esm/providers/kinesis/utils/constants.d.ts +6 -0
  112. package/lib-esm/providers/kinesis/utils/constants.js +8 -0
  113. package/lib-esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  114. package/lib-esm/providers/kinesis/utils/getEventBuffer.js +99 -0
  115. package/lib-esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  116. package/lib-esm/providers/kinesis/utils/resolveConfig.js +20 -0
  117. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  118. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +32 -0
  119. package/lib-esm/providers/kinesis-firehose/apis/index.d.ts +1 -0
  120. package/lib-esm/providers/kinesis-firehose/apis/index.js +1 -0
  121. package/lib-esm/providers/kinesis-firehose/apis/record.d.ts +1 -1
  122. package/lib-esm/providers/kinesis-firehose/apis/record.js +37 -2
  123. package/lib-esm/providers/kinesis-firehose/index.d.ts +1 -1
  124. package/lib-esm/providers/kinesis-firehose/index.js +1 -1
  125. package/lib-esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  126. package/lib-esm/providers/kinesis-firehose/types/buffer.js +3 -0
  127. package/lib-esm/providers/kinesis-firehose/types/index.d.ts +1 -0
  128. package/lib-esm/providers/kinesis-firehose/types/inputs.d.ts +5 -1
  129. package/lib-esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  130. package/lib-esm/providers/kinesis-firehose/utils/constants.js +8 -0
  131. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  132. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +96 -0
  133. package/lib-esm/providers/kinesis-firehose/utils/index.d.ts +2 -0
  134. package/lib-esm/providers/kinesis-firehose/utils/index.js +4 -0
  135. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  136. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +20 -0
  137. package/lib-esm/providers/personalize/apis/flushEvents.d.ts +8 -0
  138. package/lib-esm/providers/personalize/apis/flushEvents.js +31 -0
  139. package/lib-esm/providers/personalize/apis/index.d.ts +1 -0
  140. package/lib-esm/providers/personalize/apis/index.js +1 -0
  141. package/lib-esm/providers/personalize/apis/record.d.ts +1 -1
  142. package/lib-esm/providers/personalize/apis/record.js +65 -2
  143. package/lib-esm/providers/personalize/index.d.ts +1 -1
  144. package/lib-esm/providers/personalize/index.js +1 -1
  145. package/lib-esm/providers/personalize/types/buffer.d.ts +16 -0
  146. package/lib-esm/providers/personalize/types/buffer.js +3 -0
  147. package/lib-esm/providers/personalize/types/index.d.ts +2 -1
  148. package/lib-esm/providers/personalize/types/inputs.d.ts +7 -1
  149. package/lib-esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  150. package/lib-esm/providers/personalize/utils/autoTrackMedia.js +178 -0
  151. package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
  152. package/lib-esm/providers/personalize/utils/cachedSession.js +47 -0
  153. package/lib-esm/providers/personalize/utils/constants.d.ts +7 -0
  154. package/lib-esm/providers/personalize/utils/constants.js +9 -0
  155. package/lib-esm/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  156. package/lib-esm/providers/personalize/utils/getEventBuffer.js +96 -0
  157. package/lib-esm/providers/personalize/utils/index.d.ts +5 -0
  158. package/lib-esm/providers/personalize/utils/index.js +7 -0
  159. package/lib-esm/providers/personalize/utils/resolveConfig.d.ts +7 -0
  160. package/lib-esm/providers/personalize/utils/resolveConfig.js +21 -0
  161. package/lib-esm/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  162. package/lib-esm/providers/pinpoint/apis/flushEvents.js +23 -0
  163. package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +2 -2
  164. package/lib-esm/providers/pinpoint/apis/identifyUser.js +3 -3
  165. package/lib-esm/providers/pinpoint/apis/index.d.ts +1 -0
  166. package/lib-esm/providers/pinpoint/apis/index.js +1 -0
  167. package/lib-esm/providers/pinpoint/index.d.ts +1 -1
  168. package/lib-esm/providers/pinpoint/index.js +1 -1
  169. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  170. package/lib-esm/types/index.d.ts +1 -0
  171. package/lib-esm/types/kinesis.d.ts +8 -0
  172. package/lib-esm/types/kinesis.js +3 -0
  173. package/lib-esm/utils/eventBuffer/EventBuffer.d.ts +16 -0
  174. package/lib-esm/utils/eventBuffer/EventBuffer.js +88 -0
  175. package/lib-esm/utils/eventBuffer/index.d.ts +2 -0
  176. package/lib-esm/utils/eventBuffer/index.js +3 -0
  177. package/lib-esm/utils/eventBuffer/types.d.ts +8 -0
  178. package/lib-esm/utils/eventBuffer/types.js +3 -0
  179. package/lib-esm/utils/groupBy.d.ts +1 -0
  180. package/lib-esm/utils/groupBy.js +11 -0
  181. package/lib-esm/utils/index.d.ts +3 -0
  182. package/lib-esm/utils/index.js +3 -0
  183. package/lib-esm/utils/resolveCredentials.d.ts +9 -0
  184. package/lib-esm/utils/resolveCredentials.js +17 -0
  185. package/package.json +5 -4
  186. package/src/errors/assertValidationError.ts +9 -3
  187. package/src/errors/validation.ts +8 -0
  188. package/src/index.ts +1 -0
  189. package/src/providers/kinesis/apis/flushEvents.ts +42 -0
  190. package/src/providers/kinesis/apis/index.ts +1 -0
  191. package/src/providers/kinesis/apis/record.ts +54 -2
  192. package/src/providers/kinesis/index.ts +1 -1
  193. package/src/providers/kinesis/types/buffer.ts +20 -0
  194. package/src/providers/kinesis/types/index.ts +1 -0
  195. package/src/providers/kinesis/types/inputs.ts +7 -1
  196. package/src/providers/kinesis/utils/constants.ts +9 -0
  197. package/src/providers/kinesis/utils/getEventBuffer.ts +110 -0
  198. package/src/providers/kinesis/utils/resolveConfig.ts +36 -0
  199. package/src/providers/kinesis-firehose/apis/flushEvents.ts +41 -0
  200. package/src/providers/kinesis-firehose/apis/index.ts +1 -0
  201. package/src/providers/kinesis-firehose/apis/record.ts +47 -2
  202. package/src/providers/kinesis-firehose/index.ts +1 -1
  203. package/src/providers/kinesis-firehose/types/buffer.ts +20 -0
  204. package/src/providers/kinesis-firehose/types/index.ts +5 -0
  205. package/src/providers/kinesis-firehose/types/inputs.ts +6 -1
  206. package/src/providers/kinesis-firehose/utils/constants.ts +9 -0
  207. package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +118 -0
  208. package/src/providers/kinesis-firehose/utils/index.ts +5 -0
  209. package/src/providers/kinesis-firehose/utils/resolveConfig.ts +36 -0
  210. package/src/providers/personalize/apis/flushEvents.ts +39 -0
  211. package/src/providers/personalize/apis/index.ts +1 -0
  212. package/src/providers/personalize/apis/record.ts +98 -2
  213. package/src/providers/personalize/index.ts +1 -1
  214. package/src/providers/personalize/types/buffer.ts +21 -0
  215. package/src/providers/personalize/types/index.ts +2 -1
  216. package/src/providers/personalize/types/inputs.ts +8 -1
  217. package/src/providers/personalize/utils/autoTrackMedia.ts +231 -0
  218. package/src/providers/personalize/utils/cachedSession.ts +67 -0
  219. package/src/providers/personalize/utils/constants.ts +12 -0
  220. package/src/providers/personalize/utils/getEventBuffer.ts +111 -0
  221. package/src/providers/personalize/utils/index.ts +11 -0
  222. package/src/providers/personalize/utils/resolveConfig.ts +41 -0
  223. package/src/providers/pinpoint/apis/flushEvents.ts +34 -0
  224. package/src/providers/pinpoint/apis/identifyUser.ts +3 -3
  225. package/src/providers/pinpoint/apis/index.ts +1 -0
  226. package/src/providers/pinpoint/index.ts +1 -1
  227. package/src/types/index.ts +2 -0
  228. package/src/types/kinesis.ts +13 -0
  229. package/src/utils/eventBuffer/EventBuffer.ts +84 -0
  230. package/src/utils/eventBuffer/index.ts +5 -0
  231. package/src/utils/eventBuffer/types.ts +12 -0
  232. package/src/utils/groupBy.ts +12 -0
  233. package/src/utils/index.ts +7 -0
  234. 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,7 @@
1
+ export declare const resolveConfig: () => {
2
+ region: string;
3
+ trackingId: string;
4
+ bufferSize: number;
5
+ flushSize: number;
6
+ flushInterval: number;
7
+ };
@@ -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: [userEmail]
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: [userEmail]
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: [userEmail]
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: [userEmail]
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.UpdateEndpoint),
77
+ userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.IdentifyUser),
78
78
  });
79
79
  return [2 /*return*/];
80
80
  }
@@ -1,2 +1,3 @@
1
1
  export { record } from './record';
2
2
  export { identifyUser } from './identifyUser';
3
+ export { flushEvents } from './flushEvents';
@@ -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; } });