forked from external-repos/squoosh
Add WebP2 support
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
import { builtinDecode, sniffMimeType, canDecodeImageType } from '../lib/util';
|
||||
import Processor from './processor';
|
||||
|
||||
export async function decodeImage(blob: Blob, processor: Processor): Promise<ImageData> {
|
||||
export async function decodeImage(
|
||||
blob: Blob,
|
||||
processor: Processor,
|
||||
): Promise<ImageData> {
|
||||
const mimeType = await sniffMimeType(blob);
|
||||
const canDecode = await canDecodeImageType(mimeType);
|
||||
|
||||
try {
|
||||
if (!canDecode) {
|
||||
if (mimeType === 'image/webp2') return await processor.wp2Decode(blob);
|
||||
if (mimeType === 'image/avif') return await processor.avifDecode(blob);
|
||||
if (mimeType === 'image/webp') return await processor.webpDecode(blob);
|
||||
if (mimeType === 'image/jpegxl') return await processor.jxlDecode(blob);
|
||||
@@ -14,6 +18,6 @@ export async function decodeImage(blob: Blob, processor: Processor): Promise<Ima
|
||||
}
|
||||
return await builtinDecode(blob);
|
||||
} catch (err) {
|
||||
throw Error("Couldn't decode image");
|
||||
throw Error('Couldnt decode image');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user