quran-meta
Version:
Library with meta data and functionality related to Holy Quran
33 lines (31 loc) • 1.24 kB
JavaScript
const require_validation = require('./validation.cjs');
const require_findSurahAyahByAyahId = require('./findSurahAyahByAyahId.cjs');
//#region src/getManzilMeta.ts
/**
* Retrieves metadata for a specific Manzil (section) of the Quran
*
* @param manzilNum - The number of the Manzil (1-7)
* @param data - The Lists object for the riwaya.
* @returns The metadata for the specified Manzil containing:
* - manzilNum: The Manzil number
* - firstAyahId: ID of the first ayah in the Manzil
* - lastAyahId: ID of the last ayah in the Manzil
* - first: Surah and ayah details of the first ayah
* - last: Surah and ayah details of the last ayah
* @throws Will throw an error if manzilNum is invalid
*/
function getManzilMeta(manzilNum, data) {
require_validation.checkValidManzil(manzilNum, data.meta);
const ManzilList = data.ManzilList;
const [firstAyahId, nextManzilAyahId] = [ManzilList[manzilNum], ManzilList[manzilNum + 1]];
const lastAyahId = nextManzilAyahId - 1;
return {
manzilNum,
firstAyahId,
lastAyahId,
first: require_findSurahAyahByAyahId.findSurahAyahByAyahId(firstAyahId, data),
last: require_findSurahAyahByAyahId.findSurahAyahByAyahId(lastAyahId, data)
};
}
//#endregion
exports.getManzilMeta = getManzilMeta;