Skip to main content

Crate puniyu_macros

Crate puniyu_macros 

Source
Expand description

§puniyu_macros

puniyu_macros 提供 puniyu 生态中的过程宏,用于声明插件、适配器、命令、任务和配置,减少 trait 实现与 inventory 注册样板代码。

§插件侧宏

  • [plugin]:声明 Plugin 结构体或 impl Plugin 实现块
  • command:声明命令处理函数
  • arg:为命令补充参数描述
  • task:声明定时任务函数
  • server:为 impl Plugin 中的服务函数打标
  • #[derive(PluginConfig)]:为插件配置结构体派生 puniyu_config::Config

§适配器侧宏

  • [adapter]:声明 Adapter 结构体或 impl Adapter 实现块
  • server:为 impl Adapter 中的服务函数打标
  • #[derive(AdapterConfig)]:为适配器配置结构体派生 puniyu_config::Config

§编译期校验

大多数函数类宏会在编译期校验以下内容:

  • 被标注项是否为 async fn
  • 函数参数和返回类型是否满足约束
  • 属性参数是否使用合法的 key-value 形式
  • cronpermission 等枚举值或格式是否有效

Attribute Macros§

adapter
arg
command
config
on_load
on_unload
plugin
server
task

Derive Macros§

AdapterConfig
PluginConfig