enumValue<T extends Enum> static method

T? enumValue<T extends Enum>(
  1. Iterable<T> values,
  2. Object? raw, {
  3. T? fallback,
})

Implementation

static T? enumValue<T extends Enum>(
  Iterable<T> values,
  Object? raw, {
  T? fallback,
}) {
  if (raw is T) return raw;
  final text = raw?.toString().trim();
  if (text == null || text.isEmpty) return fallback;
  final normalized = _normalizeToken(text);
  for (final value in values) {
    if (_normalizeToken(value.name) == normalized) return value;
  }
  return fallback;
}