7个版本

0.1.6 2024年5月28日
0.1.5 2023年9月22日
0.1.4 2023年4月13日
0.1.3 2022年10月28日
0.1.0 2022年1月31日

244编码分类中

Download history • Rust 包仓库 772/week @ 2024-04-25 • Rust 包仓库 730/week @ 2024-05-02 • Rust 包仓库 631/week @ 2024-05-09 • Rust 包仓库 578/week @ 2024-05-16 • Rust 包仓库 764/week @ 2024-05-23 • Rust 包仓库 462/week @ 2024-05-30 • Rust 包仓库 332/week @ 2024-06-06 • Rust 包仓库 387/week @ 2024-06-13 • Rust 包仓库 371/week @ 2024-06-20 • Rust 包仓库 314/week @ 2024-06-27 • Rust 包仓库 576/week @ 2024-07-04 • Rust 包仓库 392/week @ 2024-07-11 • Rust 包仓库 349/week @ 2024-07-18 • Rust 包仓库 398/week @ 2024-07-25 • Rust 包仓库 472/week @ 2024-08-01 • Rust 包仓库 467/week @ 2024-08-08 • Rust 包仓库

每月下载量:1,741
7个crate中使用(通过icu_list

Unicode-3.0

14KB
222

deduplicating_array crates.io

使用PartialEq来减少序列化大小的serde序列化策略。

该创建可以与Serde derive一起使用,如下所示


#[derive(serde::Deserialize, serde::Serialize)]
pub struct Foo {
    #[serde(with = "deduplicating_array")]
    data: [Bar; 12],
    // ...
}

Bar与在数组中首次出现的Bar相等时将不会被序列化(而是序列化首次出现的索引)。反序列化会克隆第一个Bar到它出现的所有索引位置(因此Bar必须实现Clone)。

人类可读的序列化将跳过的值表示为包含目标索引的单例数组,例如,Rust数组["Foo", "Bar", "Foo"]将序列化为JSON ["Foo", "Bar", [0]]

这意味着不能将单例整数数组用作数组元素(它们在Bincode中是有效的,但使用它们实际上没有太大意义)。

更多信息

有关开发、作者身份、贡献等信息,请访问 ICU4X 主页

依赖项

~0.4–1MB
~22K SLoC