Skip to main content

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}