GitHunt
JC

jcbhmr/go-wasi-io

๐Ÿ“‚ Centralized bindings to wasi:io interfaces

wasi:io bindings for Go

๐Ÿ“‚ Centralized bindings to wasi:io interfaces

.
โ””โ”€โ”€ internal/
    โ”œโ”€โ”€ octocat/
    โ”‚   โ””โ”€โ”€ my-app/
    โ”‚       โ””โ”€โ”€ my-interface/
    โ”‚           โ””โ”€โ”€ ...
    โ””โ”€โ”€ wasi/
        โ”œโ”€โ”€ io/ ๐Ÿ‘ˆ Replaces this folder
        โ”‚   โ”œโ”€โ”€ error/
        โ”‚   โ”‚   โ”œโ”€โ”€ empty.s
        โ”‚   โ”‚   โ”œโ”€โ”€ error.wasm.go
        โ”‚   โ”‚   โ””โ”€โ”€ error.wit.go
        โ”‚   โ”œโ”€โ”€ poll/
        โ”‚   โ”‚   โ”œโ”€โ”€ empty.s
        โ”‚   โ”‚   โ”œโ”€โ”€ poll.wasm.go
        โ”‚   โ”‚   โ””โ”€โ”€ poll.wit.go
        โ”‚   โ””โ”€โ”€ streams/
        โ”‚       โ”œโ”€โ”€ empty.s
        โ”‚       โ”œโ”€โ”€ streams.wasm.go
        โ”‚       โ””โ”€โ”€ streams.wit.go
        โ””โ”€โ”€ ...

โœ‚๏ธ Eliminate duplicate code; use a centralized pregenerated bindings package

Installation

Go

go get github.com/jcbhmr/go-wasi-io

โš ๏ธ The latest version is v0.2.7. You probably want v0.2.0. Use @v0.2.0 to select it.

go get github.com/jcbhmr/go-wasi-io@v0.2.0

Usage

Go
WebAssembly

//go:generate go tool wit-bindgen-go generate --out ./internal/ ./wit/
//go:generate rm -rf ./internal/wasi/io/
//go:generate go tool jet -g "*.go" "<your-package-root>/internal/wasi/io/" "github.com/jcbhmr/go-wasi-io/" ./internal/
{
    "go.buildTags": "wasip2"
}

Development

Go
WebAssembly

Languages

Go100.0%

Contributors

BSD Zero Clause License
Created August 14, 2025
Updated September 3, 2025