INNER CODE UNIT · TypeScript

reconcileActiveDownloads

SurgeDM/Surge · extension/entrypoints/popup/store/index.ts:44

export function reconcileActiveDownloads(nextDownloads: DownloadStatus[]): void {
  setActiveDownloads((prevDownloads) => {
    const prevById = new Map(prevDownloads.map((download) => [download.id, download]));
    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;
  });
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…