Derive macros for wacore protocol types.
This crate provides derive macros for implementing the ProtocolNode trait
on structs that represent WhatsApp protocol nodes.
Example
use wacore_derive::{ProtocolNode, StringEnum};
/// A query request node.
/// Wire format: `<query request="interactive"/>`
#[derive(ProtocolNode)]
#[protocol(tag = "query")]
pub struct QueryRequest {
#[attr(name = "request", default = "interactive")]
pub request_type: String,
}
/// An enum with string representation.
#[derive(StringEnum)]
pub enum MemberAddMode {
#[str = "admin_add"]
AdminAdd,
#[str = "all_member_add"]
AllMemberAdd,
}