initData<D, V> static method

D? initData<D, V>(
  1. List<D> source,
  2. D? initialData,
  3. V? initialValue,
  4. ValueMapper<D, V?>? valueMapper,
)

通过传入数据源 sourceD 类型初始数据 initialDataV 类型初始值 initialValue以及值生成器 valueMapper 生成 D 类型初始化数据的方法。

Implementation

static D? initData<D, V>(
  List<D> source,
  D? initialData,
  V? initialValue,
  ValueMapper<D, V?>? valueMapper,
) {
  if (initialData != null) {
    return initialData;
  }
  if (initialValue == null) {
    return null;
  }
  if (valueMapper == null) {
    return initialValue as D;
  }
  for (D item in source) {
    if (initialValue == valueMapper(item)) {
      return item;
    }
  }
  return null;
}