Skip to content

Commit 6e188bf

Browse files
ref(api): Replace custom deserializer with derive (#2337)
This custom deserializer can be easily replaced with `derive(Deserialize)`.
1 parent ee953a5 commit 6e188bf

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed
Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
use std::fmt;
22

3-
use serde::{Deserialize, Deserializer};
3+
use serde::Deserialize;
44

5-
#[derive(Debug, Clone, Copy, Ord, PartialOrd, Eq, PartialEq, Default)]
5+
#[derive(Debug, Clone, Copy, Ord, PartialOrd, Eq, PartialEq, Default, Deserialize)]
6+
#[serde(rename_all = "lowercase")]
67
pub enum ChunkCompression {
7-
/// No compression should be applied
8-
#[default]
9-
Uncompressed = 0,
108
/// GZIP compression (including header)
119
Gzip = 10,
1210
/// Brotli compression
1311
Brotli = 20,
12+
/// No compression should be applied
13+
#[default]
14+
#[serde(other)]
15+
Uncompressed = 0,
1416
}
1517

1618
impl ChunkCompression {
@@ -32,17 +34,3 @@ impl fmt::Display for ChunkCompression {
3234
}
3335
}
3436
}
35-
36-
impl<'de> Deserialize<'de> for ChunkCompression {
37-
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
38-
where
39-
D: Deserializer<'de>,
40-
{
41-
Ok(match String::deserialize(deserializer)?.as_str() {
42-
"gzip" => ChunkCompression::Gzip,
43-
"brotli" => ChunkCompression::Brotli,
44-
// We do not know this compression, so we assume no compression
45-
_ => ChunkCompression::Uncompressed,
46-
})
47-
}
48-
}

0 commit comments

Comments
 (0)