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}