1use bstr::BString;
2use serde::{Deserialize, Deserializer, Serialize, Serializer};
3
4use crate::interned::Interned;
5
6impl Serialize for Interned {
7 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
8 where
9 S: Serializer,
10 {
11 self.as_bstr().serialize(serializer)
12 }
13}
14
15impl<'de> Deserialize<'de> for Interned {
16 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
17 where
18 D: Deserializer<'de>,
19 {
20 BString::deserialize(deserializer).map(|o| o.into())
21 }
22}