handle serde_json for deserialized()
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
946ca364e0
commit
4776fe66c4
13 changed files with 95 additions and 107 deletions
|
@ -48,15 +48,6 @@ impl AsRef<Slice> for Handle<'_> {
|
|||
}
|
||||
|
||||
impl Deserialized for Result<Handle<'_>> {
|
||||
#[inline]
|
||||
fn map_json<T, U, F>(self, f: F) -> Result<U>
|
||||
where
|
||||
F: FnOnce(T) -> U,
|
||||
T: for<'de> Deserialize<'de>,
|
||||
{
|
||||
self?.map_json(f)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn map_de<T, U, F>(self, f: F) -> Result<U>
|
||||
where
|
||||
|
@ -68,15 +59,6 @@ impl Deserialized for Result<Handle<'_>> {
|
|||
}
|
||||
|
||||
impl<'a> Deserialized for Result<&'a Handle<'a>> {
|
||||
#[inline]
|
||||
fn map_json<T, U, F>(self, f: F) -> Result<U>
|
||||
where
|
||||
F: FnOnce(T) -> U,
|
||||
T: for<'de> Deserialize<'de>,
|
||||
{
|
||||
self.and_then(|handle| handle.map_json(f))
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn map_de<T, U, F>(self, f: F) -> Result<U>
|
||||
where
|
||||
|
@ -88,16 +70,6 @@ impl<'a> Deserialized for Result<&'a Handle<'a>> {
|
|||
}
|
||||
|
||||
impl<'a> Deserialized for &'a Handle<'a> {
|
||||
fn map_json<T, U, F>(self, f: F) -> Result<U>
|
||||
where
|
||||
F: FnOnce(T) -> U,
|
||||
T: for<'de> Deserialize<'de>,
|
||||
{
|
||||
serde_json::from_slice::<T>(self.as_ref())
|
||||
.map_err(Into::into)
|
||||
.map(f)
|
||||
}
|
||||
|
||||
fn map_de<T, U, F>(self, f: F) -> Result<U>
|
||||
where
|
||||
F: FnOnce(T) -> U,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue