quran-meta
Version:
Library with meta data and functionality related to Holy Quran
65 lines (64 loc) • 2.44 kB
JavaScript
;
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;
}