os_query_builder_rs/misc/
fuzziness.rs

1use serde::{Serialize, Serializer};
2
3#[derive(Debug, Clone)]
4pub enum Fuzziness {
5    Auto,
6    Uint(u64),
7}
8
9impl<T: Into<u64>> From<T> for Fuzziness {
10    fn from(val: T) -> Self {
11        Self::Uint(val.into())
12    }
13}
14
15impl Serialize for Fuzziness {
16    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
17        where
18            S: Serializer,
19    {
20        match self {
21            Fuzziness::Auto => serializer.serialize_str("AUTO"),
22            Fuzziness::Uint(u) => serializer.serialize_u64(*u),
23        }
24    }
25}