UNPKG

@datadog/browser-logs

Version:
43 lines 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LOGS_SESSION_KEY = void 0; exports.startLogsSessionManager = startLogsSessionManager; exports.startLogsSessionManagerStub = startLogsSessionManagerStub; const browser_core_1 = require("@datadog/browser-core"); exports.LOGS_SESSION_KEY = 'logs'; function startLogsSessionManager(configuration, trackingConsentState) { const sessionManager = (0, browser_core_1.startSessionManager)(configuration, exports.LOGS_SESSION_KEY, (rawTrackingType) => computeTrackingType(configuration, rawTrackingType), trackingConsentState); return { findTrackedSession: (startTime, options = { returnInactive: false }) => { const session = sessionManager.findSession(startTime, options); return session && session.trackingType === "1" /* LoggerTrackingType.TRACKED */ ? { id: session.id, anonymousId: session.anonymousId, } : undefined; }, expireObservable: sessionManager.expireObservable, }; } function startLogsSessionManagerStub(configuration) { const isTracked = computeTrackingType(configuration) === "1" /* LoggerTrackingType.TRACKED */; const session = isTracked ? {} : undefined; return { findTrackedSession: () => session, expireObservable: new browser_core_1.Observable(), }; } function computeTrackingType(configuration, rawTrackingType) { if (hasValidLoggerSession(rawTrackingType)) { return rawTrackingType; } if (!(0, browser_core_1.performDraw)(configuration.sessionSampleRate)) { return "0" /* LoggerTrackingType.NOT_TRACKED */; } return "1" /* LoggerTrackingType.TRACKED */; } function hasValidLoggerSession(trackingType) { return trackingType === "0" /* LoggerTrackingType.NOT_TRACKED */ || trackingType === "1" /* LoggerTrackingType.TRACKED */; } //# sourceMappingURL=logsSessionManager.js.map