9 个版本 (1 个稳定版)
1.0.0 | 2020 年 10 月 4 日 |
---|---|
0.3.4 | 2020 年 4 月 15 日 |
0.3.3 | 2019 年 7 月 13 日 |
0.3.1 | 2017 年 11 月 24 日 |
0.1.1 | 2017 年 9 月 26 日 |
#1784 在 解析器实现
718 每月下载量
用于 7 crate
15KB
300 代码行
steamid-ng
一个易于使用的 steamid 类型,具有解析和渲染 steam2 和 steam3 ID 的功能。所有初始 PHP 实现的功劳归功于 xPaw;我只是将它移植到 Rust。
lib.rs
:
SteamID
steamid-ng crate 提供了一个易于使用的 SteamID 类型,具有解析和渲染 steam2 和 steam3 ID 的功能。它还支持通过 serde 进行序列化和反序列化。
示例
let x = SteamID::from(76561197960287930);
let y = SteamID::from_steam3("[U:1:22202]").unwrap();
let z = SteamID::from_steam2("STEAM_1:0:11101").unwrap();
assert_eq!(x, y);
assert_eq!(y, z);
assert_eq!(u64::from(z), 76561197960287930);
assert_eq!(y.steam2(), "STEAM_1:0:11101");
assert_eq!(x.steam3(), "[U:1:22202]");
assert_eq!(x.account_id(), 22202);
assert_eq!(x.instance(), Instance::Desktop);
assert_eq!(x.account_type(), AccountType::Individual);
assert_eq!(x.universe(), Universe::Public);
// the SteamID type also has `set_{account_id, instance, account_type, universe}` methods,
// which work as you would expect.
请注意,SteamID 类型不执行验证。
依赖项
~3–4.5MB
~87K SLoC