/
githubmirror
/
ydb-embedded-ui
Обзор
Документация
Войти
/
githubmirror
/
ydb-embedded-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/components/MetricChart/convertResponse.ts
34 строки
1 KB
Valerii Sidorenko
feat!: update to uikit 6 (#789)
10 апр 2024, 16:48
Не верифицирован
10 апр 2024, 16:48
1a3154d
Код
Авторство
О чём код?
import type {MetricData} from '../../types/api/render'; import type {MetricDescription, PreparedMetric, PreparedMetricsData} from './types'; export const convertResponse = ( data: MetricData[] = [], metrics: MetricDescription[], ): PreparedMetricsData => { const preparedMetrics = data .map(({datapoints, target}) => { const metricDescription = metrics.find((metric) => metric.target === target); if (!metricDescription) { return undefined; } const chartData = datapoints.map((datapoint) => datapoint[0]); return { ...metricDescription, data: chartData, }; }) .filter((metric): metric is PreparedMetric => metric !== undefined); // Asuming all metrics in response have the same timeline // Backend return data in seconds, while chart needs ms const timeline = data[0].datapoints.map((datapoint) => datapoint[1] * 1000); return { timeline, metrics: preparedMetrics, }; };