#[derive(SerializeFields)]Expand description
Derive macro for generating field selectors and dynamic serialization.
This macro generates:
- A field selector struct (
{StructName}SerializeFieldSelector) - Methods for enabling fields by hierarchy
- Implementation of
SerializeFieldsTraitwith serialization logic
The serialization is handled by a generic Serialize implementation that
works with any type implementing SerializeFieldsTrait.
ยงExamples
use serialize_fields::SerializeFields;
use serde::{Serialize, Deserialize};
#[derive(SerializeFields, Serialize, Deserialize)]
struct User {
id: u32,
name: String,
email: Option<String>,
r#type: String, // Raw identifier support
}This generates:
UserSerializeFieldSelectorstruct- Methods:
new(),enable_dot_hierarchy(),enable() SerializeFieldsTraitimpl withserialize_fields()andserialize()methods