2 个不稳定版本

0.2.0 2024年5月3日
0.1.0 2023年12月21日

解析器实现 中排名第 1321

每月下载量 23
用于 2 个crate(通过 vmt-parser

MIT 许可证

96KB
3K SLoC

vdf-reader

解析 Valve 的数据格式 v1(VDF),也称为 键值

解析器专注于处理野外的各种奇怪的 VDF 形式,并提供了对数据流的访问,而不是总是要求完整解析文件。

Serde

此crate实现了 serde 的反序列化器,但由于 VDF 无法很好地映射,因此可能无法正确反序列化每个类型。

限制

  • 因为布尔值 01 与数字无法区分,因此在未标记枚举中无法使用布尔值。

  • 当通过多次设置相同的键来反序列化数组时,键必须连续。

    key: 1
    key: 2
    other: 3
    

    将工作,但

    key: 1
    other: 3
    key: 2
    

    将不会工作。

标记枚举根

为了帮助反序列化一些常见的 VDF 格式,您可以使用标记枚举作为根元素,而不是结构体。

"Variant1" {
    content 1
}

"Variant2" {
    other foo
}

可以反序列化为

enum Data {
    Variant1 {
        content: bool,
    },
    Variant2 {
        other: String,
    }
}

依赖项

~4.5–6.5MB
~84K SLoC