createWasiBin
Implementation signature for createWasiBin (overloads above are public).
Returns a closure-captured BinFunction that lazy-compiles the
.wasm on first invocation and memoizes the resulting WebAssembly.Module
so subsequent runs skip both asset loading and compilation.
Call Signature
Section titled “Call Signature”createWasiBin(
metaUrl,wasmFile,opts?):BinFunction
Defined in: packages/runtime/src/wasm/create-wasi-bin.ts:86
Build a BinFunction that runs a WASI (wasi_snapshot_preview1) program.
Overloads:
- Host-side — pass
import.meta.urland a path relative to it. Resolved vianode:fson Node,fetchin the browser. - Guest-side (registry) — pass an AssetResolver, which reads the
bundled
.wasmshipped alongside the package.
The compiled WebAssembly.Module is cached on first call, so subsequent
invocations skip compilation.
Parameters
Section titled “Parameters”metaUrl
Section titled “metaUrl”string
wasmFile
Section titled “wasmFile”string
CreateWasiBinOptions
Returns
Section titled “Returns”Examples
Section titled “Examples”// Host-sideexport const catBin = createWasiBin(import.meta.url, 'cat.wasm')// Guest-side (registry catalog entry)export default (resolver: AssetResolver) => ({ bins: { cat: createWasiBin(resolver, 'cat.wasm') },})Call Signature
Section titled “Call Signature”createWasiBin(
resolver,wasmFile,opts?):BinFunction
Defined in: packages/runtime/src/wasm/create-wasi-bin.ts:93
Guest-side overload — resolve the .wasm via an AssetResolver.
Parameters
Section titled “Parameters”resolver
Section titled “resolver”wasmFile
Section titled “wasmFile”string
CreateWasiBinOptions