UNPKG

1.86 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var browser_core_1 = require("@datadog/browser-core");
4exports.LOGGER_SESSION_KEY = 'logs';
5var LoggerTrackingType;
6(function (LoggerTrackingType) {
7 LoggerTrackingType["NOT_TRACKED"] = "0";
8 LoggerTrackingType["TRACKED"] = "1";
9})(LoggerTrackingType = exports.LoggerTrackingType || (exports.LoggerTrackingType = {}));
10function startLoggerSession(configuration, areCookieAuthorized) {
11 if (!areCookieAuthorized) {
12 var isTracked_1 = computeTrackingType(configuration) === LoggerTrackingType.TRACKED;
13 return {
14 getId: function () { return undefined; },
15 isTracked: function () { return isTracked_1; },
16 };
17 }
18 var session = browser_core_1.startSessionManagement(configuration.cookieOptions, exports.LOGGER_SESSION_KEY, function (rawTrackingType) {
19 return computeSessionState(configuration, rawTrackingType);
20 });
21 return {
22 getId: session.getId,
23 isTracked: function () { return session.getTrackingType() === LoggerTrackingType.TRACKED; },
24 };
25}
26exports.startLoggerSession = startLoggerSession;
27function computeTrackingType(configuration) {
28 if (!browser_core_1.performDraw(configuration.sampleRate)) {
29 return LoggerTrackingType.NOT_TRACKED;
30 }
31 return LoggerTrackingType.TRACKED;
32}
33function computeSessionState(configuration, rawSessionType) {
34 var trackingType = hasValidLoggerSession(rawSessionType) ? rawSessionType : computeTrackingType(configuration);
35 return {
36 trackingType: trackingType,
37 isTracked: trackingType === LoggerTrackingType.TRACKED,
38 };
39}
40function hasValidLoggerSession(trackingType) {
41 return trackingType === LoggerTrackingType.NOT_TRACKED || trackingType === LoggerTrackingType.TRACKED;
42}
43//# sourceMappingURL=loggerSession.js.map
\No newline at end of file