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.
class
wasi.WASI
class WASI
- readonly wasiImport: Dict<any>
wasiImportis an object that implements the WASI system call API. This object should be passed as thewasi_snapshot_preview1import during the instantiation of aWebAssembly.Instance. - instance: object,): void;
Set up WASI host bindings to
instancewithout callinginitialize()orstart(). This method is useful when the WASI module is instantiated in child threads for sharing the memory across threads.finalizeBindings()requires that eitherinstanceexports aWebAssembly.Memorynamedmemoryor user specify aWebAssembly.Memoryobject inoptions.memory. If thememoryis invalid an exception is thrown.start()andinitialize()will callfinalizeBindings()internally. IffinalizeBindings()is called more than once, an exception is thrown. 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
unstablewas passed into the constructor it will return:{ wasi_unstable: wasi.wasiImport }If version
preview1was passed into the constructor or no version was specified it will return:{ wasi_snapshot_preview1: wasi.wasiImport }- instance: object): void;
Attempt to initialize
instanceas a WASI reactor by invoking its_initialize()export, if it is present. Ifinstancecontains a_start()export, then an exception is thrown.initialize()requires thatinstanceexports aWebAssembly.Memorynamedmemory. Ifinstancedoes not have amemoryexport an exception is thrown.If
initialize()is called more than once, an exception is thrown. - instance: object): number;
Attempt to begin execution of
instanceas a WASI command by invoking its_start()export. Ifinstancedoes not contain a_start()export, or ifinstancecontains an_initialize()export, then an exception is thrown.start()requires thatinstanceexports aWebAssembly.Memorynamedmemory. Ifinstancedoes not have amemoryexport an exception is thrown.If
start()is called more than once, an exception is thrown.