summaryrefslogtreecommitdiff
path: root/std/wasi/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'std/wasi/README.md')
-rw-r--r--std/wasi/README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/std/wasi/README.md b/std/wasi/README.md
new file mode 100644
index 000000000..27a7fdbef
--- /dev/null
+++ b/std/wasi/README.md
@@ -0,0 +1,42 @@
+# wasi
+
+This module provides an implementation of the WebAssembly System Interface
+
+## Supported Syscalls
+
+## Usage
+
+```typescript
+import WASI from "https://deno.land/std/wasi/snapshot_preview1.ts";
+
+const wasi = new WASI({
+ args: Deno.args,
+ env: Deno.env,
+});
+
+const binary = Deno.readAll("path/to/your/module.wasm");
+const module = await WebAssembly.compile(binary);
+const instance = await WebAssembly.instantiate(module, {
+ wasi_snapshot_preview1: wasi.exports,
+});
+
+wasi.memory = module.exports.memory;
+
+if (module.exports._start) {
+ instance.exports._start();
+} else if (module.exports._initialize) {
+ instance.exports._initialize();
+} else {
+ throw new Error("No entry point found");
+}
+```
+
+## Testing
+
+The test suite for this module spawns rustc processes to compile various example
+Rust programs. You must have wasm targets enabled:
+
+```
+rustup target add wasm32-wasi
+rustup target add wasm32-unknown-unknown
+```