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
 |