I often use .firstWhere((E element) -> bool) -> E
in my project. When porting it to support null safety I couldn't cleanly handle a scenario when an element is not found in a List instance.
.firstWhere
, .singleWhere
and .lastWhere
returns E
, not E?
so when handling a case when a List does not contain required element there's no other way to return null
other than casting a whole list from eg. List<String>
to List<String?>
which makes testing function worried about each element being potentially null, which it can't be. Before null safety I was able to just use orElse: () => null
but with null safety orElse
have to return element of type E
so troublesome casting is required.
Do I have to have a null
substitute for each type to use in orElse
or are there other methods to make list checking support missing element scenario with null?