#文档 #反射 #过程宏

documented

运行时访问您类型文档的特性和 derive 宏

9 个版本 (4 个重大变更)

0.5.0 2024年6月1日
0.4.3 2024年5月27日
0.4.1 2024年4月7日
0.3.0 2024年1月25日
0.1.2 2023年6月7日

#309 in Rust 模式

Download history 134/week @ 2024-05-02 152/week @ 2024-05-09 237/week @ 2024-05-16 479/week @ 2024-05-23 664/week @ 2024-05-30 373/week @ 2024-06-06 260/week @ 2024-06-13 342/week @ 2024-06-20 205/week @ 2024-06-27 205/week @ 2024-07-04 142/week @ 2024-07-11 240/week @ 2024-07-18 283/week @ 2024-07-25 338/week @ 2024-08-01 714/week @ 2024-08-08 784/week @ 2024-08-15

2,175 每月下载量
4 个crate中使用 (3 个直接使用)

MIT 许可证

8KB
69

documented

运行时访问您类型文档的特性和 derive 宏

快速开始

use documented::{Documented, DocumentedFields, DocumentedVariants, Error};

/// Trying is the first step to failure.
#[derive(Documented, DocumentedFields, DocumentedVariants)]
enum AlwaysPlay {
    Kb1,
    /// But only if you are white.
    F6,
}

// Documented
assert_eq!(AlwaysPlay::DOCS, "Trying is the first step to failure.");

// DocumentedFields
assert_eq!(
    AlwaysPlay::FIELD_DOCS,
    [None, Some("But only if you are white.")]
);
assert_eq!(
    AlwaysPlay::get_field_docs("F6"),
    Ok("But only if you are white.")
);

// DocumentedVariants
assert_eq!(
    AlwaysPlay::F6.get_variant_docs(),
    Ok("But only if you are white.")
);

依赖项

~0.6–1.2MB
~25K SLoC