1 个不稳定版本
0.1.1 | 2024 年 3 月 27 日 |
---|
#31 在 #capability-provider
140KB
2K SLoC
wasmcloud-provider-wit-bindgen
此存储库包含一个宏,帮助构建以二进制形式分发并使用 WIT(Wasmcloud 能力提供者),它适用于 WIT。
此存储库利用 wit-bindgen
生成接口和代码,但生成纯 Rust 代码(即非 wasm32-*
Rust 目标),可用于构建能力提供者二进制文件。
用法
此存储库可以类似于 wit-bindgen
使用,以下语法
wasmcloud_provider_wit_bindgen::generate!(
YourProvider,
"wasmcloud:contract",
"your-world"
);
/// Implementation that you will contribute
struct YourProvider;
impl Trait for YourProvider {
...
}
请注意,第二个参数之后的参数与 wit-bindgen
使用的选项类似,但生成的代码旨在在由 wasmcloud
主机管理的 Rust 二进制文件中使用。
例如,要构建 wasmCloud keyvalue WIT 接口的提供者
/// Generate bindings for a wasmCloud provider
wasmcloud_provider_wit_bindgen::generate!(
MyKeyvalueProvider,
"wasmcloud:keyvalue",
"keyvalue"
);
警告 您需要在您的crate根目录中拥有适当的WIT接口文件(例如
keyvalue.wit
),在<crate root>/wit/keyvalue.wit
注意,在生成适合您的WIT的绑定后,您必须
- 遵循编译器实现适当的特性
- 编写一个
main.rs
文件来正确设置您的提供者 - 在您的wasmCloud lattice上使用您的提供者的编译后的二进制文件
依赖项
~9.5MB
~161K SLoC