@crimson-education/browser-logger 5.0.1-beta.2 → 5.0.1-beta.4
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/README.md +63 -85
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +46 -22
- package/lib/index.js.map +1 -1
- package/lib/logger/consoleTransport.d.ts +1 -1
- package/lib/logger/consoleTransport.d.ts.map +1 -1
- package/lib/logger/consoleTransport.js +22 -16
- package/lib/logger/consoleTransport.js.map +1 -1
- package/lib/logger/datadogTransport.d.ts +1 -1
- package/lib/logger/datadogTransport.d.ts.map +1 -1
- package/lib/logger/datadogTransport.js +8 -4
- package/lib/logger/datadogTransport.js.map +1 -1
- package/lib/logger/index.js +49 -29
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/index.test.js +18 -16
- package/lib/logger/index.test.js.map +1 -1
- package/lib/logger/utils.js +9 -4
- package/lib/logger/utils.js.map +1 -1
- package/lib/reporters/amplifyReporter.d.ts +4 -4
- package/lib/reporters/amplifyReporter.d.ts.map +1 -1
- package/lib/reporters/amplifyReporter.js +133 -230
- package/lib/reporters/amplifyReporter.js.map +1 -1
- package/lib/reporters/amplifyReporter.test.js +12 -9
- package/lib/reporters/amplifyReporter.test.js.map +1 -1
- package/lib/reporters/datadogReporter.d.ts +1 -13
- package/lib/reporters/datadogReporter.d.ts.map +1 -1
- package/lib/reporters/datadogReporter.js +49 -122
- package/lib/reporters/datadogReporter.js.map +1 -1
- package/lib/reporters/gtmReporter.d.ts +1 -1
- package/lib/reporters/gtmReporter.d.ts.map +1 -1
- package/lib/reporters/gtmReporter.js +5 -1
- package/lib/reporters/gtmReporter.js.map +1 -1
- package/lib/reporters/index.js +71 -46
- package/lib/reporters/index.js.map +1 -1
- package/lib/reporters/logReporter.js +34 -24
- package/lib/reporters/logReporter.js.map +1 -1
- package/lib/reporters/posthogReporter.d.ts +51 -0
- package/lib/reporters/posthogReporter.d.ts.map +1 -0
- package/lib/reporters/posthogReporter.js +254 -0
- package/lib/reporters/posthogReporter.js.map +1 -0
- package/lib/reporters/posthogReporter.test.d.ts +2 -0
- package/lib/reporters/posthogReporter.test.d.ts.map +1 -0
- package/lib/reporters/posthogReporter.test.js +197 -0
- package/lib/reporters/posthogReporter.test.js.map +1 -0
- package/lib/types/index.js +18 -2
- package/lib/types/index.js.map +1 -1
- package/lib/types/logger.d.ts +3 -3
- package/lib/types/logger.d.ts.map +1 -1
- package/lib/types/logger.js +5 -2
- package/lib/types/logger.js.map +1 -1
- package/lib/types/reporter.d.ts +14 -6
- package/lib/types/reporter.d.ts.map +1 -1
- package/lib/types/reporter.js +2 -1
- package/lib/utils.js +5 -1
- package/lib/utils.js.map +1 -1
- package/lib/utils.test.js +4 -2
- package/lib/utils.test.js.map +1 -1
- package/package.json +17 -15
- package/src/index.ts +6 -0
- package/src/reporters/amplifyReporter.ts +140 -264
- package/src/reporters/datadogReporter.ts +22 -133
- package/src/reporters/posthogReporter.test.ts +244 -0
- package/src/reporters/posthogReporter.ts +374 -0
- package/src/types/reporter.ts +9 -0
|
@@ -1,141 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
FRUSTRATION_WINDOW = 5000; // Time window in ms
|
|
11
|
-
constructor(config) {
|
|
12
|
-
this.config = config;
|
|
13
|
-
if (config.trackFrustrations) {
|
|
14
|
-
this.setupFrustrationDetection();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
setupFrustrationDetection() {
|
|
18
|
-
// Track rapid clicks (potential frustration)
|
|
19
|
-
let clickCount = 0;
|
|
20
|
-
let lastClickTime = 0;
|
|
21
|
-
document.addEventListener('click', () => {
|
|
22
|
-
const now = Date.now();
|
|
23
|
-
if (now - lastClickTime < 1000) {
|
|
24
|
-
// Rapid clicks within 1 second
|
|
25
|
-
clickCount++;
|
|
26
|
-
if (clickCount >= 3) {
|
|
27
|
-
this.recordFrustrationEvent('rapid_clicks');
|
|
28
|
-
clickCount = 0;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
clickCount = 1;
|
|
33
|
-
}
|
|
34
|
-
lastClickTime = now;
|
|
35
|
-
});
|
|
36
|
-
// Track form errors (potential frustration)
|
|
37
|
-
document.addEventListener('invalid', () => {
|
|
38
|
-
this.recordFrustrationEvent('form_validation_error');
|
|
39
|
-
});
|
|
40
|
-
// Track 404 errors (potential frustration)
|
|
41
|
-
window.addEventListener('error', (event) => {
|
|
42
|
-
if (event.message.includes('404') || event.message.includes('Not Found')) {
|
|
43
|
-
this.recordFrustrationEvent('page_not_found');
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
// Track network errors (potential frustration)
|
|
47
|
-
window.addEventListener('unhandledrejection', (event) => {
|
|
48
|
-
if (event.reason && typeof event.reason === 'object' && 'status' in event.reason) {
|
|
49
|
-
const status = event.reason.status;
|
|
50
|
-
if (status >= 400) {
|
|
51
|
-
this.recordFrustrationEvent('network_error');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
recordFrustrationEvent(type) {
|
|
57
|
-
const now = Date.now();
|
|
58
|
-
this.frustrationEvents.push({ type, timestamp: now });
|
|
59
|
-
// Clean old events outside the window
|
|
60
|
-
this.frustrationEvents = this.frustrationEvents.filter((event) => now - event.timestamp < this.FRUSTRATION_WINDOW);
|
|
61
|
-
// Check if we have enough events to trigger frustration
|
|
62
|
-
if (this.frustrationEvents.length >= this.FRUSTRATION_THRESHOLD) {
|
|
63
|
-
this.triggerFrustrationDetection();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
triggerFrustrationDetection() {
|
|
67
|
-
const frustrationData = {
|
|
68
|
-
frustrationType: 'user_frustration_detected',
|
|
69
|
-
frustrationEvents: this.frustrationEvents.map((e) => e.type),
|
|
70
|
-
frustrationCount: this.frustrationEvents.length,
|
|
71
|
-
pageUrl: window.location.href,
|
|
72
|
-
timestamp: new Date().toISOString(),
|
|
73
|
-
};
|
|
74
|
-
// Send frustration event to Datadog
|
|
75
|
-
if (typeof datadogRum !== 'undefined') {
|
|
76
|
-
datadogRum.addAction('User Frustration Detected', frustrationData);
|
|
77
|
-
}
|
|
78
|
-
// Clear events after reporting
|
|
79
|
-
this.frustrationEvents = [];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
export function datadogReporter(info, config) {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.datadogReporter = void 0;
|
|
4
|
+
const browser_logs_1 = require("@datadog/browser-logs");
|
|
5
|
+
const browser_rum_1 = require("@datadog/browser-rum");
|
|
6
|
+
const logger_1 = require("../logger");
|
|
7
|
+
const datadogTransport_1 = require("../logger/datadogTransport");
|
|
8
|
+
function datadogReporter(info, config) {
|
|
9
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
83
10
|
const isLocalhost = window.location.hostname === 'localhost';
|
|
84
11
|
// Don't forward error logs by default, do enable the log transport by default
|
|
85
12
|
// forwardErrorsToLogs incorrectly is called forwardConsoleLogs, this is for backwards compatibility
|
|
86
|
-
const forwardErrorsToLogs = config.forwardConsoleLogs
|
|
13
|
+
const forwardErrorsToLogs = (_a = config.forwardConsoleLogs) !== null && _a !== void 0 ? _a : false;
|
|
87
14
|
const enableLogTransport = config.logTransport !== false;
|
|
88
15
|
// Only init datadog logs if something is using it.
|
|
89
|
-
if (forwardErrorsToLogs
|
|
90
|
-
datadogLogs.init({
|
|
16
|
+
if (forwardErrorsToLogs !== true && enableLogTransport !== true) {
|
|
17
|
+
browser_logs_1.datadogLogs.init({
|
|
91
18
|
site: config.site,
|
|
19
|
+
proxyUrl: config.proxyUrl,
|
|
92
20
|
clientToken: config.clientToken,
|
|
93
21
|
service: info.service,
|
|
94
22
|
env: info.environment,
|
|
95
|
-
version: config.version
|
|
23
|
+
version: (_b = config.version) !== null && _b !== void 0 ? _b : info.version,
|
|
24
|
+
sampleRate: (_d = (_c = config.logSampleRate) !== null && _c !== void 0 ? _c : config.sampleRate) !== null && _d !== void 0 ? _d : 100,
|
|
96
25
|
beforeSend: config.beforeLogsSend,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
// Note: useCrossSiteSessionCookie is not available in newer Datadog versions
|
|
26
|
+
useSecureSessionCookie: (_e = config.useSecureSessionCookie) !== null && _e !== void 0 ? _e : !isLocalhost,
|
|
27
|
+
useCrossSiteSessionCookie: (_f = config.useCrossSiteSessionCookie) !== null && _f !== void 0 ? _f : false,
|
|
100
28
|
trackSessionAcrossSubdomains: config.trackSessionAcrossSubdomains,
|
|
101
29
|
forwardErrorsToLogs,
|
|
102
|
-
allowedTrackingOrigins: config.allowedTrackingOrigins,
|
|
103
30
|
});
|
|
104
|
-
datadogLogs.logger.setHandler(HandlerType.http);
|
|
31
|
+
browser_logs_1.datadogLogs.logger.setHandler(browser_logs_1.HandlerType.http);
|
|
105
32
|
}
|
|
106
33
|
// Add the datadog log transport
|
|
107
34
|
if (enableLogTransport) {
|
|
108
|
-
logTransports.push(datadogTransport(typeof config.logTransport === 'boolean' ? {} : config.logTransport));
|
|
35
|
+
logger_1.logTransports.push((0, datadogTransport_1.datadogTransport)(typeof config.logTransport === 'boolean' ? {} : config.logTransport));
|
|
109
36
|
}
|
|
110
|
-
datadogRum.init({
|
|
37
|
+
browser_rum_1.datadogRum.init({
|
|
111
38
|
enableExperimentalFeatures: ['feature_flags'],
|
|
112
39
|
site: config.site,
|
|
40
|
+
proxyUrl: config.proxyUrl,
|
|
113
41
|
clientToken: config.clientToken,
|
|
114
42
|
applicationId: config.applicationId,
|
|
115
43
|
service: info.service,
|
|
116
44
|
env: info.environment,
|
|
117
|
-
version: config.version
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
// Track interactions (Note: trackFrustrations is not available in Datadog v6)
|
|
123
|
-
trackUserInteractions: config.trackUserInteractions ?? config.trackInteractions ?? false,
|
|
124
|
-
useSecureSessionCookie: config.useSecureSessionCookie ?? !isLocalhost,
|
|
125
|
-
// Note: useCrossSiteSessionCookie is not available in newer Datadog versions
|
|
45
|
+
version: (_g = config.version) !== null && _g !== void 0 ? _g : info.version,
|
|
46
|
+
sampleRate: (_j = (_h = config.rumSampleRate) !== null && _h !== void 0 ? _h : config.sampleRate) !== null && _j !== void 0 ? _j : 100,
|
|
47
|
+
replaySampleRate: (_k = config.replaySampleRate) !== null && _k !== void 0 ? _k : 100,
|
|
48
|
+
useSecureSessionCookie: (_l = config.useSecureSessionCookie) !== null && _l !== void 0 ? _l : !isLocalhost,
|
|
49
|
+
useCrossSiteSessionCookie: (_m = config.useCrossSiteSessionCookie) !== null && _m !== void 0 ? _m : false,
|
|
126
50
|
trackSessionAcrossSubdomains: config.trackSessionAcrossSubdomains,
|
|
127
|
-
|
|
128
|
-
|
|
51
|
+
trackInteractions: (_o = config.trackInteractions) !== null && _o !== void 0 ? _o : false,
|
|
52
|
+
trackFrustrations: (_p = config.trackFrustrations) !== null && _p !== void 0 ? _p : false,
|
|
53
|
+
trackViewsManually: (_q = config.trackViewsManually) !== null && _q !== void 0 ? _q : false,
|
|
54
|
+
actionNameAttribute: (_r = config.actionNameAttribute) !== null && _r !== void 0 ? _r : 'data-analytics-name',
|
|
129
55
|
beforeSend: config.beforeSend,
|
|
130
|
-
defaultPrivacyLevel: config.defaultPrivacyLevel
|
|
131
|
-
|
|
56
|
+
defaultPrivacyLevel: (_s = config.defaultPrivacyLevel) !== null && _s !== void 0 ? _s : 'mask-user-input',
|
|
57
|
+
allowedTracingOrigins: config.allowedTracingOrigins,
|
|
58
|
+
trackUserInteractions: (_t = config.trackUserInteractions) !== null && _t !== void 0 ? _t : false,
|
|
132
59
|
excludedActivityUrls: config.excludedActivityUrls,
|
|
133
60
|
});
|
|
134
|
-
// Initialize frustration detector
|
|
135
|
-
new DatadogFrustrationDetector(config);
|
|
136
61
|
const reporter = {
|
|
137
62
|
trackEvent: function (event) {
|
|
138
|
-
datadogRum.addAction(event.message, {
|
|
63
|
+
browser_rum_1.datadogRum.addAction(event.message, {
|
|
139
64
|
level: event.level,
|
|
140
65
|
...event.metadata,
|
|
141
66
|
...event.tags,
|
|
@@ -143,7 +68,7 @@ export function datadogReporter(info, config) {
|
|
|
143
68
|
});
|
|
144
69
|
},
|
|
145
70
|
addBreadcrumb: function (breadcrumb) {
|
|
146
|
-
datadogRum.addAction(breadcrumb.message, {
|
|
71
|
+
browser_rum_1.datadogRum.addAction(breadcrumb.message, {
|
|
147
72
|
...breadcrumb.metadata,
|
|
148
73
|
category: breadcrumb.category,
|
|
149
74
|
});
|
|
@@ -151,29 +76,30 @@ export function datadogReporter(info, config) {
|
|
|
151
76
|
addMetadata: function (metadata) {
|
|
152
77
|
for (const [key, value] of Object.entries(metadata)) {
|
|
153
78
|
if (value !== null) {
|
|
154
|
-
datadogRum.
|
|
79
|
+
browser_rum_1.datadogRum.addRumGlobalContext(key, value);
|
|
155
80
|
// Note, this will add duplicate context data in logs.
|
|
156
81
|
// But this is valuable for logs ingested outside of the browser logger.
|
|
157
|
-
datadogLogs.
|
|
82
|
+
browser_logs_1.datadogLogs.addLoggerGlobalContext(key, value);
|
|
158
83
|
}
|
|
159
84
|
else {
|
|
160
|
-
datadogRum.
|
|
85
|
+
browser_rum_1.datadogRum.removeRumGlobalContext(key);
|
|
161
86
|
// But this is valuable for logs ingested outside of the browser logger.
|
|
162
|
-
datadogLogs.
|
|
87
|
+
browser_logs_1.datadogLogs.removeLoggerGlobalContext(key);
|
|
163
88
|
}
|
|
164
89
|
}
|
|
165
90
|
},
|
|
166
91
|
setUser: function (user) {
|
|
92
|
+
var _a;
|
|
167
93
|
if (user) {
|
|
168
|
-
datadogRum.setUser({
|
|
94
|
+
browser_rum_1.datadogRum.setUser({
|
|
169
95
|
...user,
|
|
170
96
|
id: user.id,
|
|
171
97
|
email: user.email,
|
|
172
|
-
name: user.name
|
|
98
|
+
name: (_a = user.name) !== null && _a !== void 0 ? _a : user.email,
|
|
173
99
|
});
|
|
174
100
|
}
|
|
175
101
|
else {
|
|
176
|
-
datadogRum.
|
|
102
|
+
browser_rum_1.datadogRum.removeUser();
|
|
177
103
|
}
|
|
178
104
|
},
|
|
179
105
|
setRouteName: function (routeName) {
|
|
@@ -181,25 +107,26 @@ export function datadogReporter(info, config) {
|
|
|
181
107
|
},
|
|
182
108
|
setPageName: function (pageName) {
|
|
183
109
|
if (config.trackViewsManually) {
|
|
184
|
-
datadogRum.startView(pageName);
|
|
110
|
+
browser_rum_1.datadogRum.startView(pageName);
|
|
185
111
|
}
|
|
186
112
|
else {
|
|
187
113
|
reporter.addMetadata({ pageName });
|
|
188
114
|
}
|
|
189
115
|
},
|
|
190
116
|
reportError: function (error, metadata) {
|
|
191
|
-
datadogRum.addError(error, metadata);
|
|
117
|
+
browser_rum_1.datadogRum.addError(error, metadata);
|
|
192
118
|
},
|
|
193
119
|
reportFeatureFlag: function (flag) {
|
|
194
|
-
datadogRum.addFeatureFlagEvaluation(flag.name, flag.value);
|
|
120
|
+
browser_rum_1.datadogRum.addFeatureFlagEvaluation(flag.name, flag.value);
|
|
195
121
|
},
|
|
196
122
|
recordSession: function () {
|
|
197
|
-
datadogRum.startSessionReplayRecording();
|
|
123
|
+
browser_rum_1.datadogRum.startSessionReplayRecording();
|
|
198
124
|
},
|
|
199
125
|
recordSessionStop: function () {
|
|
200
|
-
datadogRum.stopSessionReplayRecording();
|
|
126
|
+
browser_rum_1.datadogRum.stopSessionReplayRecording();
|
|
201
127
|
},
|
|
202
128
|
};
|
|
203
129
|
return reporter;
|
|
204
130
|
}
|
|
131
|
+
exports.datadogReporter = datadogReporter;
|
|
205
132
|
//# sourceMappingURL=datadogReporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadogReporter.js","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":"AAYA,
|
|
1
|
+
{"version":3,"file":"datadogReporter.js","sourceRoot":"","sources":["../../src/reporters/datadogReporter.ts"],"names":[],"mappings":";;;AAYA,wDAAwF;AACxF,sDAA6F;AAC7F,sCAA0C;AAC1C,iEAAyF;AAsHzF,SAAgB,eAAe,CAAC,IAAiB,EAAE,MAA6B;;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC;IAE7D,8EAA8E;IAC9E,oGAAoG;IACpG,MAAM,mBAAmB,GAAG,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK,CAAC;IAC/D,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC;IAEzD,mDAAmD;IACnD,IAAI,mBAAmB,KAAK,IAAI,IAAI,kBAAkB,KAAK,IAAI,EAAE;QAC/D,0BAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC,OAAO;YAEvC,UAAU,EAAE,MAAA,MAAA,MAAM,CAAC,aAAa,mCAAI,MAAM,CAAC,UAAU,mCAAI,GAAG;YAC5D,UAAU,EAAE,MAAM,CAAC,cAAc;YAEjC,sBAAsB,EAAE,MAAA,MAAM,CAAC,sBAAsB,mCAAI,CAAC,WAAW;YACrE,yBAAyB,EAAE,MAAA,MAAM,CAAC,yBAAyB,mCAAI,KAAK;YACpE,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;YAEjE,mBAAmB;SACpB,CAAC,CAAC;QACH,0BAAW,CAAC,MAAM,CAAC,UAAU,CAAC,0BAAW,CAAC,IAAI,CAAC,CAAC;KACjD;IAED,gCAAgC;IAChC,IAAI,kBAAkB,EAAE;QACtB,sBAAa,CAAC,IAAI,CAAC,IAAA,mCAAgB,EAAC,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;KAC3G;IAED,wBAAU,CAAC,IAAI,CAAC;QACd,0BAA0B,EAAE,CAAC,eAAe,CAAC;QAC7C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,IAAI,CAAC,WAAW;QACrB,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC,OAAO;QAEvC,UAAU,EAAE,MAAA,MAAA,MAAM,CAAC,aAAa,mCAAI,MAAM,CAAC,UAAU,mCAAI,GAAG;QAC5D,gBAAgB,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,GAAG;QAEhD,sBAAsB,EAAE,MAAA,MAAM,CAAC,sBAAsB,mCAAI,CAAC,WAAW;QACrE,yBAAyB,EAAE,MAAA,MAAM,CAAC,yBAAyB,mCAAI,KAAK;QACpE,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;QAEjE,iBAAiB,EAAE,MAAA,MAAM,CAAC,iBAAiB,mCAAI,KAAK;QACpD,iBAAiB,EAAE,MAAA,MAAM,CAAC,iBAAiB,mCAAI,KAAK;QACpD,kBAAkB,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK;QACtD,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,qBAAqB;QACxE,UAAU,EAAE,MAAM,CAAC,UAAU;QAE7B,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,iBAAiB;QACpE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,qBAAqB,EAAE,MAAA,MAAM,CAAC,qBAAqB,mCAAI,KAAK;QAE5D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;KAClD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAc;QAC1B,UAAU,EAAE,UAAU,KAAoB;YACxC,wBAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;gBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,KAAK,CAAC,QAAQ;gBACjB,GAAG,KAAK,CAAC,IAAI;gBACb,GAAG,KAAK,CAAC,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QACD,aAAa,EAAE,UAAU,UAA8B;YACrD,wBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE;gBACvC,GAAG,UAAU,CAAC,QAAQ;gBACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,UAAU,QAAkB;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACnD,IAAI,KAAK,KAAK,IAAI,EAAE;oBAClB,wBAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAE3C,sDAAsD;oBACtD,wEAAwE;oBACxE,0BAAW,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBAChD;qBAAM;oBACL,wBAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;oBAEvC,wEAAwE;oBACxE,0BAAW,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;iBAC5C;aACF;QACH,CAAC;QACD,OAAO,EAAE,UAAU,IAAuB;;YACxC,IAAI,IAAI,EAAE;gBACR,wBAAU,CAAC,OAAO,CAAC;oBACjB,GAAG,IAAI;oBACP,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,KAAK;iBAC9B,CAAC,CAAC;aACJ;iBAAM;gBACL,wBAAU,CAAC,UAAU,EAAE,CAAC;aACzB;QACH,CAAC;QACD,YAAY,EAAE,UAAU,SAAiB;YACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,WAAW,EAAE,UAAU,QAAgB;YACrC,IAAI,MAAM,CAAC,kBAAkB,EAAE;gBAC7B,wBAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAChC;iBAAM;gBACL,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;aACpC;QACH,CAAC;QACD,WAAW,EAAE,UAAU,KAAkB,EAAE,QAAmB;YAC5D,wBAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,iBAAiB,EAAE,UAAU,IAAkB;YAC7C,wBAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QACD,aAAa,EAAE;YACb,wBAAU,CAAC,2BAA2B,EAAE,CAAC;QAC3C,CAAC;QACD,iBAAiB,EAAE;YACjB,wBAAU,CAAC,0BAA0B,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AApID,0CAoIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtmReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/gtmReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKT,WAAW,EACX,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,
|
|
1
|
+
{"version":3,"file":"gtmReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/gtmReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKT,WAAW,EACX,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,oBAAY,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;KACnC;CACF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAuDnF"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gtmReporter = void 0;
|
|
4
|
+
function gtmReporter(info, config) {
|
|
2
5
|
let loadedDataLayer = !!window.dataLayer;
|
|
3
6
|
const baseMetadata = {
|
|
4
7
|
service: info.service,
|
|
@@ -50,4 +53,5 @@ export function gtmReporter(info, config) {
|
|
|
50
53
|
}
|
|
51
54
|
return reporter;
|
|
52
55
|
}
|
|
56
|
+
exports.gtmReporter = gtmReporter;
|
|
53
57
|
//# sourceMappingURL=gtmReporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtmReporter.js","sourceRoot":"","sources":["../../src/reporters/gtmReporter.ts"],"names":[],"mappings":"AAkBA,
|
|
1
|
+
{"version":3,"file":"gtmReporter.js","sourceRoot":"","sources":["../../src/reporters/gtmReporter.ts"],"names":[],"mappings":";;;AAkBA,SAAgB,WAAW,CAAC,IAAiB,EAAE,MAAyB;IACtE,IAAI,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACzC,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IAEF,MAAM,QAAQ,GAAc;QAC1B,GAAG,MAAM;QACT,WAAW,EAAE,UAAU,QAAkB;YACvC,IAAI,MAAM,CAAC,SAAS,EAAE;gBACpB,wDAAwD;gBACxD,IAAI,CAAC,eAAe,EAAE;oBACpB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACpC,eAAe,GAAG,IAAI,CAAC;iBACxB;gBAED,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjC;QACH,CAAC;QACD,UAAU,EAAE,UAAU,KAAoB;YACxC,QAAQ,CAAC,WAAW,CAAC;gBACnB,GAAG,KAAK,CAAC,QAAQ;gBACjB,GAAG,KAAK,CAAC,IAAI;gBACb,GAAG,KAAK,CAAC,OAAO;gBAChB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QACD,aAAa,EAAE,UAAU,UAA8B;YACrD,QAAQ,CAAC,WAAW,CAAC;gBACnB,GAAG,UAAU,CAAC,QAAQ;gBACtB,KAAK,EAAE,UAAU,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,UAAU,IAAuB;YACxC,IAAI,IAAI,EAAE;gBACR,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;aAChC;QACH,CAAC;QACD,YAAY,EAAE,UAAU,SAAiB;YACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,WAAW,EAAE,UAAU,QAAgB;YACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;IAEF,IAAI,eAAe,EAAE;QACnB,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;KACpC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAvDD,kCAuDC"}
|
package/lib/reporters/index.js
CHANGED
|
@@ -1,54 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recordSessionStop = exports.recordSession = exports.reportFeatureFlag = exports.reportError = exports.setPageName = exports.setRouteName = exports.setUser = exports.addMetadata = exports.addBreadcrumb = exports.getLastTrackedEvent = exports.trackEventSinceLastAction = exports.trackEvent = exports.setEventLevel = exports.globalEventLevel = exports.reporters = void 0;
|
|
4
|
+
const utils_1 = require("../logger/utils");
|
|
5
|
+
const utils_2 = require("../utils");
|
|
6
|
+
exports.reporters = {};
|
|
5
7
|
/**
|
|
6
8
|
* Sets the global event level.
|
|
7
9
|
*/
|
|
8
|
-
|
|
9
|
-
globalEventLevel = level
|
|
10
|
+
function setEventLevel(level) {
|
|
11
|
+
exports.globalEventLevel = level !== null && level !== void 0 ? level : undefined;
|
|
10
12
|
}
|
|
13
|
+
exports.setEventLevel = setEventLevel;
|
|
11
14
|
/**
|
|
12
15
|
* Gets reporters, optionally with filters.
|
|
13
16
|
* @param filters Filters to remove or specify specific reporters.
|
|
14
17
|
* @returns Selected reporters, or all registered reporters.
|
|
15
18
|
*/
|
|
16
19
|
function getReporters(filters) {
|
|
17
|
-
let result = Object.entries(reporters);
|
|
18
|
-
if (filters
|
|
19
|
-
result = result.filter(([key]) => !filters
|
|
20
|
+
let result = Object.entries(exports.reporters);
|
|
21
|
+
if (filters === null || filters === void 0 ? void 0 : filters.excludeReporters) {
|
|
22
|
+
result = result.filter(([key]) => { var _a; return !((_a = filters === null || filters === void 0 ? void 0 : filters.excludeReporters) === null || _a === void 0 ? void 0 : _a.includes(key)); });
|
|
20
23
|
}
|
|
21
|
-
if (filters
|
|
22
|
-
result = result.filter(([key]) => filters
|
|
24
|
+
if (filters === null || filters === void 0 ? void 0 : filters.toReporters) {
|
|
25
|
+
result = result.filter(([key]) => { var _a; return (_a = filters === null || filters === void 0 ? void 0 : filters.toReporters) === null || _a === void 0 ? void 0 : _a.includes(key); });
|
|
23
26
|
}
|
|
24
27
|
return result.map(([, reporter]) => reporter);
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
30
|
* Tracks an Analytics event.
|
|
28
31
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
function trackEvent(event) {
|
|
33
|
+
var _a;
|
|
34
|
+
if (exports.globalEventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, exports.globalEventLevel)) {
|
|
31
35
|
return;
|
|
32
36
|
}
|
|
33
37
|
for (const reporter of getReporters(event)) {
|
|
34
|
-
if (reporter.endpoints
|
|
38
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.trackEvent) === false) {
|
|
35
39
|
continue;
|
|
36
40
|
}
|
|
37
|
-
else if (reporter.eventLevel && event.level && !isAboveLevel(event.level, reporter.eventLevel)) {
|
|
41
|
+
else if (reporter.eventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, reporter.eventLevel)) {
|
|
38
42
|
return;
|
|
39
43
|
}
|
|
40
44
|
const reporterEvent = { ...event };
|
|
41
|
-
reporterEvent.metadata = filterReporterMetadata(event.metadata, reporter);
|
|
42
|
-
reporterEvent.metrics = filterReporterMetadata(event.metrics, reporter);
|
|
43
|
-
reporterEvent.tags = filterReporterMetadata(event.tags, reporter);
|
|
45
|
+
reporterEvent.metadata = (0, utils_2.filterReporterMetadata)(event.metadata, reporter);
|
|
46
|
+
reporterEvent.metrics = (0, utils_2.filterReporterMetadata)(event.metrics, reporter);
|
|
47
|
+
reporterEvent.tags = (0, utils_2.filterReporterMetadata)(event.tags, reporter);
|
|
44
48
|
reporter.trackEvent(reporterEvent);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
51
|
+
exports.trackEvent = trackEvent;
|
|
47
52
|
/**
|
|
48
53
|
* Tracks an Analytics event, recording the time since the last event, if available.
|
|
49
54
|
*/
|
|
50
|
-
|
|
51
|
-
if (globalEventLevel && event.level && !isAboveLevel(event.level, globalEventLevel)) {
|
|
55
|
+
function trackEventSinceLastAction(event) {
|
|
56
|
+
if (exports.globalEventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, exports.globalEventLevel)) {
|
|
52
57
|
return;
|
|
53
58
|
}
|
|
54
59
|
const lastEvent = getLastTrackedEvent();
|
|
@@ -68,10 +73,11 @@ export function trackEventSinceLastAction(event) {
|
|
|
68
73
|
}
|
|
69
74
|
sessionStorage.setItem('loggerLastEvent', JSON.stringify({ ...event, occurred: new Date() }));
|
|
70
75
|
}
|
|
76
|
+
exports.trackEventSinceLastAction = trackEventSinceLastAction;
|
|
71
77
|
/**
|
|
72
78
|
* Gets the last tracked event, if available.
|
|
73
79
|
*/
|
|
74
|
-
|
|
80
|
+
function getLastTrackedEvent() {
|
|
75
81
|
const eventStr = sessionStorage.getItem('loggerLastEvent');
|
|
76
82
|
if (!eventStr)
|
|
77
83
|
return null;
|
|
@@ -79,126 +85,145 @@ export function getLastTrackedEvent() {
|
|
|
79
85
|
event.occurred = new Date(event.occurred);
|
|
80
86
|
return event;
|
|
81
87
|
}
|
|
88
|
+
exports.getLastTrackedEvent = getLastTrackedEvent;
|
|
82
89
|
/**
|
|
83
90
|
* Breadcrumbs to create a trail of events that happened prior to an issue.
|
|
84
91
|
* These events are very similar to traditional logs, but can record more rich structured data.
|
|
85
92
|
*/
|
|
86
|
-
|
|
93
|
+
function addBreadcrumb(breadcrumb) {
|
|
94
|
+
var _a, _b;
|
|
87
95
|
for (const reporter of getReporters(breadcrumb)) {
|
|
88
|
-
if (reporter.endpoints
|
|
96
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.addBreadcrumb) === false) {
|
|
89
97
|
continue;
|
|
90
98
|
}
|
|
91
|
-
else if (breadcrumb.category && reporter.ignoreBreadcrumbCategories
|
|
99
|
+
else if (breadcrumb.category && ((_b = reporter.ignoreBreadcrumbCategories) === null || _b === void 0 ? void 0 : _b.includes(breadcrumb.category))) {
|
|
92
100
|
continue;
|
|
93
101
|
}
|
|
94
102
|
const reporterBreadcrumb = { ...breadcrumb };
|
|
95
|
-
reporterBreadcrumb.metadata = filterReporterMetadata(breadcrumb.metadata, reporter);
|
|
103
|
+
reporterBreadcrumb.metadata = (0, utils_2.filterReporterMetadata)(breadcrumb.metadata, reporter);
|
|
96
104
|
reporter.addBreadcrumb(reporterBreadcrumb);
|
|
97
105
|
}
|
|
98
106
|
}
|
|
107
|
+
exports.addBreadcrumb = addBreadcrumb;
|
|
99
108
|
/**
|
|
100
109
|
* Adds global metadata to all events and logs.
|
|
101
110
|
* @param metadata Metadata to add.
|
|
102
111
|
* @param filters Optional filters to specify which reporters to add metadata to.
|
|
103
112
|
*/
|
|
104
|
-
|
|
113
|
+
function addMetadata(metadata, filters) {
|
|
114
|
+
var _a;
|
|
105
115
|
for (const reporter of getReporters(filters)) {
|
|
106
|
-
if (reporter.endpoints
|
|
116
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.addMetadata) === false) {
|
|
107
117
|
continue;
|
|
108
118
|
}
|
|
109
|
-
reporter.addMetadata(filterReporterMetadata(metadata, reporter));
|
|
119
|
+
reporter.addMetadata((0, utils_2.filterReporterMetadata)(metadata, reporter));
|
|
110
120
|
}
|
|
111
121
|
}
|
|
122
|
+
exports.addMetadata = addMetadata;
|
|
112
123
|
/**
|
|
113
124
|
* Sets the user information in Analytics.
|
|
114
125
|
* @param user User information, or null to clear.
|
|
115
126
|
* @param filters Optional filters to specify which reporters to set the user for.
|
|
116
127
|
*/
|
|
117
|
-
|
|
128
|
+
function setUser(user, filters) {
|
|
129
|
+
var _a;
|
|
118
130
|
for (const reporter of getReporters(filters)) {
|
|
119
|
-
if (reporter.endpoints
|
|
131
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setUser) === false) {
|
|
120
132
|
continue;
|
|
121
133
|
}
|
|
122
134
|
reporter.setUser(user);
|
|
123
135
|
}
|
|
124
136
|
}
|
|
137
|
+
exports.setUser = setUser;
|
|
125
138
|
/**
|
|
126
139
|
* Sets the route name in Analytics.
|
|
127
140
|
* Some Analytics services use this differentiate SPA Route vs Page changes.
|
|
128
141
|
* @param routeName Name of the Route.
|
|
129
142
|
* @param filters Optional filters to specify which reporters to set the route name for.
|
|
130
143
|
*/
|
|
131
|
-
|
|
144
|
+
function setRouteName(routeName, filters) {
|
|
145
|
+
var _a;
|
|
132
146
|
for (const reporter of getReporters(filters)) {
|
|
133
|
-
if (reporter.endpoints
|
|
147
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setRouteName) === false) {
|
|
134
148
|
continue;
|
|
135
149
|
}
|
|
136
150
|
reporter.setRouteName(routeName);
|
|
137
151
|
}
|
|
138
152
|
}
|
|
153
|
+
exports.setRouteName = setRouteName;
|
|
139
154
|
/**
|
|
140
155
|
* Sets the page name in Analytics.
|
|
141
156
|
* @param pageName Name of the Page.
|
|
142
157
|
* @param filters Optional filters to specify which reporters to set the page name for.
|
|
143
158
|
*/
|
|
144
|
-
|
|
159
|
+
function setPageName(pageName, filters) {
|
|
160
|
+
var _a;
|
|
145
161
|
for (const reporter of getReporters(filters)) {
|
|
146
|
-
if (reporter.endpoints
|
|
162
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setPageName) === false) {
|
|
147
163
|
continue;
|
|
148
164
|
}
|
|
149
165
|
reporter.setPageName(pageName);
|
|
150
166
|
}
|
|
151
167
|
}
|
|
168
|
+
exports.setPageName = setPageName;
|
|
152
169
|
/**
|
|
153
170
|
* Reports an Error in Reporters that support error tracking.
|
|
154
171
|
* @param error Error data.
|
|
155
172
|
* @param metadata Metadata to add to the error.
|
|
156
173
|
* @param filters Optional filters to specify which reporters to report the error to.
|
|
157
174
|
*/
|
|
158
|
-
|
|
175
|
+
function reportError(error, metadata, filters) {
|
|
176
|
+
var _a, _b;
|
|
159
177
|
for (const reporter of getReporters(filters)) {
|
|
160
|
-
if (reporter.endpoints
|
|
178
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.reportError) === false) {
|
|
161
179
|
continue;
|
|
162
180
|
}
|
|
163
|
-
reporter.reportError
|
|
181
|
+
(_b = reporter.reportError) === null || _b === void 0 ? void 0 : _b.call(reporter, error, (0, utils_2.filterReporterMetadata)(metadata, reporter));
|
|
164
182
|
}
|
|
165
183
|
}
|
|
184
|
+
exports.reportError = reportError;
|
|
166
185
|
/**
|
|
167
186
|
* Report a feature flag evaluation, e.g. for surfacing in Datadog RUM.
|
|
168
187
|
*
|
|
169
188
|
* @param flag Details about the feature flag evaluation
|
|
170
189
|
* @param filters Filters to specify which reporters to start a session recording for.
|
|
171
190
|
*/
|
|
172
|
-
|
|
191
|
+
function reportFeatureFlag(flag, filters) {
|
|
192
|
+
var _a, _b;
|
|
173
193
|
for (const reporter of getReporters(filters)) {
|
|
174
|
-
if (reporter.endpoints
|
|
194
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.reportFeatureFlag) === false) {
|
|
175
195
|
continue;
|
|
176
196
|
}
|
|
177
|
-
reporter.reportFeatureFlag
|
|
197
|
+
(_b = reporter.reportFeatureFlag) === null || _b === void 0 ? void 0 : _b.call(reporter, flag);
|
|
178
198
|
}
|
|
179
199
|
}
|
|
200
|
+
exports.reportFeatureFlag = reportFeatureFlag;
|
|
180
201
|
/**
|
|
181
202
|
* Starts a session recording in Analytics, e.g. RUM Session Replay
|
|
182
203
|
* @param filters Optional filters to specify which reporters to start a session recording for.
|
|
183
204
|
*/
|
|
184
|
-
|
|
205
|
+
function recordSession(filters) {
|
|
206
|
+
var _a, _b;
|
|
185
207
|
for (const reporter of getReporters(filters)) {
|
|
186
|
-
if (reporter.endpoints
|
|
208
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.recordSession) === false) {
|
|
187
209
|
continue;
|
|
188
210
|
}
|
|
189
|
-
reporter.recordSession
|
|
211
|
+
(_b = reporter.recordSession) === null || _b === void 0 ? void 0 : _b.call(reporter);
|
|
190
212
|
}
|
|
191
213
|
}
|
|
214
|
+
exports.recordSession = recordSession;
|
|
192
215
|
/**
|
|
193
216
|
* Stops a session recording in Analytics, e.g. RUM Session Replay
|
|
194
217
|
* @param filters Optional filters to specify which reporters to stop a session recording for.
|
|
195
218
|
*/
|
|
196
|
-
|
|
219
|
+
function recordSessionStop(filters) {
|
|
220
|
+
var _a, _b;
|
|
197
221
|
for (const reporter of getReporters(filters)) {
|
|
198
|
-
if (reporter.endpoints
|
|
222
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.recordSessionStop) === false) {
|
|
199
223
|
continue;
|
|
200
224
|
}
|
|
201
|
-
reporter.recordSessionStop
|
|
225
|
+
(_b = reporter.recordSessionStop) === null || _b === void 0 ? void 0 : _b.call(reporter);
|
|
202
226
|
}
|
|
203
227
|
}
|
|
228
|
+
exports.recordSessionStop = recordSessionStop;
|
|
204
229
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"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"}
|