/
githubmirror
/
ydb-embedded-ui
Обзор
Документация
Войти
/
githubmirror
/
ydb-embedded-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/components/MetricChart/getDefaultDataFormatter.ts
45 строк
1 KB
Hellen
feat(TopicData): add tab for topic data (#2145)
30 апр 2025, 18:03
Не верифицирован
30 апр 2025, 18:03
4c25054
Код
Авторство
О чём код?
import {formatBytes} from '../../utils/bytesParsers'; import {EMPTY_DATA_PLACEHOLDER} from '../../utils/constants'; import {roundToPrecision} from '../../utils/dataFormatters/dataFormatters'; import {formatToMs} from '../../utils/timeParsers'; import {safeParseNumber} from '../../utils/utils'; import type {ChartDataType, ChartValue} from './types'; export const getDefaultDataFormatter = (dataType?: ChartDataType) => { switch (dataType) { case 'ms': { return formatChartValueToMs; } case 'size': { return formatChartValueToSize; } case 'percent': { return formatChartValueToPercent; } default: return undefined; } }; // Values in y axis won't be null and will always be present and properly formatted // EMPTY_DATA_PLACEHOLDER is actually empty data format for values in a tooltip function formatChartValueToMs(value: ChartValue) { if (value === null) { return EMPTY_DATA_PLACEHOLDER; } return formatToMs(roundToPrecision(safeParseNumber(value), 2)); } function formatChartValueToSize(value: ChartValue) { if (value === null) { return EMPTY_DATA_PLACEHOLDER; } return formatBytes({value: safeParseNumber(value), precision: 3}); } function formatChartValueToPercent(value: ChartValue) { if (value === null) { return EMPTY_DATA_PLACEHOLDER; } return Math.round(safeParseNumber(value) * 100) + '%'; }