trackAdvancedAnalyticsEvent.tsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import {coreUIEventMap, CoreUIEventParameters} from './coreuiAnalyticsEvents';
  2. import {dashboardsEventMap, DashboardsEventParameters} from './dashboardsAnalyticsEvents';
  3. import {discoverEventMap, DiscoverEventParameters} from './discoverAnalyticsEvents';
  4. import {growthEventMap, GrowthEventParameters} from './growthAnalyticsEvents';
  5. import {issueEventMap, IssueEventParameters} from './issueAnalyticsEvents';
  6. import makeAnalyticsFunction from './makeAnalyticsFunction';
  7. import {monitorsEventMap, MonitorsEventParameters} from './monitorsAnalyticsEvents';
  8. import {
  9. performanceEventMap,
  10. PerformanceEventParameters,
  11. } from './performanceAnalyticsEvents';
  12. import {profilingEventMap, ProfilingEventParameters} from './profilingAnalyticsEvents';
  13. import {releasesEventMap, ReleasesEventParameters} from './releasesAnalyticsEvents';
  14. import {replayEventMap, ReplayEventParameters} from './replayAnalyticsEvents';
  15. import {samplingEventMap, SamplingEventParameters} from './samplingAnalyticsEvents';
  16. import {searchEventMap, SearchEventParameters} from './searchAnalyticsEvents';
  17. import {settingsEventMap, SettingsEventParameters} from './settingsAnalyticsEvents';
  18. import {TeamInsightsEventParameters, workflowEventMap} from './workflowAnalyticsEvents';
  19. type EventParameters = GrowthEventParameters &
  20. CoreUIEventParameters &
  21. DashboardsEventParameters &
  22. DiscoverEventParameters &
  23. IssueEventParameters &
  24. MonitorsEventParameters &
  25. PerformanceEventParameters &
  26. ProfilingEventParameters &
  27. ReleasesEventParameters &
  28. ReplayEventParameters &
  29. SamplingEventParameters &
  30. SearchEventParameters &
  31. SettingsEventParameters &
  32. TeamInsightsEventParameters;
  33. const allEventMap: Record<string, string | null> = {
  34. ...coreUIEventMap,
  35. ...dashboardsEventMap,
  36. ...discoverEventMap,
  37. ...growthEventMap,
  38. ...issueEventMap,
  39. ...monitorsEventMap,
  40. ...performanceEventMap,
  41. ...profilingEventMap,
  42. ...releasesEventMap,
  43. ...replayEventMap,
  44. ...samplingEventMap,
  45. ...searchEventMap,
  46. ...settingsEventMap,
  47. ...workflowEventMap,
  48. };
  49. /**
  50. * Generic typed analytics function for growth, issue, and performance events.
  51. * Can split up analytics functions to a smaller set of events like we do for trackIntegrationAnalytics
  52. */
  53. const trackAdvancedAnalyticsEvent = makeAnalyticsFunction<EventParameters>(allEventMap);
  54. export default trackAdvancedAnalyticsEvent;