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

@@ -6,13 +6,11 @@ import '@phosphor-icons/web/regular';
import * as pdfjsLib from 'pdfjs-dist';
import '../css/styles.css';
import { formatShortcutDisplay, formatStars } from './utils/helpers.js';
import { APP_VERSION } from '../version.js';
import {
initI18n,
applyTranslations,
rewriteLinks,
injectLanguageSwitcher,
createLanguageSwitcher,
t,
} from './i18n/index.js';
import {
@@ -501,7 +499,7 @@ const init = async () => {
}
});
dom.toolGrid.addEventListener('click', (e) => {
dom.toolGrid.addEventListener('click', () => {
// All tools now use href and navigate directly - no modal handling needed
});
}
@@ -889,7 +887,7 @@ const init = async () => {
});
}
function getToolId(tool: any): string {
function getToolId(tool: { id?: string; href?: string }): string {
if (tool.id) return tool.id;
if (tool.href) {
const match = tool.href.match(/\/([^/]+)\.html$/);