UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

28 lines (26 loc) 896 B
import { checkValidSurah } from "./validation.js"; import { findAyahIdBySurah } from "./findAyahIdBySurah.js"; import { JuzList } from "./lists/juzList.js"; import { binarySearch } from "./utils.js"; //#region src/isSurahAyahJuzFirst.ts /** * Determines if a given Surah and Ayah combination marks the beginning of a Juz. * * @param surah - The Surah number to check * @param ayah - The Ayah number within the Surah to check * @returns The Juz number if the combination marks the start of a Juz, -1 otherwise * @throws Error When the provided Surah number is invalid * * @example * ```typescript * isSurahAyahJuzFirst(2, 142) // Returns 2 * isSurahAyahJuzFirst(2, 143) // Returns -1 * ``` */ function isSurahAyahJuzFirst(surah, ayah) { checkValidSurah(surah); const ayahId = findAyahIdBySurah(surah, ayah); return binarySearch(JuzList, ayahId); } //#endregion export { isSurahAyahJuzFirst };