alfurqan
Version:
Al Quran verses, translations, transliterations, juzs and chapters. Offline.
146 lines (142 loc) • 4.81 kB
TypeScript
declare enum VerseMode {
indopak = "indopak",
uthmani = "uthmani",
uthmaniTajweed = "uthmaniTajweed",
imlaei = "imlaei"
}
declare enum TranslationType {
enMASAbdelHaleem = "enMASAbdelHaleem",
idIndonesianIslamicAffairsMinistry = "idIndonesianIslamicAffairsMinistry",
frMontadaIslamicFoundation = "frMontadaIslamicFoundation",
trDarAlSalamCenter = "trDarAlSalamCenter"
}
declare enum AudioEdition {
arAbdulbasitmurattal = "ar.Abdulbasitmurattal",
arAbdullahbasfar = "ar.abdullahbasfar",
arAbdurrahmaansudais = "ar.abdurrahmaansudais",
arAbdulsamad = "ar.abdulsamad",
arShaatree = "ar.shaatree",
arAhmedajamy = "ar.ahmedajamy",
arAlafasy = "ar.alafasy",
arHanirifai = "ar.hanirifai",
arHusary = "ar.husary",
arHusarymujawwad = "ar.husarymujawwad",
arHudhaify = "ar.hudhaify",
arIbrahimakhbar = "ar.ibrahimakhbar",
arMahermuaiqly = "ar.mahermuaiqly",
arMinshawi = "ar.minshawi",
arMinshawimujawwad = "ar.minshawimujawwad",
arMuhammadayyoub = "ar.muhammadayyoub",
arMuhammadjibreel = "ar.muhammadjibreel",
arSaoodshuraym = "ar.saoodshuraym",
enWalk = "en.walk",
faHedayatfarfooladvand = "fa.hedayatfarfooladvand",
arParhizgar = "ar.parhizgar",
urKhan = "ur.khan",
zhChinese = "zh.chinese",
frLeclerc = "fr.leclerc",
arAymanswoaid = "ar.aymanswoaid"
}
declare enum ErrorMessages {
juzChapterVerseIsRequired = "Please fill juz number or chapter number or verse number.",
juzNumberOutOfRange = "Juz number out of range",
chapterNumberOutOfRange = "Chapter number out of range",
verseNumberOutOfRange = "Verse number out of range",
chapterNumberAndVerseNumberInvalid = "Invalid chapter number and/or verse number",
verseKeyInvalid = "Invalid verse key"
}
type TranslatedName = {
name: string;
languageName: string;
};
type Translation = {
id: number;
name: string;
authorName: string;
slug: string;
languageName: string;
translatedName: TranslatedName;
};
type Verse = {
id: number;
verseKey: string;
text: string;
chapterID: number;
pageNumber: number;
juzNumber: number;
};
type VerseTranslation = {
id: number;
resourceID: number;
text: string;
verseKey: string;
languageName: string;
};
type ChapterRevelationPlace = "makkah" | "madinah";
type ChapterTranslatedName = {
[key: string]: string;
};
type Chapter = {
id: number;
bismillahPre: boolean;
nameArabic: string;
nameComplex: string;
nameSimple: string;
pages: number[];
revelationOrder: number;
revelationPlace: ChapterRevelationPlace;
translatedName: ChapterTranslatedName;
versesCount: number;
};
type Map<T> = {
[key: string]: T;
};
type JuzVerse = {
first: number;
last: number;
count: number;
items: Map<String>;
};
type Juz = {
id: number;
number: number;
verse: JuzVerse;
};
type Transliteration = {
id: string;
text: string;
};
type VerseComplete = {
verse: Verse;
translation: VerseTranslation;
};
type SearchResult = {
chapters: Chapter[];
verses: VerseComplete[];
};
declare class AlQuran {
static get basmallah(): string;
static get totalJuz(): number;
static get totalChapter(): number;
static get totalVerse(): number;
static get totalMadaniSurah(): number;
static get totalMakkiSurah(): number;
static juz({ chapterNumber, verseNumber, juzNumber }: {
chapterNumber?: number;
verseNumber?: number;
juzNumber?: number;
}): Juz;
static chapter(chapterNumber: number): Chapter;
static verse(chapterNumber: number, verseNumber: number, mode?: VerseMode): Verse;
static verseByJuz(juzNumber: number, mode?: VerseMode): Verse[];
static verseByChapter(chapterNumber: number, mode?: VerseMode): Verse[];
static translation(type: TranslationType, verseKey: string): VerseTranslation;
static arabicNumber(number: number): string;
static audioURLByChapter(chapterNumber: number, edition?: AudioEdition): string;
static audioURLByVerse(verseNumber: number, edition?: AudioEdition): string;
static imageURLByVerse(verseKey: string, isHighQuality?: boolean): string;
static randomVerse(mode?: VerseMode, type?: TranslationType): VerseComplete;
static search(keyword: string, type: TranslationType, verseMode?: VerseMode): SearchResult;
static transliteration(verseKey: string): Transliteration;
}
export { AlQuran, AudioEdition, type Chapter, type ChapterRevelationPlace, type ChapterTranslatedName, ErrorMessages, type Juz, type JuzVerse, type Map, type SearchResult, type TranslatedName, type Translation, TranslationType, type Transliteration, type Verse, type VerseComplete, VerseMode, type VerseTranslation };