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解析器实现

Download history 41/week @ 2024-03-12 22/week @ 2024-03-19 16/week @ 2024-03-26 64/week @ 2024-04-02 19/week @ 2024-04-09 27/week @ 2024-04-16 39/week @ 2024-04-23 43/week @ 2024-04-30 24/week @ 2024-05-07 24/week @ 2024-05-14 38/week @ 2024-05-21 26/week @ 2024-05-28 30/week @ 2024-06-04 35/week @ 2024-06-11 26/week @ 2024-06-18 25/week @ 2024-06-25

121 每月下载量
用于 git-checks

MIT/Apache

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