quran-meta
Version:
Library with meta data and functionality related to Holy Quran
31 lines (30 loc) • 1.04 kB
JavaScript
import { meta } from "./const.mjs";
import { findAyahIdBySurah } from "./findAyahIdBySurah.mjs";
import { findJuzByAyahId } from "./findJuzByAyahId.mjs";
import { findPage } from "./findPage.mjs";
import { JuzList } from "./lists/juzList.mjs";
import { PageList } from "./lists/pageList.mjs";
import { SurahList } from "./lists/surahList.mjs";
import { checkValidSurah } from "./validation.mjs";
export function findRangeAroundAyah(surah, ayah, mode, ayahMode = false) {
const ayahId = ayahMode ? ayah : checkValidSurah(surah) && findAyahIdBySurah(surah, ayah);
switch (mode) {
case "juz": {
const juz = findJuzByAyahId(ayahId);
return [JuzList[juz], JuzList[juz + 1] - 1];
}
case "surah": {
return [SurahList[surah][0], SurahList[surah + 1][0] - 1];
}
case "ayah": {
return [ayahId, ayahId];
}
case "page": {
const page = findPage(-1, ayahId, true);
return [PageList[page], PageList[page + 1] - 1];
}
case "all":
default:
return [1, meta.numAyahs];
}
}