sanar-idk

Crates.iosanar-idk
lib.rssanar-idk
version0.1.1
created_at2025-10-06 18:50:25.728526+00
updated_at2025-10-06 18:53:10.657439+00
descriptionInitialize Default Keys - A Rust macro to generate config structs from environment variables easily
homepagehttps://github.com/sanarberkebayram/idk
repositoryhttps://github.com/sanarberkebayram/idk
max_upload_size
id1870631
size6,274
(sanarberkebayram)

documentation

README

IDK 0 Initialize Default Keys

IDK is a simple Rust macro to generate configuration structs from environment variables.
It supports default values, required variables, and uses once_cell for lazy static access.

Usage

Add to Cargo.toml:

sanar-idk = "0.1.0"
use sanar-idk::create_config_struct;

create_config_struct! {
    #[derive(Debug, Clone)]
    pub struct Config {
        pub port: u16 => "PORT", @default 8000,
        pub db_url: String => "DATABASE_URL", @expect "DATABASE_URL must be set",
        pub secret: String => "SECRET", @default "empty_secret".to_string()
    }
}

fn main() {
    println!("{:#?}", *Config::DEFAULT);
}

Features

Lazy initialization via once_cell::sync::Lazy
Support for dotenv files
Default values or required variables with custom error messages
Commit count: 0

cargo fmt