#shim #bitflags #serde

no-std bitflags_serde_shim

社区驱动的Serde适配器

5个版本

使用旧Rust 2015

0.2.5 2024年3月1日
0.2.4 2023年1月1日
0.2.2 2019年12月19日
0.2.1 2018年11月22日

240编码

Download history 598/week @ 2024-03-13 551/week @ 2024-03-20 603/week @ 2024-03-27 594/week @ 2024-04-03 523/week @ 2024-04-10 453/week @ 2024-04-17 458/week @ 2024-04-24 372/week @ 2024-05-01 529/week @ 2024-05-08 426/week @ 2024-05-15 398/week @ 2024-05-22 344/week @ 2024-05-29 314/week @ 2024-06-05 426/week @ 2024-06-12 406/week @ 2024-06-19 352/week @ 2024-06-26

1,568 每月下载量
22 个crate中使用 (6 直接使用)

MIT 许可证

8KB
55

serde_shims 构建状态

社区驱动的Serde适配器

文档

许多crate倾向于避免原生提供Serde集成,因为这可能会在未来变得不稳定,维护起来很烦人,或者如果有Serde竞争对手在Rust序列化世界中,可能会抑制创新。

然而,追踪我自己项目中成百上千行自定义适配器函数已经证明和直接将这些功能添加到这些crate中一样令人沮丧。无法在二进制或库之间共享代码尤其痛苦。

因此,作为一个折衷方案,我提出这个crate作为为没有原生Serde实现的crate提供serialize_with/deserialize_with函数或实现宏的方式。

要启用这些适配器,只需将crate添加到你的Cargo.toml

[dependencies]
bitflags_serde_shim = "0.2"
enum_primitive_serde_shim = "0.2"
mime_serde_shim = "0.2"
std_serde_shims = "0.2"

或使用元crate的遗留功能基于导入

[dependencies]
serde_shims = { version = "0.2", features = ["std", "mime"] }

如果你想要为某个crate创建Serde适配器,或者想要贡献你自己的,请随时提交issue或pull request!

依赖

~110–350KB