#[cfg(feature = "serde")]
use crate::AssertThat;
#[cfg(feature = "serde")]
use crate::actual::Actual;
#[cfg(feature = "serde")]
use crate::mode::Mode;
#[cfg(feature = "serde")]
pub fn json<S: serde::Serialize>() -> impl FnOnce(Actual<S>) -> Actual<String> {
|it| {
serde_json::to_string(it.borrowed())
.expect("JSON conversion to succeed")
.into()
}
}
#[cfg(feature = "serde")]
pub fn toml<S: serde::Serialize>() -> impl FnOnce(Actual<S>) -> Actual<String> {
|it| {
toml::to_string(it.borrowed())
.expect("TOML conversion to succeed")
.into()
}
}
#[cfg(feature = "serde")]
impl<'t, T, M: Mode> AssertThat<'t, T, M>
where
T: serde::Serialize,
{
pub fn as_json(self) -> AssertThat<'t, String, M> {
self.map(json())
}
pub fn as_toml(self) -> AssertThat<'t, String, M> {
self.map(toml())
}
}