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

@@ -8,7 +8,7 @@ import {
import { icons, createIcons } from 'lucide';
import JSZip from 'jszip';
import { deduplicateFileName } from '../utils/deduplicate-filename.js';
import { LinearizePdfState } from '@/types';
import { LinearizePdfState, QpdfInstanceExtended } from '@/types';
const pageState: LinearizePdfState = {
files: [],
@@ -111,7 +111,7 @@ async function linearizePdf() {
const zip = new JSZip();
const usedNames = new Set<string>();
let qpdf: any;
let qpdf: QpdfInstanceExtended;
let successCount = 0;
let errorCount = 0;
@@ -150,7 +150,7 @@ async function linearizePdf() {
);
zip.file(zipEntryName, outputFile, { binary: true });
successCount++;
} catch (fileError: any) {
} catch (fileError: unknown) {
errorCount++;
console.error(`Failed to linearize ${file.name}:`, fileError);
} finally {
@@ -187,11 +187,11 @@ async function linearizePdf() {
showAlert('Processing Complete', alertMessage, 'success', () => {
resetState();
});
} catch (error: any) {
} catch (error: unknown) {
console.error('Linearization process error:', error);
showAlert(
'Linearization Failed',
`An error occurred: ${error.message || 'Unknown error'}.`
`An error occurred: ${error instanceof Error ? error.message : 'Unknown error'}.`
);
} finally {
if (loaderModal) loaderModal.classList.add('hidden');