google / google/json_serializable.dart
Add an option for `jsonSerializable` annotation to choose what `enum` property `name` or `index` to use for serialization.
Open
P3 low
Type: enhancement
- Dominant language
- Dart
- Stars
- 1.6k
- Forks
- 461
- Avg merge
- 45m
- Merged PRs (30d)
- 1
Description
Now [generated code](https://github.com/google/json_serializable.dart/issues/1286) contains such statement for `ThemeMode` `enum`:
```dart
const _$ThemeModeEnumMap = {
ThemeMode.system: 'system',
ThemeMode.light: 'light',
ThemeMode.dark: 'dark',
};
```
So `enum` values are serialized as `String`s but having a possibility to serialize `enum` values as `int`egers would be a good option.
```dart
const _$ThemeModeEnumMap = {
ThemeMode.system: 0,
ThemeMode.light: 1,
ThemeMode.dark: 2,
};
```
Contributor guide
Assessment
This issue has not been assessed yet.