Dart Pub SDK
一个用于与 Dart Pub 服务交互的 Rust SDK。
功能特性
- 搜索和获取 Dart 包信息
- 支持多种镜像源(清华大学、上海交通大学、中国区等)
- 异步 API 设计
- 完整的包信息模型
安装
在你的 Cargo.toml
文件中添加依赖:
[]
= { = "path/to/dart_pub_sdk" }
注意:目前这个库还未发布到 crates.io,需要通过本地路径引用。
快速开始
基本用法
use ;
async
使用镜像源
use ;
async
API 文档
DartPubClient
主要的客户端结构,用于与 Dart Pub 服务交互。
创建客户端
DartPubClient::default()
- 使用官方源创建客户端DartPubClient::with_mirror(mirror: DartPubMirror)
- 使用指定镜像源创建客户端DartPubClient::new(host: String)
- 使用自定义主机地址创建客户端
方法
search(&self, query: String) -> Result<DartPackage, Box<dyn std::error::Error>>
- 搜索指定名称的包
DartPubMirror
预定义的镜像源。
DartPubMirror::tsing_hua()
- 清华大学镜像DartPubMirror::flutter_io_cn()
- 中国区镜像DartPubMirror::shang_hai_jiao_tong()
- 上海交通大学镜像
数据模型
DartPackage
表示一个 Dart 包的完整信息。
name: String
- 包名称latest: VersionInfo
- 最新版本信息versions: Vec<Version>
- 所有版本信息
VersionInfo / Version
版本信息结构。
version: String
- 版本号pubspec: Pubspec
- 包的元数据archive_url: String
- 包归档文件的 URLarchive_sha256: String
- 归档文件的 SHA256 校验和published: String
- 发布时间
Pubspec
包的元数据信息。
name: String
- 包名称description: String
- 包描述repository: Option<String>
- 仓库地址issue_tracker: Option<String>
- 问题跟踪地址homepage: Option<String>
- 主页地址version: String
- 版本号environment: Environment
- 环境要求dependencies: Option<HashMap<String, Dependency>>
- 依赖信息topics: Option<Vec<String>>
- 主题标签
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。