Refactor and enhance type safety across various modules

- Updated function parameters and return types in `page-preview.ts`, `pdf-decrypt.ts`, and `pymupdf-loader.ts` for improved type safety.
- Introduced type definitions for `CpdfInstance`, `PyMuPDFInstance`, and other related types to ensure better type checking.
- Enhanced error handling in `sanitize.ts` by creating a utility function for error messages.
- Removed unnecessary type assertions and improved type inference in `editor.ts`, `serialization.ts`, and `tools.test.ts`.
- Added type definitions for markdown-it plugins to improve compatibility and type safety.
- Enforced stricter TypeScript settings by enabling `noImplicitAny` in `tsconfig.json`.
- Cleaned up test files by refining type assertions and ensuring consistency in type usage.
This commit is contained in:
alam00000
2026-03-31 17:59:49 +05:30
parent a1fc2fc3c6
commit 9d0b68e18c
114 changed files with 2577 additions and 1868 deletions

View File

@@ -85,7 +85,10 @@ async function performCondenseCompression(
scrub: {
metadata: customSettings?.removeMetadata ?? preset.scrub.metadata,
thumbnails: customSettings?.removeThumbnails ?? preset.scrub.thumbnails,
xmlMetadata: (preset.scrub as any).xmlMetadata ?? false,
xmlMetadata:
'xmlMetadata' in preset.scrub
? (preset.scrub as { xmlMetadata: boolean }).xmlMetadata
: false,
},
subsetFonts: customSettings?.subsetFonts ?? preset.subsetFonts,
save: {
@@ -99,8 +102,8 @@ async function performCondenseCompression(
try {
const result = await pymupdf.compressPdf(fileBlob, options);
return result;
} catch (error: any) {
const errorMessage = error?.message || String(error);
} catch (error: unknown) {
const errorMessage = error instanceof Error ? error.message : String(error);
if (
errorMessage.includes('PatternType') ||
errorMessage.includes('pattern')
@@ -432,7 +435,7 @@ document.addEventListener('DOMContentLoaded', () => {
usedMethod = 'Condense';
// Check if fallback was used
if ((result as any).usedFallback) {
if ((result as { usedFallback?: boolean }).usedFallback) {
usedMethod +=
' (without image optimization due to unsupported patterns)';
}
@@ -551,12 +554,12 @@ document.addEventListener('DOMContentLoaded', () => {
);
}
}
} catch (e: any) {
} catch (e: unknown) {
hideLoader();
console.error('[CompressPDF] Error:', e);
showAlert(
'Error',
`An error occurred during compression. Error: ${e.message}`
`An error occurred during compression. Error: ${e instanceof Error ? e.message : String(e)}`
);
}
};