@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.
Files changed (254) hide show
  1. package/lib/errors/AnalyticsError.d.ts +7 -0
  2. package/lib/errors/AnalyticsError.js +23 -0
  3. package/lib/errors/assertValidationError.d.ts +5 -0
  4. package/lib/errors/assertValidationError.js +17 -0
  5. package/lib/errors/index.d.ts +3 -0
  6. package/lib/errors/index.js +12 -0
  7. package/lib/errors/validation.d.ts +9 -0
  8. package/lib/errors/validation.js +31 -0
  9. package/lib/index.d.ts +0 -3
  10. package/lib/index.js +0 -15
  11. package/lib/providers/pinpoint/apis/identifyUser.d.ts +10 -0
  12. package/lib/providers/pinpoint/apis/identifyUser.js +44 -0
  13. package/lib/providers/pinpoint/apis/index.d.ts +2 -0
  14. package/lib/providers/pinpoint/apis/index.js +9 -0
  15. package/lib/providers/pinpoint/apis/record.d.ts +11 -0
  16. package/lib/providers/pinpoint/apis/record.js +44 -0
  17. package/lib/providers/pinpoint/index.d.ts +1 -1
  18. package/lib/providers/pinpoint/index.js +1 -7
  19. package/lib/providers/pinpoint/types/errors.d.ts +9 -0
  20. package/lib/providers/pinpoint/types/errors.js +15 -0
  21. package/lib/providers/pinpoint/types/index.d.ts +2 -0
  22. package/lib/providers/pinpoint/types/index.js +7 -0
  23. package/lib/providers/pinpoint/types/parameters.d.ts +18 -0
  24. package/lib/providers/pinpoint/utils/index.d.ts +2 -0
  25. package/lib/providers/pinpoint/utils/index.js +9 -0
  26. package/lib/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
  27. package/lib/providers/pinpoint/utils/resolveConfig.js +18 -0
  28. package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
  29. package/lib/providers/pinpoint/utils/resolveCredentials.js +24 -0
  30. package/lib/setupTests.js +1 -0
  31. package/lib/tsconfig.tsbuildinfo +1 -1
  32. package/{lib-esm/types/Analytics.d.ts → lib/types/analytics.d.ts} +0 -8
  33. package/lib/types/index.d.ts +1 -3
  34. package/lib/types/index.js +1 -3
  35. package/lib/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
  36. package/lib/utils/{UserAgent.js → userAgent.js} +5 -5
  37. package/lib-esm/errors/AnalyticsError.d.ts +7 -0
  38. package/lib-esm/errors/AnalyticsError.js +20 -0
  39. package/lib-esm/errors/assertValidationError.d.ts +5 -0
  40. package/lib-esm/errors/assertValidationError.js +13 -0
  41. package/lib-esm/errors/index.d.ts +3 -0
  42. package/lib-esm/errors/index.js +5 -0
  43. package/lib-esm/errors/validation.d.ts +9 -0
  44. package/lib-esm/errors/validation.js +28 -0
  45. package/lib-esm/index.d.ts +0 -3
  46. package/lib-esm/index.js +0 -12
  47. package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +10 -0
  48. package/lib-esm/providers/pinpoint/apis/identifyUser.js +40 -0
  49. package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
  50. package/{src/types/providers/index.ts → lib-esm/providers/pinpoint/apis/index.js} +2 -1
  51. package/lib-esm/providers/pinpoint/apis/record.d.ts +11 -0
  52. package/lib-esm/providers/pinpoint/apis/record.js +40 -0
  53. package/lib-esm/providers/pinpoint/index.d.ts +1 -1
  54. package/lib-esm/providers/pinpoint/index.js +1 -6
  55. package/lib-esm/providers/pinpoint/types/errors.d.ts +9 -0
  56. package/lib-esm/providers/pinpoint/types/errors.js +12 -0
  57. package/lib-esm/providers/pinpoint/types/index.d.ts +2 -0
  58. package/lib-esm/{types/providers → providers/pinpoint/types}/index.js +1 -1
  59. package/lib-esm/providers/pinpoint/types/parameters.d.ts +18 -0
  60. package/lib-esm/providers/pinpoint/utils/index.d.ts +2 -0
  61. package/lib-esm/{utils/AppUtils.js → providers/pinpoint/utils/index.js} +2 -4
  62. package/lib-esm/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
  63. package/lib-esm/providers/pinpoint/utils/resolveConfig.js +14 -0
  64. package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
  65. package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +20 -0
  66. package/lib-esm/setupTests.js +1 -0
  67. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  68. package/{lib/types/Analytics.d.ts → lib-esm/types/analytics.d.ts} +0 -8
  69. package/lib-esm/types/index.d.ts +1 -3
  70. package/lib-esm/types/index.js +1 -3
  71. package/lib-esm/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
  72. package/lib-esm/utils/{UserAgent.js → userAgent.js} +1 -1
  73. package/package.json +11 -29
  74. package/src/errors/AnalyticsError.ts +18 -0
  75. package/src/errors/assertValidationError.ts +19 -0
  76. package/src/errors/index.ts +6 -0
  77. package/src/errors/validation.ts +31 -0
  78. package/src/index.ts +0 -15
  79. package/src/providers/pinpoint/apis/identifyUser.ts +35 -0
  80. package/src/{utils/AppUtils.ts → providers/pinpoint/apis/index.ts} +2 -4
  81. package/src/providers/pinpoint/apis/record.ts +50 -0
  82. package/src/providers/pinpoint/index.ts +1 -3
  83. package/src/providers/pinpoint/types/errors.ts +12 -0
  84. package/src/providers/pinpoint/types/index.ts +5 -0
  85. package/src/providers/pinpoint/types/parameters.ts +24 -0
  86. package/src/providers/pinpoint/utils/index.ts +5 -0
  87. package/src/providers/pinpoint/utils/resolveConfig.ts +18 -0
  88. package/src/providers/pinpoint/utils/resolveCredentials.ts +20 -0
  89. package/src/types/{Analytics.ts → analytics.ts} +1 -10
  90. package/src/types/index.ts +1 -3
  91. package/src/utils/{UserAgent.ts → userAgent.ts} +1 -1
  92. package/lib/Analytics.d.ts +0 -87
  93. package/lib/Analytics.js +0 -354
  94. package/lib/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
  95. package/lib/providers/AWSKinesisFirehoseProvider.js +0 -82
  96. package/lib/providers/AWSKinesisProvider.d.ts +0 -43
  97. package/lib/providers/AWSKinesisProvider.js +0 -240
  98. package/lib/providers/AWSPinpointProvider.d.ts +0 -67
  99. package/lib/providers/AWSPinpointProvider.js +0 -576
  100. package/lib/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
  101. package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
  102. package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -156
  103. package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
  104. package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -96
  105. package/lib/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
  106. package/lib/providers/AmazonPersonalizeHelper/index.js +0 -7
  107. package/lib/providers/AmazonPersonalizeProvider.d.ts +0 -76
  108. package/lib/providers/AmazonPersonalizeProvider.js +0 -331
  109. package/lib/providers/EventBuffer.d.ts +0 -28
  110. package/lib/providers/EventBuffer.js +0 -209
  111. package/lib/providers/index.d.ts +0 -4
  112. package/lib/providers/index.js +0 -14
  113. package/lib/trackers/EventTracker.d.ts +0 -9
  114. package/lib/trackers/EventTracker.js +0 -99
  115. package/lib/trackers/PageViewTracker.d.ts +0 -12
  116. package/lib/trackers/PageViewTracker.js +0 -158
  117. package/lib/trackers/SessionTracker-rn.d.ts +0 -12
  118. package/lib/trackers/SessionTracker-rn.js +0 -134
  119. package/lib/trackers/SessionTracker.d.ts +0 -14
  120. package/lib/trackers/SessionTracker.js +0 -163
  121. package/lib/trackers/index.d.ts +0 -3
  122. package/lib/trackers/index.js +0 -11
  123. package/lib/trackers/reactnative.d.ts +0 -8
  124. package/lib/trackers/reactnative.js +0 -19
  125. package/lib/types/Analytics.js +0 -2
  126. package/lib/types/Provider.d.ts +0 -10
  127. package/lib/types/providers/AWSKinesisProvider.d.ts +0 -6
  128. package/lib/types/providers/AWSKinesisProvider.js +0 -2
  129. package/lib/types/providers/AWSPinpointProvider.d.ts +0 -50
  130. package/lib/types/providers/AWSPinpointProvider.js +0 -2
  131. package/lib/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
  132. package/lib/types/providers/AmazonPersonalizeProvider.js +0 -2
  133. package/lib/types/providers/index.d.ts +0 -1
  134. package/lib/types/providers/index.js +0 -6
  135. package/lib/utils/AppUtils.d.ts +0 -2
  136. package/lib/utils/AppUtils.js +0 -9
  137. package/lib/utils/AppUtils.native.d.ts +0 -2
  138. package/lib/utils/AppUtils.native.js +0 -10
  139. package/lib/utils/MethodEmbed.d.ts +0 -11
  140. package/lib/utils/MethodEmbed.js +0 -43
  141. package/lib/vendor/dom-utils/closest.d.ts +0 -12
  142. package/lib/vendor/dom-utils/closest.js +0 -27
  143. package/lib/vendor/dom-utils/delegate.d.ts +0 -18
  144. package/lib/vendor/dom-utils/delegate.js +0 -51
  145. package/lib/vendor/dom-utils/dispatch.d.ts +0 -17
  146. package/lib/vendor/dom-utils/dispatch.js +0 -51
  147. package/lib/vendor/dom-utils/get-attributes.d.ts +0 -11
  148. package/lib/vendor/dom-utils/get-attributes.js +0 -28
  149. package/lib/vendor/dom-utils/index.d.ts +0 -7
  150. package/lib/vendor/dom-utils/index.js +0 -17
  151. package/lib/vendor/dom-utils/matches.d.ts +0 -11
  152. package/lib/vendor/dom-utils/matches.js +0 -69
  153. package/lib/vendor/dom-utils/parents.d.ts +0 -10
  154. package/lib/vendor/dom-utils/parents.js +0 -22
  155. package/lib/vendor/dom-utils/parse-url.d.ts +0 -9
  156. package/lib/vendor/dom-utils/parse-url.js +0 -59
  157. package/lib-esm/Analytics.d.ts +0 -87
  158. package/lib-esm/Analytics.js +0 -351
  159. package/lib-esm/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
  160. package/lib-esm/providers/AWSKinesisFirehoseProvider.js +0 -79
  161. package/lib-esm/providers/AWSKinesisProvider.d.ts +0 -43
  162. package/lib-esm/providers/AWSKinesisProvider.js +0 -237
  163. package/lib-esm/providers/AWSPinpointProvider.d.ts +0 -67
  164. package/lib-esm/providers/AWSPinpointProvider.js +0 -573
  165. package/lib-esm/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
  166. package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
  167. package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -153
  168. package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
  169. package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -92
  170. package/lib-esm/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
  171. package/lib-esm/providers/AmazonPersonalizeHelper/index.js +0 -2
  172. package/lib-esm/providers/AmazonPersonalizeProvider.d.ts +0 -76
  173. package/lib-esm/providers/AmazonPersonalizeProvider.js +0 -328
  174. package/lib-esm/providers/EventBuffer.d.ts +0 -28
  175. package/lib-esm/providers/EventBuffer.js +0 -207
  176. package/lib-esm/providers/index.d.ts +0 -4
  177. package/lib-esm/providers/index.js +0 -7
  178. package/lib-esm/trackers/EventTracker.d.ts +0 -9
  179. package/lib-esm/trackers/EventTracker.js +0 -96
  180. package/lib-esm/trackers/PageViewTracker.d.ts +0 -12
  181. package/lib-esm/trackers/PageViewTracker.js +0 -155
  182. package/lib-esm/trackers/SessionTracker-rn.d.ts +0 -12
  183. package/lib-esm/trackers/SessionTracker-rn.js +0 -131
  184. package/lib-esm/trackers/SessionTracker.d.ts +0 -14
  185. package/lib-esm/trackers/SessionTracker.js +0 -160
  186. package/lib-esm/trackers/index.d.ts +0 -3
  187. package/lib-esm/trackers/index.js +0 -5
  188. package/lib-esm/trackers/reactnative.d.ts +0 -8
  189. package/lib-esm/trackers/reactnative.js +0 -14
  190. package/lib-esm/types/Analytics.js +0 -1
  191. package/lib-esm/types/Provider.d.ts +0 -10
  192. package/lib-esm/types/providers/AWSKinesisProvider.d.ts +0 -6
  193. package/lib-esm/types/providers/AWSKinesisProvider.js +0 -1
  194. package/lib-esm/types/providers/AWSPinpointProvider.d.ts +0 -50
  195. package/lib-esm/types/providers/AWSPinpointProvider.js +0 -1
  196. package/lib-esm/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
  197. package/lib-esm/types/providers/AmazonPersonalizeProvider.js +0 -1
  198. package/lib-esm/types/providers/index.d.ts +0 -1
  199. package/lib-esm/utils/AppUtils.d.ts +0 -2
  200. package/lib-esm/utils/AppUtils.native.d.ts +0 -2
  201. package/lib-esm/utils/AppUtils.native.js +0 -7
  202. package/lib-esm/utils/MethodEmbed.d.ts +0 -11
  203. package/lib-esm/utils/MethodEmbed.js +0 -40
  204. package/lib-esm/vendor/dom-utils/closest.d.ts +0 -12
  205. package/lib-esm/vendor/dom-utils/closest.js +0 -23
  206. package/lib-esm/vendor/dom-utils/delegate.d.ts +0 -18
  207. package/lib-esm/vendor/dom-utils/delegate.js +0 -47
  208. package/lib-esm/vendor/dom-utils/dispatch.d.ts +0 -17
  209. package/lib-esm/vendor/dom-utils/dispatch.js +0 -47
  210. package/lib-esm/vendor/dom-utils/get-attributes.d.ts +0 -11
  211. package/lib-esm/vendor/dom-utils/get-attributes.js +0 -24
  212. package/lib-esm/vendor/dom-utils/index.d.ts +0 -7
  213. package/lib-esm/vendor/dom-utils/index.js +0 -7
  214. package/lib-esm/vendor/dom-utils/matches.d.ts +0 -11
  215. package/lib-esm/vendor/dom-utils/matches.js +0 -65
  216. package/lib-esm/vendor/dom-utils/parents.d.ts +0 -10
  217. package/lib-esm/vendor/dom-utils/parents.js +0 -18
  218. package/lib-esm/vendor/dom-utils/parse-url.d.ts +0 -9
  219. package/lib-esm/vendor/dom-utils/parse-url.js +0 -55
  220. package/src/Analytics.ts +0 -446
  221. package/src/providers/AWSKinesisFirehoseProvider.ts +0 -105
  222. package/src/providers/AWSKinesisProvider.ts +0 -250
  223. package/src/providers/AWSPinpointProvider.ts +0 -685
  224. package/src/providers/AmazonPersonalizeHelper/DataType.ts +0 -49
  225. package/src/providers/AmazonPersonalizeHelper/MediaAutoTrack.ts +0 -196
  226. package/src/providers/AmazonPersonalizeHelper/SessionInfoManager.ts +0 -121
  227. package/src/providers/AmazonPersonalizeHelper/index.ts +0 -11
  228. package/src/providers/AmazonPersonalizeProvider.ts +0 -398
  229. package/src/providers/EventBuffer.ts +0 -257
  230. package/src/providers/index.ts +0 -8
  231. package/src/trackers/EventTracker.ts +0 -115
  232. package/src/trackers/PageViewTracker.ts +0 -157
  233. package/src/trackers/SessionTracker-rn.ts +0 -134
  234. package/src/trackers/SessionTracker.ts +0 -179
  235. package/src/trackers/index.ts +0 -5
  236. package/src/trackers/reactnative.ts +0 -13
  237. package/src/types/Provider.ts +0 -26
  238. package/src/types/providers/AWSKinesisProvider.ts +0 -8
  239. package/src/types/providers/AWSPinpointProvider.ts +0 -60
  240. package/src/types/providers/AmazonPersonalizeProvider.ts +0 -9
  241. package/src/utils/AppUtils.native.ts +0 -9
  242. package/src/utils/MethodEmbed.ts +0 -49
  243. package/src/vendor/dom-utils/closest.ts +0 -25
  244. package/src/vendor/dom-utils/delegate.ts +0 -51
  245. package/src/vendor/dom-utils/dispatch.ts +0 -59
  246. package/src/vendor/dom-utils/get-attributes.ts +0 -26
  247. package/src/vendor/dom-utils/index.ts +0 -7
  248. package/src/vendor/dom-utils/matches.ts +0 -68
  249. package/src/vendor/dom-utils/parents.ts +0 -19
  250. package/src/vendor/dom-utils/parse-url.ts +0 -66
  251. /package/lib/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
  252. /package/lib/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
  253. /package/lib-esm/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
  254. /package/lib-esm/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
@@ -1,237 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { __awaiter, __generator } from "tslib";
4
- import { ConsoleLogger as Logger, Credentials, AnalyticsAction, } from '@aws-amplify/core';
5
- import { KinesisClient, PutRecordsCommand } from '@aws-sdk/client-kinesis';
6
- import { fromUtf8 } from '@aws-sdk/util-utf8-browser';
7
- import { getAnalyticsUserAgent } from '../utils/UserAgent';
8
- var logger = new Logger('AWSKinesisProvider');
9
- // events buffer
10
- var BUFFER_SIZE = 1000;
11
- var FLUSH_SIZE = 100;
12
- var FLUSH_INTERVAL = 5 * 1000; // 5s
13
- var RESEND_LIMIT = 5;
14
- var AWSKinesisProvider = /** @class */ (function () {
15
- function AWSKinesisProvider(config) {
16
- this._buffer = [];
17
- this._config = config || {};
18
- this._config.bufferSize = this._config.bufferSize || BUFFER_SIZE;
19
- this._config.flushSize = this._config.flushSize || FLUSH_SIZE;
20
- this._config.flushInterval = this._config.flushInterval || FLUSH_INTERVAL;
21
- this._config.resendLimit = this._config.resendLimit || RESEND_LIMIT;
22
- this._setupTimer();
23
- }
24
- AWSKinesisProvider.prototype._setupTimer = function () {
25
- var _this = this;
26
- if (this._timer) {
27
- clearInterval(this._timer);
28
- }
29
- var _a = this._config, flushSize = _a.flushSize, flushInterval = _a.flushInterval;
30
- this._timer = setInterval(function () {
31
- var size = _this._buffer.length < flushSize ? _this._buffer.length : flushSize;
32
- var events = [];
33
- for (var i = 0; i < size; i += 1) {
34
- var params = _this._buffer.shift();
35
- events.push(params);
36
- }
37
- _this._sendFromBuffer(events);
38
- }, flushInterval);
39
- };
40
- /**
41
- * get the category of the plugin
42
- */
43
- AWSKinesisProvider.prototype.getCategory = function () {
44
- return 'Analytics';
45
- };
46
- /**
47
- * get provider name of the plugin
48
- */
49
- AWSKinesisProvider.prototype.getProviderName = function () {
50
- return 'AWSKinesis';
51
- };
52
- /**
53
- * configure the plugin
54
- * @param {Object} config - configuration
55
- */
56
- AWSKinesisProvider.prototype.configure = function (config) {
57
- logger.debug('configure Analytics', config);
58
- var conf = config || {};
59
- this._config = Object.assign({}, this._config, conf);
60
- this._setupTimer();
61
- return this._config;
62
- };
63
- /**
64
- * record an event
65
- * @param {Object} params - the params of an event
66
- */
67
- AWSKinesisProvider.prototype.record = function (params) {
68
- var _a;
69
- return __awaiter(this, void 0, void 0, function () {
70
- var credentials;
71
- return __generator(this, function (_b) {
72
- switch (_b.label) {
73
- case 0: return [4 /*yield*/, this._getCredentials()];
74
- case 1:
75
- credentials = _b.sent();
76
- if (!credentials)
77
- return [2 /*return*/, Promise.resolve(false)];
78
- Object.assign(params, { config: this._config, credentials: credentials });
79
- if ((_a = params.event) === null || _a === void 0 ? void 0 : _a.immediate) {
80
- this._sendEvents([params]);
81
- return [2 /*return*/, Promise.resolve(true)];
82
- }
83
- else {
84
- return [2 /*return*/, this._putToBuffer(params)];
85
- }
86
- return [2 /*return*/];
87
- }
88
- });
89
- });
90
- };
91
- AWSKinesisProvider.prototype.updateEndpoint = function () {
92
- logger.debug('updateEndpoint is not implemented in Kinesis provider');
93
- return Promise.resolve(true);
94
- };
95
- /**
96
- * @private
97
- * @param params - params for the event recording
98
- * Put events into buffer
99
- */
100
- AWSKinesisProvider.prototype._putToBuffer = function (params) {
101
- if (this._buffer.length < BUFFER_SIZE) {
102
- this._buffer.push(params);
103
- return Promise.resolve(true);
104
- }
105
- else {
106
- logger.debug('exceed analytics events buffer size');
107
- return Promise.reject(false);
108
- }
109
- };
110
- AWSKinesisProvider.prototype._sendFromBuffer = function (events) {
111
- var _this = this;
112
- // collapse events by credentials
113
- // events = [ {params} ]
114
- var eventsGroups = [];
115
- var preCred = null;
116
- var group = [];
117
- for (var i = 0; i < events.length; i += 1) {
118
- var cred = events[i].credentials;
119
- if (i === 0) {
120
- group.push(events[i]);
121
- preCred = cred;
122
- }
123
- else {
124
- if (cred.sessionToken === preCred.sessionToken &&
125
- cred.identityId === preCred.identityId) {
126
- logger.debug('no change for cred, put event in the same group');
127
- group.push(events[i]);
128
- }
129
- else {
130
- eventsGroups.push(group);
131
- group = [];
132
- group.push(events[i]);
133
- preCred = cred;
134
- }
135
- }
136
- }
137
- eventsGroups.push(group);
138
- eventsGroups.map(function (evts) {
139
- _this._sendEvents(evts);
140
- });
141
- };
142
- AWSKinesisProvider.prototype._sendEvents = function (group) {
143
- var _this = this;
144
- if (group.length === 0) {
145
- return;
146
- }
147
- var _a = group[0], config = _a.config, credentials = _a.credentials;
148
- var initClients = this._init(config, credentials);
149
- if (!initClients)
150
- return false;
151
- var records = {};
152
- group.map(function (params) {
153
- // spit by streamName
154
- var evt = params.event;
155
- var streamName = evt.streamName;
156
- if (records[streamName] === undefined) {
157
- records[streamName] = [];
158
- }
159
- var bufferData = evt.data && typeof evt.data !== 'string'
160
- ? JSON.stringify(evt.data)
161
- : evt.data;
162
- var Data = fromUtf8(bufferData);
163
- var PartitionKey = evt.partitionKey || 'partition-' + credentials.identityId;
164
- var record = { Data: Data, PartitionKey: PartitionKey };
165
- records[streamName].push(record);
166
- });
167
- Object.keys(records).map(function (streamName) { return __awaiter(_this, void 0, void 0, function () {
168
- var command, err_1;
169
- return __generator(this, function (_a) {
170
- switch (_a.label) {
171
- case 0:
172
- logger.debug('putting records to kinesis with records', records[streamName]);
173
- _a.label = 1;
174
- case 1:
175
- _a.trys.push([1, 3, , 4]);
176
- command = new PutRecordsCommand({
177
- Records: records[streamName],
178
- StreamName: streamName,
179
- });
180
- return [4 /*yield*/, this._kinesis.send(command)];
181
- case 2:
182
- _a.sent();
183
- logger.debug('Upload records to stream', streamName);
184
- return [3 /*break*/, 4];
185
- case 3:
186
- err_1 = _a.sent();
187
- logger.debug('Failed to upload records to Kinesis', err_1);
188
- return [3 /*break*/, 4];
189
- case 4: return [2 /*return*/];
190
- }
191
- });
192
- }); });
193
- };
194
- AWSKinesisProvider.prototype._init = function (config, credentials) {
195
- logger.debug('init clients');
196
- if (this._kinesis &&
197
- this._config.credentials &&
198
- this._config.credentials.sessionToken === credentials.sessionToken &&
199
- this._config.credentials.identityId === credentials.identityId) {
200
- logger.debug('no change for analytics config, directly return from init');
201
- return true;
202
- }
203
- this._config.credentials = credentials;
204
- var region = config.region, endpoint = config.endpoint;
205
- return this._initKinesis(region, endpoint, credentials);
206
- };
207
- AWSKinesisProvider.prototype._initKinesis = function (region, endpoint, credentials) {
208
- logger.debug('initialize kinesis with credentials', credentials);
209
- this._kinesis = new KinesisClient({
210
- region: region,
211
- credentials: credentials,
212
- customUserAgent: getAnalyticsUserAgent(AnalyticsAction.Record),
213
- endpoint: endpoint,
214
- });
215
- return true;
216
- };
217
- /**
218
- * @private
219
- * check if current credentials exists
220
- */
221
- AWSKinesisProvider.prototype._getCredentials = function () {
222
- var _this = this;
223
- return Credentials.get()
224
- .then(function (credentials) {
225
- if (!credentials)
226
- return null;
227
- logger.debug('set credentials for analytics', _this._config.credentials);
228
- return Credentials.shear(credentials);
229
- })
230
- .catch(function (err) {
231
- logger.debug('ensure credentials error', err);
232
- return null;
233
- });
234
- };
235
- return AWSKinesisProvider;
236
- }());
237
- export { AWSKinesisProvider };
@@ -1,67 +0,0 @@
1
- import { AnalyticsProvider, PromiseHandlers, EventParams } from '../types';
2
- export declare class AWSPinpointProvider implements AnalyticsProvider {
3
- static category: string;
4
- static providerName: string;
5
- private _config;
6
- private _sessionId;
7
- private _sessionStartTimestamp;
8
- private _buffer;
9
- private _endpointBuffer;
10
- private _clientInfo;
11
- private _endpointGenerating;
12
- private _endpointUpdateInProgress;
13
- constructor(config?: any);
14
- /**
15
- * get the category of the plugin
16
- */
17
- getCategory(): string;
18
- /**
19
- * get provider name of the plugin
20
- */
21
- getProviderName(): string;
22
- /**
23
- * configure the plugin
24
- * @param {Object} config - configuration
25
- */
26
- configure(config: any): object;
27
- /**
28
- * record an event
29
- * @param {Object} params - the params of an event
30
- */
31
- record(params: EventParams, handlers: PromiseHandlers): Promise<any>;
32
- private _sendEndpointUpdate;
33
- /**
34
- * @private
35
- * @param params - params for event recording
36
- * Put events into buffer
37
- */
38
- private _putToBuffer;
39
- private _generateSession;
40
- private _send;
41
- private _generateBatchItemContext;
42
- private _pinpointPutEvents;
43
- private _pinpointSendStopSession;
44
- private _retry;
45
- private _updateEndpoint;
46
- private _handleEndpointUpdateFailure;
47
- private _handleEndpointUpdateForbidden;
48
- private _retryEndpointUpdate;
49
- /**
50
- * @private
51
- * @param config
52
- * Configure credentials and init buffer
53
- */
54
- private _init;
55
- private _bufferExists;
56
- private _initBuffer;
57
- private _flushBuffer;
58
- private _resumeBuffer;
59
- private _getEndpointId;
60
- /**
61
- * EndPoint request
62
- * @return {Object} - The request of updating endpoint
63
- */
64
- private _endpointRequest;
65
- private _eventError;
66
- private _getCredentials;
67
- }