include_wit_macro

Crates.ioinclude_wit_macro
lib.rsinclude_wit_macro
version0.1.3
sourcesrc
created_at2023-08-30 15:40:23.460736
updated_at2024-02-11 17:15:19.3199
descriptionMacro implementation for embedding WIT data into application binaries.
homepage
repositoryhttps://github.com/DouglasDwyer/include_wit
max_upload_size
id959057
size6,093
Douglas Dwyer (DouglasDwyer)

documentation

README

include_wit

Crates.io Docs.rs Unsafe Forbidden

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.

Commit count: 7

cargo fmt