letMapOrNone<K extends Object, V extends Object> function
Option<Map<K, V>>
letMapOrNone<
K extends Object, V extends Object>( - dynamic input
)
Implementation
Option<Map<K, V>> letMapOrNone<K extends Object, V extends Object>(
dynamic input,
) {
switch (input) {
case Option<Map<K, V>> o:
return o;
case Map<K, V> m:
return Some(m);
case String s:
final decodedMap = jsonDecodeOrNone<Map<dynamic, dynamic>>(s);
return decodedMap.flatMap((map) => letAsOrNone<Map<K, V>>(map));
case Map<dynamic, dynamic> m:
return letAsOrNone<Map<K, V>>(m);
case Some(value: final v):
return letMapOrNone<K, V>(v);
default:
return const None();
}
}