Derive serde methods on message enums
This commit is contained in:
parent
62cffa56ff
commit
cc4d14fe69
21
Cargo.lock
generated
21
Cargo.lock
generated
@ -50,6 +50,7 @@ version = "0.2.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"serde",
|
||||
"syn",
|
||||
"tokio",
|
||||
]
|
||||
@ -120,6 +121,26 @@ version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.203"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.203"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.66"
|
||||
|
@ -3,10 +3,12 @@ name = "eagle"
|
||||
version = "0.2.0"
|
||||
edition = "2021"
|
||||
license = "AGPL-3.0"
|
||||
publish = ["gitea"]
|
||||
|
||||
[dependencies]
|
||||
proc-macro2 = "1.0.85"
|
||||
quote = "1.0.36"
|
||||
serde = { version = "1.0.203", features = ["serde_derive"] }
|
||||
syn = "2.0.66"
|
||||
tokio = { version = "1.38.0", features = ["sync"] }
|
||||
|
||||
@ -15,4 +17,4 @@ proc-macro = true
|
||||
|
||||
[[test]]
|
||||
name = "tests"
|
||||
path = "tests/mod.rs"
|
||||
path = "tests/mod.rs"
|
||||
|
@ -92,6 +92,7 @@ pub fn derive_protocol(input: TokenStream) -> TokenStream {
|
||||
};
|
||||
let client_enum_name = format_ident!("{}Question", name);
|
||||
let client_enum = quote! {
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
#vis enum #client_enum_name {
|
||||
#(#client_enum), *
|
||||
}
|
||||
@ -99,6 +100,7 @@ pub fn derive_protocol(input: TokenStream) -> TokenStream {
|
||||
// Create an enum to represent the queries the client has sent
|
||||
let query_enum_name = format_ident!("{}Query", name);
|
||||
let query_enum = quote! {
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
#vis enum #query_enum_name {
|
||||
#(#query_enum), *
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user