1个不稳定版本
0.1.0 | 2024年5月19日 |
---|
在配置中排名第364
25KB
271行代码(不包括注释)
Figment Directory
将配置值分割成多个文件存储在目录中的Figment提供程序,支持任何格式。
use serde::Deserialize;
use figment::{Figment, providers::{Env, Format, Toml}};
use figment_directory::FormatExt as _;
#[derive(Deserialize)]
struct Config {
database: DatabaseConfig,
pubsub: PubsubConfig
}
#[derive(Deserialize)]
struct DatabaseConfig {
url: String,
}
#[derive(Deserialize)]
struct PubsubConfig {
url: String,
}
let config: Config = Figment::new()
.merge(Toml::directory("config"))
.extract()?;
目录结构
- config
- database.toml
- pubsub.toml
# database.toml
url = "some/url"
# pubsub.toml
url = "some/url"
概述
此crate包含为Figment
提供的Directory
提供程序,允许加载包含(可能嵌套的)文件的一致文件格式的目录中的配置值。它被包裹在像figment::providers::Json
或figment::providers::Toml
这样的Format
实现中。
如果您有很多配置值并希望使用文件系统来组织它们,这可能会很有用。
有关详细的使用指南和更多信息,请参阅文档。
用法
将以下内容添加到您的Cargo.toml
[dependencies]
figment = { version = "0.10" }
figment-directory = { version = "0.1" }
许可
figment_directory根据BSD-3-Clause许可证许可。
依赖关系
~435–700KB
~12K 行代码(约额外代码行数)