| 227 | #[cfg(feature = "serde")] |
| 228 | impl serde::ser::Serialize for Cursor { |
| 229 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
| 230 | where |
| 231 | S: serde::ser::Serializer, |
| 232 | { |
| 233 | use serde::ser::SerializeStruct; |
| 234 | if self.token() == Token::EMPTY { |
| 235 | return serializer.serialize_none(); |
| 236 | } |
| 237 | let mut state = serializer.serialize_struct("Cursor", 3)?; |
| 238 | state.serialize_field("kind", self.token().kind().as_str())?; |
| 239 | state.serialize_field("offset", &self.offset())?; |
| 240 | state.serialize_field("len", &self.token().len())?; |
| 241 | state.end() |
| 242 | } |
| 243 | } |
| 244 | |
| 245 | #[test] |