{"version":3,"file":"js/datadog-ccf332a93f3e6cce5152.js","mappings":"6HAUA,MAAMA,EAAkB,CACtB,kCACA,2BACA,gBACA,gCAGIC,EAAWA,QAASC,EAAAA,EAAAA,qBAAoBC,EAAAA,EAAAA,0BAE1CF,KACF,uDAAgCG,MAAMC,IACpC,MAAM,YAAEC,GAAgBD,EACxBC,EAAYC,KAAK,CACfC,aAAaL,EAAAA,EAAAA,yBACbM,KAAM,gBACNC,QAAS,gBACTC,KAAKT,EAAAA,EAAAA,kBACLU,SAASC,EAAAA,EAAAA,eAAgB,KACzBC,qBAAqB,EACrBC,mBAAoB,CAAC,OAAQ,SAC7BC,eAAgB,MAChBC,kBAAmB,IACnBC,WAAaC,IACVnB,EAAgBoB,MAAMC,GAAQF,EAAMG,QAAQC,SAASF,MACxD,IAIFpB,MAAcuB,EAAAA,EAAAA,4BAGhB,uDAA+BpB,MAAMqB,IACnC,MAAM,WAAEC,GAAeD,EACvBC,EAAWnB,KAAK,CACdoB,eAAeH,EAAAA,EAAAA,2BACfhB,aAAaL,EAAAA,EAAAA,yBACbM,KAAM,gBACNC,QAAS,gBACTC,IAAKiB,OAAOC,KAAKC,OAAOC,YACxBnB,SAASC,EAAAA,EAAAA,eAAgB,KACzBI,kBAAmB,EACnBe,wBAAyB,EACzBC,uBAAuB,EACvBC,gBAAgB,EAChBC,gBAAgB,EAChBC,oBAAqB,oBAGvB,MAAMC,EAAaA,MAEZC,EAAAA,EAAAA,eAAeZ,EAAWa,WAAWC,KAE1CC,SAASC,oBAAoB,kBAAmBL,GAEhDX,EAAWiB,QAAQ,CACjBH,IAAIF,EAAAA,EAAAA,cAAaM,WACjBC,MAAMC,EAAAA,EAAAA,mBACNC,OAAOC,EAAAA,EAAAA,kBACP,EAIJP,SAASQ,iBAAiB,kBAAmBZ,GAG7CA,GAAY,G,ugCCvET,MAAME,EAAUA,IAAMX,OAAOC,MAAMqB,KAC7BZ,EAAYA,IAAqBC,KAAWC,GAC5CW,EAA0BA,IACrCZ,KAAWa,cAAcC,KACdC,EACXA,IAAqCf,KAAWa,cAAcG,aACnDC,EAA4BA,IACvCjB,KAAWa,cAAcK,OACdC,EAA6BA,IACxCnB,KAAWa,cAAcO,QACdC,EAAkCA,IAC7CrB,KAAWa,cAAcS,aACdC,EAAmBA,IAAqBvB,KAAWM,KAAKkB,MACxDC,EAAkBA,IAAqBzB,KAAWM,KAAKoB,KACvDC,EAAkBA,IAAqB3B,KAAWM,KAAKsB,SACvDC,EAAuBA,IAClC7B,KAAWM,KAAKwB,UACLvB,EAAkBA,IAAqBP,KAAWM,KAAKyB,KACvDC,EAAsBA,IACjChC,KAAWiC,OAAOC,OACPC,EAAoBA,IAAqBnC,KAAWiC,OAAO3B,KAC3DG,EAAeA,IAAqBT,KAAWQ,MAC/C4B,EAAaA,IAAqBpC,KAAWqC,IAC7CC,EAAkBA,IAAgBtC,KAAWuC,UAAY,GAEzDC,EAAeA,IAAMnD,OAAOC,MAAMmD,UAClCC,EAAiBA,IAAqBF,KAAgBvC,GAE7D0C,EAAYA,IAActD,OAAOC,MAAMC,OAChC5B,EAAiBA,IAC5BgF,KAAanD,YACFlB,EAAaA,IAAgCqE,KAAatE,QAC1DuE,EAAqBA,IAChCD,KAAaE,gBACFC,EAA0BA,IAE3BH,KAAaI,qBACZnF,EAAwBA,IACnC+E,KAAaK,mBACF/D,EAA0BA,IAE3B0D,KAAaM,qBAEnBC,EAAiBlD,IAEvB,W","sources":["webpack://hnry-rails/./app/javascript/datadog.ts","webpack://hnry-rails/./app/javascript/utilities/user_attributes.ts"],"sourcesContent":["import {\n getDatadogApplicationId,\n getDatadogClientToken,\n getEnvironment,\n getUserEmail,\n getUserFullName,\n getUserId,\n getVersion,\n} from \"./utilities/user_attributes\";\n\nconst suppressStrings = [\n \"localStorage may be unavailable\",\n \"localStorage may be full\",\n \"Script error.\",\n \"Object Not Found Matching Id\",\n];\n\nconst envReady = () => !!(getEnvironment() && getDatadogClientToken());\n\nif (envReady()) {\n import(\"@datadog/browser-logs\").then((ddLogModule) => {\n const { datadogLogs } = ddLogModule;\n datadogLogs.init({\n clientToken: getDatadogClientToken(),\n site: \"datadoghq.com\",\n service: \"hnry:frontend\",\n env: getEnvironment(),\n version: getVersion() || null,\n forwardErrorsToLogs: true,\n forwardConsoleLogs: [\"warn\", \"error\"],\n forwardReports: \"all\",\n sessionSampleRate: 100,\n beforeSend: (event) =>\n !suppressStrings.some((str) => event.message.includes(str)),\n });\n });\n}\n\nif (envReady() && getDatadogApplicationId()) {\n // In future, there's opportunity to not load this if we know a user cannot be tracked due to OneTrust or similar\n // This would be a good performance optimisation as the RUM SDK is quite large\n import(\"@datadog/browser-rum\").then((ddRUMModule) => {\n const { datadogRum } = ddRUMModule;\n datadogRum.init({\n applicationId: getDatadogApplicationId(),\n clientToken: getDatadogClientToken(),\n site: \"datadoghq.com\",\n service: \"hnry:frontend\",\n env: window.Hnry.Config.environment,\n version: getVersion() || null,\n sessionSampleRate: 5,\n sessionReplaySampleRate: 0,\n trackUserInteractions: true,\n trackResources: true,\n trackLongTasks: true,\n defaultPrivacyLevel: \"mask-user-input\",\n });\n\n const setRUMUser = () => {\n // Return early if no user info present or it has already been set\n if (!getUserId() || datadogRum.getUser()?.id) return;\n\n document.removeEventListener(\"turbolinks:load\", setRUMUser);\n\n datadogRum.setUser({\n id: getUserId()?.toString(),\n name: getUserFullName(),\n email: getUserEmail(),\n });\n };\n\n // Load RUM on Turbolinks page changes in case it was not loaded on initial page load\n document.addEventListener(\"turbolinks:load\", setRUMUser);\n\n // Load RUM on initial page load\n setRUMUser();\n });\n}\n","import hnryJurisdictions from \"../types/jurisdictions.type\";\nimport { acceptedCurrencyValues } from \"../types/currency.type\";\nimport { Config } from \"../types/config.type\";\n\nexport const getUser = () => window.Hnry?.User;\nexport const getUserId = (): number | null => getUser()?.id;\nexport const getUserJurisdictionCode = (): hnryJurisdictions | null =>\n getUser()?.jurisdiction?.code;\nexport const getUserJurisdictionCurrencyCode =\n (): acceptedCurrencyValues | null => getUser()?.jurisdiction?.currencyCode;\nexport const getUserJurisdictionLocale = (): string | null =>\n getUser()?.jurisdiction?.locale;\nexport const getUserJurisdictionIconUrl = (): string | null =>\n getUser()?.jurisdiction?.iconUrl;\nexport const getUserJurisdictionSupportEmail = (): string | null =>\n getUser()?.jurisdiction?.supportEmail;\nexport const getUserFirstName = (): string | null => getUser()?.name.first;\nexport const getUserLastName = (): string | null => getUser()?.name.last;\nexport const getUserInitials = (): string | null => getUser()?.name.initials;\nexport const getUserPreferredName = (): string | null =>\n getUser()?.name.preferred;\nexport const getUserFullName = (): string | null => getUser()?.name.full;\nexport const getUserStatusColour = (): string | null =>\n getUser()?.status.colour;\nexport const getUserStatusName = (): string | null => getUser()?.status.name;\nexport const getUserEmail = (): string | null => getUser()?.email;\nexport const getUserTin = (): string | null => getUser()?.tin;\nexport const getUserFeatures = (): string[] => getUser()?.features || [];\n\nexport const getAdminUser = () => window.Hnry?.AdminUser;\nexport const getAdminUserId = (): number | null => getAdminUser()?.id;\n\nconst getConfig = (): Config => window.Hnry?.Config;\nexport const getEnvironment = (): Config[\"environment\"] | null =>\n getConfig()?.environment;\nexport const getVersion = (): Config[\"version\"] | null => getConfig()?.version;\nexport const getAmplitudeApiKey = (): Config[\"amplitudeApiKey\"] | null =>\n getConfig()?.amplitudeApiKey;\nexport const getAmplitudeAdminApiKey = ():\n | Config[\"amplitudeAdminApiKey\"]\n | null => getConfig()?.amplitudeAdminApiKey;\nexport const getDatadogClientToken = (): Config[\"datadogClientToken\"] | null =>\n getConfig()?.datadogClientToken;\nexport const getDatadogApplicationId = ():\n | Config[\"datadogApplicationId\"]\n | null => getConfig()?.datadogApplicationId;\n\nconst UserAttributes = getUser();\n\nexport default UserAttributes;\n"],"names":["suppressStrings","envReady","getEnvironment","getDatadogClientToken","then","ddLogModule","datadogLogs","init","clientToken","site","service","env","version","getVersion","forwardErrorsToLogs","forwardConsoleLogs","forwardReports","sessionSampleRate","beforeSend","event","some","str","message","includes","getDatadogApplicationId","ddRUMModule","datadogRum","applicationId","window","Hnry","Config","environment","sessionReplaySampleRate","trackUserInteractions","trackResources","trackLongTasks","defaultPrivacyLevel","setRUMUser","getUserId","getUser","id","document","removeEventListener","setUser","toString","name","getUserFullName","email","getUserEmail","addEventListener","User","getUserJurisdictionCode","jurisdiction","code","getUserJurisdictionCurrencyCode","currencyCode","getUserJurisdictionLocale","locale","getUserJurisdictionIconUrl","iconUrl","getUserJurisdictionSupportEmail","supportEmail","getUserFirstName","first","getUserLastName","last","getUserInitials","initials","getUserPreferredName","preferred","full","getUserStatusColour","status","colour","getUserStatusName","getUserTin","tin","getUserFeatures","features","getAdminUser","AdminUser","getAdminUserId","getConfig","getAmplitudeApiKey","amplitudeApiKey","getAmplitudeAdminApiKey","amplitudeAdminApiKey","datadogClientToken","datadogApplicationId","UserAttributes"],"sourceRoot":""}