getInitialData<V> method

E? getInitialData<V>({
  1. E? initialData,
  2. V? initialValue,
  3. ValueMapper<E, V?>? valueMapper,
  4. ValueMapper<E, List<E>?>? childrenMapper,
})

Implementation

E? getInitialData<V>({
  E? initialData,
  V? initialValue,
  ValueMapper<E, V?>? valueMapper,
  ValueMapper<E, List<E>?>? childrenMapper,
}) {
  if (initialData != null) {
    return initialData;
  }

  if (initialValue == null) {
    return null;
  }

  for (E data in this) {
    if ((valueMapper == null ? data : valueMapper(data)) == initialValue) {
      return data;
    }

    if (childrenMapper != null) {
      final children = childrenMapper(data);
      if (children != null && children.isNotEmpty) {
        final result = children.getInitialData(
          initialData: initialData,
          initialValue: initialValue,
          valueMapper: valueMapper,
          childrenMapper: childrenMapper,
        );
        if (result != null) {
          return result;
        }
      }
    }
  }
  return null;
}