4 个版本
0.2.2 | 2023 年 5 月 30 日 |
---|---|
0.2.1 | 2022 年 7 月 25 日 |
0.2.0 | 2022 年 2 月 28 日 |
0.1.0 | 2019 年 11 月 18 日 |
#2421 在 解析器实现 中
121 每月下载量
用于 git-checks
160KB
4K SLoC
Git 检查配置
当使用 Git 检查时,通常很有用将需要读取的检查存储在配置文件中。这个crate允许检查也支持从配置文件读取结构并将其转换为检查实例。另一个要点是,向crate添加另一个检查需要消费者更新以使用该新检查。在这里,使用 [inventory
][inventory] 创建一个全局注册表,消费者可以使用它来自动发现从任何地方添加到应用程序的新检查。
注意事项
这个的缺点是,对于检查来说有一个“官方”的序列化。这个crate旨在不阻止此类使用,因此检查本身通常不应该实现 Deserialize
。相反,应该创建一个单独的结构,然后创建检查。
示例
struct MyCheck {
field1: bool,
}
impl Check for MyCheck {
// implementation
}
struct MyCheckConfig {
#[serde(default)]
field1: bool
}
impl IntoCheck for MyCheckConfig {
type Check = MyCheck;
fn into_check(self) -> Self::Check {
MyCheck {
field1: self.field1,
}
}
}
register_checks! {
MyCheckConfig {
"name_of_check" => CommitCheckConfig,
}
}
依赖关系
~7–19MB
~254K SLoC