1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! Module for implementations using [velocypack](https://docs.rs/velocypack).
use serde::Serialize;
use crate::ElementSerializer;

/// An element serializer that uses
/// [VelocyPack](https://github.com/arangodb/velocypack) for serialization.
pub struct VpackSerializer<V> {
    phantom: std::marker::PhantomData<V>,
}

impl<V> ElementSerializer<V> for VpackSerializer<V> where V: Serialize {
    fn serialize_element(x: &V) -> Vec<u8> {
        velocypack::to_bytes(x).unwrap()
    }
}