getArgFromList<T> static method
Tries to return object of given Type or predicate
.
If none found, then defaultValue
is returned.
Implementation
static T? getArgFromList<T>(Iterable? iterable,
{bool Function(dynamic)? predicate, T? defaultValue}) {
if (iterable == null) {
return defaultValue;
}
if (predicate != null) {
final testItem =
iterable.nullable().firstWhere(predicate, orElse: () => null);
if (testItem != null) {
return testItem;
}
} else {
if (T != dynamic) {
final typeItem = iterable
.nullable()
.firstWhere((item) => item is T, orElse: () => null);
if (typeItem != null) {
return typeItem;
}
}
}
return defaultValue;
}