UNPKG

quran-calc

Version:

Calculate Quranic ranges in Thumuns (1/8 of Hizb)

83 lines (47 loc) 1.84 kB
# quran-calc A tiny TypeScript/JavaScript utility to calculate Quranic ranges in **Thumuns (أثمان)** precise Quranic divisions that represent **1/8 of a Hizb**. --- ## 📖 What is a Thumun? A **Thumun (ثمن)** is **1/8 of a Hizb**, and each Juzʾ (جزء) has 2 Hizb. So there are **480 Thumuns in the entire Quran**. This package allows you to determine the Thumun-based coverage between two points in the Quran. --- ## 🚀 Features - Calculate how many **Thumuns** a range spans - Supports both **forward** (start end) and **backward** (end start) ranges - Compatible with the `ayahId` format used in [`quran-meta`](https://www.npmjs.com/package/quran-meta) --- ## 📦 Installation ```bash npm install quran-thumun-range ```` --- ## 🔧 Usage ```ts import { computeThumunsByAyaId } from 'quran-thumun-range'; const result = computeThumunsByAyaId(1, 20); // start and end ayahId console.log(result); // Output example: // 1 ``` --- ## 🧠 What is `ayahId`? The `ayahId` is a unique number used to identify each ayah in the Quran. Or more accurately, it's the sequential number assigned to each ayah in the Quran from 1 to 6236. This format is used in the [`quran-meta`](https://www.npmjs.com/package/quran-meta) package. --- ## 🔄 Direction Handling The function supports both forward and backward navigation: ```ts computeThumunsByAyaId(6000, 5800); //OR computeThumunsByAyaId(5800, 6000); ``` So whether you're moving **up** or **down** in the Quran, it calculates the correct number of Thumuns in the range. --- ## ✅ License MIT --- ## 🤝 Contributing PRs and suggestions are welcome! If you find any inconsistency in thumun mappings or metadata, feel free to open an issue. ```