getAyah static method
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,
);
}