statistics property

SurahSearchStatistics get statistics

Get statistics about the search results

Implementation

SurahSearchStatistics get statistics {
  int meccanCount = 0;
  int medinanCount = 0;
  int totalAyat = 0;
  int minAyat = results.isNotEmpty ? results.first.numberOfAyahs : 0;
  int maxAyat = 0;

  for (final surah in results) {
    if (surah.isMeccan) {
      meccanCount++;
    } else {
      medinanCount++;
    }

    totalAyat += surah.numberOfAyahs;

    if (surah.numberOfAyahs < minAyat) {
      minAyat = surah.numberOfAyahs;
    }

    if (surah.numberOfAyahs > maxAyat) {
      maxAyat = surah.numberOfAyahs;
    }
  }

  final averageAyat = results.isNotEmpty ? totalAyat / results.length : 0.0;

  return SurahSearchStatistics(
    totalResults: totalResults,
    meccanResults: meccanCount,
    medinanResults: medinanCount,
    totalAyat: totalAyat,
    averageAyat: averageAyat,
    minAyat: minAyat,
    maxAyat: maxAyat,
  );
}