#cbor #serde #no-std #rust

无std serde-indexed

通过数值索引替换结构体键的Serialize和Deserialize的推导

6个版本

0.1.1 2024年6月19日
0.1.0 2021年1月31日
0.0.4 2020年3月27日
0.0.2 2020年1月12日

#2365 in 编码

Download history 27/week @ 2024-04-27 30/week @ 2024-05-04 39/week @ 2024-05-11 34/week @ 2024-05-18 54/week @ 2024-05-25 72/week @ 2024-06-01 23/week @ 2024-06-08 222/week @ 2024-06-15 356/week @ 2024-06-22 97/week @ 2024-06-29 78/week @ 2024-07-06 93/week @ 2024-07-13 118/week @ 2024-07-20 222/week @ 2024-07-27 74/week @ 2024-08-03 130/week @ 2024-08-10

560 monthly downloads
用于 6 个crates (3 直接)

Apache-2.0 OR MIT

18KB
305

serde-indexed

crates.io Documentation

通过数值索引替换结构体键的SerializeDeserialize的推导。

主要用例是处理CTAP CBOR消息,特别是对

示例

#[derive(Clone, Debug, PartialEq, SerializeIndexed, DeserializeIndexed)]
#[serde_indexed(offset = 1)]
pub struct SomeKeys {
    pub number: i32,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub option: Option<u8>,
    pub bytes: [u8; 7],
}

这是一个学习proc-macros的好机会,我大致遵循了serde-repr

要查看一些生成的代码,运行cargo expand --test basics

许可证

serde-indexed采用Apache License, Version 2.0或MIT License中的一个,供您选择。
除非您明确表示,否则根据Apache-2.0许可证的定义,您有意提交的任何贡献,都将按照上述方式双许可,而无需任何额外条款或条件。

依赖项

~285–740KB
~18K SLoC