#variables #environment #env-var #access #macro #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

#2032 in Rust patterns

Download history 340/week @ 2024-01-04 133/week @ 2024-01-11 507/week @ 2024-01-18 505/week @ 2024-01-25 434/week @ 2024-02-01 323/week @ 2024-02-08 253/week @ 2024-02-15 90/week @ 2024-02-22 418/week @ 2024-02-29 109/week @ 2024-03-07 102/week @ 2024-03-14 246/week @ 2024-03-21 250/week @ 2024-03-28 129/week @ 2024-04-04 359/week @ 2024-04-11 121/week @ 2024-04-18

919 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

~93KB