1 个稳定版本
| 1.0.0 | 2024 年 6 月 20 日 |
|---|
#380 在 测试
15KB
65 行
skippable-partialeq
PartialEq,但你可以忽略字段
这个包提供了一个自定义 derive 宏 SkippablePartialEq,允许你在忽略基于自定义规则的字段(如后缀)以及特定字段的情况下为结构体实现 PartialEq。
用法
首先,将 SkippablePartialEq 添加为依赖项。
cargo add skippable-partialeq
然后,为你的结构体 derive SkippablePartialEq
use skippable_partialeq::SkippablePartialEq;
#[derive(Debug, SkippablePartialEq)]
#[exclude_suffix(at)]
pub struct Post {
pub id: i64,
pub content: String,
pub author: i32,
pub created_at: DateTime<Utc>,
pub updated_at: Option<DateTime<Utc>>,
}
这将生成一个 PartialEq 的实现,忽略以 _at 结尾的字段,同时仍然检查 Option 的外部 None & Some 值。此属性支持用逗号分隔的多个值。
您还可以使用 #[skip] 属性来过滤特定字段
use skippable_partialeq::SkippablePartialEq;
#[derive(Debug, SkippablePartialEq)]
pub struct Post {
pub id: i64,
pub content: String,
pub author: i32,
#[skip]
pub creation_date: DateTime<Utc>,
}
这将排除 creation_date 的比较。
依赖项
~285–740KB
~18K SLoC