Convert the parsed env.* import descriptors into concrete
WebAssembly.Memory / WebAssembly.Table instances, honouring any
host overrides on the context. Either result may be undefined when
the binary doesn't import the corresponding entry (preview1-style
binaries that export their own memory, for example).
Start a WASIX command.
See: https://github.com/WebAssembly/WASI/blob/main/legacy/application-abi.md
StaticstartStart a WASIX command.
Buffers the module bytes so we can parse the import section
ourselves: WebAssembly.Module.imports(module) returns only the
{ module, name, kind } triple — descriptors (memory limits,
shared flag, table element type) are not in the standard surface.
We need those to construct a matching WebAssembly.Memory /
WebAssembly.Table for env.memory / env.__indirect_function_table,
so the parse runs over the raw bytes before compile.
WASIX runtime for the browser.
Sibling of WASI (not a subclass). Composes a WASI instance internally to service wasi_snapshot_preview1 and wasi_unstable imports. Filesystem syscalls route through a
FileSystemProvider; clock and random go through their respective providers. Memory marshalling lives in this class — providers only ever see decoded JS-native values.Usage mirrors WASI.start():
const result = await WASIX.start(fetch('/bin/hello.wasm'), new WASIXContext({ … }));