4 releases
Uses new Rust 2021
0.1.3 | Sep 11, 2022 |
---|---|
0.1.2 | Sep 9, 2022 |
0.1.1 | Sep 9, 2022 |
0.1.0 | Sep 9, 2022 |
#232 in Configuration
424 downloads per month
12KB
181 lines
Dot Env Config
use .env
as config file and parse environments to config struct.
Usage
derive EnvConfig
use dotenv::dotenv;
use dotenv_config::EnvConfig;
#[derive(Debug, EnvConfig)]
struct Config {
#[env_config(default = "192.168.2.1")]
server_addr: String,
server_mode: bool,
#[env_config(name = "ZINC_FOO", default = true)]
foo: bool,
#[env_config(name = "ZINC_BAR", default = 123456)]
bar: Option<i64>,
}
fn main() {
dotenv().ok();
let cfg = Config::init().unwrap();
println!("{:#?}", cfg);
}
attribute env_config
you can use macro attribute set field attribute
- name: change default environment key
- default: if not set, used as default value
you can though system environments or .env
file config it.
ZINC_FOO=false
ZINC_BAR=8787878
default load environment key is: structName_fieldName
do UpperSnake, like above struct, default config key is:
CONFIG_SERVER_ADDR
CONFIG_SERVER_MODE
ZINC_FOO
ZINC_BAR
Dependencies
~2.5MB
~54K SLoC