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
。对于集合,这意味着具有相同键或索引的值使用Figa
trait 进行更新,并附加新值。
可选的 load
功能
以可取的方式从预定义的设置位置加载 .toml
文件中的配置。
许可证
根据以下任一许可证授权:
- Apache License, Version 2.0, (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任由您选择。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可证的定义,将按照上述方式双授权,不附加任何额外条款或条件。
依赖关系
~0.4–0.8MB
~20K SLoC