wabt.js is a port of WABT to the Web, allowing you to manipulate WebAssembly modules using a JavaScript API.
$> npm install wabt
var wabt = require("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
$> npm install wabt@nightly
or you can use one of the previous versions instead if necessary.
-
parseWast(filename:
string
, buffer:string | Uint8Array
):WasmModule
Parses a wast source to a module. -
readWasm(buffer:
Uint8Array
, options:ReadWasmOptions
):WasmModule
Reads a wasm binaryen to a module. -
WasmModule
A class representing a WebAssembly module.- generateNames():
void
Generates textual names for function types, globals, labels etc. - applyNames():
void
Applies textual names. - toText(options:
ToTextOptions
):string
Converts the module to wast text format. - toBinary(options:
ToBinaryOptions
):ToBinaryResult
Converts the module to a wasm binary. - destroy():
void
Disposes the module and frees its resources.
- generateNames():
-
ReadWasmOptions
Options modifying the behavior ofreadWasm
.- readDebugNames:
boolean
Reads textual names from the name section.
- readDebugNames:
-
ToTextOptions
Options modifying the behavior ofWasmModule#toText
.- foldExprs:
boolean
- inlineExport:
boolean
- foldExprs:
-
ToBinaryOptions
Options modifying the behavior ofWasmModule#toBinary
.- log:
boolean
- canonicalize_lebs:
boolean
- relocatable:
boolean
- write_debug_names:
boolean
- log:
-
ToBinaryResult
Result object ofWasmModule#toBinary
.-
buffer:
Uint8Array
The wasm binary buffer. -
log:
string
Generated log output.
-