Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 65c5c75

Browse files
feat: Remove debug prints, provide yaml::from_str/owned
1 parent 02b1d47 commit 65c5c75

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

merde_json/src/deserialize.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,6 @@ mod tests {
336336
}
337337

338338
let ev = self.inner.next()?;
339-
eprintln!("> {:?}", ev);
340339
Ok(ev)
341340
}
342341

merde_yaml/src/lib.rs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
use std::str::Chars;
55

6-
use merde_core::{ArrayStart, Deserializer, Event};
6+
use merde_core::{ArrayStart, Deserialize, DeserializeOwned, Deserializer, Event};
77
use yaml_rust2::{parser::Parser, scanner::TScalarStyle, ScanError};
88

99
/// A YAML deserializer, that implements [`merde_core::Deserializer`].
@@ -79,7 +79,6 @@ impl<'s> Deserializer<'s> for YamlDeserializer<'s> {
7979
return Err(e.into());
8080
}
8181
};
82-
println!("ev = {ev:?}");
8382

8483
use yaml_rust2::Event as YEvent;
8584

@@ -176,3 +175,22 @@ impl<'s> Deserializer<'s> for YamlDeserializer<'s> {
176175
T::deserialize(self).await
177176
}
178177
}
178+
179+
/// Deserialize an instance of type `T` from a string of YAML text.
180+
pub fn from_str<'s, T>(s: &'s str) -> Result<T, MerdeYamlError<'s>>
181+
where
182+
T: Deserialize<'s>,
183+
{
184+
let mut deser = YamlDeserializer::new(s);
185+
deser.deserialize::<T>()
186+
}
187+
188+
/// Deserialize an instance of type `T` from a string of YAML text,
189+
/// and return its static variant e.g. (CowStr<'static>, etc.)
190+
pub fn from_str_owned<T>(s: &str) -> Result<T, MerdeYamlError<'_>>
191+
where
192+
T: DeserializeOwned,
193+
{
194+
let mut deser = YamlDeserializer::new(s);
195+
T::deserialize_owned(&mut deser)
196+
}

0 commit comments

Comments
 (0)