readList<T> method

  1. @override
List<T> readList<T>(
  1. dynamic input, {
  2. String? typeName,
  3. required bool isNullable,
})
override

Implementation

@override
List<T> readList<T>(dynamic input, {String? typeName, required bool isNullable}) {
  typeName ??= '$T';
  final factory = _readerFactories.map((e) => e(typeName!)).firstWhere(
        (element) => element != null,
        orElse: () => (dynamic input) => input,
      );

  return <T>[
    ...?(input as Iterable?)?.map((e) {
      final converted = factory!(e);
      assert(converted is T,
          "Factory didn't convert ${e?.runtimeType} into a ${T} for type: '${typeName}, instead was ${e?.runtimeType}");
      return converted as T;
    }),
  ];
}