Crate include_wit
source ·Expand description
include_wit
allows for embedding wit_parser::Resolve
instances into an application binary.
It exposes a single macro which parses a WIT file or directory, and generates a WASM binary to include in
the source code. This WASM binary is then parsed at runtime upon first access.
§Usage
The following is a simple example of how to use include_wit
. The full example may be found in the examples folder.
// Embed the WIT folder into this application
let resolve = include_wit::include_wit!("wit");
// Print all interfaces in the resolve
for x in &resolve.interfaces {
println!("{x:?}");
}
§Optional features
relative_path (requires nightly) - Makes all included WIT paths relative to the file where the macro is invoked.
track_path (requires nightly) - Tracks the included WIT files for changes, causing recompilation automatically when they are edited.
Macros§
- Parses the provided WIT file or directory and produces a
Resolve
which may be queried at runtime.
Structs§
- A
Resolve
that has been embedded into a crate.