@@ -3,12 +3,11 @@ import type { WorkerErrorResponse, WorkerMessage, WorkerSuccessResponse } from '
33onmessage = async ( { data } : MessageEvent < WorkerMessage > ) => {
44 try {
55 const workerResult = await compressFileWorker ( data ) ;
6- const buffer = await workerResult . arrayBuffer ( ) ;
76 const transferObject : WorkerSuccessResponse = {
87 status : 'success' ,
9- data : buffer ,
8+ data : workerResult ,
109 } ;
11- postMessage ( transferObject , { transfer : [ transferObject . data ] } ) ;
10+ postMessage ( transferObject ) ;
1211 } catch ( error ) {
1312 const errorMessage = `Could not compress! ${ error instanceof Error ? error . message : '' } ` ;
1413 const transferObject : WorkerErrorResponse = {
@@ -21,15 +20,13 @@ onmessage = async ({ data }: MessageEvent<WorkerMessage>) => {
2120 }
2221} ;
2322
24- async function compressFileWorker ( { img : { width, height } , buffer , config } : WorkerMessage ) {
23+ async function compressFileWorker ( { img : { width, height } , file , config } : WorkerMessage ) {
2524 // Create an OffscreenCanvas
2625 const offscreenCanvas = new OffscreenCanvas ( width , height ) ;
2726 const ctx = offscreenCanvas . getContext ( '2d' ) ;
2827
29- const blob = new Blob ( [ buffer ] , { type : config . originalType } ) ;
30-
31- // Create an ImageBitmap from the blob
32- const imageBitmap = await createImageBitmap ( blob ) ;
28+ // Create an ImageBitmap from the file
29+ const imageBitmap = await createImageBitmap ( file ) ;
3330
3431 // Draw the ImageBitmap onto the OffscreenCanvas
3532 ctx ?. drawImage ( imageBitmap , 0 , 0 ) ;
0 commit comments