convertEnumToString<T extends Enum> static method
Converts the pair of Getter and Setter for an enum into the appropriate pair for storage (a String)
values
is the list of possible values that the enum has
(ex. ExampleEnum.values)
Implementation
static Tuple2<Getter<dynamic>, Setter<dynamic>>
convertEnumToString<T extends Enum>(
Getter<T?> getter,
Setter<T?> setter,
Iterable<T> values,
) {
return Tuple2(
() {
final value = getter();
return value?.name;
},
(val) => setter(
val == null
? null
: values.map<T?>((e) => e).firstWhere(
(element) => val == element?.name,
orElse: () => null,
),
),
);
}