import { PdfFile } from '../../wrappers/PdfFile'; export async function sortPdfs( files: PdfFile[], sortType: "orderProvided"|"byFileName"|"byDateModified"|"byDateCreated"|"byPDFTitle" = "orderProvided" ): Promise { const docCache = await PdfFile.cacheAsPdfLibDocuments(files); switch(sortType) { case "byFileName": files.sort((a, b) => { if (!a || !b) return 0; const ad = a.filename, bd = b.filename; if (!ad || !bd) return 0; return ad.localeCompare(bd); }); break; case "byDateModified": files.sort((a, b) => { const ad = docCache.get(a)?.getModificationDate()?.getTime(); const bd = docCache.get(b)?.getModificationDate()?.getTime(); if (!ad || !bd) return 0; return ad > bd ? 1 : -1 }); break; case "byDateCreated": files.sort((a, b) => { const ad = docCache.get(a)?.getCreationDate()?.getTime(); const bd = docCache.get(b)?.getCreationDate()?.getTime(); if (!ad || !bd) return 0; return ad > bd ? 1 : -1 }); break; case "byPDFTitle": files.sort((a, b) => { const ad = docCache.get(a)?.getTitle(); const bd = docCache.get(b)?.getTitle(); if (!ad || !bd) return 0; return ad.localeCompare(bd); }); break; } return files; }