Trait figment::providers::Format [−][src]
Trait implementable by text-based Data format providers.
Instead of implementing Provider directly, types that refer to data
formats, such as Json and Toml, implement this trait. By
implementing Format, they become Providers indirectly via the
Data type, which serves as a provider for all T: Format.
use figment::providers::Format; // If `T` implements `Format`, `T` is a `Provider`. // Initialize it with `T::file()` or `T::string()`. let provider = T::file("foo.fmt"); let provider = T::string("some -- format");
Implementing
There are two primary implementation items:
-
Format::NAME: This should be the name of the data format:"JSON"or"TOML". The string is used in the [metadata forData]. -
Format::from_str(): This is the core string deserialization method. A typical implementation will simply call an existing method liketoml::from_str. For writing a custom data format, see serde's writing a data format guide.
The default implementations for Format::from_path(), Format::file(),
and Format::string() methods should likely not be overwritten.
Associated Types
Loading content...Associated Constants
Loading content...Required methods
fn from_str<'de, T: DeserializeOwned>(
string: &'de str
) -> Result<T, Self::Error>[src]
string: &'de str
) -> Result<T, Self::Error>
Parses string as the data format Self as a T or returns an error
if the string is an invalid T.
Provided methods
fn from_path<T: DeserializeOwned>(path: &Path) -> Result<T, Self::Error>[src]
Parses the file at path as the data format Self as a T or returns
an error if the string is an invalid T. The default implementation
calls Format::from_str() with the contents of the file.
fn file<P: AsRef<Path>>(path: P) -> Data<Self>[src]
Returns a Data provider that sources its values by parsing the file at
path as format Self. See Data::file() for more details. The
default implementation calls Data::file(path).
fn string(string: &str) -> Data<Self>[src]
Returns a Data provider that sources its values by parsing string as
format Self. See Data::string() for more details. The default
implementation calls Data::string(string).