@jsquash/webp
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -13,4 +13,4 @@ /** | ||
*/ | ||
export declare function init(module?: WebAssembly.Module): Promise<void>; | ||
export declare function init(module?: WebAssembly.Module, moduleOptionOverrides?: Partial<EmscriptenWasm.ModuleOpts>): Promise<void>; | ||
export default function decode(buffer: ArrayBuffer): Promise<ImageData>; | ||
//# sourceMappingURL=decode.d.ts.map |
@@ -16,4 +16,4 @@ /** | ||
let emscriptenModule; | ||
export async function init(module) { | ||
emscriptenModule = initEmscriptenModule(webp_dec, module); | ||
export async function init(module, moduleOptionOverrides) { | ||
emscriptenModule = initEmscriptenModule(webp_dec, module, moduleOptionOverrides); | ||
} | ||
@@ -20,0 +20,0 @@ export default async function decode(buffer) { |
@@ -21,4 +21,4 @@ /** | ||
import type { EncodeOptions } from './meta.js'; | ||
export declare function init(module?: WebAssembly.Module): Promise<WebPModule>; | ||
export declare function init(module?: WebAssembly.Module, moduleOptionOverrides?: Partial<EmscriptenWasm.ModuleOpts>): Promise<WebPModule>; | ||
export default function encode(data: ImageData, options?: Partial<EncodeOptions>): Promise<ArrayBuffer>; | ||
//# sourceMappingURL=encode.d.ts.map |
@@ -17,10 +17,10 @@ /** | ||
let emscriptenModule; | ||
export async function init(module) { | ||
export async function init(module, moduleOptionOverrides) { | ||
if (await simd()) { | ||
const webpEncoder = await import('./codec/enc/webp_enc_simd.js'); | ||
emscriptenModule = initEmscriptenModule(webpEncoder.default, module); | ||
emscriptenModule = initEmscriptenModule(webpEncoder.default, module, moduleOptionOverrides); | ||
return emscriptenModule; | ||
} | ||
const webpEncoder = await import('./codec/enc/webp_enc.js'); | ||
emscriptenModule = initEmscriptenModule(webpEncoder.default, module); | ||
emscriptenModule = initEmscriptenModule(webpEncoder.default, module, moduleOptionOverrides); | ||
return emscriptenModule; | ||
@@ -27,0 +27,0 @@ } |
{ | ||
"name": "@jsquash/webp", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"main": "index.js", | ||
@@ -24,3 +24,3 @@ "description": "Wasm webp encoder and decoder supporting the browser. Repackaged from Squoosh App.", | ||
"build:codec": "cd codec && npm run build", | ||
"build": "npm run clean && tsc && cp -r codec package.json README.md *.d.ts .npmignore dist", | ||
"build": "npm run clean && tsc && cp -r codec package.json README.md *.d.ts .npmignore ../../LICENSE dist", | ||
"prepublishOnly": "[[ \"$PWD\" == *'/dist' ]] && exit 0 || (echo 'Please run npm publish from the dist directory' && exit 1)" | ||
@@ -27,0 +27,0 @@ }, |
@@ -85,1 +85,17 @@ # @jsquash/webp | ||
``` | ||
You can also pass custom options to the `init` function to customise the behaviour of the module. See the [Emscripten documentation](https://emscripten.org/docs/api_reference/module.html#Module) for more information. | ||
```js | ||
import decode, { init as initWebpDecode } from '@jsquash/webp/decode'; | ||
initWebpDecode(null, { | ||
// Customise the path to load the wasm file | ||
locateFile: (path, prefix) => `https://example.com/${prefix}/${path}`, | ||
}); | ||
const image = await fetch('./image.webp').then(res => res.arrayBuffer()).then(decode); | ||
``` | ||
## Known Issues | ||
See [jSquash Project README](https://github.com/jamsinclair/jSquash#known-issues) |
@@ -16,3 +16,3 @@ /** | ||
*/ | ||
export declare function initEmscriptenModule<T extends EmscriptenWasm.Module>(moduleFactory: EmscriptenWasm.ModuleFactory<T>, wasmModule?: WebAssembly.Module): Promise<T>; | ||
export declare function initEmscriptenModule<T extends EmscriptenWasm.Module>(moduleFactory: EmscriptenWasm.ModuleFactory<T>, wasmModule?: WebAssembly.Module, moduleOptionOverrides?: Partial<EmscriptenWasm.ModuleOpts>): Promise<T>; | ||
//# sourceMappingURL=utils.d.ts.map |
@@ -16,3 +16,3 @@ /** | ||
*/ | ||
export function initEmscriptenModule(moduleFactory, wasmModule) { | ||
export function initEmscriptenModule(moduleFactory, wasmModule, moduleOptionOverrides = {}) { | ||
let instantiateWasm; | ||
@@ -30,3 +30,4 @@ if (wasmModule) { | ||
instantiateWasm, | ||
...moduleOptionOverrides, | ||
}); | ||
} |
836
101
910193