@quranjs/api 1.7.1 → 1.7.2

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.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +14 -0
  3. package/dist/index.min.js +13 -0
  4. package/dist/index.min.js.map +1 -0
  5. package/dist/index.min.mjs +6 -0
  6. package/dist/index.min.mjs.map +1 -0
  7. package/dist/index.umd.js +886 -0
  8. package/dist/index.umd.js.map +1 -0
  9. package/dist/index.umd.min.js +53 -0
  10. package/dist/index.umd.min.js.map +1 -0
  11. package/package.json +24 -9
  12. package/dist/index.js +0 -13
  13. package/dist/index.js.map +0 -1
  14. package/dist/index.mjs +0 -6
  15. package/dist/index.mjs.map +0 -1
  16. package/src/index.ts +0 -2
  17. package/src/sdk/index.ts +0 -9
  18. package/src/sdk/utils.ts +0 -239
  19. package/src/sdk/v4/_fetcher.ts +0 -83
  20. package/src/sdk/v4/audio.ts +0 -246
  21. package/src/sdk/v4/chapters.ts +0 -80
  22. package/src/sdk/v4/index.ts +0 -17
  23. package/src/sdk/v4/juzs.ts +0 -22
  24. package/src/sdk/v4/resources.ts +0 -220
  25. package/src/sdk/v4/search.ts +0 -41
  26. package/src/sdk/v4/verses.ts +0 -234
  27. package/src/types/BaseApiOptions.ts +0 -6
  28. package/src/types/ChapterId.ts +0 -4
  29. package/src/types/FetchFn.ts +0 -1
  30. package/src/types/HizbNumber.ts +0 -4
  31. package/src/types/JuzNumber.ts +0 -4
  32. package/src/types/PageNumber.ts +0 -4
  33. package/src/types/RubNumber.ts +0 -4
  34. package/src/types/VerseKey.ts +0 -117
  35. package/src/types/api/ApiResponses.ts +0 -19
  36. package/src/types/api/AudioData.ts +0 -20
  37. package/src/types/api/AudioResponse.ts +0 -9
  38. package/src/types/api/Chapter.ts +0 -15
  39. package/src/types/api/ChapterInfo.ts +0 -8
  40. package/src/types/api/Footnote.ts +0 -6
  41. package/src/types/api/Juz.ts +0 -8
  42. package/src/types/api/Pagination.ts +0 -7
  43. package/src/types/api/Reciter.ts +0 -21
  44. package/src/types/api/Resources.ts +0 -81
  45. package/src/types/api/Segment.ts +0 -4
  46. package/src/types/api/Tafsir.ts +0 -7
  47. package/src/types/api/TafsirInfo.ts +0 -10
  48. package/src/types/api/TranslatedName.ts +0 -4
  49. package/src/types/api/Translation.ts +0 -21
  50. package/src/types/api/Transliteration.ts +0 -4
  51. package/src/types/api/Verse.ts +0 -35
  52. package/src/types/api/Word.ts +0 -30
  53. package/src/types/api/index.ts +0 -18
  54. package/src/types/index.ts +0 -136
  55. package/src/types/utils.ts +0 -24
  56. package/src/utils/misc.ts +0 -3
@@ -1,234 +0,0 @@
1
- import {
2
- ChapterId,
3
- HizbNumber,
4
- JuzNumber,
5
- Language,
6
- PageNumber,
7
- TranslationField,
8
- // RubNumber,
9
- Verse,
10
- VerseField,
11
- VerseKey,
12
- WordField,
13
- } from '../../types';
14
- import { decamelize } from 'humps';
15
- import Utils from '../utils';
16
- import { fetcher, mergeApiOptions } from './_fetcher';
17
- import { BaseApiOptions } from '../../types/BaseApiOptions';
18
-
19
- type GetVerseOptions = Partial<
20
- BaseApiOptions & {
21
- reciter: string | number;
22
- words: boolean;
23
- translations: string[] | number[];
24
- tafsirs: string[] | number[];
25
- wordFields: Partial<Record<WordField, boolean>>;
26
- translationFields: Partial<Record<TranslationField, boolean>>;
27
- fields: Partial<Record<VerseField, boolean>>;
28
- page: number;
29
- perPage: number;
30
- }
31
- >;
32
-
33
- const defaultOptions: GetVerseOptions = {
34
- language: Language.ARABIC,
35
- perPage: 50,
36
- words: false,
37
- };
38
-
39
- const mergeVerseOptions = (options: GetVerseOptions = {}) => {
40
- const result = mergeApiOptions(options, defaultOptions);
41
-
42
- // @ts-expect-error - we accept an array of strings, however, the API expects a comma separated string
43
- if (result.translations) result.translations = result.translations.join(',');
44
-
45
- // @ts-expect-error - we accept an array of strings, however, the API expects a comma separated string
46
- if (result.tafsirs) result.tafsirs = result.tafsirs.join(',');
47
-
48
- if (result.wordFields) {
49
- const wordFields: string[] = [];
50
- Object.entries(result.wordFields).forEach(([key, value]) => {
51
- if (value) wordFields.push(decamelize(key));
52
- });
53
- result.wordFields = wordFields.join(',');
54
- }
55
-
56
- if (result.translationFields) {
57
- const translationFields: string[] = [];
58
- Object.entries(result.translationFields).forEach(([key, value]) => {
59
- if (value) translationFields.push(decamelize(key));
60
- });
61
- result.translationFields = translationFields.join(',');
62
- }
63
-
64
- // rename `reciter` to `audio` because the API expects `audio`
65
- if (result.reciter) {
66
- result.audio = result.reciter;
67
- result.reciter = undefined;
68
- }
69
-
70
- return result;
71
- };
72
-
73
- /**
74
- * Get a specific ayah with key. Key is combination of surah number and ayah number.
75
- * @description https://quran.api-docs.io/v4/verses/by-specific-verse-by-key
76
- * @param {VerseKey} key - surah number and ayah number separated by a colon.
77
- * @param {GetVerseOptions} options
78
- * @example
79
- * quran.v4.verses.findByKey('1:1')
80
- * quran.v4.verses.findByKey('101:5')
81
- */
82
- const findByKey = async (key: VerseKey, options?: GetVerseOptions) => {
83
- if (!Utils.isValidVerseKey(key)) throw new Error('Invalid verse key');
84
- const params = mergeVerseOptions(options);
85
- const url = `/verses/by_key/${key}`;
86
- const { verse } = await fetcher<{ verse: Verse }>(
87
- url,
88
- params,
89
- options?.fetchFn
90
- );
91
-
92
- return verse;
93
- };
94
-
95
- /**
96
- * Get all ayahs for a specific chapter (surah).
97
- * @description https://quran.api-docs.io/v4/verses/by_chapter
98
- * @param {ChapterId} id - chapter id (surah number)
99
- * @param {GetVerseOptions} options
100
- * @example
101
- * quran.v4.verses.findByChapter('1')
102
- * quran.v4.verses.findByChapter('101')
103
- */
104
- const findByChapter = async (id: ChapterId, options?: GetVerseOptions) => {
105
- if (!Utils.isValidChapterId(id)) throw new Error('Invalid chapter id');
106
- const params = mergeVerseOptions(options);
107
- const url = `/verses/by_chapter/${id}`;
108
- const { verses } = await fetcher<{ verses: Verse[] }>(
109
- url,
110
- params,
111
- options?.fetchFn
112
- );
113
-
114
- return verses;
115
- };
116
-
117
- /**
118
- * Get all ayahs for a specific page in the Quran.
119
- * @description https://quran.api-docs.io/v4/verses/by-page
120
- * @param {PageNumber} page - Quran page number
121
- * @param {GetVerseOptions} options
122
- * @example
123
- * quran.v4.verses.findByPage('1')
124
- * quran.v4.verses.findByPage('101')
125
- */
126
- const findByPage = async (page: PageNumber, options?: GetVerseOptions) => {
127
- if (!Utils.isValidQuranPage(page)) throw new Error('Invalid page');
128
-
129
- const params = mergeVerseOptions(options);
130
- const url = `/verses/by_page/${page}`;
131
- const { verses } = await fetcher<{ verses: Verse[] }>(
132
- url,
133
- params,
134
- options?.fetchFn
135
- );
136
-
137
- return verses;
138
- };
139
-
140
- /**
141
- * Get all ayahs for a Juz.
142
- * @description https://quran.api-docs.io/v4/verses/by-juz
143
- * @param {JuzNumber} id - juz number
144
- * @param {GetVerseOptions} options
145
- * @example
146
- * quran.v4.verses.findByJuz('1')
147
- * quran.v4.verses.findByJuz('29')
148
- */
149
- const findByJuz = async (juz: JuzNumber, options?: GetVerseOptions) => {
150
- if (!Utils.isValidJuz(juz)) throw new Error('Invalid juz');
151
-
152
- const params = mergeVerseOptions(options);
153
- const url = `/verses/by_juz/${juz}`;
154
- const { verses } = await fetcher<{ verses: Verse[] }>(
155
- url,
156
- params,
157
- options?.fetchFn
158
- );
159
-
160
- return verses;
161
- };
162
-
163
- /**
164
- * Get all ayahs for a Hizb.
165
- * @description https://quran.api-docs.io/v4/verses/by-hizb-number
166
- * @param {HizbNumber} hizb - hizb number
167
- * @param {GetVerseOptions} options
168
- * @example
169
- * quran.v4.verses.findByHizb('1')
170
- * quran.v4.verses.findByHizb('29')
171
- */
172
- const findByHizb = async (hizb: HizbNumber, options?: GetVerseOptions) => {
173
- if (!Utils.isValidHizb(hizb)) throw new Error('Invalid hizb');
174
-
175
- const params = mergeVerseOptions(options);
176
- const url = `/verses/by_hizb/${hizb}`;
177
- const { verses } = await fetcher<{ verses: Verse[] }>(
178
- url,
179
- params,
180
- options?.fetchFn
181
- );
182
-
183
- return verses;
184
- };
185
-
186
- // TODO: uncomment when API is fixed
187
- /**
188
- * Get all ayahs for a Rub.
189
- * @description https://quran.api-docs.io/v4/verses/by-rub-number
190
- * @param {RubNumber} rub - rub number
191
- * @param {GetVerseOptions} options
192
- * @example
193
- * quran.v4.verses.findByRub('1')
194
- * quran.v4.verses.findByRub('29')
195
- */
196
- // const findByRub = async (rub: RubNumber, options?: GetVerseOptions) => {
197
- // if (!Utils.isValidRub(rub)) throw new Error('Invalid rub');
198
-
199
- // const params = getVerseOptions(options);
200
- // const url = `/verses/by_rub/${rub}`;
201
- // const { verses } = await fetcher<{ verses: Verse[] }>(url, params);
202
-
203
- // return verses;
204
- // };
205
-
206
- /**
207
- * Get a random ayah.
208
- * @description https://quran.api-docs.io/v4/verses/random
209
- * @param {GetVerseOptions} options
210
- * @example
211
- * quran.v4.verses.findRandom()
212
- */
213
- const findRandom = async (options?: GetVerseOptions) => {
214
- const params = mergeVerseOptions(options);
215
- const { verse } = await fetcher<{ verse: Verse }>(
216
- '/verses/random',
217
- params,
218
- options?.fetchFn
219
- );
220
-
221
- return verse;
222
- };
223
-
224
- const verses = {
225
- findByKey,
226
- findByChapter,
227
- findByPage,
228
- findByJuz,
229
- findByHizb,
230
- // findByRub,
231
- findRandom,
232
- };
233
-
234
- export default verses;
@@ -1,6 +0,0 @@
1
- import { FetchFn, Language } from '.';
2
-
3
- export interface BaseApiOptions {
4
- language: Language;
5
- fetchFn?: FetchFn;
6
- }
@@ -1,4 +0,0 @@
1
- import { NumberRange, NumberUnionToString } from './utils';
2
-
3
- type _ChapterId = NumberRange<1, 115>;
4
- export type ChapterId = _ChapterId | NumberUnionToString<_ChapterId>;
@@ -1 +0,0 @@
1
- export type FetchFn = (url: string) => Promise<Record<string, unknown>>;
@@ -1,4 +0,0 @@
1
- import { NumberRange, NumberUnionToString } from './utils';
2
-
3
- type _HizbNumber = NumberRange<1, 61>;
4
- export type HizbNumber = _HizbNumber | NumberUnionToString<_HizbNumber>;
@@ -1,4 +0,0 @@
1
- import { NumberRange, NumberUnionToString } from './utils';
2
-
3
- type _JuzNumber = NumberRange<1, 31>;
4
- export type JuzNumber = _JuzNumber | NumberUnionToString<_JuzNumber>;
@@ -1,4 +0,0 @@
1
- import { NumberRange, NumberUnionToString } from './utils';
2
-
3
- type _PageNumber = NumberRange<1, 605>;
4
- export type PageNumber = _PageNumber | NumberUnionToString<_PageNumber>;
@@ -1,4 +0,0 @@
1
- import { NumberRange, NumberUnionToString } from './utils';
2
-
3
- type _RubNumber = NumberRange<1, 241>;
4
- export type RubNumber = _RubNumber | NumberUnionToString<_RubNumber>;
@@ -1,117 +0,0 @@
1
- import { NumberRange } from './utils';
2
-
3
- export type VerseKey =
4
- | `1:${NumberRange<1, 8>}`
5
- | `2:${NumberRange<1, 287>}`
6
- | `3:${NumberRange<1, 201>}`
7
- | `4:${NumberRange<1, 177>}`
8
- | `5:${NumberRange<1, 121>}`
9
- | `6:${NumberRange<1, 166>}`
10
- | `7:${NumberRange<1, 207>}`
11
- | `8:${NumberRange<1, 76>}`
12
- | `9:${NumberRange<1, 130>}`
13
- | `10:${NumberRange<1, 110>}`
14
- | `11:${NumberRange<1, 124>}`
15
- | `12:${NumberRange<1, 112>}`
16
- | `13:${NumberRange<1, 44>}`
17
- | `14:${NumberRange<1, 53>}`
18
- | `15:${NumberRange<1, 100>}`
19
- | `16:${NumberRange<1, 129>}`
20
- | `17:${NumberRange<1, 112>}`
21
- | `18:${NumberRange<1, 111>}`
22
- | `19:${NumberRange<1, 99>}`
23
- | `20:${NumberRange<1, 136>}`
24
- | `21:${NumberRange<1, 113>}`
25
- | `22:${NumberRange<1, 79>}`
26
- | `23:${NumberRange<1, 119>}`
27
- | `24:${NumberRange<1, 65>}`
28
- | `25:${NumberRange<1, 78>}`
29
- | `26:${NumberRange<1, 228>}`
30
- | `27:${NumberRange<1, 94>}`
31
- | `28:${NumberRange<1, 89>}`
32
- | `29:${NumberRange<1, 70>}`
33
- | `30:${NumberRange<1, 61>}`
34
- | `31:${NumberRange<1, 35>}`
35
- | `32:${NumberRange<1, 31>}`
36
- | `33:${NumberRange<1, 74>}`
37
- | `34:${NumberRange<1, 55>}`
38
- | `35:${NumberRange<1, 46>}`
39
- | `36:${NumberRange<1, 84>}`
40
- | `37:${NumberRange<1, 183>}`
41
- | `38:${NumberRange<1, 89>}`
42
- | `39:${NumberRange<1, 76>}`
43
- | `40:${NumberRange<1, 86>}`
44
- | `41:${NumberRange<1, 55>}`
45
- | `42:${NumberRange<1, 54>}`
46
- | `43:${NumberRange<1, 90>}`
47
- | `44:${NumberRange<1, 60>}`
48
- | `45:${NumberRange<1, 38>}`
49
- | `46:${NumberRange<1, 36>}`
50
- | `47:${NumberRange<1, 39>}`
51
- | `48:${NumberRange<1, 30>}`
52
- | `49:${NumberRange<1, 19>}`
53
- | `50:${NumberRange<1, 46>}`
54
- | `51:${NumberRange<1, 61>}`
55
- | `52:${NumberRange<1, 50>}`
56
- | `53:${NumberRange<1, 63>}`
57
- | `54:${NumberRange<1, 56>}`
58
- | `55:${NumberRange<1, 79>}`
59
- | `56:${NumberRange<1, 97>}`
60
- | `57:${NumberRange<1, 30>}`
61
- | `58:${NumberRange<1, 23>}`
62
- | `59:${NumberRange<1, 25>}`
63
- | `60:${NumberRange<1, 14>}`
64
- | `61:${NumberRange<1, 15>}`
65
- | `62:${NumberRange<1, 12>}`
66
- | `63:${NumberRange<1, 12>}`
67
- | `64:${NumberRange<1, 19>}`
68
- | `65:${NumberRange<1, 13>}`
69
- | `66:${NumberRange<1, 13>}`
70
- | `67:${NumberRange<1, 31>}`
71
- | `68:${NumberRange<1, 53>}`
72
- | `69:${NumberRange<1, 53>}`
73
- | `70:${NumberRange<1, 45>}`
74
- | `71:${NumberRange<1, 29>}`
75
- | `72:${NumberRange<1, 29>}`
76
- | `73:${NumberRange<1, 21>}`
77
- | `74:${NumberRange<1, 57>}`
78
- | `75:${NumberRange<1, 41>}`
79
- | `76:${NumberRange<1, 32>}`
80
- | `77:${NumberRange<1, 51>}`
81
- | `78:${NumberRange<1, 41>}`
82
- | `79:${NumberRange<1, 47>}`
83
- | `80:${NumberRange<1, 43>}`
84
- | `81:${NumberRange<1, 30>}`
85
- | `82:${NumberRange<1, 20>}`
86
- | `83:${NumberRange<1, 37>}`
87
- | `84:${NumberRange<1, 26>}`
88
- | `85:${NumberRange<1, 23>}`
89
- | `86:${NumberRange<1, 18>}`
90
- | `87:${NumberRange<1, 20>}`
91
- | `88:${NumberRange<1, 27>}`
92
- | `89:${NumberRange<1, 31>}`
93
- | `90:${NumberRange<1, 21>}`
94
- | `91:${NumberRange<1, 16>}`
95
- | `92:${NumberRange<1, 22>}`
96
- | `93:${NumberRange<1, 12>}`
97
- | `94:${NumberRange<1, 9>}`
98
- | `95:${NumberRange<1, 9>}`
99
- | `96:${NumberRange<1, 20>}`
100
- | `97:${NumberRange<1, 6>}`
101
- | `98:${NumberRange<1, 9>}`
102
- | `99:${NumberRange<1, 9>}`
103
- | `100:${NumberRange<1, 12>}`
104
- | `101:${NumberRange<1, 12>}`
105
- | `102:${NumberRange<1, 9>}`
106
- | `103:${NumberRange<1, 4>}`
107
- | `104:${NumberRange<1, 10>}`
108
- | `105:${NumberRange<1, 6>}`
109
- | `106:${NumberRange<1, 5>}`
110
- | `107:${NumberRange<1, 8>}`
111
- | `108:${NumberRange<1, 4>}`
112
- | `109:${NumberRange<1, 7>}`
113
- | `110:${NumberRange<1, 4>}`
114
- | `111:${NumberRange<1, 6>}`
115
- | `112:${NumberRange<1, 5>}`
116
- | `113:${NumberRange<1, 6>}`
117
- | `114:${NumberRange<1, 7>}`;
@@ -1,19 +0,0 @@
1
- import { Translation } from './Translation';
2
- import { Word } from './Word';
3
-
4
- export interface SearchResponse {
5
- search: {
6
- query: string;
7
- totalResults: number;
8
- currentPage: number;
9
- totalPages: number;
10
- results?: {
11
- verseKey: string;
12
- verse_id: number;
13
- text: string;
14
- highlighted: string;
15
- words: Word[];
16
- translations: Translation[];
17
- }[];
18
- };
19
- }
@@ -1,20 +0,0 @@
1
- import { VerseKey } from '../VerseKey';
2
- import { Segment } from './Segment';
3
-
4
- export interface ChapterRecitation {
5
- id: number;
6
- chapterId: number;
7
- fileSize: number;
8
- format: string;
9
- audioUrl: string;
10
- }
11
-
12
- export interface VerseRecitation {
13
- verseKey: VerseKey;
14
- url: string;
15
-
16
- id?: number;
17
- chapterId?: number;
18
- segments?: Segment[];
19
- format?: string;
20
- }
@@ -1,9 +0,0 @@
1
- import { Segment } from './Segment';
2
-
3
- export interface AudioResponse {
4
- url?: string;
5
- duration?: number;
6
- format?: string;
7
- verseKey: string;
8
- segments?: Segment[];
9
- }
@@ -1,15 +0,0 @@
1
- import { TranslatedName } from './TranslatedName';
2
-
3
- export interface Chapter {
4
- id: number;
5
- versesCount: number;
6
- bismillahPre: boolean;
7
- revelationOrder: number;
8
- revelationPlace: string;
9
- pages: Array<number>;
10
- nameComplex: string;
11
- nameSimple: string;
12
- transliteratedName: string;
13
- nameArabic: string;
14
- translatedName: TranslatedName;
15
- }
@@ -1,8 +0,0 @@
1
- export interface ChapterInfo {
2
- id: number;
3
- chapterId: number;
4
- text: string;
5
- shortText: string;
6
- source: string;
7
- languageName?: string;
8
- }
@@ -1,6 +0,0 @@
1
- export interface Footnote {
2
- id: number | string;
3
- text: string;
4
- languageName?: string;
5
- languageId?: number;
6
- }
@@ -1,8 +0,0 @@
1
- export interface Juz {
2
- id: number;
3
- juzNumber: number;
4
- verseMapping: Record<number, string>;
5
- firstVerseId: number;
6
- lastVerseId: number;
7
- versesCount: number;
8
- }
@@ -1,7 +0,0 @@
1
- export interface Pagination {
2
- perPage: number;
3
- currentPage: number;
4
- nextPage: number;
5
- totalPages: number;
6
- totalRecords: number;
7
- }
@@ -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,81 +0,0 @@
1
- import { TranslatedName } from './TranslatedName';
2
-
3
- export interface RecitationResource {
4
- id?: number;
5
- reciterName?: string;
6
- style?: string;
7
- translatedName?: TranslatedName;
8
- }
9
-
10
- export interface RecitationInfoResource {
11
- id?: number;
12
- info?: string;
13
- }
14
-
15
- export interface TranslationResource {
16
- id?: number;
17
- name?: string;
18
- authorName?: string;
19
- slug?: string;
20
- languageName?: string;
21
- translatedName?: TranslatedName;
22
- }
23
-
24
- export interface TranslationInfoResource {
25
- id?: number;
26
- info?: string;
27
- }
28
-
29
- export interface TafsirResource {
30
- id?: number;
31
- name?: string;
32
- authorName?: string;
33
- slug?: string;
34
- languageName?: string;
35
- translatedName?: TranslatedName;
36
- }
37
-
38
- export interface TafsirInfoResource {
39
- id?: number;
40
- info?: string;
41
- }
42
-
43
- export interface RecitationStylesResource {
44
- mujawwad: string;
45
- murattal: string;
46
- muallim: string;
47
- }
48
-
49
- export interface LanguageResource {
50
- id?: number;
51
- name?: string;
52
- nativeName?: string;
53
- isoCode?: string;
54
- direction?: string;
55
- translatedNames?: TranslatedName[];
56
- }
57
-
58
- export interface ChapterInfoResource {
59
- id?: number;
60
- name?: string;
61
- authorName?: string;
62
- slug?: string;
63
- languageName?: string;
64
- translatedName?: TranslatedName;
65
- }
66
-
67
- export interface VerseMediaResource {
68
- id?: number;
69
- name?: string;
70
- authorName?: string;
71
- languageName?: string;
72
- }
73
-
74
- export interface ChapterReciterResource {
75
- id: number;
76
- name: string;
77
- arabicName?: string;
78
- relativePath?: string;
79
- format?: string;
80
- filesSize?: number; // in kb
81
- }
@@ -1,4 +0,0 @@
1
- /**
2
- * Segment structure is [wordFrom, wordTo, timeFrom, timeTo] time is in ms
3
- */
4
- export type Segment = [number, number, number, number];
@@ -1,7 +0,0 @@
1
- export interface Tafsir {
2
- id?: number;
3
- resourceId?: number;
4
- text?: string;
5
- resourceName?: string;
6
- languageName?: string;
7
- }
@@ -1,10 +0,0 @@
1
- import { TranslatedName } from './TranslatedName';
2
-
3
- export interface TafsirInfo {
4
- id?: number;
5
- name?: string;
6
- authorName?: string;
7
- slug?: string;
8
- languageName?: string;
9
- translatedName: TranslatedName;
10
- }
@@ -1,4 +0,0 @@
1
- export interface TranslatedName {
2
- name: string;
3
- languageName: string;
4
- }
@@ -1,21 +0,0 @@
1
- import { VerseKey } from '../VerseKey';
2
-
3
- export interface Translation {
4
- id?: number;
5
- text: string;
6
- resourceId: number;
7
- resourceName?: string;
8
-
9
- verseId?: number;
10
-
11
- languageId?: number;
12
- languageName?: string;
13
-
14
- verseKey?: VerseKey;
15
- chapterId?: number;
16
- verseNumber?: number;
17
- juzNumber?: number;
18
- hizbNumber?: number;
19
- rubNumber?: number;
20
- pageNumber?: number;
21
- }
@@ -1,4 +0,0 @@
1
- export interface Transliteration {
2
- languageName?: string;
3
- text?: string;
4
- }