#反序列化 #需求 #doorstop

doorstop-rs

读取 doorstop 文档的库

2 个不稳定版本

0.2.0 2024年4月30日
0.1.0 2024年4月26日

#902解析器实现


doorstop-reqif 中使用

AGPL-3.0 或更高版本

23KB
481

Rust 中的 doorstop 库

此库帮助读取 doorstop 文档。

特性

  • 解析文档

路线图

  • 添加项目链接
  • 添加自定义属性

贡献

贡献使开源社区成为一个如此美妙的学习、灵感和创造的地方。您所做的任何贡献都 非常感谢

如果您有改进此项目的建议,请 fork 仓库并创建一个 pull request。您也可以简单地通过标签 "enhancement" 开启一个 issue。别忘了给项目加星!再次感谢!

  1. Fork 项目
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m '添加一些AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 pull request

lib.rs:

帮助库以 Rust 实现读取 doorstop 文档。

以下是一个如何读取文档树并按级别打印根文档元素的示例

 use crate::doorstop_rs::doorstop::document_tree::DocumentTree;

 let document_tree = DocumentTree::load("resources/reqs").unwrap();
 let root_document = &document_tree.borrow().document;
 for (_, each_item) in root_document.items_sorted_by_level.iter() {
     let default_string_value = "N/A".to_string();
     println!(
         "{}-({}){}",
         each_item.id.as_ref().unwrap_or_else(|| &default_string_value),
         each_item.level.as_ref().unwrap_or_else(|| &default_string_value),
         each_item.header.as_ref().unwrap_or_else(|| &default_string_value)
     )
 }

依赖

~4–13MB
~146K SLoC