diff --git a/src/lib/data/Chapters.ts b/src/lib/data/Chapters.ts index e1be4741..f8f51ea8 100644 --- a/src/lib/data/Chapters.ts +++ b/src/lib/data/Chapters.ts @@ -314,7 +314,9 @@ export class Chapters { ): T[] { const chapterNumberToChapters = Object.groupBy(allChapters, ({ chapterNumber }) => chapterNumber); - return uniqueChapters.map(({ chapterNumber }) => chapterNumberToChapters[chapterNumber]!).flat(); + return uniqueChapters + .map((uniqueChapter) => chapterNumberToChapters[uniqueChapter.chapterNumber] ?? [uniqueChapter]) + .flat(); } static removeDuplicates(currentChapter: T, chapters: T[]): T[] { diff --git a/src/lib/data/Mangas.ts b/src/lib/data/Mangas.ts index 78fc1753..766ae33d 100644 --- a/src/lib/data/Mangas.ts +++ b/src/lib/data/Mangas.ts @@ -264,11 +264,8 @@ export class Mangas { const mangaIdToUnReadDownloadedChapters = Object.groupBy(unReadDownloadedChapters, ({ mangaId }) => mangaId); const mangaIdToDownloadSize = Object.entries(mangaIdToUnReadDownloadedChapters).map( - ([mangaId, downloadedChapters]) => { - const downloadAheadSize = Math.max( - 0, - (size ?? downloadedChapters!.length) - downloadedChapters!.length, - ); + ([mangaId, downloadedChapters = []]) => { + const downloadAheadSize = Math.max(0, (size ?? downloadedChapters.length) - downloadedChapters.length); const actualSize = downloadAhead ? downloadAheadSize : size; return [mangaId, actualSize]; @@ -281,7 +278,7 @@ export class Mangas { const chapterIdsToDownload = mangaIdToActualDownloadSize .map(([mangaId, actualSize]) => { - const mangaChapters = mangaIdToChaptersToConsider[Number(mangaId)]!; + const mangaChapters = mangaIdToChaptersToConsider[Number(mangaId)] ?? []; if (!mangaChapters.length) { return [];