getOperatingSystemKnownDataDetails.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {t} from 'sentry/locale';
  2. import {defined} from 'sentry/utils';
  3. import {OperatingSystemKnownData, OperatingSystemKnownDataType} from './types';
  4. type Output = {
  5. subject: string;
  6. value: React.ReactNode | null;
  7. };
  8. function getOperatingSystemKnownDataDetails(
  9. data: OperatingSystemKnownData,
  10. type: OperatingSystemKnownDataType
  11. ): Output {
  12. switch (type) {
  13. case OperatingSystemKnownDataType.NAME:
  14. return {
  15. subject: t('Name'),
  16. value: data.name,
  17. };
  18. case OperatingSystemKnownDataType.VERSION:
  19. return {
  20. subject: t('Version'),
  21. value: `${data.version}${data.build ? `(${data.build})` : ''}`,
  22. };
  23. case OperatingSystemKnownDataType.KERNEL_VERSION:
  24. return {
  25. subject: t('Kernel Version'),
  26. value: data.kernel_version,
  27. };
  28. case OperatingSystemKnownDataType.ROOTED:
  29. return {
  30. subject: t('Rooted'),
  31. value: defined(data.rooted) ? (data.rooted ? t('yes') : t('no')) : null,
  32. };
  33. default:
  34. return {
  35. subject: type,
  36. value: data[type] || null,
  37. };
  38. }
  39. }
  40. export default getOperatingSystemKnownDataDetails;