@aws-amplify/analytics 7.0.1-console-preview.f63250a.0 → 7.0.1-console-preview.5dc0b68.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,99 +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.EventTracker = void 0;
6
- var tslib_1 = require("tslib");
7
- var dom_utils_1 = require("../vendor/dom-utils");
8
- var core_1 = require("@aws-amplify/core");
9
- var logger = new core_1.ConsoleLogger('EventTracker');
10
- var defaultOpts = {
11
- enable: false,
12
- events: ['click'],
13
- selectorPrefix: 'data-amplify-analytics-',
14
- provider: 'AWSPinpoint',
15
- };
16
- var EventTracker = /** @class */ (function () {
17
- function EventTracker(tracker, opts) {
18
- if (!(0, core_1.browserOrNode)().isBrowser || !window.addEventListener) {
19
- logger.debug('not in the supported web environment');
20
- return;
21
- }
22
- this._config = Object.assign({}, defaultOpts, opts);
23
- this._tracker = tracker;
24
- this._delegates = {};
25
- this._trackFunc = this._trackFunc.bind(this);
26
- logger.debug('initialize pageview tracker with opts', this._config);
27
- this.configure(this._config);
28
- }
29
- EventTracker.prototype.configure = function (opts) {
30
- var _this = this;
31
- Object.assign(this._config, opts);
32
- if (!this._config.enable) {
33
- Object.keys(this._delegates).forEach(function (key) {
34
- if (typeof _this._delegates[key].destroy === 'function')
35
- _this._delegates[key].destroy();
36
- });
37
- this._delegates = {};
38
- }
39
- else if (this._config.enable &&
40
- Object.keys(this._delegates).length === 0) {
41
- var selector_1 = '[' + this._config.selectorPrefix + 'on]';
42
- this._config.events.forEach(function (evt) {
43
- _this._delegates[evt] = (0, dom_utils_1.delegate)(document, evt, selector_1, _this._trackFunc, { composed: true, useCapture: true });
44
- });
45
- }
46
- return this._config;
47
- };
48
- EventTracker.prototype._trackFunc = function (event, element) {
49
- return tslib_1.__awaiter(this, void 0, void 0, function () {
50
- var customAttrs, events, eventName, attrs, defaultAttrs, _a, attributes;
51
- return tslib_1.__generator(this, function (_b) {
52
- switch (_b.label) {
53
- case 0:
54
- customAttrs = {};
55
- events = element
56
- .getAttribute(this._config.selectorPrefix + 'on')
57
- .split(/\s*,\s*/);
58
- eventName = element.getAttribute(this._config.selectorPrefix + 'name');
59
- attrs = element.getAttribute(this._config.selectorPrefix + 'attrs');
60
- if (attrs) {
61
- attrs.split(/\s*,\s*/).forEach(function (attr) {
62
- var tmp = attr.trim().split(/\s*:\s*/);
63
- customAttrs[tmp[0]] = tmp[1];
64
- });
65
- }
66
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
67
- return [4 /*yield*/, this._config.attributes()];
68
- case 1:
69
- _a = _b.sent();
70
- return [3 /*break*/, 3];
71
- case 2:
72
- _a = this._config.attributes;
73
- _b.label = 3;
74
- case 3:
75
- defaultAttrs = _a;
76
- attributes = Object.assign({
77
- type: event.type,
78
- target: "".concat(event.target.localName, " with id ").concat(event.target.id),
79
- }, defaultAttrs, customAttrs);
80
- logger.debug('events needed to be recorded', events);
81
- logger.debug('attributes needed to be attached', customAttrs);
82
- if (events.indexOf(event.type) < 0) {
83
- logger.debug("event ".concat(event.type, " is not selected to be recorded"));
84
- return [2 /*return*/];
85
- }
86
- this._tracker({
87
- name: eventName || 'event',
88
- attributes: attributes,
89
- }, this._config.provider).catch(function (e) {
90
- logger.debug("Failed to record the ".concat(event.type, " event', ").concat(e));
91
- });
92
- return [2 /*return*/];
93
- }
94
- });
95
- });
96
- };
97
- return EventTracker;
98
- }());
99
- exports.EventTracker = EventTracker;
@@ -1,12 +0,0 @@
1
- import { pageViewTrackOpts } from '../types';
2
- export declare class PageViewTracker {
3
- private _config;
4
- private _tracker;
5
- private _hasEnabled;
6
- constructor(tracker: any, opts: any);
7
- configure(opts?: pageViewTrackOpts): pageViewTrackOpts;
8
- private _isSameUrl;
9
- private _pageViewTrackDefault;
10
- private _trackFunc;
11
- private _pageViewTrackSPA;
12
- }
@@ -1,158 +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.PageViewTracker = void 0;
6
- var tslib_1 = require("tslib");
7
- var MethodEmbed_1 = require("../utils/MethodEmbed");
8
- var core_1 = require("@aws-amplify/core");
9
- var logger = new core_1.ConsoleLogger('PageViewTracker');
10
- var PREV_URL_KEY = 'aws-amplify-analytics-prevUrl';
11
- var getUrl = function () {
12
- if (!(0, core_1.browserOrNode)().isBrowser)
13
- return '';
14
- else
15
- return window.location.origin + window.location.pathname;
16
- };
17
- var defaultOpts = {
18
- enable: false,
19
- provider: 'AWSPinpoint',
20
- getUrl: getUrl,
21
- };
22
- var PageViewTracker = /** @class */ (function () {
23
- function PageViewTracker(tracker, opts) {
24
- logger.debug('initialize pageview tracker with opts', opts);
25
- this._config = Object.assign({}, defaultOpts, opts);
26
- this._tracker = tracker;
27
- this._hasEnabled = false;
28
- this._trackFunc = this._trackFunc.bind(this);
29
- if (this._config.type === 'SPA') {
30
- this._pageViewTrackSPA();
31
- }
32
- else {
33
- this._pageViewTrackDefault();
34
- }
35
- }
36
- PageViewTracker.prototype.configure = function (opts) {
37
- Object.assign(this._config, opts);
38
- // if spa, need to remove those listeners if disabled
39
- if (this._config.type === 'SPA') {
40
- this._pageViewTrackSPA();
41
- }
42
- return this._config;
43
- };
44
- PageViewTracker.prototype._isSameUrl = function () {
45
- var prevUrl = sessionStorage.getItem(PREV_URL_KEY);
46
- var curUrl = this._config.getUrl();
47
- if (prevUrl === curUrl) {
48
- logger.debug('the url is same');
49
- return true;
50
- }
51
- else
52
- return false;
53
- };
54
- PageViewTracker.prototype._pageViewTrackDefault = function () {
55
- return tslib_1.__awaiter(this, void 0, void 0, function () {
56
- var url, customAttrs, _a, attributes;
57
- return tslib_1.__generator(this, function (_b) {
58
- switch (_b.label) {
59
- case 0:
60
- if (!(0, core_1.browserOrNode)().isBrowser ||
61
- !window.addEventListener ||
62
- !window.sessionStorage) {
63
- logger.debug('not in the supported web enviroment');
64
- return [2 /*return*/];
65
- }
66
- url = this._config.getUrl();
67
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
68
- return [4 /*yield*/, this._config.attributes()];
69
- case 1:
70
- _a = _b.sent();
71
- return [3 /*break*/, 3];
72
- case 2:
73
- _a = this._config.attributes;
74
- _b.label = 3;
75
- case 3:
76
- customAttrs = _a;
77
- attributes = Object.assign({
78
- url: url,
79
- }, customAttrs);
80
- if (this._config.enable && !this._isSameUrl()) {
81
- this._tracker({
82
- name: this._config.eventName || 'pageView',
83
- attributes: attributes,
84
- }, this._config.provider).catch(function (e) {
85
- logger.debug('Failed to record the page view event', e);
86
- });
87
- sessionStorage.setItem(PREV_URL_KEY, url);
88
- }
89
- return [2 /*return*/];
90
- }
91
- });
92
- });
93
- };
94
- PageViewTracker.prototype._trackFunc = function () {
95
- return tslib_1.__awaiter(this, void 0, void 0, function () {
96
- var url, customAttrs, _a, attributes;
97
- return tslib_1.__generator(this, function (_b) {
98
- switch (_b.label) {
99
- case 0:
100
- if (!(0, core_1.browserOrNode)().isBrowser ||
101
- !window.addEventListener ||
102
- !history.pushState ||
103
- !window.sessionStorage) {
104
- logger.debug('not in the supported web enviroment');
105
- return [2 /*return*/];
106
- }
107
- url = this._config.getUrl();
108
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
109
- return [4 /*yield*/, this._config.attributes()];
110
- case 1:
111
- _a = _b.sent();
112
- return [3 /*break*/, 3];
113
- case 2:
114
- _a = this._config.attributes;
115
- _b.label = 3;
116
- case 3:
117
- customAttrs = _a;
118
- attributes = Object.assign({
119
- url: url,
120
- }, customAttrs);
121
- if (!this._isSameUrl()) {
122
- this._tracker({
123
- name: this._config.eventName || 'pageView',
124
- attributes: attributes,
125
- }, this._config.provider).catch(function (e) {
126
- logger.debug('Failed to record the page view event', e);
127
- });
128
- sessionStorage.setItem(PREV_URL_KEY, url);
129
- }
130
- return [2 /*return*/];
131
- }
132
- });
133
- });
134
- };
135
- PageViewTracker.prototype._pageViewTrackSPA = function () {
136
- if (!(0, core_1.browserOrNode)().isBrowser ||
137
- !window.addEventListener ||
138
- !history.pushState) {
139
- logger.debug('not in the supported web enviroment');
140
- return;
141
- }
142
- if (this._config.enable && !this._hasEnabled) {
143
- MethodEmbed_1.MethodEmbed.add(history, 'pushState', this._trackFunc);
144
- MethodEmbed_1.MethodEmbed.add(history, 'replaceState', this._trackFunc);
145
- window.addEventListener('popstate', this._trackFunc);
146
- this._trackFunc();
147
- this._hasEnabled = true;
148
- }
149
- else {
150
- MethodEmbed_1.MethodEmbed.remove(history, 'pushState');
151
- MethodEmbed_1.MethodEmbed.remove(history, 'replaceState');
152
- window.removeEventListener('popstate', this._trackFunc);
153
- this._hasEnabled = false;
154
- }
155
- };
156
- return PageViewTracker;
157
- }());
158
- exports.PageViewTracker = PageViewTracker;
@@ -1,12 +0,0 @@
1
- import { SessionTrackOpts } from '../types';
2
- export declare class SessionTracker {
3
- private _tracker;
4
- private _hasEnabled;
5
- private _config;
6
- private _currentState;
7
- constructor(tracker: any, opts: any);
8
- private _envCheck;
9
- private _trackFunc;
10
- private _sendInitialEvent;
11
- configure(opts?: SessionTrackOpts): SessionTrackOpts;
12
- }
@@ -1,134 +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.SessionTracker = void 0;
6
- var tslib_1 = require("tslib");
7
- // the session tracker for react native
8
- var core_1 = require("@aws-amplify/core");
9
- var react_native_1 = require("react-native");
10
- var logger = new core_1.ConsoleLogger('SessionTracker');
11
- var defaultOpts = {
12
- enable: false,
13
- provider: 'AWSPinpoint',
14
- };
15
- var initialEventSent = false;
16
- var SessionTracker = /** @class */ (function () {
17
- function SessionTracker(tracker, opts) {
18
- this._config = Object.assign({}, defaultOpts, opts);
19
- this._tracker = tracker;
20
- this._hasEnabled = false;
21
- this._trackFunc = this._trackFunc.bind(this);
22
- this._currentState = react_native_1.AppState.currentState;
23
- this.configure(this._config);
24
- }
25
- SessionTracker.prototype._envCheck = function () {
26
- if (!react_native_1.AppState) {
27
- logger.debug('not in the supported react native environment');
28
- return false;
29
- }
30
- return true;
31
- };
32
- SessionTracker.prototype._trackFunc = function (nextAppState) {
33
- return tslib_1.__awaiter(this, void 0, void 0, function () {
34
- var customAttrs, _a, attributes;
35
- return tslib_1.__generator(this, function (_b) {
36
- switch (_b.label) {
37
- case 0:
38
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
39
- return [4 /*yield*/, this._config.attributes()];
40
- case 1:
41
- _a = _b.sent();
42
- return [3 /*break*/, 3];
43
- case 2:
44
- _a = this._config.attributes;
45
- _b.label = 3;
46
- case 3:
47
- customAttrs = _a;
48
- attributes = Object.assign({}, customAttrs);
49
- if (this._currentState.match(/inactive|background/) &&
50
- nextAppState === 'active') {
51
- logger.debug('App has come to the foreground, recording start session');
52
- this._tracker({
53
- name: '_session.start',
54
- attributes: attributes,
55
- immediate: false,
56
- }, this._config.provider).catch(function (e) {
57
- logger.debug('record session start event failed.', e);
58
- });
59
- }
60
- if (this._currentState.match(/active/) &&
61
- nextAppState.match(/inactive|background/)) {
62
- logger.debug('App has come to inactive/background, recording stop session');
63
- this._tracker({
64
- name: '_session.stop',
65
- attributes: attributes,
66
- immediate: false,
67
- }, this._config.provider).catch(function (e) {
68
- logger.debug('record session stop event failed.', e);
69
- });
70
- }
71
- this._currentState = nextAppState;
72
- return [2 /*return*/];
73
- }
74
- });
75
- });
76
- };
77
- // to keep configure a synchronized function
78
- SessionTracker.prototype._sendInitialEvent = function () {
79
- return tslib_1.__awaiter(this, void 0, void 0, function () {
80
- var customAttrs, _a, attributes;
81
- return tslib_1.__generator(this, function (_b) {
82
- switch (_b.label) {
83
- case 0:
84
- if (initialEventSent) {
85
- logger.debug('the start session has been sent when the page is loaded');
86
- return [2 /*return*/];
87
- }
88
- else {
89
- initialEventSent = true;
90
- }
91
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
92
- return [4 /*yield*/, this._config.attributes()];
93
- case 1:
94
- _a = _b.sent();
95
- return [3 /*break*/, 3];
96
- case 2:
97
- _a = this._config.attributes;
98
- _b.label = 3;
99
- case 3:
100
- customAttrs = _a;
101
- attributes = Object.assign({}, customAttrs);
102
- this._tracker({
103
- name: '_session.start',
104
- attributes: attributes,
105
- immediate: false,
106
- }, this._config.provider).catch(function (e) {
107
- logger.debug('record session start event failed.', e);
108
- });
109
- return [2 /*return*/];
110
- }
111
- });
112
- });
113
- };
114
- SessionTracker.prototype.configure = function (opts) {
115
- if (!this._envCheck()) {
116
- return this._config;
117
- }
118
- Object.assign(this._config, opts);
119
- if (this._config.enable && !this._hasEnabled) {
120
- // send a start session as soon as it's enabled
121
- this._sendInitialEvent();
122
- // listen on events
123
- react_native_1.AppState.addEventListener('change', this._trackFunc, false);
124
- this._hasEnabled = true;
125
- }
126
- else if (!this._config.enable && this._hasEnabled) {
127
- react_native_1.AppState.removeEventListener('change', this._trackFunc, false);
128
- this._hasEnabled = false;
129
- }
130
- return this._config;
131
- };
132
- return SessionTracker;
133
- }());
134
- exports.SessionTracker = SessionTracker;
@@ -1,14 +0,0 @@
1
- import { SessionTrackOpts } from '../types';
2
- export declare class SessionTracker {
3
- private _tracker;
4
- private _hasEnabled;
5
- private _config;
6
- private _hidden;
7
- private _visibilityChange;
8
- constructor(tracker: any, opts: any);
9
- private _envCheck;
10
- private _trackFunc;
11
- private _trackBeforeUnload;
12
- private _sendInitialEvent;
13
- configure(opts?: SessionTrackOpts): SessionTrackOpts;
14
- }
@@ -1,163 +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.SessionTracker = void 0;
6
- var tslib_1 = require("tslib");
7
- // the session tracker for web
8
- var core_1 = require("@aws-amplify/core");
9
- var logger = new core_1.ConsoleLogger('SessionTracker');
10
- var defaultOpts = {
11
- enable: false,
12
- provider: 'AWSPinpoint',
13
- };
14
- var initialEventSent = false;
15
- var SessionTracker = /** @class */ (function () {
16
- function SessionTracker(tracker, opts) {
17
- this._config = Object.assign({}, defaultOpts, opts);
18
- this._tracker = tracker;
19
- this._hasEnabled = false;
20
- this._trackFunc = this._trackFunc.bind(this);
21
- this._trackBeforeUnload = this._trackBeforeUnload.bind(this);
22
- this.configure(this._config);
23
- }
24
- SessionTracker.prototype._envCheck = function () {
25
- if (!(0, core_1.browserOrNode)().isBrowser) {
26
- return false;
27
- }
28
- if (!document || !document.addEventListener) {
29
- logger.debug('not in the supported web environment');
30
- return false;
31
- }
32
- if (typeof document.hidden !== 'undefined') {
33
- this._hidden = 'hidden';
34
- this._visibilityChange = 'visibilitychange';
35
- }
36
- else if (typeof document['msHidden'] !== 'undefined') {
37
- this._hidden = 'msHidden';
38
- this._visibilityChange = 'msvisibilitychange';
39
- }
40
- else if (typeof document['webkitHidden'] !== 'undefined') {
41
- this._hidden = 'webkitHidden';
42
- this._visibilityChange = 'webkitvisibilitychange';
43
- }
44
- else {
45
- logger.debug('not in the supported web environment');
46
- return false;
47
- }
48
- return true;
49
- };
50
- SessionTracker.prototype._trackFunc = function () {
51
- return tslib_1.__awaiter(this, void 0, void 0, function () {
52
- var customAttrs, _a, attributes;
53
- return tslib_1.__generator(this, function (_b) {
54
- switch (_b.label) {
55
- case 0:
56
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
57
- return [4 /*yield*/, this._config.attributes()];
58
- case 1:
59
- _a = _b.sent();
60
- return [3 /*break*/, 3];
61
- case 2:
62
- _a = this._config.attributes;
63
- _b.label = 3;
64
- case 3:
65
- customAttrs = _a;
66
- attributes = Object.assign({}, customAttrs);
67
- if (document.visibilityState === this._hidden) {
68
- this._tracker({
69
- name: '_session.stop',
70
- attributes: attributes,
71
- }, this._config.provider).catch(function (e) {
72
- logger.debug('record session stop event failed.', e);
73
- });
74
- }
75
- else {
76
- this._tracker({
77
- name: '_session.start',
78
- attributes: attributes,
79
- }, this._config.provider).catch(function (e) {
80
- logger.debug('record session start event failed.', e);
81
- });
82
- }
83
- return [2 /*return*/];
84
- }
85
- });
86
- });
87
- };
88
- SessionTracker.prototype._trackBeforeUnload = function (event) {
89
- // before unload callback cannot be async => https://github.com/aws-amplify/amplify-js/issues/2088
90
- var _this = this;
91
- var customAttrs = typeof this._config.attributes === 'function'
92
- ? Promise.resolve(this._config.attributes())
93
- : Promise.resolve(this._config.attributes);
94
- customAttrs.then(function (custom) {
95
- var attributes = Object.assign({}, custom);
96
- _this._tracker({
97
- name: '_session.stop',
98
- attributes: attributes,
99
- immediate: true,
100
- }, _this._config.provider).catch(function (e) {
101
- logger.debug('record session stop event failed.', e);
102
- });
103
- });
104
- };
105
- // to keep configure a synchronized function
106
- SessionTracker.prototype._sendInitialEvent = function () {
107
- return tslib_1.__awaiter(this, void 0, void 0, function () {
108
- var customAttrs, _a, attributes;
109
- return tslib_1.__generator(this, function (_b) {
110
- switch (_b.label) {
111
- case 0:
112
- if (initialEventSent) {
113
- logger.debug('the start session has been sent when the page is loaded');
114
- return [2 /*return*/];
115
- }
116
- else {
117
- initialEventSent = true;
118
- }
119
- if (!(typeof this._config.attributes === 'function')) return [3 /*break*/, 2];
120
- return [4 /*yield*/, this._config.attributes()];
121
- case 1:
122
- _a = _b.sent();
123
- return [3 /*break*/, 3];
124
- case 2:
125
- _a = this._config.attributes;
126
- _b.label = 3;
127
- case 3:
128
- customAttrs = _a;
129
- attributes = Object.assign({}, customAttrs);
130
- this._tracker({
131
- name: '_session.start',
132
- attributes: attributes,
133
- }, this._config.provider).catch(function (e) {
134
- logger.debug('record session start event failed.', e);
135
- });
136
- return [2 /*return*/];
137
- }
138
- });
139
- });
140
- };
141
- SessionTracker.prototype.configure = function (opts) {
142
- if (!this._envCheck()) {
143
- return this._config;
144
- }
145
- Object.assign(this._config, opts);
146
- if (this._config.enable && !this._hasEnabled) {
147
- // send a start session as soon as it's enabled
148
- this._sendInitialEvent();
149
- // listen on events
150
- document.addEventListener(this._visibilityChange, this._trackFunc, false);
151
- window.addEventListener('beforeunload', this._trackBeforeUnload, false);
152
- this._hasEnabled = true;
153
- }
154
- else if (!this._config.enable && this._hasEnabled) {
155
- document.removeEventListener(this._visibilityChange, this._trackFunc, false);
156
- window.removeEventListener('beforeunload', this._trackBeforeUnload, false);
157
- this._hasEnabled = false;
158
- }
159
- return this._config;
160
- };
161
- return SessionTracker;
162
- }());
163
- exports.SessionTracker = SessionTracker;
@@ -1,3 +0,0 @@
1
- export { PageViewTracker } from './PageViewTracker';
2
- export { EventTracker } from './EventTracker';
3
- export { SessionTracker } from './SessionTracker';
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionTracker = exports.EventTracker = exports.PageViewTracker = void 0;
4
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
- // SPDX-License-Identifier: Apache-2.0
6
- var PageViewTracker_1 = require("./PageViewTracker");
7
- Object.defineProperty(exports, "PageViewTracker", { enumerable: true, get: function () { return PageViewTracker_1.PageViewTracker; } });
8
- var EventTracker_1 = require("./EventTracker");
9
- Object.defineProperty(exports, "EventTracker", { enumerable: true, get: function () { return EventTracker_1.EventTracker; } });
10
- var SessionTracker_1 = require("./SessionTracker");
11
- Object.defineProperty(exports, "SessionTracker", { enumerable: true, get: function () { return SessionTracker_1.SessionTracker; } });
@@ -1,8 +0,0 @@
1
- import { SessionTracker } from './SessionTracker-rn';
2
- declare class EventTracker {
3
- constructor(tracker: any, opts: any);
4
- }
5
- declare class PageViewTracker {
6
- constructor(tracker: any, opts: any);
7
- }
8
- export { EventTracker, PageViewTracker, SessionTracker };
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionTracker = exports.PageViewTracker = exports.EventTracker = void 0;
4
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
- // SPDX-License-Identifier: Apache-2.0
6
- var SessionTracker_rn_1 = require("./SessionTracker-rn");
7
- Object.defineProperty(exports, "SessionTracker", { enumerable: true, get: function () { return SessionTracker_rn_1.SessionTracker; } });
8
- var EventTracker = /** @class */ (function () {
9
- function EventTracker(tracker, opts) {
10
- }
11
- return EventTracker;
12
- }());
13
- exports.EventTracker = EventTracker;
14
- var PageViewTracker = /** @class */ (function () {
15
- function PageViewTracker(tracker, opts) {
16
- }
17
- return PageViewTracker;
18
- }());
19
- exports.PageViewTracker = PageViewTracker;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +0,0 @@
1
- export interface PromiseHandlers {
2
- resolve: Function;
3
- reject: Function;
4
- }
5
- export interface AnalyticsProvider {
6
- configure(config: object): object;
7
- record(params: object, handlers?: PromiseHandlers): Promise<boolean>;
8
- getCategory(): string;
9
- getProviderName(): string;
10
- }
@@ -1,6 +0,0 @@
1
- export interface KinesisAnalyticsEvent {
2
- data: object | string;
3
- partitionKey: string;
4
- streamName: string;
5
- immediate?: boolean;
6
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });