getInitialList<V> method
List<E> ?
getInitialList<V>({
- List<
E> ? initialData, - List<
V> ? initialValue, - ValueMapper<
E, V?> ? valueMapper, - ValueMapper<
E, List< ? childrenMapper,E> ?>
Implementation
List<E>? getInitialList<V>({
List<E>? initialData,
List<V>? initialValue,
ValueMapper<E, V?>? valueMapper,
ValueMapper<E, List<E>?>? childrenMapper,
}) {
if (initialData != null) {
return initialData;
}
if (initialValue == null) {
return null;
}
final List<E> result = [];
for (E data in this) {
if (initialValue
.contains(valueMapper == null ? data : valueMapper(data))) {
result.add(data);
}
if (childrenMapper != null) {
final children = childrenMapper(data);
if (children != null && children.isNotEmpty) {
final childrenResult = children.getInitialList(
initialData: initialData,
initialValue: initialValue,
valueMapper: valueMapper,
childrenMapper: childrenMapper,
);
if (childrenResult != null) {
result.addAll(childrenResult);
}
}
}
}
return result;
}