INNER CODE UNIT · TypeScript
merged
SurgeDM/Surge · extension/entrypoints/popup/store/index.ts:47
const merged = nextDownloads.map((download) => {
const normalized = { ...download, speed: download.speed / MB };
const prev = prevById.get(download.id);
if (!prev) return normalized;
const next = { ...prev, ...normalized };
return sameDownloadStatus(prev, next) ? prev : next;
});
const hasChanged = merged.length !== prevDownloads.length
|| merged.some((download, index) => prevDownloads[index] !== download);
return hasChanged ? merged : prevDownloads;
});
}
export function upsertActiveDownload(dl: DownloadStatus): void {
setActiveDownloads(prev => {
const idx = prev.findIndex(d => d.id === dl.id);