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

Download history 15184/week @ 2024-03-14 11947/week @ 2024-03-21 11407/week @ 2024-03-28 14590/week @ 2024-04-04 12645/week @ 2024-04-11 13708/week @ 2024-04-18 14686/week @ 2024-04-25 14920/week @ 2024-05-02 14675/week @ 2024-05-09 13784/week @ 2024-05-16 15180/week @ 2024-05-23 13467/week @ 2024-05-30 13187/week @ 2024-06-06 13855/week @ 2024-06-13 11566/week @ 2024-06-20 9378/week @ 2024-06-27

每月下载量 50,853
7 个包中使用(直接使用 2 个)

Apache-2.0 OR MIT

7KB
72

aspect-rs

Build Status License Cargo Documentation Rust 1.31+

Rust 的方面工具包

Aspect-RS 是一个旨在为 Rust 中的主要方面用例提供共同基础的项目。通过利用特质系统、声明性和过程宏,Aspect-RS 提供了允许您用自定义逻辑包装方法的块。

该项目是从 Metered 项目 中提取出来的,该项目使用该技术构建可以在表达式或方法上工作的度量指标,无论它们是否 async。该技术似乎足够通用,可以成为一个单独的包,并查看是否对其他方有任何兴趣。

Aspect-RS 提供了进入或退出表达式时的“切入点”特质(OnEnterOnResult)、实验性的 UpdateUpdateRef 特质,这些特质可以使用参数阴影来拦截和更新方法参数,以及构建过程宏时有用的织入结构。请查看 Metered 项目 以查看 Aspect-RS 的实际应用。

变更日志

  • 0.2.1:
    • OnResult 添加了 leave_scope 函数,以允许方面具有一个析构实现来处理未返回的方面
    • indexmap 更新到 1.6
  • 0.2.0:
    • 将依赖项更新为使用 synproc-macro2quote 1.0

所需的 Rust 版本

Aspect-RS 在 Rust 稳定版上运行。

许可证

在以下两者之一下授权:

根据您的选择。

贡献

除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,应按照上述方式双许可,没有任何附加条款或条件。

依赖项

~2.5MB
~52K SLoC