@aws-amplify/analytics 7.0.1-console-preview.f63250a.0 → 7.0.1-console-preview.e8aa063.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/errors/AnalyticsError.d.ts +7 -0
- package/lib/errors/AnalyticsError.js +23 -0
- package/lib/errors/assertValidationError.d.ts +5 -0
- package/lib/errors/assertValidationError.js +17 -0
- package/lib/errors/index.d.ts +3 -0
- package/lib/errors/index.js +12 -0
- package/lib/errors/validation.d.ts +9 -0
- package/lib/errors/validation.js +31 -0
- package/lib/index.d.ts +0 -3
- package/lib/index.js +0 -15
- package/lib/providers/pinpoint/apis/identifyUser.d.ts +10 -0
- package/lib/providers/pinpoint/apis/identifyUser.js +44 -0
- package/lib/providers/pinpoint/apis/index.d.ts +2 -0
- package/lib/providers/pinpoint/apis/index.js +9 -0
- package/lib/providers/pinpoint/apis/record.d.ts +11 -0
- package/lib/providers/pinpoint/apis/record.js +44 -0
- package/lib/providers/pinpoint/index.d.ts +1 -1
- package/lib/providers/pinpoint/index.js +1 -7
- package/lib/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib/providers/pinpoint/types/errors.js +15 -0
- package/lib/providers/pinpoint/types/index.d.ts +2 -0
- package/lib/providers/pinpoint/types/index.js +7 -0
- package/lib/providers/pinpoint/types/parameters.d.ts +18 -0
- package/lib/providers/pinpoint/utils/index.d.ts +2 -0
- package/lib/providers/pinpoint/utils/index.js +9 -0
- package/lib/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/pinpoint/utils/resolveConfig.js +18 -0
- package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
- package/lib/providers/pinpoint/utils/resolveCredentials.js +24 -0
- package/lib/setupTests.js +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/{lib-esm/types/Analytics.d.ts → lib/types/analytics.d.ts} +0 -8
- package/lib/types/index.d.ts +1 -3
- package/lib/types/index.js +1 -3
- package/lib/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
- package/lib/utils/{UserAgent.js → userAgent.js} +5 -5
- package/lib-esm/errors/AnalyticsError.d.ts +7 -0
- package/lib-esm/errors/AnalyticsError.js +20 -0
- package/lib-esm/errors/assertValidationError.d.ts +5 -0
- package/lib-esm/errors/assertValidationError.js +13 -0
- package/lib-esm/errors/index.d.ts +3 -0
- package/lib-esm/errors/index.js +5 -0
- package/lib-esm/errors/validation.d.ts +9 -0
- package/lib-esm/errors/validation.js +28 -0
- package/lib-esm/index.d.ts +0 -3
- package/lib-esm/index.js +0 -12
- package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +10 -0
- package/lib-esm/providers/pinpoint/apis/identifyUser.js +40 -0
- package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
- package/{src/types/providers/index.ts → lib-esm/providers/pinpoint/apis/index.js} +2 -1
- package/lib-esm/providers/pinpoint/apis/record.d.ts +11 -0
- package/lib-esm/providers/pinpoint/apis/record.js +40 -0
- package/lib-esm/providers/pinpoint/index.d.ts +1 -1
- package/lib-esm/providers/pinpoint/index.js +1 -6
- package/lib-esm/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib-esm/providers/pinpoint/types/errors.js +12 -0
- package/lib-esm/providers/pinpoint/types/index.d.ts +2 -0
- package/lib-esm/{types/providers → providers/pinpoint/types}/index.js +1 -1
- package/lib-esm/providers/pinpoint/types/parameters.d.ts +18 -0
- package/lib-esm/providers/pinpoint/utils/index.d.ts +2 -0
- package/lib-esm/{utils/AppUtils.js → providers/pinpoint/utils/index.js} +2 -4
- package/lib-esm/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/pinpoint/utils/resolveConfig.js +14 -0
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +20 -0
- package/lib-esm/setupTests.js +1 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/{lib/types/Analytics.d.ts → lib-esm/types/analytics.d.ts} +0 -8
- package/lib-esm/types/index.d.ts +1 -3
- package/lib-esm/types/index.js +1 -3
- package/lib-esm/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
- package/lib-esm/utils/{UserAgent.js → userAgent.js} +1 -1
- package/package.json +11 -29
- package/src/errors/AnalyticsError.ts +18 -0
- package/src/errors/assertValidationError.ts +19 -0
- package/src/errors/index.ts +6 -0
- package/src/errors/validation.ts +31 -0
- package/src/index.ts +0 -15
- package/src/providers/pinpoint/apis/identifyUser.ts +35 -0
- package/src/{utils/AppUtils.ts → providers/pinpoint/apis/index.ts} +2 -4
- package/src/providers/pinpoint/apis/record.ts +50 -0
- package/src/providers/pinpoint/index.ts +1 -3
- package/src/providers/pinpoint/types/errors.ts +12 -0
- package/src/providers/pinpoint/types/index.ts +5 -0
- package/src/providers/pinpoint/types/parameters.ts +24 -0
- package/src/providers/pinpoint/utils/index.ts +5 -0
- package/src/providers/pinpoint/utils/resolveConfig.ts +18 -0
- package/src/providers/pinpoint/utils/resolveCredentials.ts +20 -0
- package/src/types/{Analytics.ts → analytics.ts} +1 -10
- package/src/types/index.ts +1 -3
- package/src/utils/{UserAgent.ts → userAgent.ts} +1 -1
- package/lib/Analytics.d.ts +0 -87
- package/lib/Analytics.js +0 -354
- package/lib/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
- package/lib/providers/AWSKinesisFirehoseProvider.js +0 -82
- package/lib/providers/AWSKinesisProvider.d.ts +0 -43
- package/lib/providers/AWSKinesisProvider.js +0 -240
- package/lib/providers/AWSPinpointProvider.d.ts +0 -67
- package/lib/providers/AWSPinpointProvider.js +0 -576
- package/lib/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
- package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
- package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -156
- package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
- package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -96
- package/lib/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
- package/lib/providers/AmazonPersonalizeHelper/index.js +0 -7
- package/lib/providers/AmazonPersonalizeProvider.d.ts +0 -76
- package/lib/providers/AmazonPersonalizeProvider.js +0 -331
- package/lib/providers/EventBuffer.d.ts +0 -28
- package/lib/providers/EventBuffer.js +0 -209
- package/lib/providers/index.d.ts +0 -4
- package/lib/providers/index.js +0 -14
- package/lib/trackers/EventTracker.d.ts +0 -9
- package/lib/trackers/EventTracker.js +0 -99
- package/lib/trackers/PageViewTracker.d.ts +0 -12
- package/lib/trackers/PageViewTracker.js +0 -158
- package/lib/trackers/SessionTracker-rn.d.ts +0 -12
- package/lib/trackers/SessionTracker-rn.js +0 -134
- package/lib/trackers/SessionTracker.d.ts +0 -14
- package/lib/trackers/SessionTracker.js +0 -163
- package/lib/trackers/index.d.ts +0 -3
- package/lib/trackers/index.js +0 -11
- package/lib/trackers/reactnative.d.ts +0 -8
- package/lib/trackers/reactnative.js +0 -19
- package/lib/types/Analytics.js +0 -2
- package/lib/types/Provider.d.ts +0 -10
- package/lib/types/providers/AWSKinesisProvider.d.ts +0 -6
- package/lib/types/providers/AWSKinesisProvider.js +0 -2
- package/lib/types/providers/AWSPinpointProvider.d.ts +0 -50
- package/lib/types/providers/AWSPinpointProvider.js +0 -2
- package/lib/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
- package/lib/types/providers/AmazonPersonalizeProvider.js +0 -2
- package/lib/types/providers/index.d.ts +0 -1
- package/lib/types/providers/index.js +0 -6
- package/lib/utils/AppUtils.d.ts +0 -2
- package/lib/utils/AppUtils.js +0 -9
- package/lib/utils/AppUtils.native.d.ts +0 -2
- package/lib/utils/AppUtils.native.js +0 -10
- package/lib/utils/MethodEmbed.d.ts +0 -11
- package/lib/utils/MethodEmbed.js +0 -43
- package/lib/vendor/dom-utils/closest.d.ts +0 -12
- package/lib/vendor/dom-utils/closest.js +0 -27
- package/lib/vendor/dom-utils/delegate.d.ts +0 -18
- package/lib/vendor/dom-utils/delegate.js +0 -51
- package/lib/vendor/dom-utils/dispatch.d.ts +0 -17
- package/lib/vendor/dom-utils/dispatch.js +0 -51
- package/lib/vendor/dom-utils/get-attributes.d.ts +0 -11
- package/lib/vendor/dom-utils/get-attributes.js +0 -28
- package/lib/vendor/dom-utils/index.d.ts +0 -7
- package/lib/vendor/dom-utils/index.js +0 -17
- package/lib/vendor/dom-utils/matches.d.ts +0 -11
- package/lib/vendor/dom-utils/matches.js +0 -69
- package/lib/vendor/dom-utils/parents.d.ts +0 -10
- package/lib/vendor/dom-utils/parents.js +0 -22
- package/lib/vendor/dom-utils/parse-url.d.ts +0 -9
- package/lib/vendor/dom-utils/parse-url.js +0 -59
- package/lib-esm/Analytics.d.ts +0 -87
- package/lib-esm/Analytics.js +0 -351
- package/lib-esm/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
- package/lib-esm/providers/AWSKinesisFirehoseProvider.js +0 -79
- package/lib-esm/providers/AWSKinesisProvider.d.ts +0 -43
- package/lib-esm/providers/AWSKinesisProvider.js +0 -237
- package/lib-esm/providers/AWSPinpointProvider.d.ts +0 -67
- package/lib-esm/providers/AWSPinpointProvider.js +0 -573
- package/lib-esm/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
- package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
- package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -153
- package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
- package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -92
- package/lib-esm/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
- package/lib-esm/providers/AmazonPersonalizeHelper/index.js +0 -2
- package/lib-esm/providers/AmazonPersonalizeProvider.d.ts +0 -76
- package/lib-esm/providers/AmazonPersonalizeProvider.js +0 -328
- package/lib-esm/providers/EventBuffer.d.ts +0 -28
- package/lib-esm/providers/EventBuffer.js +0 -207
- package/lib-esm/providers/index.d.ts +0 -4
- package/lib-esm/providers/index.js +0 -7
- package/lib-esm/trackers/EventTracker.d.ts +0 -9
- package/lib-esm/trackers/EventTracker.js +0 -96
- package/lib-esm/trackers/PageViewTracker.d.ts +0 -12
- package/lib-esm/trackers/PageViewTracker.js +0 -155
- package/lib-esm/trackers/SessionTracker-rn.d.ts +0 -12
- package/lib-esm/trackers/SessionTracker-rn.js +0 -131
- package/lib-esm/trackers/SessionTracker.d.ts +0 -14
- package/lib-esm/trackers/SessionTracker.js +0 -160
- package/lib-esm/trackers/index.d.ts +0 -3
- package/lib-esm/trackers/index.js +0 -5
- package/lib-esm/trackers/reactnative.d.ts +0 -8
- package/lib-esm/trackers/reactnative.js +0 -14
- package/lib-esm/types/Analytics.js +0 -1
- package/lib-esm/types/Provider.d.ts +0 -10
- package/lib-esm/types/providers/AWSKinesisProvider.d.ts +0 -6
- package/lib-esm/types/providers/AWSKinesisProvider.js +0 -1
- package/lib-esm/types/providers/AWSPinpointProvider.d.ts +0 -50
- package/lib-esm/types/providers/AWSPinpointProvider.js +0 -1
- package/lib-esm/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
- package/lib-esm/types/providers/AmazonPersonalizeProvider.js +0 -1
- package/lib-esm/types/providers/index.d.ts +0 -1
- package/lib-esm/utils/AppUtils.d.ts +0 -2
- package/lib-esm/utils/AppUtils.native.d.ts +0 -2
- package/lib-esm/utils/AppUtils.native.js +0 -7
- package/lib-esm/utils/MethodEmbed.d.ts +0 -11
- package/lib-esm/utils/MethodEmbed.js +0 -40
- package/lib-esm/vendor/dom-utils/closest.d.ts +0 -12
- package/lib-esm/vendor/dom-utils/closest.js +0 -23
- package/lib-esm/vendor/dom-utils/delegate.d.ts +0 -18
- package/lib-esm/vendor/dom-utils/delegate.js +0 -47
- package/lib-esm/vendor/dom-utils/dispatch.d.ts +0 -17
- package/lib-esm/vendor/dom-utils/dispatch.js +0 -47
- package/lib-esm/vendor/dom-utils/get-attributes.d.ts +0 -11
- package/lib-esm/vendor/dom-utils/get-attributes.js +0 -24
- package/lib-esm/vendor/dom-utils/index.d.ts +0 -7
- package/lib-esm/vendor/dom-utils/index.js +0 -7
- package/lib-esm/vendor/dom-utils/matches.d.ts +0 -11
- package/lib-esm/vendor/dom-utils/matches.js +0 -65
- package/lib-esm/vendor/dom-utils/parents.d.ts +0 -10
- package/lib-esm/vendor/dom-utils/parents.js +0 -18
- package/lib-esm/vendor/dom-utils/parse-url.d.ts +0 -9
- package/lib-esm/vendor/dom-utils/parse-url.js +0 -55
- package/src/Analytics.ts +0 -446
- package/src/providers/AWSKinesisFirehoseProvider.ts +0 -105
- package/src/providers/AWSKinesisProvider.ts +0 -250
- package/src/providers/AWSPinpointProvider.ts +0 -685
- package/src/providers/AmazonPersonalizeHelper/DataType.ts +0 -49
- package/src/providers/AmazonPersonalizeHelper/MediaAutoTrack.ts +0 -196
- package/src/providers/AmazonPersonalizeHelper/SessionInfoManager.ts +0 -121
- package/src/providers/AmazonPersonalizeHelper/index.ts +0 -11
- package/src/providers/AmazonPersonalizeProvider.ts +0 -398
- package/src/providers/EventBuffer.ts +0 -257
- package/src/providers/index.ts +0 -8
- package/src/trackers/EventTracker.ts +0 -115
- package/src/trackers/PageViewTracker.ts +0 -157
- package/src/trackers/SessionTracker-rn.ts +0 -134
- package/src/trackers/SessionTracker.ts +0 -179
- package/src/trackers/index.ts +0 -5
- package/src/trackers/reactnative.ts +0 -13
- package/src/types/Provider.ts +0 -26
- package/src/types/providers/AWSKinesisProvider.ts +0 -8
- package/src/types/providers/AWSPinpointProvider.ts +0 -60
- package/src/types/providers/AmazonPersonalizeProvider.ts +0 -9
- package/src/utils/AppUtils.native.ts +0 -9
- package/src/utils/MethodEmbed.ts +0 -49
- package/src/vendor/dom-utils/closest.ts +0 -25
- package/src/vendor/dom-utils/delegate.ts +0 -51
- package/src/vendor/dom-utils/dispatch.ts +0 -59
- package/src/vendor/dom-utils/get-attributes.ts +0 -26
- package/src/vendor/dom-utils/index.ts +0 -7
- package/src/vendor/dom-utils/matches.ts +0 -68
- package/src/vendor/dom-utils/parents.ts +0 -19
- package/src/vendor/dom-utils/parse-url.ts +0 -66
- /package/lib/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
- /package/lib/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
- /package/lib-esm/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
- /package/lib-esm/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
|
@@ -1,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;
|
package/lib/trackers/index.d.ts
DELETED
package/lib/trackers/index.js
DELETED
|
@@ -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;
|
package/lib/types/Analytics.js
DELETED
package/lib/types/Provider.d.ts
DELETED
|
@@ -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
|
-
}
|