forked from external-repos/squoosh
First attempt at Oxipng
This commit is contained in:
18
src/codecs/oxipng/encoder.ts
Normal file
18
src/codecs/oxipng/encoder.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import * as oxipng from '../../../codecs/oxipng/pkg/oxipng_manual';
|
||||
import { EncodeOptions } from './encoder-meta';
|
||||
|
||||
export async function compress(data: BufferSource, { level }: EncodeOptions): Promise<ArrayBuffer> {
|
||||
let buffer: ArrayBuffer;
|
||||
|
||||
if (ArrayBuffer.isView(data)) {
|
||||
buffer = data.buffer;
|
||||
} else {
|
||||
buffer = data;
|
||||
}
|
||||
debugger;
|
||||
const resultView = await oxipng.compress(new Uint8Array(buffer), level);
|
||||
const result = new Uint8Array(resultView);
|
||||
|
||||
// wasm can’t run on SharedArrayBuffers, so we hard-cast to ArrayBuffer.
|
||||
return result.buffer as ArrayBuffer;
|
||||
}
|
||||
Reference in New Issue
Block a user