e static method

dynamic e(
  1. List enums,
  2. dynamic indexOrName
)

Implementation

static dynamic e(List<dynamic> enums, dynamic indexOrName) {
  if (indexOrName == null) {
    return null;
  }

  if (indexOrName is int) {
    return indexOrName >= enums.length || indexOrName < 0
        ? null
        : enums[indexOrName];
  }

  if (indexOrName is String) {
    for (dynamic entry in enums) {
      if (entry is Enum) {
        if (entry.name == indexOrName) {
          return entry;
        }
      }

      if (entry.toString() == indexOrName) {
        return entry;
      }
    }
  }

  indexOrName = int.tryParse(indexOrName.toString());
  return indexOrName >= enums.length || indexOrName < 0
      ? null
      : enums[indexOrName];
}