serde_valid/features/toml/
to_toml_value.rs

1pub trait ToTomlValue {
2    /// Convert to toml string.
3    ///
4    /// ```rust
5    /// use serde::Serialize;
6    /// use serde_valid::toml::ToTomlValue;
7    /// use serde_valid::Validate;
8    ///
9    /// #[derive(Debug, Validate, Serialize)]
10    /// struct TestStruct {
11    ///     #[validate(maximum = 100)]
12    ///     val: i32,
13    /// }
14    /// let s = TestStruct { val: 10 };
15    ///
16    /// assert!(s.to_toml_value().is_ok());
17    /// ```
18    fn to_toml_value(&self) -> Result<serde_toml::Value, serde_toml::ser::Error>;
19}
20
21impl<T> ToTomlValue for T
22where
23    T: serde::Serialize + crate::Validate,
24{
25    fn to_toml_value(&self) -> Result<serde_toml::Value, serde_toml::ser::Error> {
26        serde_toml::Value::try_from(self)
27    }
28}