README
wabt.js
wabt.js is a port of WABT to the Web, allowing you to manipulate WebAssembly modules using a JavaScript API.
Usage
JavaScript version of WABT, The WebAssembly Binary Toolkit.
<script type="module">
import wabt from 'https://cdn.skypack.dev/wabt';
</script>
wabt.js is a port of WABT to the Web, allowing you to manipulate WebAssembly modules using a JavaScript API.
gt; npm install wabt
require("wabt")().then(wabt => {
var wasm = ...; // a buffer holding the contents of a wasm file
var myModule = wabt.readWasm(wasm, { readDebugNames: true });
myModule.applyNames();
var wast = myModule.toText({ foldExprs: false, inlineExport: false });
console.log(wast);
});
The buildbot also publishes nightly versions once a day if there have been changes. The latest nightly can be installed through
gt; npm install --save-exact wabt@nightly
or you can use one of the previous versions instead if necessary. Note the --save-exact
when using a nightly.
https://cdn.jsdelivr.net/gh/AssemblyScript/wabt.js@VERSION/index.js
https://cdn.jsdelivr.net/npm/wabt@VERSION/index.js
https://unpkg.com/wabt@VERSION/index.js
Replace VERSION
with a specific version or omit it (not recommended in production) to use main/latest.
parseWat(filename: string
, buffer: string | Uint8Array
, options?: WasmFeatures
): WasmModule
Parses a WebAssembly text format source to a module.
readWasm(buffer: Uint8Array
, options: ReadWasmOptions & WasmFeatures
): WasmModule
Reads a WebAssembly binary to a module.
WasmModule
A class representing a WebAssembly module.
void
void
void
void
ToTextOptions
): string
ToBinaryOptions
): ToBinaryResult
void
ReadWasmOptions
Options modifying the behavior of readWasm
.
boolean
ToTextOptions
Options modifying the behavior of WasmModule#toText
.
boolean
boolean
ToBinaryOptions
Options modifying the behavior of WasmModule#toBinary
.
boolean
boolean
boolean
boolean
ToBinaryResult
Result object of WasmModule#toBinary
.
Uint8Array
string
WasmFeatures
Post-MVP WebAssembly features to legalize.
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
Node.js ports of the following command line tools are included in the package as well:
The tools can also be run ad hoc (without explicitly installing the package), for example with:
gt; npx -p wabt wasm2wat myModule.wasm -o myModule.wat