Crate minicbor_serde

Crate minicbor_serde 

Source
Expand description

Support for (de-)serialising CBOR with serde.

In contrast to minicbor-derive, this serde-based implementation makes no attempt to be particularly clever with regards to forward and backward compatibility, nor does it use integers instead of strings for struct field names or enum constructors. If those features are important, consider using minicbor-derive instead.

§Example

use serde::{Deserialize, Serialize};

#[derive(Debug, Default, Serialize, Deserialize, PartialEq, Eq)]
struct S {
    field: bool
}

let s1 = S::default();

let cbor = minicbor_serde::to_vec(&s1)?;
let s2: S = minicbor_serde::from_slice(&cbor)?;

assert_eq!(s1, s2);

let mut buf = Vec::new();
let mut ser = minicbor_serde::Serializer::new(&mut buf);
s1.serialize(&mut ser)?;

let mut de = minicbor_serde::Deserializer::new(&buf);
let s3 = S::deserialize(&mut de)?;

assert_eq!(s1, s3);

Modules§

error

Structs§

Deserializer
An implementation of serde::Deserializer using a minicbor::Decoder.
Serializer
An implementation of serde::Serializer using a minicbor::Encoder.

Functions§

from_slice
Deserialise a type implementing serde::Deserialize from the given byte slice.
to_vec
Serialise a type implementing serde::Serialize and return the encoded byte vector.