refactor(pdf-viewer): export LibLoader type and update callers
Exporting LibLoader gives the type a stable, named identity. PdfViewer.svelte and PdfViewer.svelte.spec.ts now import it directly instead of using Parameters<typeof createPdfRenderer>[0]. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { onMount, setContext, untrack } from 'svelte';
|
||||
import { createPdfRenderer } from '$lib/document/viewer/usePdfRenderer.svelte';
|
||||
import { createPdfRenderer, type LibLoader } from '$lib/document/viewer/usePdfRenderer.svelte';
|
||||
import PdfControls from './PdfControls.svelte';
|
||||
import AnnotationLayer from '$lib/document/annotation/AnnotationLayer.svelte';
|
||||
import type { Annotation } from '$lib/shared/types';
|
||||
@@ -36,7 +36,7 @@ let {
|
||||
documentFileHash?: string | null;
|
||||
annotationsDimmed?: boolean;
|
||||
flashAnnotationId?: string | null;
|
||||
libLoader?: Parameters<typeof createPdfRenderer>[0];
|
||||
libLoader?: LibLoader;
|
||||
} = $props();
|
||||
|
||||
const renderer = untrack(() => createPdfRenderer(libLoader));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { vi, describe, it, expect, afterEach } from 'vitest';
|
||||
import { cleanup, render } from 'vitest-browser-svelte';
|
||||
import { page } from 'vitest/browser';
|
||||
import type { createPdfRenderer } from '$lib/document/viewer/usePdfRenderer.svelte';
|
||||
import type { LibLoader } from '$lib/document/viewer/usePdfRenderer.svelte';
|
||||
import PdfViewer from './PdfViewer.svelte';
|
||||
|
||||
afterEach(cleanup);
|
||||
@@ -28,7 +28,7 @@ function makeFakePdfjsLib() {
|
||||
} as unknown as typeof import('pdfjs-dist');
|
||||
}
|
||||
|
||||
function makeFakeLibLoader(): Parameters<typeof createPdfRenderer>[0] {
|
||||
function makeFakeLibLoader(): LibLoader {
|
||||
const fakePdfjs = makeFakePdfjsLib();
|
||||
return vi.fn().mockResolvedValue([fakePdfjs, { default: '' }] as const);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { PDFDocumentProxy, RenderTask } from 'pdfjs-dist';
|
||||
|
||||
type LibLoader = () => Promise<readonly [typeof import('pdfjs-dist'), { default: string }]>;
|
||||
export type LibLoader = () => Promise<readonly [typeof import('pdfjs-dist'), { default: string }]>;
|
||||
|
||||
const defaultLibLoader: LibLoader = () =>
|
||||
Promise.all([import('pdfjs-dist'), import('pdfjs-dist/build/pdf.worker.min.mjs?url')]);
|
||||
|
||||
Reference in New Issue
Block a user