UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

65 lines (64 loc) 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAyahMetasForSurah = getAyahMetasForSurah; var _getAyahMeta = require("./getAyahMeta.cjs"); var _hizbQuarterList = require("./lists/hizbQuarterList.cjs"); var _juzList = require("./lists/juzList.cjs"); var _pageList = require("./lists/pageList.cjs"); var _rukuList = require("./lists/rukuList.cjs"); var _sajdaList = require("./lists/sajdaList.cjs"); var _surahList = require("./lists/surahList.cjs"); var _validation = require("./validation.cjs"); function getAyahMetasForSurah(surahNumber) { (0, _validation.checkValidSurah)(surahNumber); const [startAyahId, ayahCount // , surahOrder, rukuCount, name, isMeccan, page ] = _surahList.SurahList[surahNumber]; const endAyahId = startAyahId + ayahCount - 1; const result = []; let meta = (0, _getAyahMeta.getAyahMeta)(startAyahId); for (let ayahId = startAyahId; ayahId <= endAyahId; ayahId++) { if (ayahId > startAyahId) { meta = structuredClone(meta); meta.ayah += 1; meta.isStartOfSurah = false; meta.isEndOfSurah = endAyahId === ayahId; if (_pageList.PageList[meta.page + 1] === ayahId) { meta.page += 1; meta.isStartOfPage = true; } else { meta.isStartOfPage = false; } meta.isEndOfPage = _pageList.PageList[meta.page + 1] === ayahId + 1; if (_rukuList.RukuList[meta.ruku + 1] === ayahId) { meta.ruku += 1; meta.isStartOfRuku = true; } else { meta.isStartOfRuku = false; } meta.isEndOfRuku = _rukuList.RukuList[meta.ruku + 1] === ayahId + 1; meta.isEndOfJuz = _juzList.JuzList[meta.juz + 1] === ayahId + 1; if (_juzList.JuzList[meta.juz + 1] === ayahId) { meta.juz += 1; meta.hizbId += 1; meta.isStartOfJuz = true; } else { meta.isStartOfJuz = false; } meta.isEndOfQuarter = _hizbQuarterList.HizbQuarterList[meta.rubAlHizbId + 1] === ayahId + 1; if (_hizbQuarterList.HizbQuarterList[meta.rubAlHizbId + 1] === ayahId) { meta.rubAlHizbId += 1; meta.juzPart = meta.isStartOfJuz ? 1 : meta.juzPart + 1; meta.isStartOfQuarter = true; if (meta.juzPart === 5) meta.hizbId += 1; } else { meta.isStartOfQuarter = false; } meta.isSajdahAyah = _sajdaList.SajdaList.some(x => x[0] === ayahId); } result.push(meta); } return result; }