3个版本 (稳定)
1.1.0 | 2022年3月6日 |
---|---|
1.0.0 | 2022年2月1日 |
0.1.0 | 2022年1月2日 |
#87 在 #bus
每月165次下载
在 13 个crate中使用(通过 wasm-bus)
74KB
1.5K SLoC
WASM总线宏
有用的宏,使导出和导入API更加容易。
示例API
以下是如何为特定API生成辅助类和序列化对象的简单示例
use wasm_bus::macros::*;
#[wasm_bus(format = "json")]
pub trait Time {
async fn sleep(&self, duration_ms: u128);
}
相对对象
还可以生成一系列带有特定上下文的子API
use serde::*;
use std::sync::Arc;
use wasm_bus::macros::*;
#[wasm_bus(format = "bincode")]
pub trait SocketBuilder {
async fn connect(
&self,
url: String,
state_change: impl Fn(SocketState),
receive: impl Fn(Vec<u8>),
) -> Arc<dyn WebSocket>;
}
#[wasm_bus(format = "bincode")]
pub trait WebSocket {
async fn send(&self, data: Vec<u8>) -> SendResult;
}
测试
您可以将WASI程序上传到wapm.io,然后在Tokera Shell中进行测试。
依赖项
~0.5–1MB
~24K SLoC