getRawEnumOrNull<T> method

T? getRawEnumOrNull<T>(
  1. List<T> values,
  2. String namer(
    1. T
    ),
  3. String name,
  4. T? defaults,
)

Implementation

T? getRawEnumOrNull<T>(
  List<T> values,
  String Function(T) namer,
  String name,
  T? defaults,
) {
  final value = getStringOrNull(name);
  if (value == null || value == '') {
    return defaults;
  }
  final filteredValues = values.where((e) => namer(e) == value);
  if (filteredValues.isEmpty) {
    throw ParsingException(name, value, 'Missing required enum field');
  }
  return filteredValues.first;
}