35 lines
1020 B
JavaScript
35 lines
1020 B
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'
|
|
|
|
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)
|
|
}
|
|
|
|
main()
|