zd: Add rename_all attribute to (De)SerializeDict macros
Adds Serde-like rename_all
attribute to the SerializeDict and DeserializeDict derive macros as desribed in #305 (closed).
The attribute supports all case variants currently supported by the serde_derive crate. The rename
attribute on fields is prioritized over the rename_all
structure attribute to allow cases when a specific field must be renamed.
Current questions:
1. Is the new dependency on the convert_case
crate OK?
2. Should I update the docs and the book? In the same PR or separately?
3. While testing the changes I've noticed that in case the attribute is not specified first it is ignored (e.g. in #[zvariant(signature = "XXX", rename_all = "PascalCase")]
the rename_all
attribute was ignored, probably the same thing would happen for the signature
attribute in this position). Should I fix the get_signature_attribute
and get_rename_attribute
functions to allow for multiple attributes to exist at once?
Fixes #305 (closed).