UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

41 lines (29 loc) 1.29 kB
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;