1个不稳定版本
0.1.0 | 2022年11月30日 |
---|
#2630 在 解析器实现
49KB
1K SLoC
wowdbdefs-rs
用于解析WoWDBDefs/.dbd
文件的Rust库。
使用方法
将以下内容添加到您的Cargo.toml
[description]
wowdbdefs-rs = "0.1"
然后阅读文档。
MSRV
wowdbdefs-rs
的最小支持Rust版本(MSRV)为1.58.1。在wowdbdefs-rs
达到1.0.0之前,MSRV可以在PATCH
版本中增加。
许可证
根据您的选择,许可协议可以是
- Apache许可证2.0版本(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的,任何有意提交给作品并由您包含的贡献,将根据上述方式双许可,不附加任何额外条款或条件。
lib.rs
:
WoWDBDefs-rs
用于从WoWDBDefs
仓库中读取.dbd
格式的Crate。
示例
// From &str
// Ensure that the .dbd name is correct
let file = load_file_from_string(contents, "Map.dbd")?.into_proper()?;
// Or from a path
// `load_file` has two levels of error, one is io::Error the other is ParseError
let file = load_file(path)??.into_proper()?;
// Then either use the parsed types with into_proper which is a more ergonomic API
for definition in &file.definitions {
for entry in &definition.entries {
println!("{}", entry.name);
println!("{:#?}", entry.ty);
}
}
// Or the raw types which are a direct representation of the format
let file = load_file(path)??;
for definition in &file.definitions {
for entry in &definition.entries {
println!("{}", entry.name);
let column = file.columns.get(&entry.name).ok_or("unable to find column")?;
println!("{:#?}", column.ty);
}
}
使用方法
将以下内容添加到您的Cargo.toml
[dependencies]
wowdbdefs-rs = "0.1.0"
MSRV
此Crate的MSRV为1.58.1