4 个版本

0.1.0 2022年2月4日
0.1.0-dev.22021年12月31日
0.1.0-dev.12021年12月29日
0.0.0-reserve.02021年12月24日

#1506编码

Download history 203/week @ 2024-03-13 156/week @ 2024-03-20 268/week @ 2024-03-27 157/week @ 2024-04-03 182/week @ 2024-04-10 157/week @ 2024-04-17 173/week @ 2024-04-24 132/week @ 2024-05-01 103/week @ 2024-05-08 141/week @ 2024-05-15 130/week @ 2024-05-22 139/week @ 2024-05-29 92/week @ 2024-06-05 121/week @ 2024-06-12 105/week @ 2024-06-19 83/week @ 2024-06-26

每月下载量413
17 个crate(7个直接)中使用

MIT/Apache

6KB
99

Transmog

Rust 的通用数据序列化工具。

Transmog forbids unsafe code crate version Live Build Status HTML Coverage Report for main branch Documentation for main branch

Rust 有一个充满活力的生态系统,其中包含许多序列化crate。许多crate通过 Serde 实现一组常见的trait,但其他crate可能不支持或选择不支持Serde。

然而,最终,大多数序列化格式都可以以通用方式交互。The Format trait 旨在成为任何可以序列化自 std::io::Read 并从 std::io::Write 反序列化的crate的通用序列化trait。

此项目状态

我们目前处于创建此生态系统的实验阶段。所有建设性的批评、格式请求和问题都欢迎在 Github Issues 上提出。我们希望将此crate作为在 BonsaiDb 中提供版本化数据支持的策略,以及为 Fabruic 提供可定制序列化支持的策略。

序列化格式支持

我们接受对任何适度稳定的序列化API的pull请求。

数据结构迁移工具

有时不可避免地需要进行破坏性更改。也许,你决定不同的格式更适合你的情况。或者,你对结构进行了大量的重构,serde 内置的属性不足以帮助。来拯救的是 transmog-versions

transmog-versions 包提供了 API,允许你将当前存储的数据视为“版本 0”,并提供处理每个版本数据的逻辑。

计划添加 derive 宏以删除更多样板代码。

futures::Stream 序列化/反序列化

transmog-async 包是 async-bincode 的分支,修改后支持 Format 特性。

开源许可

该项目,如同 Khonsu Labs 的所有项目一样,是开源的。此存储库可在 MIT 许可证Apache 许可证 2.0 下使用。

要了解更多关于贡献的信息,请参阅 CONTRIBUTING.md

无运行时依赖

特性