initialise-wasm
A small utility function to load small bits of wasm into your js programs. Supports loading asynchronously, with a promise, or loading scynchronously.
This does not support streaming loading as it is directly aimed at small WASM library usage.
Sweet!
Installation
npm i initialise-wasm
Usage
To use this, require it, and call it with a valid wasm buffer object, with the overrides you want to provide. It will provide you with the WASM instance that is created.
In the following examples, the wasm that gets loaded exports a function add_one
which you can call from your javascript.
To load your wasm with a promise, do the following:
const loader =
Of course, this works with async/await:
const loader = { const exports: exportedFuncs = await const answer = exportedFuncs}
To instantiate with a callback, set the promise
option to false
and provide a callback:
const loader =
To instantiate synchronously, set the promise
option to false
and provide no callback:
const loader = const exports: exportedFuncs = const answer = exportedFuncs
You can additionally pass WebAssembly options to the instantiated module by using the importObject option:
const loader = { const memory = initial:10 maximum:100; const exports: exportedFuncs = await const answer = exportedFuncs // you can use memory funcs declared here for wasm module if desired: // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory}
License
MIT