4 个版本
0.2.1 | 2020年9月26日 |
---|---|
0.2.0 | 2019年8月24日 |
0.1.1 | 2019年2月7日 |
0.1.0 | 2019年2月6日 |
在 #aspect 中排名 6
每月下载量 50,853
在 7 个包中使用(直接使用 2 个)
7KB
72 行
aspect-rs
Rust 的方面工具包
Aspect-RS 是一个旨在为 Rust 中的主要方面用例提供共同基础的项目。通过利用特质系统、声明性和过程宏,Aspect-RS 提供了允许您用自定义逻辑包装方法的块。
该项目是从 Metered 项目 中提取出来的,该项目使用该技术构建可以在表达式或方法上工作的度量指标,无论它们是否 async
。该技术似乎足够通用,可以成为一个单独的包,并查看是否对其他方有任何兴趣。
Aspect-RS 提供了进入或退出表达式时的“切入点”特质(OnEnter
和 OnResult
)、实验性的 Update
和 UpdateRef
特质,这些特质可以使用参数阴影来拦截和更新方法参数,以及构建过程宏时有用的织入结构。请查看 Metered 项目 以查看 Aspect-RS 的实际应用。
变更日志
- 0.2.1:
- 向
OnResult
添加了leave_scope
函数,以允许方面具有一个析构实现来处理未返回的方面 - 将
indexmap
更新到1.6
- 向
- 0.2.0:
- 将依赖项更新为使用
syn
、proc-macro2
和quote
1.0
- 将依赖项更新为使用
所需的 Rust 版本
Aspect-RS 在 Rust
稳定版上运行。
许可证
在以下两者之一下授权:
- Apache 许可证第 2 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
根据您的选择。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,应按照上述方式双许可,没有任何附加条款或条件。
依赖项
~2.5MB
~52K SLoC