quran-meta
Version:
Library with meta data and functionality related to Holy Quran
28 lines (26 loc) • 1.16 kB
JavaScript
import { findSurahAyahByAyahId } from "./findSurahAyahByAyahId.mjs";
import { getThumunAlHizb } from "./getThumunAlHizb.mjs";
//#region src/getThumunAlHizbMeta.ts
/**
* Retrieves the metadata for a specific quarter (rub' al-hizb) of the Quran.
*
* @param eighthIndex - The index of the Eighth (thumun' al-hizb) to retrieve metadata for, where 1 is the first quarter.
* @param data - The Lists object for the riwaya.
* @returns An object containing the metadata for the specified quarter, including the juz' (part), hizb (section), and the quarter (rub' al-hizb) index.
*/
function getThumunAlHizbMeta(eighthIndex, data) {
const res = getThumunAlHizb(eighthIndex);
const HizbEighthList = data.HizbEighthList;
if (!HizbEighthList) throw new Error(`Riwaya ${data.meta.riwayaName} does not have Hizb Eighth List data.`);
const [firstAyahId, nextJuzAyahId] = [HizbEighthList[eighthIndex], HizbEighthList[eighthIndex + 1]];
const lastAyahId = nextJuzAyahId - 1;
return {
firstAyahId,
lastAyahId,
first: findSurahAyahByAyahId(firstAyahId, data),
last: findSurahAyahByAyahId(lastAyahId, data),
...res
};
}
//#endregion
export { getThumunAlHizbMeta };