Skip to main content

WASI

class WASI

Deno compatibility

This symbol is a non-functional stub.

The WASI class provides the WASI system call API and additional convenience methods for working with WASI-based applications. Each WASI instance represents a distinct environment.

Constructors Jump to heading

new
Jump to headingWASI(options?: WASIOptions)

Properties Jump to heading

readonly
Jump to headingwasiImport: Dict<any>

wasiImport is an object that implements the WASI system call API. This object should be passed as the wasi_snapshot_preview1 import during the instantiation of a WebAssembly.Instance.

Return an import object that can be passed to WebAssembly.instantiate() if no other WASM imports are needed beyond those provided by WASI.

If version unstable was passed into the constructor it will return:

{ wasi_unstable: wasi.wasiImport }

If version preview1 was passed into the constructor or no version was specified it will return:

{ wasi_snapshot_preview1: wasi.wasiImport }
Jump to headinginitialize(instance: object): void

Attempt to initialize instance as a WASI reactor by invoking its _initialize() export, if it is present. If instance contains a _start() export, then an exception is thrown.

initialize() requires that instance exports a WebAssembly.Memory named memory. If instance does not have a memory export an exception is thrown.

If initialize() is called more than once, an exception is thrown.

Jump to headingstart(instance: object): number

Attempt to begin execution of instance as a WASI command by invoking its _start() export. If instance does not contain a _start() export, or if instance contains an _initialize() export, then an exception is thrown.

start() requires that instance exports a WebAssembly.Memory named memory. If instance does not have a memory export an exception is thrown.

If start() is called more than once, an exception is thrown.

Back to top