From 8283aaff3322732585519912ff0220249f0bbf6f Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Mon, 8 Apr 2024 02:43:08 +0800 Subject: Add `Deserializer::new` to crate a new deserializer, and public deserializer. (#91) * Add `Deserializer::new` to crate a new deserializer, and public deserializer. * Update mod.rs Co-authored-by: Paul Hansen --------- Co-authored-by: Paul Hansen --- src/de/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/de') diff --git a/src/de/mod.rs b/src/de/mod.rs index ef9cd76..290d843 100644 --- a/src/de/mod.rs +++ b/src/de/mod.rs @@ -189,7 +189,7 @@ pub fn from_str<'de, T: de::Deserialize<'de>>(input: &'de str) -> Result { /// A deserializer for the querystring format. /// /// Supported top-level outputs are structs and maps. -pub(crate) struct QsDeserializer<'a> { +pub struct QsDeserializer<'a> { iter: IntoIter, Level<'a>>, value: Option>, } @@ -213,9 +213,13 @@ impl<'a> QsDeserializer<'a> { } /// Returns a new `QsDeserializer<'a>`. - fn with_config(config: &Config, input: &'a [u8]) -> Result { + pub fn with_config(config: &Config, input: &'a [u8]) -> Result { parse::Parser::new(input, config.max_depth(), config.strict).as_deserializer() } + + pub fn new(input: &'a [u8]) -> Result { + Self::with_config(&Config::default(), input) + } } impl<'de> de::Deserializer<'de> for QsDeserializer<'de> { -- cgit v1.2.3