databyday = {
const rollups = d3
.rollups(
data.filter(d => d.type === type),
v => {
const o = {};
provinces.forEach(p => (o[p] = 0));
v.forEach(d => (o[d.province] = d.total));
return o;
},
d => d.ymd
)
.map(d => ({ date: parseDateYMD(d[0]), ...d[1] }));
const last = rollups[rollups.length - 1];
return Object.assign(rollups, {
columns: [...Object.keys(last)].sort((a, b) =>
d3.descending(last[a], last[b])
),
y: `Cumulative ${type} cases of covid-19 infection, by country & province`
});
}