4个版本
0.2.0 | 2024年7月19日 |
---|---|
0.1.2 | 2024年7月3日 |
0.1.1 | 2024年7月3日 |
0.1.0 | 2024年6月29日 |
#28 in #serialize
每月210次下载
在 npsd 中使用
47KB
959 行
npsd
导出宏
此仓库提供了一组自定义导出宏,以简化 npsd
框架所需的特质的实现。这些宏自动生成各种有效负载处理任务(包括序列化、反序列化和有效负载转换)的样板代码。
可用的宏
#[derive(Info)]
生成 PayloadInfo
特质的实现,该特质提供有关有效负载类型的元数据。
#[derive(Schema)]
生成公共使用的有效负载处理特质(如 IntoPayload
、FromPayload
和 Payload
)的实现。
#[derive(Bitmap)]
生成具有最多8个字段的位图结构的有效负载处理特质的实现。
#[derive(AsyncSchema)]
生成公共使用的异步有效负载处理特质(如 AsyncIntoPayload
、AsyncFromPayload
和 AsyncPayload
)的异步实现。
#[derive(AsyncBitmap)]
生成具有最多8个字段的位图结构的异步有效负载处理特质的实现。
示例
以下是一个简单示例,演示如何使用 Schema
导出宏
use npsd::Schema;
#[derive(Schema)]
struct MyPayload {
id: u32,
name: String,
}
这将自动为 MyPayload
结构体生成必要的 IntoPayload
、FromPayload
和 Payload
特质的实现。
有关更详细的示例和用法,请参阅每个宏的文档。
贡献
欢迎贡献!如果您遇到任何问题或有改进建议,请随时提交拉取请求或打开一个问题。
许可
本项目采用Apache 2.0许可。
依赖
~245–690KB
~16K SLoC