1 个不稳定版本

0.1.0 2023年9月26日

#279#update


用于 figa

MIT/Apache 协议

16KB
256 行代码(不含注释)

Figa - 层叠配置库。

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

用法

此包提供 Figa 特性,通过 serde 反序列化更新值。特性使用单个方法 update
魔法在 derive 宏中发生。启用 "derive" 功能,使其从 figa 包重新导出,或直接使用 figa-proc 包。
当前 derive 宏仅支持无泛型的结构体。用户可以使用 #[figa(*)] 属性来自定义结构体字段的更新行为

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

可选的 load 功能

以可取的方式从预定义的设置位置加载 .toml 文件中的配置。

许可证

根据以下任一许可证授权:

任由您选择。

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可证的定义,将按照上述方式双授权,不附加任何额外条款或条件。

依赖关系

~0.4–0.8MB
~20K SLoC