Merge pull request #588 from SeaQL/cli-gen-enum-num-variants

CLI generate enum with numeric like variants
This commit is contained in:
Chris Tsang 2022-07-01 02:10:00 +08:00 committed by GitHub
commit ec881e35a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,10 +14,13 @@ impl ActiveEnum {
let enum_name = &self.enum_name; let enum_name = &self.enum_name;
let enum_iden = format_ident!("{}", enum_name.to_camel_case()); let enum_iden = format_ident!("{}", enum_name.to_camel_case());
let values = &self.values; let values = &self.values;
let variants = self let variants = self.values.iter().map(|v| v.trim()).map(|v| {
.values if v.chars().all(|c| c.is_numeric()) {
.iter() format_ident!("_{}", v)
.map(|v| format_ident!("{}", v.to_camel_case())); } else {
format_ident!("{}", v.to_camel_case())
}
});
let extra_derive = with_serde.extra_derive(); let extra_derive = with_serde.extra_derive();