UNPKG

@sentry/browser

Version:
52 lines (48 loc) • 1.46 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const attributes = require('@sentry/conventions/attributes'); const core = require('@sentry/core'); const helpers = require('../helpers.js'); const INTEGRATION_NAME = "CultureContext"; const _cultureContextIntegration = (() => { return { name: INTEGRATION_NAME, preprocessEvent(event) { const culture = getCultureContext(); if (culture) { event.contexts = { ...event.contexts, culture: { ...culture, ...event.contexts?.culture } }; } }, processSegmentSpan(span) { const culture = getCultureContext(); if (culture) { core.safeSetSpanJSONAttributes(span, { [attributes.CULTURE_LOCALE]: culture.locale, [attributes.CULTURE_TIMEZONE]: culture.timezone, [attributes.CULTURE_CALENDAR]: culture.calendar }); } } }; }); const cultureContextIntegration = core.defineIntegration(_cultureContextIntegration); function getCultureContext() { try { const intl = helpers.WINDOW.Intl; if (!intl) { return void 0; } const options = intl.DateTimeFormat().resolvedOptions(); return { locale: options.locale, timezone: options.timeZone, calendar: options.calendar }; } catch { return void 0; } } exports.cultureContextIntegration = cultureContextIntegration; //# sourceMappingURL=culturecontext.js.map