quran-meta
Version:
Library with meta data and functionality related to Holy Quran
21 lines (19 loc) • 851 B
JavaScript
const require_surahList = require('./lists/surahList.cjs');
const require_validation = require('./validation.cjs');
const require_utils = require('./utils.cjs');
//#region src/findSurahAyahByAyahId.ts
/**
* Finds the Surah (chapter) and Ayah (verse) numbers that the given Ayah ID belongs to.
*
* @param ayahId - The Ayah ID to find the Surah and Ayah numbers for.
* @returns An array containing the Surah number and the Ayah number within that Surah.
*/
function findSurahAyahByAyahId(ayahId) {
require_validation.checkValidAyahId(ayahId);
const ss = require_utils.binarySearch(require_surahList.SurahList, ayahId, (aya, b) => aya - b[0]);
const suraNum = ss < 0 ? -ss - 2 : ss;
const ayahNo = ayahId - require_surahList.SurahList[suraNum][0] + 1;
return [suraNum, ayahNo];
}
//#endregion
exports.findSurahAyahByAyahId = findSurahAyahByAyahId;