Jealousy

Jealousy is a simple wrapper trait around the envy crate. The envy crate allows for easy deserialization of any structure from the environment. This crate adds the following features on top of that:

Installation

You can either use cargo add jealousy or add jealousy = "0.1.1" to the dependencies in your Cargo.toml.

features

Usage

The default impl of from_env should be enough for most use cases. The following will deserialize the struct's fields from the following environment variables: - CONFIG_VAR1 - CONFIG_VAR2

Both methods, the trait AND the derive macro, use the default impl of the from_env method.

Trait

```rs use serde::Deserialize; use jealousy::FromEnv;

[derive(Deserialize)]

struct Config { var1: String, var2: u16, }

impl FromEnv for Config { const PREFIX: &'static str = "CONFIG"; } ```

Derive (requires feature: derive)

The derive macro mainly prevents the boilerplate you see above. It is functionally identical in every other way.

```rs use serde::Deserialize; use jealousy::FromEnv;

[derive(Deserialize)]

[from_env(prefix = "CONFIG")]

struct Config { var1: String, var2: u16, } ```