{"version":3,"sources":["webpack:///./app/javascript/packs/sentry.tsx"],"names":["document","addEventListener","trackingId","Cookies","get","sentryCookie","sentryProperties","decodedSentry","decodeURIComponent","JSON","parse","Error","cookieConsent","localStorage","getItem","consent","state","preferences","analytics","Sentry","dsn","process","release","environment","normalizeDepth","tracesSampleRate","integrations","ignoreErrors","setUser","id","subscriptionId","subscriptionStatus"],"mappings":"2IAAA,yDAYAA,SAASC,iBAAiB,oBAAoB,KAC5C,IAAMC,EAAaC,IAAQC,IAAI,eACzBC,EAAeF,IAAQC,IAAI,qBAE7BE,EAAmB,GAEvB,GAAID,EAAc,CAChB,IAAME,EAAgBC,mBAAmBH,GACzCC,EAAmBG,KAAKC,MAAMH,GAGhC,IAAKL,EACH,MAAM,IAAIS,MAAM,kCAGlB,IA0BMC,EACJC,aAAaC,QAAQ,kBAAoB,wBACrCC,EAAUN,KAAKC,MAAME,GAGzBG,GACkB,aAAlBA,EAAQC,OACRD,EAAQE,YAAYC,YAhCpBC,IAAY,CACVC,IAAKC,6DACLC,QAASD,2CACTE,YAAaF,aACbG,eAAgB,GAChBC,iBAAkB,GAClBC,aAAc,CAACP,OACfQ,aAAc,CACZ,YACA,qBACA,yDACA,YACA,eAIUR,MAERS,QAAQ,CACZC,GAAI3B,EACJ,kBAAqBI,EAAiBwB,eACtC,sBAAyBxB,EAAiByB,2B","file":"js/sentry-63de49d7b2f89df8c365.chunk.js","sourcesContent":["/* eslint-disable no-useless-computed-key */\n// @noflow\nimport * as Sentry from '@sentry/browser'\nimport Cookies from 'js-cookie'\n\nimport { SubscriptionStatus } from '@/types'\n\ntype SentryProperties = {\n  subscriptionId: number | string\n  subscriptionStatus: SubscriptionStatus\n}\n\ndocument.addEventListener('DOMContentLoaded', (): void => {\n  const trackingId = Cookies.get('tracking_id')\n  const sentryCookie = Cookies.get('sentry_properties')\n\n  let sentryProperties = {} as SentryProperties\n\n  if (sentryCookie) {\n    const decodedSentry = decodeURIComponent(sentryCookie)\n    sentryProperties = JSON.parse(decodedSentry)\n  }\n\n  if (!trackingId) {\n    throw new Error('Could not find the tracking Id')\n  }\n\n  const initSentry = (): void => {\n    Sentry.init({\n      dsn: process.env.SENTRY_FRONTEND_DSN,\n      release: process.env.HEROKU_SLUG_COMMIT,\n      environment: process.env.NODE_ENV,\n      normalizeDepth: 10,\n      tracesSampleRate: 0.8,\n      integrations: [Sentry.browserTracingIntegration()],\n      ignoreErrors: [\n        'cancelled',\n        '已取消',\n        'キャンセルしました',\n        'anulowane',\n        'cancelado'\n      ]\n    })\n\n    const scope = Sentry.getCurrentScope()\n\n    scope.setUser({\n      id: trackingId,\n      ['Subscription ID']: sentryProperties.subscriptionId,\n      ['Subscription Status']: sentryProperties.subscriptionStatus\n    })\n  }\n\n  const cookieConsent =\n    localStorage.getItem('cookieConsent') || '{ \"preferences\": {} }'\n  const consent = JSON.parse(cookieConsent)\n\n  if (\n    consent &&\n    consent.state === 'accepted' &&\n    consent.preferences.analytics\n  ) {\n    initSentry()\n  }\n})\n"],"sourceRoot":""}