| title | Questions |
|---|---|
| section | AngleSharp.Wasm |
For a compact section-by-section status view, see Spec Coverage Matrix.
AngleSharp.Wasm currently targets .NET 8 and .NET 10.
Not yet. The current implementation covers a useful subset with emphasis on:
- Compiling and instantiating modules
- Reading module metadata (
exports,imports,customSections) - Invoking exported functions
- Registering host imports
Yes, when used with a scripting integration that discovers DOM-annotated members from registered assemblies.
The current bridge methods are synchronous from the caller perspective.
Exported memories, tables, and globals have usable object projections. Host-created and exported tags expose type().parameters, including metadata for re-exported imported tags. Host-created exceptions support is(tag) and getArg(tag, index). Memory, table, and global construction and imports are not yet exposed.
Wasmtime 44 does not expose native Tag or Exception handles or enable exception modules through its .NET API, so runtime-thrown Wasm exceptions are not yet projected through the default backend.
Either call:
instance.Invoke("exportName", args...)
or use the export wrapper:
((WasmJsExportedFunction)instance.Exports["exportName"]).Invoke(args...)
It returns all matching custom section payloads as byte[][].
Use WithWasmImports(...) with either:
- an
IWasmImportProvider, or - a delegate returning
IEnumerable<WasmImportFunction>.
Current numeric value kinds are supported:
i32i64f32f64
- No Promise-based
compile/instantiatebridge methods. - Streaming APIs buffer response bodies and return synchronously rather than returning promises.
- Wasmtime 44 cannot execute the
builtinsorimportedStringConstantscompile options; capable custom runtimes can implement them throughIWasmCompileOptionsCompiler. - Runtime-thrown Wasm exception interoperability is not yet available.
These limits are expected at this stage and can be expanded in future versions.