parseList<T> function

List<T> parseList<T>(
  1. dynamic value,
  2. ParseEntityFunction<T> parseFunction, {
  3. List<T> defaultValue = const [],
})

Returns parsed List from value.

if value is Iterable every value element will be passed to parseFunction, which must return parsed

Implementation

List<T> parseList<T>(
  dynamic value,
  ParseEntityFunction<T> parseFunction, {
  List<T> defaultValue = const [],
}) {
  if (value is Iterable) {
    final list = <T>[];
    for (final entity in value) {
      try {
        list.add(parseFunction(entity));
      } catch (_) {
        continue;
      }
    }
    return list.isEmpty ? defaultValue : list;
  } else {
    return defaultValue;
  }
}