decodeList<T extends List<E>?, E> function

T decodeList<T extends List<E>?, E>(
  1. dynamic raw,
  2. E decode(
    1. dynamic,
    2. String?
    ), {
  3. String? name,
})

Implementation

T decodeList<T extends List<E>?, E>(
    dynamic raw, E Function(dynamic, String?) decode,
    {String? name}) {
  if (raw is List) {
    return raw.mapIndexed((e, i) => decode(e, '$name[$i]')).toList() as T;
  } else if (TypeCheck<T>().isNullable && raw == null) {
    return raw?.map(decode).toList() as T;
  } else {
    throw CodecException.typeMismatch(T, raw.runtimeType, name);
  }
}