2个版本
0.1.1 | 2022年12月24日 |
---|---|
0.1.0 | 2022年12月22日 |
#42 in #撤销
用于 cset
14KB
272 代码行
cset
细粒度且可逆的结构体事务。
此crate提供了一个Track宏,结构体可以通过该宏生成跟踪字段变更所需的底层管道。调用Trackable::edit()
返回一个Draft
,该Draft将编辑与底层结构体分开存储,从而不写入任何值。
当在草稿上调用.commit()
时,编辑将应用到基础结构体上。每个替换的值都会以ChangeSet
中的Change
形式返回给调用者。这个changeset可以重新应用到同一类型的结构体上,用changeset中的值替换字段。这个操作产生一个新的ChangeSet
,允许实现撤销-重做的范式。
项目状态
此项目处于早期开发阶段,API更改应予以期待。
依赖关系
~1.5MB
~35K SLoC