SerializeFields

Derive Macro SerializeFields 

Source
#[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 SerializeFieldsTrait with 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:

  • UserSerializeFieldSelector struct
  • Methods: new(), enable_dot_hierarchy(), enable()
  • SerializeFieldsTrait impl with serialize_fields() and serialize() methods