/go-wasi-random

🔢 Centralized bindings to wasi:random interfaces

Primary LanguageGoBSD Zero Clause License0BSD

wasi:random bindings for Go

🔢 Centralized bindings to wasi:random interfaces

.
└── internal/
    ├── octocat/
    │   └── my-app/
    │       └── my-interface/
    │           └── ...
    └── wasi/
        ├── random/ 👈 Replaces this folder
        │   ├── insecure/
        │   │   ├── insecure.s
        │   │   ├── insecure.wasm.go
        │   │   └── insecure.wit.go
        │   ├── insecure-seed/
        │   │   ├── insecure-seed.s
        │   │   ├── insecure-seed.wasm.go
        │   │   └── insecure-seed.wit.go
        │   └── random/
        │       ├── random.s
        │       ├── random.wasm.go
        │       └── random.wit.go
        └── ...

✂️ Use a centralized pregenerated bindings package to avoid regenerating the same bindings

Installation

Go

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

⚠️ 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-random@v0.2.0

Usage

Go WebAssembly

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

Development

Go WebAssembly