2个版本

0.1.1 2023年7月31日
0.1.0 2023年7月27日

#1807 in 算法

MIT许可证

8KB
142

Env Convert

一个用于处理环境变量的便利库,处理基本的类型转换和默认值。

获取值

get_default_env_var 接收环境变量名称和默认值作为字符串,如果不存在则返回。它返回一个可以转换为具有转换类型的 ResultEnvVar。然后您可以使用该结果检测转换是否成功。

get_env_var 接收环境变量名称并返回一个 Result<EnvVar,std::env::VarError>

let max_connections_result: Result<u32,_> = get_default_env_var("MAX_DB_CONNECTIONS", "5").into();
let max_connections = max_connections_result.expect("MAX_DB_CONNECTIONS must be an integer");

let env_result: Result<String,_> = get_env_var("DEFAULT_GREETING").expect("DEFAULT_GREETING is required").into();

// You can also convert strings directly
let default_greeting: String = get_default_env_var("DEFAULT_GREETING", "hello").into();

转换

此库实现了以下转换

  • 字符串
  • 无符号和有符号8位到128位,以及架构 (i8, u16, usize...)
  • 浮点数 (f32, f64)

要实现自己的,可以为 Result<YourType, EnvVarConversionError> 实现 From<EnvVar> 特性。

版本

在此达到版本1之前,我将努力保持API的稳定性,但无任何保证。之后,此库将遵循语义版本化。

无运行时依赖