devhub_shared/
str_serializers.rs

1pub mod u128_dec_format {
2    use near_sdk::serde::de;
3    use near_sdk::serde::{Deserialize, Deserializer, Serializer};
4
5    pub fn serialize<S>(num: &u128, serializer: S) -> Result<S::Ok, S::Error>
6    where
7        S: Serializer,
8    {
9        serializer.serialize_str(&num.to_string())
10    }
11
12    pub fn deserialize<'de, D>(deserializer: D) -> Result<u128, D::Error>
13    where
14        D: Deserializer<'de>,
15    {
16        String::deserialize(deserializer)?.parse().map_err(de::Error::custom)
17    }
18}
19
20pub mod u64_dec_format {
21    use near_sdk::serde::de;
22    use near_sdk::serde::{Deserialize, Deserializer, Serializer};
23
24    pub fn serialize<S>(num: &u64, serializer: S) -> Result<S::Ok, S::Error>
25    where
26        S: Serializer,
27    {
28        serializer.serialize_str(&num.to_string())
29    }
30
31    pub fn deserialize<'de, D>(deserializer: D) -> Result<u64, D::Error>
32    where
33        D: Deserializer<'de>,
34    {
35        String::deserialize(deserializer)?.parse().map_err(de::Error::custom)
36    }
37}
38
39pub mod u32_dec_format {
40    use near_sdk::serde::de;
41    use near_sdk::serde::{Deserialize, Deserializer, Serializer};
42
43    pub fn serialize<S>(num: &u32, serializer: S) -> Result<S::Ok, S::Error>
44    where
45        S: Serializer,
46    {
47        serializer.serialize_str(&num.to_string())
48    }
49
50    pub fn deserialize<'de, D>(deserializer: D) -> Result<u32, D::Error>
51    where
52        D: Deserializer<'de>,
53    {
54        String::deserialize(deserializer)?.parse().map_err(de::Error::custom)
55    }
56}