frenv/lib.rs
1extern crate frenv_macro;
2
3pub use frenv_macro::FromEnv;
4use thiserror::Error;
5
6pub trait FromEnv: Sized {
7 fn from_env() -> Result<Self, FromEnvironmentError>;
8}
9
10#[derive(Debug, Error)]
11pub enum FromEnvironmentError {
12 #[error("{0} must be set")]
13 VarNotPresent(String),
14 #[error("{0} type cannot be parseable into {1}")]
15 InvalidType(String, String),
16}