22 个版本
0.2.20 | 2023年2月21日 |
---|---|
0.2.19 | 2023年2月20日 |
0.2.18 | 2022年12月17日 |
0.2.17 | 2021年6月29日 |
0.1.1 | 2019年10月27日 |
#307 在 数据结构
54 每月下载量
1.5MB
32K SLoC
使用
use fiftyonedegrees::properties::PropertyName;
use fiftyonedegrees::api::DeviceDetection;
fn main() {
let properties = vec![PropertyName::IsMobile];
let engine = DeviceDetection::new("path/to/file.hash", properties);
let result = engine.lookup("my user agent");
let boolean = result.getValueAsBoolean(&PropertyName::IsMobile).unwrap().unwrap();
let string = result.getValueAsString(&PropertyName::BrowserName).unwrap().unwrap();
}
开发
安装 Rust
https://rust-lang.net.cn/tools/install
安装 bindgen
cargoinstall bindgen-cli
下载 C 代码
gitsubmodule update --init --recursive
更新到最新的 device-detection-cxx
将 git 子模块指向目标标签
cddevice-detection-cxx
gitcheckout 4.2.3
cdsrc/common-cxx
gitsubmodule update
为 Rust 重新生成 C 绑定
bindgen src/shim/wrapper.h -o src/shim/mod.rs
运行测试
cargotest
性能基准测试
cargorun --examplebenchmark --release