normalizedLabels function
Pads or truncates labels to exactly count entries, so a mismatched label
array can never drive a different number of columns than the data. Missing
labels become empty strings; extra labels are dropped.
Implementation
List<String> normalizedLabels(List<String> labels, int count) {
if (count <= 0) return const [];
if (labels.length == count) return labels;
return [for (var i = 0; i < count; i++) i < labels.length ? labels[i] : ''];
}