summary property

DataSummary get summary

Get summary statistics

Implementation

DataSummary get summary {
  final totalCharacters = surahs.fold<int>(
      0,
      (sum, surah) =>
          sum +
          surah.ayat
              .fold<int>(0, (ayahSum, ayah) => ayahSum + ayah.text.length));

  final sajdahCount =
      surahs.fold<int>(0, (sum, surah) => sum + surah.sajdahAyat.length);

  return DataSummary(
    totalSurahs: metadata.totalSurahs,
    totalAyat: metadata.totalAyat,
    totalCharacters: totalCharacters,
    meccanSurahs: metadata.meccanSurahs,
    medinanSurahs: metadata.medinanSurahs,
    sajdahAyat: sajdahCount,
    longestSurahName: longestSurah.englishName,
    shortestSurahName: shortestSurah.englishName,
    averageAyatPerSurah: metadata.totalAyat / metadata.totalSurahs,
  );
}