3 个版本 (破坏性更新)

0.3.0 2023年10月2日
0.2.0 2023年9月27日
0.1.0 2023年9月26日

#417 in 配置


cazzo 中使用

MIT/Apache

24KB
523

图嘎 - 分层配置库。

增强 serde 反序列化,提供可定制的更新机制。

用法

此 crate 提供了 Figa trait,用于使用 serde 反序列化来更新值。该 trait 使用单个方法 update
魔法在派生宏中发生。启用 "derive" 功能以使其从 figa crate 中重新导出,或者直接使用 figa-proc crate。
派生宏目前仅支持没有泛型的结构体。用户可以使用 #[figa(*)] 属性来定制结构体字段的更新行为

  • #[figa(replace)] 告诉代码生成器字段值必须替换为新值。
  • #[figa(append)] 对集合有效,告诉代码生成器该字段是集合,并且必须添加新元素。对于映射,如果存在具有相同键的值,它将被新值替换。对于 VecString,追加的值将按预期添加到末尾。
  • #[figa(update)] 通知代码生成器该字段必须更新。这意味着将递归地调用 Figa::update。对于集合,这意味着使用 Figa 特性更新具有相同键或索引的值,并将新值追加。

可选的 load 功能

提供了一种有见地的从预定义位置加载 .toml 配置文件的方法。

许可证

根据以下之一许可

由您选择。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的,您提交的任何有意包含在作品中的贡献,将如上双许可,没有任何额外条款或条件。

依赖关系

~110–680KB
~12K SLoC