@quranjs/api 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +553 -2
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +24 -21
- package/src/sdk/utils.ts +18 -9
- package/src/sdk/v4/_fetcher.ts +58 -7
- package/src/sdk/v4/audio.ts +30 -50
- package/src/sdk/v4/chapters.ts +12 -15
- package/src/sdk/v4/juzs.ts +7 -2
- package/src/sdk/v4/resources.ts +27 -31
- package/src/sdk/v4/search.ts +14 -13
- package/src/sdk/v4/verses.ts +72 -50
- package/src/types/BaseApiOptions.ts +6 -0
- package/src/types/FetchFn.ts +1 -0
- package/src/types/index.ts +2 -0
- package/dist/api.cjs.development.js +0 -2754
- package/dist/api.cjs.development.js.map +0 -1
- package/dist/api.cjs.production.min.js +0 -2
- package/dist/api.cjs.production.min.js.map +0 -1
- package/dist/api.esm.js +0 -2746
- package/dist/api.esm.js.map +0 -1
- package/dist/sdk/index.d.ts +0 -195
- package/dist/sdk/utils.d.ts +0 -125
- package/dist/sdk/v4/_fetcher.d.ts +0 -3
- package/dist/sdk/v4/audio.d.ts +0 -52
- package/dist/sdk/v4/chapters.d.ts +0 -13
- package/dist/sdk/v4/index.d.ts +0 -185
- package/dist/sdk/v4/juzs.d.ts +0 -5
- package/dist/sdk/v4/resources.d.ts +0 -26
- package/dist/sdk/v4/search.d.ts +0 -22
- package/dist/sdk/v4/verses.d.ts +0 -76
- package/dist/types/ChapterId.d.ts +0 -4
- package/dist/types/HizbNumber.d.ts +0 -4
- package/dist/types/JuzNumber.d.ts +0 -4
- package/dist/types/PageNumber.d.ts +0 -4
- package/dist/types/RubNumber.d.ts +0 -4
- package/dist/types/VerseKey.d.ts +0 -2
- package/dist/types/api/ApiResponses.d.ts +0 -18
- package/dist/types/api/AudioData.d.ts +0 -17
- package/dist/types/api/AudioResponse.d.ts +0 -8
- package/dist/types/api/Chapter.d.ts +0 -14
- package/dist/types/api/ChapterInfo.d.ts +0 -8
- package/dist/types/api/Footnote.d.ts +0 -6
- package/dist/types/api/Juz.d.ts +0 -8
- package/dist/types/api/Pagination.d.ts +0 -7
- package/dist/types/api/Reciter.d.ts +0 -21
- package/dist/types/api/Resources.d.ts +0 -70
- package/dist/types/api/Segment.d.ts +0 -4
- package/dist/types/api/Tafsir.d.ts +0 -7
- package/dist/types/api/TafsirInfo.d.ts +0 -9
- package/dist/types/api/TranslatedName.d.ts +0 -4
- package/dist/types/api/Translation.d.ts +0 -17
- package/dist/types/api/Transliteration.d.ts +0 -4
- package/dist/types/api/Verse.d.ts +0 -32
- package/dist/types/api/Word.d.ts +0 -28
- package/dist/types/api/index.d.ts +0 -18
- package/dist/types/index.d.ts +0 -88
- package/dist/types/utils.d.ts +0 -5
- package/dist/utils/misc.d.ts +0 -1
- package/dist/utils/qs-stringify.d.ts +0 -21
- package/src/utils/qs-stringify.ts +0 -81
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface Reciter {
|
|
2
|
-
id: number;
|
|
3
|
-
name: string;
|
|
4
|
-
recitationStyle: string;
|
|
5
|
-
relativePath: string;
|
|
6
|
-
profilePicture?: string;
|
|
7
|
-
coverImage?: string;
|
|
8
|
-
bio?: string;
|
|
9
|
-
qirat?: {
|
|
10
|
-
languageName: string;
|
|
11
|
-
name: string;
|
|
12
|
-
};
|
|
13
|
-
style?: {
|
|
14
|
-
languageName: string;
|
|
15
|
-
name: string;
|
|
16
|
-
};
|
|
17
|
-
translatedName?: {
|
|
18
|
-
languageName: string;
|
|
19
|
-
name: string;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { TranslatedName } from './TranslatedName';
|
|
2
|
-
export interface RecitationResource {
|
|
3
|
-
id?: number;
|
|
4
|
-
reciterName?: string;
|
|
5
|
-
style?: string;
|
|
6
|
-
translatedName?: TranslatedName;
|
|
7
|
-
}
|
|
8
|
-
export interface RecitationInfoResource {
|
|
9
|
-
id?: number;
|
|
10
|
-
info?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface TranslationResource {
|
|
13
|
-
id?: number;
|
|
14
|
-
name?: string;
|
|
15
|
-
authorName?: string;
|
|
16
|
-
slug?: string;
|
|
17
|
-
languageName?: string;
|
|
18
|
-
translatedName?: TranslatedName;
|
|
19
|
-
}
|
|
20
|
-
export interface TranslationInfoResource {
|
|
21
|
-
id?: number;
|
|
22
|
-
info?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface TafsirResource {
|
|
25
|
-
id?: number;
|
|
26
|
-
name?: string;
|
|
27
|
-
authorName?: string;
|
|
28
|
-
slug?: string;
|
|
29
|
-
languageName?: string;
|
|
30
|
-
translatedName?: TranslatedName;
|
|
31
|
-
}
|
|
32
|
-
export interface TafsirInfoResource {
|
|
33
|
-
id?: number;
|
|
34
|
-
info?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface RecitationStylesResource {
|
|
37
|
-
mujawwad: string;
|
|
38
|
-
murattal: string;
|
|
39
|
-
muallim: string;
|
|
40
|
-
}
|
|
41
|
-
export interface LanguageResource {
|
|
42
|
-
id?: number;
|
|
43
|
-
name?: string;
|
|
44
|
-
nativeName?: string;
|
|
45
|
-
isoCode?: string;
|
|
46
|
-
direction?: string;
|
|
47
|
-
translatedNames?: TranslatedName[];
|
|
48
|
-
}
|
|
49
|
-
export interface ChapterInfoResource {
|
|
50
|
-
id?: number;
|
|
51
|
-
name?: string;
|
|
52
|
-
authorName?: string;
|
|
53
|
-
slug?: string;
|
|
54
|
-
languageName?: string;
|
|
55
|
-
translatedName?: TranslatedName;
|
|
56
|
-
}
|
|
57
|
-
export interface VerseMediaResource {
|
|
58
|
-
id?: number;
|
|
59
|
-
name?: string;
|
|
60
|
-
authorName?: string;
|
|
61
|
-
languageName?: string;
|
|
62
|
-
}
|
|
63
|
-
export interface ChapterReciterResource {
|
|
64
|
-
id: number;
|
|
65
|
-
name: string;
|
|
66
|
-
arabicName?: string;
|
|
67
|
-
relativePath?: string;
|
|
68
|
-
format?: string;
|
|
69
|
-
filesSize?: number;
|
|
70
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { VerseKey } from '../VerseKey';
|
|
2
|
-
export interface Translation {
|
|
3
|
-
id?: number;
|
|
4
|
-
text: string;
|
|
5
|
-
resourceId: number;
|
|
6
|
-
resourceName?: string;
|
|
7
|
-
verseId?: number;
|
|
8
|
-
languageId?: number;
|
|
9
|
-
languageName?: string;
|
|
10
|
-
verseKey?: VerseKey;
|
|
11
|
-
chapterId?: number;
|
|
12
|
-
verseNumber?: number;
|
|
13
|
-
juzNumber?: number;
|
|
14
|
-
hizbNumber?: number;
|
|
15
|
-
rubNumber?: number;
|
|
16
|
-
pageNumber?: number;
|
|
17
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { VerseKey } from '../VerseKey';
|
|
2
|
-
import { AudioResponse } from './AudioResponse';
|
|
3
|
-
import { Tafsir } from './Tafsir';
|
|
4
|
-
import { Translation } from './Translation';
|
|
5
|
-
import { Word } from './Word';
|
|
6
|
-
export interface Verse {
|
|
7
|
-
id: number;
|
|
8
|
-
verseNumber: number;
|
|
9
|
-
verseKey: VerseKey;
|
|
10
|
-
chapterId?: number | string;
|
|
11
|
-
pageNumber: number;
|
|
12
|
-
juzNumber: number;
|
|
13
|
-
hizbNumber: number;
|
|
14
|
-
rubElHizbNumber: number;
|
|
15
|
-
words?: Word[];
|
|
16
|
-
textUthmani?: string;
|
|
17
|
-
textUthmaniSimple?: string;
|
|
18
|
-
textUthmaniTajweed?: string;
|
|
19
|
-
textImlaei?: string;
|
|
20
|
-
textImlaeiSimple?: string;
|
|
21
|
-
textIndopak?: string;
|
|
22
|
-
sajdahNumber: null;
|
|
23
|
-
imageUrl?: string;
|
|
24
|
-
imageWidth?: number;
|
|
25
|
-
v1Page?: number;
|
|
26
|
-
v2Page?: number;
|
|
27
|
-
codeV1?: string;
|
|
28
|
-
codeV2?: string;
|
|
29
|
-
translations?: Translation[];
|
|
30
|
-
tafsirs?: Tafsir[];
|
|
31
|
-
audio?: AudioResponse;
|
|
32
|
-
}
|
package/dist/types/api/Word.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { VerseKey } from '../VerseKey';
|
|
2
|
-
import { Translation } from './Translation';
|
|
3
|
-
import { Transliteration } from './Transliteration';
|
|
4
|
-
export declare enum CharType {
|
|
5
|
-
Word = "word",
|
|
6
|
-
End = "end",
|
|
7
|
-
Pause = "pause",
|
|
8
|
-
Sajdah = "sajdah",
|
|
9
|
-
RubElHizb = "rub-el-hizb"
|
|
10
|
-
}
|
|
11
|
-
export interface Word {
|
|
12
|
-
id?: number;
|
|
13
|
-
position: number;
|
|
14
|
-
audioUrl: string;
|
|
15
|
-
charTypeName: CharType;
|
|
16
|
-
codeV1?: string;
|
|
17
|
-
codeV2?: string;
|
|
18
|
-
pageNumber?: number;
|
|
19
|
-
lineNumber?: number;
|
|
20
|
-
text?: string;
|
|
21
|
-
textUthmani?: string;
|
|
22
|
-
textIndopak?: string;
|
|
23
|
-
textImlaei?: string;
|
|
24
|
-
translation: Translation;
|
|
25
|
-
transliteration: Transliteration;
|
|
26
|
-
location?: string;
|
|
27
|
-
verseKey?: VerseKey;
|
|
28
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export * from './ApiResponses';
|
|
2
|
-
export * from './AudioData';
|
|
3
|
-
export * from './AudioResponse';
|
|
4
|
-
export * from './Chapter';
|
|
5
|
-
export * from './ChapterInfo';
|
|
6
|
-
export * from './Footnote';
|
|
7
|
-
export * from './Reciter';
|
|
8
|
-
export * from './Segment';
|
|
9
|
-
export * from './Tafsir';
|
|
10
|
-
export * from './TafsirInfo';
|
|
11
|
-
export * from './TranslatedName';
|
|
12
|
-
export * from './Translation';
|
|
13
|
-
export * from './Transliteration';
|
|
14
|
-
export * from './Verse';
|
|
15
|
-
export * from './Word';
|
|
16
|
-
export * from './Juz';
|
|
17
|
-
export * from './Pagination';
|
|
18
|
-
export * from './Resources';
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
export declare enum Language {
|
|
2
|
-
ARABIC = "ar",
|
|
3
|
-
ENGLISH = "en",
|
|
4
|
-
URDU = "ur",
|
|
5
|
-
BENGALI = "bn",
|
|
6
|
-
TURKISH = "tr",
|
|
7
|
-
SPANISH = "es",
|
|
8
|
-
GERMAN = "de",
|
|
9
|
-
BOSNIAN = "bs",
|
|
10
|
-
RUSSIAN = "ru",
|
|
11
|
-
ALBANIAN_AL = "al",
|
|
12
|
-
FRENCH = "fr",
|
|
13
|
-
DUTCH = "nl",
|
|
14
|
-
TAMIL = "ta",
|
|
15
|
-
TAJIK = "tg",
|
|
16
|
-
INDONESIAN = "id",
|
|
17
|
-
UZBEK = "uz",
|
|
18
|
-
VIETNAMESE = "vi",
|
|
19
|
-
CHINESE = "zh",
|
|
20
|
-
ITALIAN = "it",
|
|
21
|
-
JAPANESE = "ja",
|
|
22
|
-
MALAYALAM = "ml",
|
|
23
|
-
AMHARIC = "am",
|
|
24
|
-
KAZAKH = "kk",
|
|
25
|
-
PORTUGUESE = "pt",
|
|
26
|
-
TAGALOG = "tl",
|
|
27
|
-
THAI = "th",
|
|
28
|
-
KOREAN = "ko",
|
|
29
|
-
HINDI = "hi",
|
|
30
|
-
KURDISH = "ku",
|
|
31
|
-
HAUSA = "ha",
|
|
32
|
-
AZERI = "az",
|
|
33
|
-
SWAHILI = "sw",
|
|
34
|
-
PERSIAN = "fa",
|
|
35
|
-
SERBIAN = "sr",
|
|
36
|
-
MARANAO = "mrn",
|
|
37
|
-
AMAZIGH = "zgh",
|
|
38
|
-
ASSAMESE = "as",
|
|
39
|
-
BULGARIAN = "bg",
|
|
40
|
-
CHECHEN = "ce",
|
|
41
|
-
CZECH = "cs",
|
|
42
|
-
DIVEHI = "dv",
|
|
43
|
-
DHIVEHI = "dv",
|
|
44
|
-
MALDIVIAN = "dv",
|
|
45
|
-
FINNISH = "fi",
|
|
46
|
-
GUJAARATI = "gu",
|
|
47
|
-
HEBREW = "he",
|
|
48
|
-
GEORGIAN = "ka",
|
|
49
|
-
CENTRAL_KHMER = "km",
|
|
50
|
-
GANDA = "lg",
|
|
51
|
-
MARATHI = "mr",
|
|
52
|
-
YORUBA = "yo",
|
|
53
|
-
MALAY = "ms",
|
|
54
|
-
NEPALI = "ne",
|
|
55
|
-
SWEDISH = "sv",
|
|
56
|
-
TELUGU = "te",
|
|
57
|
-
TATAR = "tt",
|
|
58
|
-
UIGHUR = "ug",
|
|
59
|
-
UYGHUR = "ug",
|
|
60
|
-
UKRAINIAN = "uk",
|
|
61
|
-
NORWEGIAN = "no",
|
|
62
|
-
OROMO = "om",
|
|
63
|
-
POLISH = "pl",
|
|
64
|
-
PASHTO = "ps",
|
|
65
|
-
ROMANIAN = "ro",
|
|
66
|
-
SINDHI = "sd",
|
|
67
|
-
NORTHERN_SAMI = "se",
|
|
68
|
-
SINHALA = "si",
|
|
69
|
-
SINHALESE = "si",
|
|
70
|
-
SOMALI = "so",
|
|
71
|
-
ALBANIAN_SQ = "sq"
|
|
72
|
-
}
|
|
73
|
-
export declare enum QuranFont {
|
|
74
|
-
MadaniV1 = "code_v1",
|
|
75
|
-
MadaniV2 = "code_v2",
|
|
76
|
-
Uthmani = "text_uthmani"
|
|
77
|
-
}
|
|
78
|
-
export declare type VerseField = 'chapterId' | 'textUthmani' | 'textUthmaniSimple' | 'textImlaei' | 'textImlaeiSimple' | 'textIndopak' | 'textUthmaniTajweed' | 'imageUrl' | 'imageWidth' | 'codeV1' | 'codeV2' | 'v1Page' | 'v2Page';
|
|
79
|
-
export declare type WordField = 'v1Page' | 'v2Page' | 'textUthmani' | 'textImlaei' | 'textIndopak' | 'verseKey' | 'location' | 'codeV1' | 'codeV2';
|
|
80
|
-
export declare type TranslationField = 'resourceName' | 'verseId' | 'languageId' | 'languageName' | 'verseKey' | 'chapterId' | 'verseNumber' | 'juzNumber' | 'hizbNumber' | 'rubNumber' | 'pageNumber';
|
|
81
|
-
export declare type VerseRecitationField = 'id' | 'chapterId' | 'segments' | 'format';
|
|
82
|
-
export * from './VerseKey';
|
|
83
|
-
export * from './ChapterId';
|
|
84
|
-
export * from './HizbNumber';
|
|
85
|
-
export * from './JuzNumber';
|
|
86
|
-
export * from './PageNumber';
|
|
87
|
-
export * from './RubNumber';
|
|
88
|
-
export * from './api';
|
package/dist/types/utils.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
declare type _NumbersFrom0ToN<Nr extends number> = Nr extends Nr ? number extends Nr ? number : Nr extends 0 ? never : _NumbersFrom0ToNRec<Nr, [], 0> : never;
|
|
2
|
-
declare type _NumbersFrom0ToNRec<Nr extends number, Counter extends any[], Accumulator extends number> = Counter['length'] extends Nr ? Accumulator : _NumbersFrom0ToNRec<Nr, [any, ...Counter], Accumulator | Counter['length']>;
|
|
3
|
-
export declare type NumberRange<Start extends number, End extends number> = Exclude<_NumbersFrom0ToN<End>, _NumbersFrom0ToN<Start>>;
|
|
4
|
-
export declare type NumberUnionToString<TType> = TType extends number ? `${TType}` : TType;
|
|
5
|
-
export {};
|
package/dist/utils/misc.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const removeBeginningSlash: (url: string) => string;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
declare type QueryObject = Record<string, any>;
|
|
2
|
-
export declare type StringifyFunction = (key: string, value: any) => any;
|
|
3
|
-
declare type Config = {
|
|
4
|
-
eq?: string;
|
|
5
|
-
sep?: string;
|
|
6
|
-
fn?: StringifyFunction;
|
|
7
|
-
prefix?: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Given a query object, return the query string
|
|
11
|
-
* See qs-stringify.test.ts for examples
|
|
12
|
-
*
|
|
13
|
-
* @param {QueryObject} obj a query object to be converted to a query string
|
|
14
|
-
* @param {Config} config optional configuration
|
|
15
|
-
* @returns {string} query string
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* stringify({a: 1, b: 2}) // returns 'a=1&b=s'
|
|
19
|
-
*/
|
|
20
|
-
declare function stringify(obj: QueryObject, config?: Config): string;
|
|
21
|
-
export default stringify;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// Reference: https://github.com/billjs/query-string/blob/master/src/index.ts
|
|
2
|
-
|
|
3
|
-
type QueryObject = Record<string, any>;
|
|
4
|
-
export type StringifyFunction = (key: string, value: any) => any;
|
|
5
|
-
type Config = {
|
|
6
|
-
eq?: string;
|
|
7
|
-
sep?: string;
|
|
8
|
-
fn?: StringifyFunction;
|
|
9
|
-
prefix?: string;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const defaultStringifyFunction: StringifyFunction = (
|
|
13
|
-
_key: string,
|
|
14
|
-
value: any
|
|
15
|
-
) => value;
|
|
16
|
-
const defaultEq = '=';
|
|
17
|
-
const defaultSep = '&';
|
|
18
|
-
const defaultConfig: Config = {
|
|
19
|
-
eq: defaultEq,
|
|
20
|
-
sep: defaultSep,
|
|
21
|
-
prefix: '',
|
|
22
|
-
fn: defaultStringifyFunction,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Given a query object, return the query string
|
|
27
|
-
* See qs-stringify.test.ts for examples
|
|
28
|
-
*
|
|
29
|
-
* @param {QueryObject} obj a query object to be converted to a query string
|
|
30
|
-
* @param {Config} config optional configuration
|
|
31
|
-
* @returns {string} query string
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* stringify({a: 1, b: 2}) // returns 'a=1&b=s'
|
|
35
|
-
*/
|
|
36
|
-
function stringify(obj: QueryObject, config = defaultConfig): string {
|
|
37
|
-
const { eq, sep, fn, prefix } = { ...defaultConfig, ...config };
|
|
38
|
-
if (obj == null || !isObject(obj)) {
|
|
39
|
-
return '';
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return Object.entries(obj)
|
|
43
|
-
.filter(([, value]) => value !== null) // filter out null values
|
|
44
|
-
.map(([key, value]) => {
|
|
45
|
-
if (Array.isArray(value))
|
|
46
|
-
return encode(key, value.join(','), { eq, fn, prefix });
|
|
47
|
-
|
|
48
|
-
if (isObject(value))
|
|
49
|
-
return stringify(value, { eq, sep, fn, prefix: getKey(key, prefix) });
|
|
50
|
-
|
|
51
|
-
return encode(key, value, { eq, fn, prefix });
|
|
52
|
-
})
|
|
53
|
-
.join(sep);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// encode the key and add prefix if necessary
|
|
57
|
-
const getKey = (key: string, prefix = ''): string => {
|
|
58
|
-
const encodedKey = encodeURIComponent(key);
|
|
59
|
-
if (prefix) return `${prefix}[${encodedKey}]`;
|
|
60
|
-
return encodedKey;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
// encode the key and value of a query object
|
|
64
|
-
const encode = (
|
|
65
|
-
key: string,
|
|
66
|
-
value: any,
|
|
67
|
-
{ eq = defaultEq, fn = defaultStringifyFunction, prefix = '' }
|
|
68
|
-
): string => {
|
|
69
|
-
const newValue = encodeURIComponent(fn(key, value));
|
|
70
|
-
const newKey = getKey(key, prefix);
|
|
71
|
-
|
|
72
|
-
return [newKey, newValue].join(eq);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
// check if the given value is an object
|
|
76
|
-
function isObject(obj: QueryObject) {
|
|
77
|
-
const type = typeof obj;
|
|
78
|
-
return (obj && (type === 'object' || type === 'function')) || false;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export default stringify;
|