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 committed 2026-03-31 17:59:49 +05:30
1 parent a1fc2fc3c6
commit 9d0b68e18c
114 files changed
+2576 -1867

No files matched your search

+2 -6
View File
@@ -7,7 +7,6 @@ import '../../css/bookmark.css';
import { initializeGlobalShortcuts } from '../utils/shortcuts-init.js';
import {
truncateFilename,
getPDFDocument,
formatBytes,
downloadFile,
escapeHtml,
@@ -46,7 +45,6 @@ let isPickingDestination = false;
let currentPickingCallback: DestinationCallback | null = null;
let destinationMarker: HTMLDivElement | null = null;
let savedModalOverlay: HTMLDivElement | null = null;
let savedModal: HTMLDivElement | null = null;
let currentViewport: PageViewport | null = null;
let currentZoom = 1.0;
const fileInput = document.getElementById(
@@ -463,7 +461,6 @@ class="w-full px-2 py-1 border border-gray-300 rounded text-sm text-gray-900" />
if (pickDestBtn) {
pickDestBtn.addEventListener('click', () => {
savedModalOverlay = overlay;
savedModal = modal;
overlay.style.display = 'none';
startDestinationPicking((page: number, pdfX: number, pdfY: number) => {
@@ -699,7 +696,6 @@ function cancelDestinationPicking(): void {
if (savedModalOverlay) {
savedModalOverlay.style.display = '';
savedModalOverlay = null;
savedModal = null;
}
}
@@ -1317,7 +1313,7 @@ jsonInput?.addEventListener('change', async (e: Event) => {
'JSON Loaded',
'Loaded bookmarks from JSON. Now upload your PDF.'
);
} catch (err) {
} catch {
await showAlertModal('Error', 'Invalid JSON format');
}
});
@@ -2018,7 +2014,7 @@ jsonImportHidden?.addEventListener('change', async (e: Event) => {
saveState();
renderBookmarkTree();
await showAlertModal('Success', 'Bookmarks imported from JSON!');
} catch (err) {
} catch {
await showAlertModal('Error', 'Invalid JSON format');
}