getAyaData function

Future<Aya> getAyaData({
  1. required int surahNumber,
  2. required int ayaNumber,
  3. String? translationLang,
  4. String? transliterationLang,
  5. String? tafseer,
})

Returns Aya Data such as number, arabic text, translation, transliteration

Example:

getAya(surahNumber: 1,
aya: 1,
translationLang: 'english'
transliterationLang: 'english',
tafseer='shaheehinter');

Returns number, arabic text, translation, transliteration, or empty Aya if not valid

{
  "id": 1,
  "arabic_index": "\u0661",
  "arabic":  "بِسْمِ ٱللَّهِ ٱلرَّحْمَـٰنِ ٱلرَّحِيمِ",
  "translation": "Dengan menyebut nama Allah Yang Maha Pengasih lagi Maha Penyayang.",
  "transliteration": "...",
  "tafseer": "..."
}

Implementation

//
Future<Aya> getAyaData(
    {required int surahNumber,
    required int ayaNumber,
    String? translationLang,
    String? transliterationLang,
    String? tafseer}) async {
  var arrayNumber = ayaNumber - 1;
  var surah = await QuranDatasource.instance.getSurahContent(
      surahNumber: surahNumber,
      translationLang: translationLang,
      transliterationLang: transliterationLang,
      tafseer: tafseer);
  return (surah.aya?.length ?? 0) > arrayNumber && arrayNumber >= 0
      ? surah.aya![arrayNumber]
      : Aya();
}