#serialization #sval #integration #value #no-std

no-std sval_serde

Integration between serde::Serialize and sval::Value

24 stable releases

2.13.0 Mar 28, 2024
2.11.1 Jan 31, 2024
2.10.2 Oct 19, 2023
2.6.1 Jun 27, 2023
2.0.2 Mar 24, 2023

#1698 in Encoding

Download history 97416/week @ 2024-02-23 93510/week @ 2024-03-01 80849/week @ 2024-03-08 87436/week @ 2024-03-15 91468/week @ 2024-03-22 107293/week @ 2024-03-29 107918/week @ 2024-04-05 112115/week @ 2024-04-12 107433/week @ 2024-04-19 99854/week @ 2024-04-26 104105/week @ 2024-05-03 118853/week @ 2024-05-10 117080/week @ 2024-05-17 126249/week @ 2024-05-24 133881/week @ 2024-05-31 105026/week @ 2024-06-07

505,703 downloads per month
Used in 3 crates (via value-bag-sval2)

Apache-2.0 OR MIT

285KB
7.5K SLoC

sval_serde

Rust Latest version Documentation Latest

Integration between sval and serde.


lib.rs:

Treat any sval::Value as a serde::Serialize.

This crate provides ToSerialize, a wrapper around any sval::Value that forwards it through serde.

Buffering

Add the alloc feature to enable buffering for values that need it.

Types that derive sval::Value automatically can be streamed through serde without requiring any buffering. Types that manually stream text across multiple fragments, or nested fields without recursing through Stream::value will need to be buffered.

Without the alloc feature, any values that require buffering will instead produce errors during serialization.

Dependencies

~215–450KB
~11K SLoC