UNPKG

@sahabaplus/mushaf-engine

Version:

TypeScript implementation of a Quran Mushaf navigation engine

57 lines (56 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Page = void 0; /** * Representation of a single page in the Quran * * Contains the page number and all verses that appear on this page, * with their positions and metadata. */ class Page { /** * Create a new Page with the specified parameters * * @param number - Page number (1-indexed) * @param verses - Array containing all verses on this page */ constructor(number = 1, verses = []) { this._number = number; this._verses = verses; } /** * Get the page number * * @returns The page number (1-indexed) */ get number() { return this._number; } /** * Get all verses on this page * * @returns An array containing all verses on this page */ verses() { return this._verses; } /** * Get the total number of verses on this page * * @returns The number of verses on this page */ totalVerses() { return this._verses.length; } /** * Create a string representation of the page */ toString() { let result = `Page ${this._number}\n`; this._verses.forEach((verse, index) => { result += ` ${index + 1}. ${verse}\n`; }); return result; } } exports.Page = Page;