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