[feature request] serde(rename_all) for enums
Opened this issue · 1 comments
AndrejMitrovic commented
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.
9il commented
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/szljgyqtwfangdygcifs@forum.dlang.org