enumFromName<E extends Enum> function

E? enumFromName<E extends Enum>(
  1. String? name,
  2. Iterable<E> enumValues
)

Returns an Enum from enumValues that matches name.

Implementation

E? enumFromName<E extends Enum>(String? name, Iterable<E> enumValues) {
  if (name == null) return null;
  name = name.trim();
  if (name.isEmpty) return null;

  for (var e in enumValues) {
    var n = enumToName(e);

    if (equalsIgnoreAsciiCase(n, name)) {
      return e;
    }
  }

  return null;
}