File tree Expand file tree Collapse file tree
java/online/sharedtype/processor/context
test/java/online/sharedtype/processor/context Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33import lombok .AccessLevel ;
44import lombok .Builder ;
55import lombok .Getter ;
6+ import lombok .experimental .Accessors ;
67import online .sharedtype .SharedType ;
78
89import java .util .Map ;
@@ -111,6 +112,9 @@ public static final class Rust {
111112 private final String outputFileName ;
112113 private final boolean allowDeadcode ;
113114 private final boolean convertToSnakeCase ;
115+ @ Accessors (fluent = true , chain = false )
116+ @ Getter
117+ private final boolean hasEnumValueTypeAlias ;
114118 private final Set <String > defaultTypeMacros ;
115119 private final String targetDatetimeTypeLiteral ;
116120 private final Map <String , String > typeMappings ;
Original file line number Diff line number Diff line change @@ -90,6 +90,7 @@ private static Props loadProps(Properties properties) {
9090 .targetDatetimeTypeLiteral (properties .getProperty ("sharedtype.rust.target-datetime-type" ))
9191 .typeMappings (parseMap (properties , "sharedtype.rust.type-mappings" ))
9292 .customCodePath (properties .getProperty ("sharedtype.rust.custom-code-path" ))
93+ .hasEnumValueTypeAlias (parseBoolean (properties , "sharedtype.rust.enum-value-type-alias" ))
9394 .build ())
9495 .build ();
9596 }
Original file line number Diff line number Diff line change @@ -129,6 +129,10 @@ sharedtype.rust.allow-deadcode=true
129129# # Whether to convert field names to snake_case. If set to false, #[allow(non_snake_case)] will be added
130130sharedtype.rust.convert-to-snake-case =false
131131
132+ # # Whether to have explicit type alias for enum value type
133+ # # See document for more details
134+ sharedtype.rust.enum-value-type-alias =false
135+
132136# # Default type macros, comma separated
133137sharedtype.rust.default-macros-traits =Debug
134138
Original file line number Diff line number Diff line change @@ -71,6 +71,7 @@ void loadDefaultProps() {
7171 assertThat (rustProps .getOutputFileName ()).isEqualTo ("types.rs" );
7272 assertThat (rustProps .isAllowDeadcode ()).isEqualTo (true );
7373 assertThat (rustProps .isConvertToSnakeCase ()).isEqualTo (false );
74+ assertThat (rustProps .hasEnumValueTypeAlias ()).isEqualTo (true );
7475 assertThat (rustProps .getDefaultTypeMacros ()).containsExactly ("Debug" );
7576 assertThat (rustProps .getTargetDatetimeTypeLiteral ()).isEqualTo ("String" );
7677 assertThat (rustProps .getTypeMappings ()).isEmpty ();
You can’t perform that action at this time.
0 commit comments