filter method

SummaryArticle? filter(
  1. bool test(
    1. SummaryArticle e
    ), {
  2. bool skipRoot = false,
})

directly retrieve children if skipRoot is true

Implementation

SummaryArticle? filter(bool Function(SummaryArticle e) test,
    {bool skipRoot = false}) {
  if (!skipRoot && test(this)) {
    return this;
  }
  // final result = articles?.reduce((result, e) => (result.filter(test) ?? e));
  // return result != null && test(result) ? result : null;
  for (final a in (articles ?? const <SummaryArticle>[])) {
    final result = a.filter(test);
    if (result != null) {
      return result;
    }
  }
  return null;
}