UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

28 lines (26 loc) 968 B
import { meta } from "./const.js"; import { JuzList } from "./lists/juzList.js"; import { findSurahByAyahId } from "./findSurahByAyahId.js"; import { findJuzAndShift } from "./findJuzAndShift.js"; //#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. * @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) { const { juz: leftjuz, ayahsBetweenJuzSurah, leftAyahId } = findJuzAndShift(surah, ayah); let rightJuz = leftjuz; while (rightJuz < meta.numJuzs && findSurahByAyahId(JuzList[rightJuz + 1]) === surah) rightJuz++; return { leftjuz, ayahsBetweenJuzSurah, rightJuz, leftAyahId, rightAyahId: JuzList[rightJuz + 1] }; } //#endregion export { findJuzMetaBySurah };