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

@@ -160,9 +160,13 @@ function updateUI() {
}
}
function sanitizeImageAsJpeg(imageBytes: any) {
function sanitizeImageAsJpeg(imageBytes: Uint8Array | ArrayBuffer) {
return new Promise((resolve, reject) => {
const blob = new Blob([imageBytes]);
const blob = new Blob([
imageBytes instanceof Uint8Array
? new Uint8Array(imageBytes)
: imageBytes,
]);
const imageUrl = URL.createObjectURL(blob);
const img = new Image();
@@ -248,9 +252,9 @@ async function convertToPdf() {
showAlert('Success', 'PDF created successfully!', 'success', () => {
resetState();
});
} catch (e: any) {
} catch (e: unknown) {
console.error(e);
showAlert('Conversion Error', e.message);
showAlert('Conversion Error', e instanceof Error ? e.message : String(e));
} finally {
hideLoader();
}