quran-meta
Version:
Library with meta data and functionality related to Holy Quran
41 lines (29 loc) • 1.29 kB
JavaScript
const require_validation = require('./validation.cjs');
const require_findSurahAyahByAyahId = require('./findSurahAyahByAyahId.cjs');
const require_rukuList = require('./lists/rukuList.cjs');
//#region src/getRukuMeta.ts
/**
* Retrieves metadata for a specific Ruku (section) of the Quran.
* @param rukuNum - The number of the Ruku to retrieve metadata for
* @returns {@link RukuMeta} An object containing metadata about the Ruku including:
* - rukuNum: The Ruku number
* - firstAyahId: The global Ayah ID of the first verse in this Ruku
* - lastAyahId: The global Ayah ID of the last verse in this Ruku
* - first: The Surah and Ayah numbers for the first verse
* - last: The Surah and Ayah numbers for the last verse
* @throws Will throw an error if the provided Ruku number is invalid
*/
function getRukuMeta(rukuNum) {
require_validation.checkValidRuku(rukuNum);
const [firstAyahId, nextRukuAyahId] = [require_rukuList.RukuList[rukuNum], require_rukuList.RukuList[rukuNum + 1]];
const lastAyahId = nextRukuAyahId - 1;
return {
rukuNum,
firstAyahId,
lastAyahId,
first: require_findSurahAyahByAyahId.findSurahAyahByAyahId(firstAyahId),
last: require_findSurahAyahByAyahId.findSurahAyahByAyahId(lastAyahId)
};
}
//#endregion
exports.getRukuMeta = getRukuMeta;