UNPKG

quran-meta

Version:

Library with meta data and functionality related to Holy Quran

30 lines (29 loc) 947 B
import { FixedArray } from "../ts-utils.cjs"; import { AyahId, QuranMeta, SurahInfo } from "../types.cjs"; //#region src/lists/types.d.ts type RiwayaFullData = { HizbEighthList?: AyahId[]; HizbQuarterList: AyahId[]; JuzList: AyahId[]; ManzilList: AyahId[]; PageList: AyahId[]; RukuList: AyahId[]; SajdaList: AyahId[]; SurahList: FixedArray<SurahInfo, 116>; meta: QuranMeta; }; type RiwayasNames = ["Hafs", "Qalun", "Warsh"]; type RiwayaName = RiwayasNames[number]; type MissingListsPerRiwaya = { Hafs: ["HizbEighthList"]; Qalun: []; Warsh: []; }; type Riwayas = { [k in RiwayaName]: Omit<RiwayaFullData, MissingListsPerRiwaya[k][number]> & { meta: QuranMeta; } }; type RiwayaData = Riwayas[RiwayaName]; declare const partNames: readonly ["surah", "juz", "rubAlHizb", "thumunAlHizb", "page", "manzil", "ruku"]; type PartType = (typeof partNames)[number]; //#endregion export { PartType, RiwayaData, RiwayaName, Riwayas };