// SARS-CoV-2-Viz // Animated COVID case count visualization // Copyright 2022 Edward L. Platt function ProgressTracker(onCreate, onProgress) { let jobProgress = []; let tracker = { getTracker: (initial='') => { let id = jobProgress.length; jobProgress.push(initial); onCreate(id); return (progress) => { jobProgress[id] = progress; onProgress(id, tracker.progress(id)); } }, progress: (id) => jobProgress[id] }; return tracker; }