asdf
asdf copied to clipboard
[feature request] serde(rename_all) for enums
In Rust the serde macro can rename all enum members, for example:
#[serde(rename_all = "UPPERCASE")]
pub enum LoginType {
Web = 0,
Mobile = 1,
}
The D workaround for this is to use serdeKeys:
enum LoginType {
@serdeKeys("WEB") Web,
@serdeKeys("MOBILE") Mobile,
}
But would it be possible to add something similar in D that affects all the enum members? E.g.:
@serdeRenamed(Uppercase)
enum LoginType {
Web,
Mobile,
}
The exact syntax isn't that important to me.
It can be implemented like http://mir-algorithm.libmir.org/mir_serde.html#.serdeIgnoreCase
I am no longer work on new features, but it could be added as part of mir migration to Phobos: https://forum.dlang.org/post/[email protected]