From 0f44f2f36c3fa594e8bf9c0b23b7b8041cc6d13e Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 14 May 2023 16:01:39 +0200 Subject: feat: make the TagStart name function return a string --- src/deserializer/buffered.rs | 2 +- src/tagged.rs | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/deserializer/buffered.rs b/src/deserializer/buffered.rs index 6568910..b961dd7 100644 --- a/src/deserializer/buffered.rs +++ b/src/deserializer/buffered.rs @@ -117,7 +117,7 @@ impl Deserializer for Buffered let deserialized = De::deserialize(&start, self).map_err(Error::DeserializeFailed)?; - self.read_end_event(start.name()) + self.read_end_event(start.name_bytes()) .map_err(Error::into_with_de_error)?; deserialized_items.push(deserialized); diff --git a/src/tagged.rs b/src/tagged.rs index 19ae03b..0150697 100644 --- a/src/tagged.rs +++ b/src/tagged.rs @@ -26,24 +26,24 @@ impl<'a> TagStart<'a> } } - /// Returns the tag name. + /// Returns the name. + /// + /// # Errors + /// Returns `Err` if the name is not valid UTF-8. + pub fn name(&self) -> Result<&str, Utf8Error> + { + std::str::from_utf8(self.name_bytes()) + } + + /// Returns the name as bytes. #[must_use] - pub fn name(&self) -> &[u8] + pub fn name_bytes(&self) -> &[u8] { let name_length = self.inner.name().as_ref().len(); &self.inner.as_ref()[..name_length] } - /// Returns the tag name in UTF-8. - /// - /// # Errors - /// Returns `Err` if the name is not valid UTF-8. - pub fn name_utf8(&self) -> Result<&str, Utf8Error> - { - std::str::from_utf8(self.name()) - } - /// Returns the tag attributes. #[must_use] pub fn attributes(&'a self) -> AttributeIter<'a> -- cgit v1.2.3-18-g5258