index.tsx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import {Sql} from 'sentry/components/events/interfaces/breadcrumbs/breadcrumb/data/sql';
  2. import type {
  3. BreadcrumbMeta,
  4. BreadcrumbTransactionEvent,
  5. } from 'sentry/components/events/interfaces/breadcrumbs/types';
  6. import type {RawCrumb} from 'sentry/types/breadcrumbs';
  7. import {BreadcrumbMessageFormat, BreadcrumbType} from 'sentry/types/breadcrumbs';
  8. import type {Event} from 'sentry/types/event';
  9. import type {Organization} from 'sentry/types/organization';
  10. import {Default} from './default';
  11. import {Exception} from './exception';
  12. import {Http} from './http';
  13. type Props = {
  14. breadcrumb: RawCrumb;
  15. event: Event;
  16. organization: Organization;
  17. searchTerm: string;
  18. meta?: BreadcrumbMeta;
  19. transactionEvents?: BreadcrumbTransactionEvent[];
  20. };
  21. export function Data({
  22. breadcrumb,
  23. event,
  24. organization,
  25. searchTerm,
  26. meta,
  27. transactionEvents,
  28. }: Props) {
  29. if (breadcrumb.type === BreadcrumbType.HTTP) {
  30. return <Http breadcrumb={breadcrumb} searchTerm={searchTerm} meta={meta} />;
  31. }
  32. if (
  33. !meta &&
  34. breadcrumb.message &&
  35. breadcrumb.messageFormat === BreadcrumbMessageFormat.SQL
  36. ) {
  37. return <Sql breadcrumb={breadcrumb} searchTerm={searchTerm} />;
  38. }
  39. if (
  40. breadcrumb.type === BreadcrumbType.WARNING ||
  41. breadcrumb.type === BreadcrumbType.ERROR
  42. ) {
  43. return <Exception breadcrumb={breadcrumb} searchTerm={searchTerm} meta={meta} />;
  44. }
  45. return (
  46. <Default
  47. event={event}
  48. organization={organization}
  49. breadcrumb={breadcrumb}
  50. searchTerm={searchTerm}
  51. meta={meta}
  52. transactionEvents={transactionEvents}
  53. />
  54. );
  55. }