enumFromList<T extends Object> function

List<T> enumFromList<T extends Object>(
  1. Iterable<T> enumValues,
  2. Iterable<String> stringValues
)

Get a list of enum values from a list of strings

If some value from the enum object is not in the stringValues, it won't be returned.

If some value appends more than once, it will be returned as many times as it appends in stringValues.

enum TestEnum { valueOne, valueTwo }

final enumList = enumFromList(
  TestEnum.values,
  ['valueOne', 'value2'],
);
enumList == [TestEnum.valueOne]; // true

final enumList = enumFromList(
  TestEnum.values,
  ['value_two', 'valueTwo'],
);
enumList == [TestEnum.valueTwo, TestEnum.valueTwo]; // true

Implementation

List<T> enumFromList<T extends Object>(
    Iterable<T> enumValues, Iterable<String> stringValues) {
  return stringValues.map((item) => enumFromString(enumValues, item)).toList();
}