{"version":3,"file":"utils.mjs","sources":["../../../src/analytics/utils.ts"],"sourcesContent":["import { config } from '../config';\nimport { locationService } from '../services';\nimport { getEchoSrv, EchoEventType } from '../services/EchoSrv';\n\nimport {\n  ExperimentViewEchoEvent,\n  InteractionEchoEvent,\n  MetaAnalyticsEvent,\n  MetaAnalyticsEventPayload,\n  PageviewEchoEvent,\n} from './types';\n\n/**\n * Helper function to report meta analytics to the {@link EchoSrv}.\n *\n * @public\n */\nexport const reportMetaAnalytics = (payload: MetaAnalyticsEventPayload) => {\n  getEchoSrv().addEvent<MetaAnalyticsEvent>({\n    type: EchoEventType.MetaAnalytics,\n    payload,\n  });\n};\n\n/**\n * Helper function to report pageview events to the {@link EchoSrv}.\n *\n * @public\n */\nexport const reportPageview = () => {\n  const location = locationService.getLocation();\n  const page = `${config.appSubUrl ?? ''}${location.pathname}${location.search}${location.hash}`;\n  getEchoSrv().addEvent<PageviewEchoEvent>({\n    type: EchoEventType.Pageview,\n    payload: {\n      page,\n    },\n  });\n};\n\n/**\n * Helper function to report interaction events to the {@link EchoSrv}.\n *\n * @public\n */\nexport const reportInteraction = (interactionName: string, properties?: Record<string, unknown>) => {\n  // get static reporting context and append it to properties\n  if (config.reportingStaticContext && config.reportingStaticContext instanceof Object) {\n    properties = { ...properties, ...config.reportingStaticContext };\n  }\n  getEchoSrv().addEvent<InteractionEchoEvent>({\n    type: EchoEventType.Interaction,\n    payload: {\n      interactionName,\n      properties,\n    },\n  });\n};\n\n/**\n * Helper function to report experimentview events to the {@link EchoSrv}.\n *\n * @public\n */\nexport const reportExperimentView = (id: string, group: string, variant: string) => {\n  getEchoSrv().addEvent<ExperimentViewEchoEvent>({\n    type: EchoEventType.ExperimentView,\n    payload: {\n      experimentId: id,\n      experimentGroup: group,\n      experimentVariant: variant,\n    },\n  });\n};\n"],"names":[],"mappings":";;;;;;;;;;AAiBa,MAAA,mBAAA,GAAsB,CAAC,OAAuC,KAAA;AACzE,EAAA,UAAA,GAAa,QAA6B,CAAA;AAAA,IACxC,MAAM,aAAc,CAAA,aAAA;AAAA,IACpB;AAAA,GACD,CAAA;AACH;AAOO,MAAM,iBAAiB,MAAM;AA7BpC,EAAA,IAAA,EAAA;AA8BE,EAAM,MAAA,QAAA,GAAW,gBAAgB,WAAY,EAAA;AAC7C,EAAA,MAAM,IAAO,GAAA,CAAA,EAAA,CAAG,EAAO,GAAA,MAAA,CAAA,SAAA,KAAP,YAAoB,EAAE,CAAA,EAAG,QAAS,CAAA,QAAQ,CAAG,EAAA,QAAA,CAAS,MAAM,CAAA,EAAG,SAAS,IAAI,CAAA,CAAA;AAC5F,EAAA,UAAA,GAAa,QAA4B,CAAA;AAAA,IACvC,MAAM,aAAc,CAAA,QAAA;AAAA,IACpB,OAAS,EAAA;AAAA,MACP;AAAA;AACF,GACD,CAAA;AACH;AAOa,MAAA,iBAAA,GAAoB,CAAC,eAAA,EAAyB,UAAyC,KAAA;AAElG,EAAA,IAAI,MAAO,CAAA,sBAAA,IAA0B,MAAO,CAAA,sBAAA,YAAkC,MAAQ,EAAA;AACpF,IAAA,UAAA,GAAa,EAAE,GAAG,UAAY,EAAA,GAAG,OAAO,sBAAuB,EAAA;AAAA;AAEjE,EAAA,UAAA,GAAa,QAA+B,CAAA;AAAA,IAC1C,MAAM,aAAc,CAAA,WAAA;AAAA,IACpB,OAAS,EAAA;AAAA,MACP,eAAA;AAAA,MACA;AAAA;AACF,GACD,CAAA;AACH;AAOO,MAAM,oBAAuB,GAAA,CAAC,EAAY,EAAA,KAAA,EAAe,OAAoB,KAAA;AAClF,EAAA,UAAA,GAAa,QAAkC,CAAA;AAAA,IAC7C,MAAM,aAAc,CAAA,cAAA;AAAA,IACpB,OAAS,EAAA;AAAA,MACP,YAAc,EAAA,EAAA;AAAA,MACd,eAAiB,EAAA,KAAA;AAAA,MACjB,iBAAmB,EAAA;AAAA;AACrB,GACD,CAAA;AACH;;;;"}