1 个不稳定版本
| 0.1.0 | 2023年9月26日 |
|---|
#279 在 #update
用于 figa
16KB
256 行代码(不含注释)
Figa - 层叠配置库。
增强 serde 反序列化,提供可定制的更新机制。
用法
此包提供 Figa 特性,通过 serde 反序列化更新值。特性使用单个方法 update。
魔法在 derive 宏中发生。启用 "derive" 功能,使其从 figa 包重新导出,或直接使用 figa-proc 包。
当前 derive 宏仅支持无泛型的结构体。用户可以使用 #[figa(*)] 属性来自定义结构体字段的更新行为
#[figa(replace)]告诉代码生成器字段值必须替换为新的值。#[figa(append)]用于集合,告诉代码生成器此字段是集合,必须添加新元素。在映射的情况下,如果存在相同键的值,则将其替换为新值。对于Vec和String,附加的值将按预期添加到末尾。#[figa(update)]通知 codegen 该字段必须更新。这意味着将对它递归地调用Figa::update。对于集合,这意味着具有相同键或索引的值使用Figatrait 进行更新,并附加新值。
可选的 load 功能
以可取的方式从预定义的设置位置加载 .toml 文件中的配置。
许可证
根据以下任一许可证授权:
- Apache License, Version 2.0, (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
任由您选择。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可证的定义,将按照上述方式双授权,不附加任何额外条款或条件。
依赖关系
~0.4–0.8MB
~20K SLoC