normalizedData = rawData.reduce((result, entry) => {
const date = new Date(entry.year, entry.month - 1, entry.day)
.toISOString()
.replace(/T.*/, '');
const country = matchCountry(entry.countriesAndTerritories);
const province = '';
const total = entry.cases;
let growth = 0;
const prevEntry = rawData.find(
_entry =>
_entry.year === entry.year &&
_entry.month === entry.month &&
_entry.day === entry.day - 1 &&
_entry.countriesAndTerritories === entry.countriesAndTerritories
);
if (prevEntry && prevEntry.cases > 0 && total > 0) {
growth = ((total - prevEntry.cases) / prevEntry.cases).toFixed(2);
}
return [
...result,
{
country,
province,
date,
growth,
total
}
];
}, [])