From a8d6556f6ae42ba53823adb9928359c12c6aa2f2 Mon Sep 17 00:00:00 2001 From: Matt Bilker Date: Tue, 11 Sep 2018 23:27:57 +0000 Subject: [PATCH] lib: expose parsing to a NodeCollection --- src/lib.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c4e1d8a..fc1c522 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -309,13 +309,18 @@ impl KbinXml { kbinxml.from_binary_internal(input) } - pub fn node_from_binary(input: &[u8]) -> Result<(Node, EncodingType)> { + pub fn node_collection_from_binary(input: &[u8]) -> Result<(NodeCollection, EncodingType)> { let mut reader = Reader::new(input)?; let collection = NodeCollection::from_iter(&mut reader).ok_or(KbinErrorKind::InvalidState)?; - - let node = collection.as_node()?; let encoding = reader.encoding(); + Ok((collection, encoding)) + } + + pub fn node_from_binary(input: &[u8]) -> Result<(Node, EncodingType)> { + let (collection, encoding) = Self::node_collection_from_binary(input)?; + let node = collection.as_node()?; + Ok((node, encoding)) }