getEnum<T extends Enum> method

T? getEnum<T extends Enum>(
  1. String key,
  2. List<T> values
)

Enums are stored by name: set("mode", ThemeMode.dark) → getEnum("mode", ThemeMode.values).

Implementation

T? getEnum<T extends Enum>(String key, List<T> values) {
  final String? name = get<String>(key);
  if (name == null) return null;
  for (final T value in values) {
    if (value.name == name) return value;
  }
  return null;
}