#environment #variables #easier #access #macros #optional #found

env-var

Macros providing easier access to environment variables in rust

3 releases (stable)

1.0.1 Jan 17, 2021
0.1.0 Jan 17, 2021

#1852 in Rust patterns

Download history 216/week @ 2023-11-20 121/week @ 2023-11-27 59/week @ 2023-12-04 111/week @ 2023-12-11 366/week @ 2023-12-18 234/week @ 2023-12-25 610/week @ 2024-01-01 244/week @ 2024-01-08 343/week @ 2024-01-15 391/week @ 2024-01-22 431/week @ 2024-01-29 414/week @ 2024-02-05 302/week @ 2024-02-12 246/week @ 2024-02-19 169/week @ 2024-02-26 389/week @ 2024-03-04

1,119 downloads per month
Used in 2 crates

MIT/Apache

10KB
170 lines

env-var

Latest Version

Macros providing easier access to environment variables in rust.

License

env-var is dual-licensed under Apache License, Version 2.0 and MIT license.

Usage

Put this in your Cargo.toml:

[dependencies]
env-var = "1"
log = "0.4"

Examples

#[macro_use]
extern crate env_var;

fn main() {
  // retrieving a optional value
  // var1 either contains the value or an empty string
  let var1 = env_var!(optional "TEST_OPT_1");

  // retrieving a optional value with default
  // var1 either contains the value or "default1"
  let var1 = env_var!(optional "TEST_OPT_1", default: "default1");

  // retrieving a optional value with default
  // if not found, the message will be logged as info message
  // var1 either contains the value or "default1"
  let var1 = env_var!(optional "TEST_OPT_1", default: "default1", msg: "using default");

  // retrieving a required value
  // var1 either contains the value or the programm panics
  let var1 = env_var!(required "TEST_OPT_1");

  // retrieving a required value with default
  // var1 either contains the value or "default1"
  let var1 = env_var!(required "TEST_OPT_1", default: "default1");

  // retrieving a required value with default
  // if not found, the message will be logged as warn message
  // var1 either contains the value or "default1"
  let var1 = env_var!(required "TEST_OPT_1", default: "default1", msg: "using default");

}

Dependencies

~87KB