Skip to content

Commit

Permalink
fix(build_value_generator): Escape enum wire keys
Browse files Browse the repository at this point in the history
  • Loading branch information
provokateurin authored and davidmorgan committed Dec 8, 2023
1 parent 693f69d commit 3f9d11f
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
4 changes: 2 additions & 2 deletions built_value_generator/lib/src/serializer_source_class.dart
Original file line number Diff line number Diff line change
Expand Up @@ -397,11 +397,11 @@ class $serializerImplName implements PrimitiveSerializer<$genericName> {
// Generate maps between enum names and wire names.
final toWire = '''
static const Map<String, Object> _toWire = const <String, Object>{
${wireNameMapping.keys.map((key) => "'$key': ${_toCode(wireNameMapping[key])},").join('\n')}
${wireNameMapping.keys.map((key) => "'${escapeString(key)}': ${_toCode(wireNameMapping[key])},").join('\n')}
};''';
final fromWire = '''
static const Map<Object, String> _fromWire = const <Object, String>{
${wireNameMapping.keys.map((key) => "${_toCode(wireNameMapping[key])}: '$key',").join('\n')}
${wireNameMapping.keys.map((key) => "${_toCode(wireNameMapping[key])}: '${escapeString(key)}',").join('\n')}
};''';

return '''
Expand Down
3 changes: 3 additions & 0 deletions end_to_end_test/lib/enums.dart
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ class DollarValueEnum extends EnumClass {

static const DollarValueEnum value$ = _$value$;

@BuiltValueEnumConst(wireName: 'value')
static const DollarValueEnum $value = _$value;

const DollarValueEnum._(String name) : super(name);

static BuiltSet<DollarValueEnum> get values => _$dollarValues;
Expand Down
16 changes: 14 additions & 2 deletions end_to_end_test/lib/enums.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3f9d11f

Please sign in to comment.