Function from_slice

Source
pub fn from_slice<'input: 'facet, 'facet, T: Facet<'facet>>(
    msgpack: &'input [u8],
) -> Result<T, Error<'static>>
Expand description

Deserializes MessagePack-encoded data into a type that implements Facet.

ยงExample

use facet::Facet;
use facet_msgpack::from_slice;

#[derive(Debug, Facet, PartialEq)]
struct User {
    id: u64,
    username: String,
}

// MessagePack binary data (equivalent to {"id": 42, "username": "user123"})
let msgpack_data = [
    0x82, 0xa2, 0x69, 0x64, 0x2a, 0xa8, 0x75, 0x73,
    0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0xa7, 0x75,
    0x73, 0x65, 0x72, 0x31, 0x32, 0x33
];

let user: User = from_slice(&msgpack_data).unwrap();
assert_eq!(user, User { id: 42, username: "user123".to_string() });