blob: f76049fd93c3f2114d4b781cf209c803e6aa393a [file] [log] [blame]
import type { ChartDataset } from "chart.js";
import type { Data } from "./transforms.js";
export function chartData(container: Array<Data>) {
let xmax = 0;
let datasets = [];
for (let i = 0; i < container.length; i += 1) {
// update xmax
xmax = Math.max(xmax, container[i].data.length);
datasets.push(chartDataset(container[i]));
}
return {
labels: xrange(xmax),
datasets: datasets
};
}
function xrange(xmax: number): Array<number> {
let labels = [];
for (let i = 1; i <= xmax; i += 1) {
labels.push(i);
}
return labels;
}
function chartDataset(data: Data): ChartDataset<'line'> {
return {
label: data.name,
data: data.data,
tension: 0.3
};
}