5 个版本
0.1.4 | 2023 年 3 月 29 日 |
---|---|
0.1.3 | 2023 年 3 月 27 日 |
0.1.2 | 2023 年 3 月 27 日 |
0.1.1 | 2023 年 3 月 26 日 |
0.1.0 | 2023 年 3 月 26 日 |
#1762 在 数据库接口
每月 112 次下载
用于 wcip
19KB
361 代码行
pobsd-db
pobsd-db 提供了一个依赖 HashMap 的原生数据库,并提供了一系列方法来查询和过滤 PlayOnBSD 数据库。
有关详细信息,请参阅 docs.rs。
lib.rs
:
此库提供了一系列方法,以友好方式查询 PlayOnBSD 数据库,无需处理 SQL 数据库。
示例
从 PlayOnBSD 数据库创建一个 GameDataBase。
extern crate pobsd_db;
extern crate pobsd_parser;
use pobsd_db::GameDataBase;
use pobsd_parser::{Game, Parser, ParserResult, ParsingMode};
// loading the games from the database
let games = match Parser::new(ParsingMode::Strict)
.load_from_file("games.db")
.expect("Could not open the file")
{
ParserResult::WithoutError(games) => games,
ParserResult::WithError(games, _) => games,
};
GameDataBase::new(games);
通过名称获取游戏。
if let Some(game) = db.get_game_by_name("My Game"){
assert_eq!(&game.name, "My Game");
};
获取与给定标签相关联的所有游戏。
let game_query = db.get_game_by_tag("indie");
// check the first element of the query
if let Some(game) = game_query.get(0) {
if let Some(tags) = &game.tags {
assert!(tags.join(" ").contains("indie"));
};
};
依赖项
~3–5MB
~93K SLoC