39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import fs from 'fs/promises'
 | 
						|
import fg from 'fast-glob'
 | 
						|
import path from 'path'
 | 
						|
import StreamZip from 'node-stream-zip'
 | 
						|
import Counties from './parser/counties.js'
 | 
						|
import OverallTesting from './parser/overall/testing.js'
 | 
						|
import OverallCases from './parser/overall/cases.js'
 | 
						|
import OverallHospitalizations from './parser/overall/hospitalizations.js'
 | 
						|
import OverallDeaths from './parser/overall/deaths.js'
 | 
						|
 | 
						|
import RiskAge from './parser/risk/age.js'
 | 
						|
import RiskHealthConditions from './parser/risk/health-conditions.js'
 | 
						|
 | 
						|
import Summary from './parser/summary.js'
 | 
						|
 | 
						|
async function main() {
 | 
						|
  const sources = await fg(['./data/raw/*.zip'])
 | 
						|
  sources.sort()
 | 
						|
 | 
						|
  const zips = sources.map(source => ({
 | 
						|
    date: path.basename(source, path.extname(source)),
 | 
						|
    zip: new StreamZip.async({ file: source })
 | 
						|
  }))
 | 
						|
 | 
						|
  const counties = await Counties(zips)
 | 
						|
 | 
						|
  await OverallTesting(zips)
 | 
						|
  await OverallCases(zips, counties)
 | 
						|
  await OverallHospitalizations(zips, counties)
 | 
						|
  await OverallDeaths(zips, counties)
 | 
						|
 | 
						|
  await RiskAge(zips)
 | 
						|
  await RiskHealthConditions(zips)
 | 
						|
 | 
						|
  await Summary()
 | 
						|
}
 | 
						|
 | 
						|
main()
 |