getAyah static method

Future<AyahWithSurah> getAyah(
  1. int surahId,
  2. int ayahId
)

Get a specific ayah from the Quran.

surahId The surah number (1-114) ayahId The ayah number within the surah (1-n)

Returns AyahWithSurah containing the ayah and its surah information.

Throws ArgumentError if parameters are invalid.

Example:

final ayah = await QuranService.getAyah(2, 255); // Ayat al-Kursi
print(ayah.text);

Implementation

static Future<AyahWithSurah> getAyah(int surahId, int ayahId) async {
  await initialize();
  _ensureDataLoaded();

  QuranValidators.validateSurahId(surahId);

  final surah = _quranData!.surahs.firstWhere(
    (s) => s.id == surahId,
    orElse: () => throw ArgumentError('Surah $surahId not found'),
  );

  QuranValidators.validateAyahId(ayahId, surah.numberOfAyahs);

  final ayah = surah.ayat.firstWhere(
    (a) => a.id == ayahId,
    orElse: () =>
        throw ArgumentError('Ayah $ayahId not found in surah $surahId'),
  );

  return AyahWithSurah(
    id: ayah.id,
    text: ayah.text,
    sajdah: ayah.sajdah,
    juz: ayah.juz,
    hizb: ayah.hizb,
    surah: surah,
  );
}