2 个不稳定版本
0.2.0 | 2023年5月24日 |
---|---|
0.1.0 | 2023年5月22日 |
43 在 #prost
6KB
85 行
ProstUuid 是对 uuid::Uuid 的一个新类型包装,并为其实现了 prost::Message
如何使用它
为 uuid 创建一个 protobuf 文件(未来版本中将提供开箱即用的功能)
syntax = "proto3";
package uuid;
message Uuid {
string uuid_str = 1;
}
并在您的自己的 protobuf 中使用它
message User {
uuid.Uuid id = 1;
string email = 2;
}
在 Rust 代码中,您可以通过不同的方法和解引用,将 ProstUuid
与 uuid::Uuid
互换使用
fn test_derive_more() {
let prost_uuid = ProstUuid::from(Uuid::nil());
let uuid = Uuid::from(prost_uuid);
assert_eq!(format!("{}", uuid), format!("{}", prost_uuid));
let new_prost_uuid = ProstUuid::new(uuid);
let mut mut_prost_uuid = new_prost_uuid;
let another_prost_uuid = new_prost_uuid;
function_expect_uuid(
new_prost_uuid.as_ref(),
mut_prost_uuid.as_mut(),
*another_prost_uuid,
);
}
fn function_expect_uuid(_uuid_ref: &Uuid, _uuid_mut_ref: &mut Uuid, _uuid: Uuid) {}
依赖关系
~1.3–2MB
~42K SLoC