tuwunel_database/deserialized.rs
1use std::convert::identity;
2
3use serde::Deserialize;
4use tuwunel_core::Result;
5
6pub trait Deserialized {
7 fn map_de<T, U, F>(self, f: F) -> Result<U>
8 where
9 F: FnOnce(T) -> U,
10 T: for<'de> Deserialize<'de>;
11
12 #[inline]
13 fn deserialized<T>(self) -> Result<T>
14 where
15 T: for<'de> Deserialize<'de>,
16 Self: Sized,
17 {
18 self.map_de(identity::<T>)
19 }
20}