From 5e7ec34300af5e18f864d82efebebbb5a76782d4 Mon Sep 17 00:00:00 2001 From: Shaun Date: Mon, 13 Nov 2023 14:01:03 +0900 Subject: [PATCH] Fix order for unzipped manga --- src/lib/upload/index.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/lib/upload/index.ts b/src/lib/upload/index.ts index 7d1857e..831b8cc 100644 --- a/src/lib/upload/index.ts +++ b/src/lib/upload/index.ts @@ -13,11 +13,23 @@ const imageTypes = ['image/jpeg', 'image/png', 'image/webp']; export async function unzipManga(file: File) { const zipFileReader = new BlobReader(file); const zipReader = new ZipReader(zipFileReader); - + const entries = await zipReader.getEntries(); const unzippedFiles: Record = {}; - for (const entry of entries) { + const sortedEntries = entries.sort((a, b) => { + if (a.filename < b.filename) { + return -1; + } + + if (a.filename > b.filename) { + return 1; + } + + return 0; + }) + + for (const entry of sortedEntries) { const mime = getMimeType(entry.filename); if (imageTypes.includes(mime)) { const blob = await entry.getData?.(new BlobWriter(mime)); @@ -27,7 +39,7 @@ export async function unzipManga(file: File) { } } } - + return unzippedFiles; }