@@ -247,128 +247,147 @@ export class EngineRunner {
247247 let task : PdfEngineMethodReturnType < typeof name > ;
248248 switch ( name ) {
249249 case 'isSupport' :
250- task = this . engine [ name ] ! ( ...args ) ;
250+ task = engine . isSupport ! ( ...args ) ;
251251 break ;
252252 case 'destroy' :
253- task = this . engine [ name ] ! ( ...args ) ;
253+ task = engine . destroy ! ( ...args ) ;
254254 break ;
255255 case 'openDocumentUrl' :
256- task = this . engine [ name ] ! ( ...args ) ;
256+ task = engine . openDocumentUrl ! ( ...args ) ;
257257 break ;
258258 case 'openDocumentBuffer' :
259- task = this . engine [ name ] ! ( ...args ) ;
259+ task = engine . openDocumentBuffer ! ( ...args ) ;
260260 break ;
261261 case 'getDocPermissions' :
262- task = this . engine [ name ] ! ( ...args ) ;
262+ task = engine . getDocPermissions ! ( ...args ) ;
263263 break ;
264264 case 'getDocUserPermissions' :
265- task = this . engine [ name ] ! ( ...args ) ;
265+ task = engine . getDocUserPermissions ! ( ...args ) ;
266266 break ;
267267 case 'getMetadata' :
268- task = this . engine [ name ] ! ( ...args ) ;
268+ task = engine . getMetadata ! ( ...args ) ;
269269 break ;
270270 case 'setMetadata' :
271- task = this . engine [ name ] ! ( ...args ) ;
271+ task = engine . setMetadata ! ( ...args ) ;
272272 break ;
273273 case 'getBookmarks' :
274- task = this . engine [ name ] ! ( ...args ) ;
274+ task = engine . getBookmarks ! ( ...args ) ;
275275 break ;
276276 case 'setBookmarks' :
277- task = this . engine [ name ] ! ( ...args ) ;
277+ task = engine . setBookmarks ! ( ...args ) ;
278278 break ;
279279 case 'deleteBookmarks' :
280- task = this . engine [ name ] ! ( ...args ) ;
280+ task = engine . deleteBookmarks ! ( ...args ) ;
281281 break ;
282282 case 'getSignatures' :
283- task = this . engine [ name ] ! ( ...args ) ;
283+ task = engine . getSignatures ! ( ...args ) ;
284284 break ;
285285 case 'renderPage' :
286- task = this . engine [ name ] ! ( ...args ) ;
286+ task = engine . renderPage ! ( ...args ) ;
287287 break ;
288288 case 'renderPageRect' :
289- task = this . engine [ name ] ! ( ...args ) ;
289+ task = engine . renderPageRect ! ( ...args ) ;
290290 break ;
291291 case 'renderPageAnnotation' :
292- task = this . engine [ name ] ! ( ...args ) ;
292+ task = engine . renderPageAnnotation ! ( ...args ) ;
293293 break ;
294294 case 'renderThumbnail' :
295- task = this . engine [ name ] ! ( ...args ) ;
295+ task = engine . renderThumbnail ! ( ...args ) ;
296296 break ;
297297 case 'getAllAnnotations' :
298- task = this . engine [ name ] ! ( ...args ) ;
298+ task = engine . getAllAnnotations ! ( ...args ) ;
299299 break ;
300300 case 'getPageAnnotations' :
301- task = this . engine [ name ] ! ( ...args ) ;
301+ task = engine . getPageAnnotations ! ( ...args ) ;
302302 break ;
303303 case 'createPageAnnotation' :
304- task = this . engine [ name ] ! ( ...args ) ;
304+ task = engine . createPageAnnotation ! ( ...args ) ;
305305 break ;
306306 case 'updatePageAnnotation' :
307- task = this . engine [ name ] ! ( ...args ) ;
307+ task = engine . updatePageAnnotation ! ( ...args ) ;
308308 break ;
309309 case 'removePageAnnotation' :
310- task = this . engine [ name ] ! ( ...args ) ;
310+ task = engine . removePageAnnotation ! ( ...args ) ;
311311 break ;
312312 case 'getPageTextRects' :
313- task = this . engine [ name ] ! ( ...args ) ;
313+ task = engine . getPageTextRects ! ( ...args ) ;
314314 break ;
315315 case 'searchAllPages' :
316- task = this . engine [ name ] ! ( ...args ) ;
316+ task = engine . searchAllPages ! ( ...args ) ;
317317 break ;
318318 case 'closeDocument' :
319- task = this . engine [ name ] ! ( ...args ) ;
319+ task = engine . closeDocument ! ( ...args ) ;
320320 break ;
321321 case 'closeAllDocuments' :
322- task = this . engine [ name ] ! ( ...args ) ;
322+ task = engine . closeAllDocuments ! ( ...args ) ;
323323 break ;
324324 case 'saveAsCopy' :
325- task = this . engine [ name ] ! ( ...args ) ;
325+ task = engine . saveAsCopy ! ( ...args ) ;
326326 break ;
327327 case 'getAttachments' :
328- task = this . engine [ name ] ! ( ...args ) ;
328+ task = engine . getAttachments ! ( ...args ) ;
329329 break ;
330330 case 'addAttachment' :
331- task = this . engine [ name ] ! ( ...args ) ;
331+ task = engine . addAttachment ! ( ...args ) ;
332332 break ;
333333 case 'removeAttachment' :
334- task = this . engine [ name ] ! ( ...args ) ;
334+ task = engine . removeAttachment ! ( ...args ) ;
335335 break ;
336336 case 'readAttachmentContent' :
337- task = this . engine [ name ] ! ( ...args ) ;
337+ task = engine . readAttachmentContent ! ( ...args ) ;
338338 break ;
339339 case 'setFormFieldValue' :
340- task = this . engine [ name ] ! ( ...args ) ;
340+ task = engine . setFormFieldValue ! ( ...args ) ;
341341 break ;
342342 case 'flattenPage' :
343- task = this . engine [ name ] ! ( ...args ) ;
343+ task = engine . flattenPage ! ( ...args ) ;
344344 break ;
345345 case 'extractPages' :
346- task = this . engine [ name ] ! ( ...args ) ;
346+ task = engine . extractPages ! ( ...args ) ;
347347 break ;
348348 case 'extractText' :
349- task = this . engine [ name ] ! ( ...args ) ;
349+ task = engine . extractText ! ( ...args ) ;
350350 break ;
351351 case 'redactTextInRects' :
352- task = this . engine [ name ] ! ( ...args ) ;
352+ task = engine . redactTextInRects ! ( ...args ) ;
353353 break ;
354354 case 'getTextSlices' :
355- task = this . engine [ name ] ! ( ...args ) ;
355+ task = engine . getTextSlices ! ( ...args ) ;
356356 break ;
357357 case 'getPageGlyphs' :
358- task = this . engine [ name ] ! ( ...args ) ;
358+ task = engine . getPageGlyphs ! ( ...args ) ;
359359 break ;
360360 case 'getPageGeometry' :
361- task = this . engine [ name ] ! ( ...args ) ;
361+ task = engine . getPageGeometry ! ( ...args ) ;
362362 break ;
363363 case 'merge' :
364- task = this . engine [ name ] ! ( ...args ) ;
364+ task = engine . merge ! ( ...args ) ;
365365 break ;
366366 case 'mergePages' :
367- task = this . engine [ name ] ! ( ...args ) ;
367+ task = engine . mergePages ! ( ...args ) ;
368368 break ;
369369 case 'preparePrintDocument' :
370- task = this . engine [ name ] ! ( ...args ) ;
371- break ;
370+ task = engine . preparePrintDocument ! ( ...args ) ;
371+ break ;
372+ default :
373+ // This should never be reached due to the earlier check, but provides exhaustiveness
374+ const error : PdfEngineError = {
375+ type : 'reject' ,
376+ reason : {
377+ code : PdfErrorCode . NotSupport ,
378+ message : `engine method ${ name } is not supported` ,
379+ } ,
380+ } ;
381+ const response : ExecuteResponse = {
382+ id : request . id ,
383+ type : 'ExecuteResponse' ,
384+ data : {
385+ type : 'error' ,
386+ value : error ,
387+ } ,
388+ } ;
389+ this . respond ( response ) ;
390+ return ;
372391 }
373392
374393 task . onProgress ( ( progress ) => {
0 commit comments