UNPKG

@sahabaplus/mushaf-engine

Version:

TypeScript implementation of a Quran Mushaf navigation engine

37 lines (36 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KingFahadMushaf = void 0; const mushaf_1 = require("../mushaf"); /** * Loader for the King Fahad Mushaf edition */ class KingFahadMushaf { /** * Load a Mushaf from the provided data object * * @param data - King Fahad Mushaf data as a JavaScript object (array of pages) * @returns A new Mushaf instance */ static load(data) { return KingFahadMushaf.createMushafFromPages(data); } /** * Create a Mushaf from parsed JSON page data * * @param jsonPages - Array of pages, each containing an array of verse data * @returns A new Mushaf instance */ static createMushafFromPages(jsonPages) { const pages = []; for (let i = 0; i < jsonPages.length; i++) { const pageNumber = i + 1; const pageVerses = jsonPages[i]; // Create a Verse[] for this page const verses = pageVerses.map((v) => new mushaf_1.Verse(v.sura, v.ayah, [v.x, v.y], v.lines)); pages.push(new mushaf_1.Page(pageNumber, verses)); } return new mushaf_1.Mushaf(15, pages.length, pages); } } exports.KingFahadMushaf = KingFahadMushaf;