Quran metadata for JavaScript and TypeScript: surahs, ayahs, juz, hizb, pages, rukus, manzils and sajdas for eight riwayas, with conversion between their ayah numberings. Zero dependencies, fully typed, tree-shakeable.
| Riwaya | Ayah | Ayahs in surah | Page | Juz |
|---|
Hafs, Shuba, Warsh, Qalun, Douri, Sousi, Bazzi and Qunbul, each with its own tree-shakeable entry point.
Map an ayah between the numbering of any two riwayas, derived by aligning the KFQC and quranpedia texts.
Juz, hizb, rub' al-hizb, thumun al-hizb, mushaf pages, rukus, manzils and sajdas, with iterators over each.
Surah is 1 to 114 and Juz is 1 to 30 at the type level, with type guards and assertion functions.
Swap in a different page list (Indo-Pak, Madinah 1405) with customizeRiwaya.
Arabic, English, Urdu, Indonesian, French, Russian, Turkish and more, loadable one language at a time.