#deserialize #serde #byte-unit-serde

byte-unit-serde

De/serialization functions for byte-unit crate

2 releases

0.1.1 Dec 4, 2024
0.1.0 Feb 17, 2024

#498 in Encoding

Download history 374/week @ 2024-12-11 307/week @ 2024-12-18 197/week @ 2024-12-25 309/week @ 2025-01-01 499/week @ 2025-01-08 490/week @ 2025-01-15 360/week @ 2025-01-22 277/week @ 2025-01-29 281/week @ 2025-02-05 261/week @ 2025-02-12 200/week @ 2025-02-19 210/week @ 2025-02-26 343/week @ 2025-03-05 374/week @ 2025-03-12 530/week @ 2025-03-19 751/week @ 2025-03-26

2,051 downloads per month

MIT/Apache

8KB
108 lines

byte-unit-serde

tests crates.io Documentation MIT/Apache-2 licensed

This crate provides de/serialization helper for byte-unit crate to use in combination with serde's with-annotation. This might be useful because it hides a byte-unit crate as an implementation details and allows use the simple u64 type instead. In other words, by using this crate, your code will not depend on the byte-unit crate.

Example

use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
struct Foo {
    #[serde(with = "byte_unit_serde")]
    max_size: u64,
    /// This module also supports an optional values.
    #[serde(default, with = "byte_unit_serde")]
    min_size: Option<u64>,
}

The idea of this crate is heavily inspired by humantime-serde.

Dependencies

~1–1.6MB
~34K SLoC