1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
use serde::ser::{Serializer};
use serde::de::{Deserializer};


pub trait Sealed {
    fn encode<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer;
    fn decode<'de, D>(deserializer: D) -> Result<Self, D::Error>
        where Self: Sized,
              D: Deserializer<'de>;
}

/// A value convertible to milliseconds since unix epoch
///
/// This trait is currently sealed. This might change in future.
pub trait Milliseconds: Sealed {
}