google / google/json_serializable.dart

Add an option for `jsonSerializable` annotation to choose what `enum` property `name` or `index` to use for serialization.

Open
#1,290 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.