UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

31 lines (30 loc) 1.04 kB
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]; } }