41 lines
951 B
JavaScript
41 lines
951 B
JavaScript
|
|
import mkdirp from 'mkdirp'
|
|
import path from 'path'
|
|
import fsp from 'fs/promises'
|
|
import Papa from 'papaparse'
|
|
import { getCounty } from '../util.js'
|
|
|
|
async function processSingleZip ({ date, zip }) {
|
|
const csv = await zip.entryData('county_cases.csv').then(res => res.toString())
|
|
|
|
const rows = Papa.parse(csv, {
|
|
header: true
|
|
}).data
|
|
|
|
let totalPopulation = 0
|
|
|
|
const counties = rows.reduce((counties, row) => {
|
|
const county = getCounty(row.county_name)
|
|
if (!county) return counties
|
|
totalPopulation += +row.population
|
|
counties[county] = {
|
|
population: +row.population,
|
|
cases_14_days: +row['14 day case rate'],
|
|
case_rate_14_days: +row['14 day case rate']
|
|
}
|
|
return counties
|
|
}, {})
|
|
|
|
return {
|
|
...counties,
|
|
'-- All --': { population: totalPopulation },
|
|
'-- Unknown --': { population: 0 }
|
|
}
|
|
}
|
|
|
|
function process (zips) {
|
|
return processSingleZip(zips.at(-1))
|
|
}
|
|
|
|
export default process
|