UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

28 lines (26 loc) 992 B
import { findSurahByAyahId } from "./findSurahByAyahId.mjs"; import { findJuzAndShift } from "./findJuzAndShift.mjs"; //#region src/findJuzMetaBySurah.ts /** * Finds the SurahJuzMeta for a given Surah and Ayah. * * @param surah - The Surah (chapter) number. * @param ayah - The Ayah (verse) number. * @param data - The Lists object for the riwaya. * @returns The SurahJuzMeta object containing the left juz, ayahs between juz and surah, right juz, ayah ID of first ayah in left juz, and last ayah ID of right juz . */ function findJuzMetaBySurah(surah, ayah = 1, data) { const { juz: leftjuz, ayahsBetweenJuzSurah, leftAyahId } = findJuzAndShift(surah, ayah, data); const JuzList = data.JuzList; let rightJuz = leftjuz; while (rightJuz < data.meta.numJuzs && findSurahByAyahId(JuzList[rightJuz + 1], data) === surah) rightJuz++; return { leftjuz, ayahsBetweenJuzSurah, rightJuz, leftAyahId, rightAyahId: JuzList[rightJuz + 1] }; } //#endregion export { findJuzMetaBySurah };