env_ast

Crates.ioenv_ast
lib.rsenv_ast
version1.0.0
sourcesrc
created_at2022-02-08 15:58:24.566074
updated_at2022-02-08 15:58:24.566074
descriptionenv! but it outputs tokens instead of a string literal
homepage
repositoryhttps://github.com/WilliamVenner/env_ast
max_upload_size
id529185
size7,249
William (WilliamVenner)

documentation

README

crates.io docs.rs license

env_ast

Dead simple procedural macro that mimics env! but outputs AST tokens instead of a string literal.

WARNING: This macro is potentially DANGEROUS and can introduce arbitrary code execution (ACE) if used improperly. If you need this macro, make sure you REALLY need it.

Usage

Simply add to your Cargo.toml file:

[dependencies]
env_ast = "*"

And in your code:

#[macro_use] extern crate env_ast;

fn it_works() {}
fn default_works() {}

fn main() {
    env_ast!("MY_ENV_VAR")(); // For this to compile, MY_ENV_VAR must be set to `it_works` at build time
    env_ast!("ENV_VAR_THAT_IS_NOT_SET", default_works)(); // You can provide a default set of tokens if the environment variable is not found
}
Commit count: 1

cargo fmt