UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

26 lines (24 loc) 805 B
import { checkValidAyahId } from "./validation.mjs"; import { binarySearch } from "./utils.mjs"; //#region src/findPagebyAyahId.ts /** * Returns the page number for a given ayah ID in the Quran. * * @param ayahId - A numeric identifier representing a verse (ayah) in the Quran * @param data - The Lists object for the riwaya. * @returns The page number where the specified ayah can be found * @throws Will throw an error if the ayahId is invalid * * @example * ```ts * const page = findPagebyAyahId(142, HafsLists); // Returns the page number containing ayah 142 * ``` */ function findPagebyAyahId(ayahId, data) { checkValidAyahId(ayahId, data.meta); const PageList = data.PageList; const jj = binarySearch(PageList, ayahId); return jj < 0 ? -jj - 2 : jj; } //#endregion export { findPagebyAyahId };