Skip to content

Commit

Permalink
fix #4 update how error is defined and handled
Browse files Browse the repository at this point in the history
  • Loading branch information
jichang committed Sep 2, 2024
1 parent 21ed330 commit 785511c
Show file tree
Hide file tree
Showing 41 changed files with 871 additions and 748 deletions.
7 changes: 4 additions & 3 deletions packages/engines/demo/main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import {
ConsoleLogger,
ignore,
PdfDocumentObject,
TaskBase,
PdfEngineError,
PdfTaskHelper,
} from '@unionpdf/models';
import { WebWorkerEngine } from '../src/index';
import pdfiumWasm from 'url:@unionpdf/pdfium/pdfium.wasm';
Expand All @@ -24,7 +25,7 @@ async function readFile(file: File): Promise<ArrayBuffer> {
});
}

function logError(error: Error) {
function logError(error: PdfEngineError) {
console.error(error);
}

Expand All @@ -50,7 +51,7 @@ async function run() {
inputElem?.addEventListener('input', async (evt) => {
const closeTask = currDoc
? engine.closeDocument(currDoc)
: TaskBase.resolve(true);
: PdfTaskHelper.resolve(true);
currDoc = null;

closeTask.wait(async () => {
Expand Down
54 changes: 27 additions & 27 deletions packages/engines/src/mock/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {
swap,
PdfZoomMode,
PdfActionType,
TaskBase,
PdfAnnotationObject,
PdfBookmarkObject,
PdfTextRectObject,
Expand All @@ -22,6 +21,7 @@ import {
PdfAnnotationObjectStatus,
PdfWidgetAnnoObject,
FormFieldValue,
PdfTaskHelper,
} from '@unionpdf/models';

/**
Expand All @@ -36,10 +36,10 @@ export function createMockPdfEngine(
): PdfEngine {
const engine: PdfEngine = {
openDocument: jest.fn((file: PdfFile, password: string) => {
return new TaskBase();
return PdfTaskHelper.create();
}),
getMetadata: () => {
return TaskBase.resolve({
return PdfTaskHelper.resolve({
title: 'title',
author: 'author',
subject: 'subject',
Expand All @@ -52,7 +52,7 @@ export function createMockPdfEngine(
},
getSignatures: (doc: PdfDocumentObject) => {
const signatures: PdfSignatureObject[] = [];
return TaskBase.resolve(signatures);
return PdfTaskHelper.resolve(signatures);
},
getBookmarks: (doc: PdfDocumentObject) => {
const bookmarks: PdfBookmarkObject[] = [];
Expand Down Expand Up @@ -99,7 +99,7 @@ export function createMockPdfEngine(
],
},
);
return TaskBase.resolve({
return PdfTaskHelper.resolve({
bookmarks,
});
},
Expand Down Expand Up @@ -129,7 +129,7 @@ export function createMockPdfEngine(
array[i * 4 + 3] = alphaValue;
}

return TaskBase.resolve(
return PdfTaskHelper.resolve(
new ImageData(array, imageSize.width, imageSize.height),
);
},
Expand Down Expand Up @@ -161,7 +161,7 @@ export function createMockPdfEngine(
array[i * 4 + 3] = alphaValue;
}

return TaskBase.resolve(
return PdfTaskHelper.resolve(
new ImageData(array, imageSize.width, imageSize.height),
);
},
Expand All @@ -181,7 +181,7 @@ export function createMockPdfEngine(
array[i * 4 + 3] = alphaValue;
}

return TaskBase.resolve(
return PdfTaskHelper.resolve(
new ImageData(array, thumbnailWidth, thumbnailHeight),
);
}),
Expand Down Expand Up @@ -221,17 +221,17 @@ export function createMockPdfEngine(
};
const annotations: PdfAnnotationObject[] = [];
annotations.push(link);
return TaskBase.resolve(annotations);
return PdfTaskHelper.resolve(annotations);
},
),
createPageAnnotation: jest.fn(() => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
}),
transformPageAnnotation: () => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
},
removePageAnnotation: jest.fn(() => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
}),
getPageTextRects: jest.fn(
(
Expand Down Expand Up @@ -259,72 +259,72 @@ export function createMockPdfEngine(
},
},
];
return TaskBase.resolve(textRects);
return PdfTaskHelper.resolve(textRects);
},
),
closeDocument: (pdf: PdfDocumentObject) => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
},
saveAsCopy: (pdf: PdfDocumentObject) => {
return TaskBase.resolve(new ArrayBuffer(0));
return PdfTaskHelper.resolve(new ArrayBuffer(0));
},
extractPages: (pdf: PdfDocumentObject, pageIndexes: number[]) => {
return TaskBase.resolve(new ArrayBuffer(0));
return PdfTaskHelper.resolve(new ArrayBuffer(0));
},
extractText: (pdf: PdfDocumentObject, pageIndexes: number[]) => {
return TaskBase.resolve('');
return PdfTaskHelper.resolve('');
},
merge: (files: PdfFile[]) => {
return TaskBase.resolve({
return PdfTaskHelper.resolve({
id: 'id',
name: 'name',
content: new ArrayBuffer(0),
});
},
startSearch: (doc: PdfDocumentObject, contextId: number) => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
},
searchNext: (
doc: PdfDocumentObject,
contextId: number,
target: SearchTarget,
) => {
return TaskBase.resolve<SearchResult | undefined>({
return PdfTaskHelper.resolve({
pageIndex: 0,
charIndex: 0,
charCount: 1,
});
} as SearchResult | undefined);
},
searchPrev: (
doc: PdfDocumentObject,
contextId: number,
target: SearchTarget,
) => {
return TaskBase.resolve<SearchResult | undefined>({
return PdfTaskHelper.resolve({
pageIndex: 0,
charIndex: 0,
charCount: 1,
});
} as SearchResult | undefined);
},
stopSearch: (doc: PdfDocumentObject, contextId: number) => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
},
getAttachments: (doc: PdfDocumentObject) => {
return TaskBase.resolve([] as PdfAttachmentObject[]);
return PdfTaskHelper.resolve([] as PdfAttachmentObject[]);
},
readAttachmentContent: (
doc: PdfDocumentObject,
attachment: PdfAttachmentObject,
) => {
return TaskBase.resolve(new ArrayBuffer(0));
return PdfTaskHelper.resolve(new ArrayBuffer(0));
},
setFormFieldValue: (
doc: PdfDocumentObject,
page: PdfPageObject,
annotation: PdfWidgetAnnoObject,
text: FormFieldValue,
) => {
return TaskBase.resolve(true);
return PdfTaskHelper.resolve(true);
},
...partialEngine,
};
Expand Down
Loading

0 comments on commit 785511c

Please sign in to comment.