statistics property

JuzStatistics get statistics

Get statistics about this Juz

Implementation

JuzStatistics get statistics {
  final surahCounts = <int, int>{};
  int meccanAyat = 0;
  int medinanAyat = 0;

  for (final ayah in ayat) {
    surahCounts[ayah.surah.id] = (surahCounts[ayah.surah.id] ?? 0) + 1;

    if (ayah.surah.isMeccan) {
      meccanAyat++;
    } else {
      medinanAyat++;
    }
  }

  return JuzStatistics(
    juzNumber: juz,
    totalAyat: totalAyat,
    uniqueSurahs: surahCounts.length,
    meccanAyat: meccanAyat,
    medinanAyat: medinanAyat,
    sajdahCount: sajdahAyat.length,
    surahDistribution: surahCounts,
    estimatedMinutes: estimatedReadingMinutes,
  );
}