toEnum<T> static method
Parse input value
to String and then to enum. Parsing is case insensitive.
If enum of given name is not found, defaultValue
or first value from enums
is returned.
Implementation
static T toEnum<T>(dynamic value, List<T> enums, {T? defaultValue}) {
if (value == null) {
return defaultValue ?? enums[0];
}
final name = string(value).toLowerCase();
return enums.firstWhere((item) => fromEnum(item)!.toLowerCase() == name,
orElse: () => defaultValue ?? enums[0]);
}