getAyahUQsForPagesByAyahNumbers method

List<int> getAyahUQsForPagesByAyahNumbers({
  1. required int startPage,
  2. required int endPage,
  3. required List<int> ayahNumbers,
})

إرجاع أرقام UQ لكل الآيات ذات أرقام ayahNumber المحددة داخل نطاق صفحات

Implementation

List<int> getAyahUQsForPagesByAyahNumbers(
    {required int startPage,
    required int endPage,
    required List<int> ayahNumbers}) {
  final result = <int>{};
  final sp = startPage.clamp(1, 604);
  final ep = endPage.clamp(1, 604);
  for (int p = sp; p <= ep; p++) {
    final pageAyahs = staticPages.isNotEmpty
        ? staticPages[p - 1].ayahs
        : ayahs.where((a) => a.page == p).toList();
    for (final a in pageAyahs) {
      if (ayahNumbers.contains(a.ayahNumber)) {
        result.add(a.ayahUQNumber);
      }
    }
  }
  return result.toList();
}