letIterableOrNone<T extends Object> function
Option<Iterable<T>>
letIterableOrNone<
T extends Object>( - dynamic input
)
Implementation
Option<Iterable<T>> letIterableOrNone<T extends Object>(dynamic input) {
switch (input) {
case Option<Iterable<T>> o:
return o;
case Iterable<T> i:
return Some(i);
case String s:
final decodedIterable = jsonDecodeOrNone<Iterable<dynamic>>(s);
return decodedIterable.flatMap((iter) => letAsOrNone<Iterable<T>>(iter));
case Iterable<dynamic> i:
return letAsOrNone<Iterable<T>>(i);
case Some(value: final v):
return letIterableOrNone<T>(v);
default:
return const None();
}
}