| 1221 | #[cfg(feature = "serde")] |
| 1222 | impl serde::ser::Serialize for Token { |
| 1223 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
| 1224 | where |
| 1225 | S: serde::ser::Serializer, |
| 1226 | { |
| 1227 | use serde::ser::SerializeStruct; |
| 1228 | if *self == Self::EMPTY { |
| 1229 | return serializer.serialize_none(); |
| 1230 | } |
| 1231 | let mut state = serializer.serialize_struct("Token", 3)?; |
| 1232 | state.serialize_field("kind", self.kind().as_str())?; |
| 1233 | state.serialize_field("len", &self.len())?; |
| 1234 | state.end() |
| 1235 | } |
| 1236 | } |
| 1237 | |
| 1238 | impl From<Token> for Kind { |