44 个版本 (3 个稳定版)
新 1.0.2 | 2024年8月21日 |
---|---|
1.0.1 | 2024年8月20日 |
0.0.41 | 2024年8月14日 |
0.0.36 | 2024年7月31日 |
0.0.7 | 2024年2月23日 |
#157 in WebAssembly
每月3,245次下载
用于 8 crates
395KB
8K SLoC
golem-wasm-rpc
定义了Golem远程函数调用的数据类型及其之间的转换。
WitValue
是WIT定义的泛型数据类型,可以表示任意值,由wit-bindgen
生成。- 为
WitValue
提供构建器和提取器API。 Value
是一个递归的Rust类型,比WitValue
更方便使用。在两个方向上实现了WitValue
和Value
之间的转换。- 用于描述值和类型的Protobuf消息类型,以及
WitValue
的protobuf版本,以及从Value
和WitValue
到它们的转换。 - WIT值的JSON表示,如Golem文档中定义。
Value
到wasmtime
值的转换。
JSON表示需要额外的类型信息,可以使用golem-wasm-ast crate提取。
主机和存根模式
golem-wasm-rpc
crate既可以用于主机环境,也可以用于客户环境。
编译主机版本
cargo build -p wasm-rpc --no-default-features --features host
编译客户版本,具有最小的依赖性和功能集,用于生成的存根。
cargo component build -p wasm-rpc --no-default-features --features stub
功能标志
arbitrary
为Value
添加了一个Arbitrary
实例。json
添加了将WIT值和类型定义映射到/从JSON的转换函数。protobuf
添加了protobuf消息类型。wasmtime
添加了到wasmtime
Val
值的转换。host
启用所有功能:arbitrary
、json
、protobuf
、typeinfo
和wasmtime
。stub
用于生成的WASM存根,禁用所有功能,并生成客户绑定而不是主机绑定。
依赖关系
~6–26MB
~392K SLoC