From e7eece1657569ed81799f8d11a669b2ae7032edc Mon Sep 17 00:00:00 2001 From: Basit Minhas Date: Thu, 3 Jul 2025 22:19:08 +0500 Subject: [PATCH] fix: restore v4 mergeApiOptions argument order --- src/sdk/qf/audio.ts | 16 ++++++++-------- src/sdk/qf/chapters.ts | 6 +++--- src/sdk/qf/resources.ts | 18 +++++++++--------- src/sdk/qf/search.ts | 2 +- src/sdk/qf/verses.ts | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/sdk/qf/audio.ts b/src/sdk/qf/audio.ts index df29cbc..0863965 100644 --- a/src/sdk/qf/audio.ts +++ b/src/sdk/qf/audio.ts @@ -44,7 +44,7 @@ const findAllChapterRecitations = async ( reciterId: string, options?: GetChapterRecitationOptions ) => { - const params = mergeApiOptions(options, defaultChapterRecitationsOptions); + const params = mergeApiOptions(defaultChapterRecitationsOptions, options); const { audioFiles } = await fetcher<{ audioFiles: ChapterRecitation[] }>( `/chapter_recitations/${reciterId}`, params, @@ -69,7 +69,7 @@ const findChapterRecitationById = async ( ) => { if (!Utils.isValidChapterId(chapterId)) throw new Error('Invalid chapter id'); - const params = mergeApiOptions(options, defaultChapterRecitationsOptions); + const params = mergeApiOptions(defaultChapterRecitationsOptions, options); const { audioFile } = await fetcher<{ audioFile: ChapterRecitation }>( `/chapter_recitations/${reciterId}/${chapterId}`, params, @@ -95,7 +95,7 @@ const findVerseRecitationsByChapter = async ( ) => { if (!Utils.isValidChapterId(chapterId)) throw new Error('Invalid chapter id'); - const params = mergeApiOptions(options, defaultVerseRecitationsOptions); + const params = mergeApiOptions(defaultVerseRecitationsOptions, options); const data = await fetcher<{ audioFiles: VerseRecitation[]; pagination: Pagination; @@ -124,7 +124,7 @@ const findVerseRecitationsByJuz = async ( ) => { if (!Utils.isValidJuz(juz)) throw new Error('Invalid juz'); - const params = mergeApiOptions(options, defaultVerseRecitationsOptions); + const params = mergeApiOptions(defaultVerseRecitationsOptions, options); const data = await fetcher<{ audioFiles: VerseRecitation[]; pagination: Pagination; @@ -149,7 +149,7 @@ const findVerseRecitationsByPage = async ( ) => { if (!Utils.isValidQuranPage(page)) throw new Error('Invalid page'); - const params = mergeApiOptions(options, defaultVerseRecitationsOptions); + const params = mergeApiOptions(defaultVerseRecitationsOptions, options); const data = await fetcher<{ audioFiles: VerseRecitation[]; pagination: Pagination; @@ -174,7 +174,7 @@ const findVerseRecitationsByRub = async ( ) => { if (!Utils.isValidRub(rub)) throw new Error('Invalid rub'); - const params = mergeApiOptions(options, defaultVerseRecitationsOptions); + const params = mergeApiOptions(defaultVerseRecitationsOptions, options); const data = await fetcher<{ audioFiles: VerseRecitation[]; pagination: Pagination; @@ -199,7 +199,7 @@ const findVerseRecitationsByHizb = async ( ) => { if (!Utils.isValidHizb(hizb)) throw new Error('Invalid hizb'); - const params = mergeApiOptions(options, defaultVerseRecitationsOptions); + const params = mergeApiOptions(defaultVerseRecitationsOptions, options); const data = await fetcher<{ audioFiles: VerseRecitation[]; pagination: Pagination; @@ -224,7 +224,7 @@ const findVerseRecitationsByKey = async ( ) => { if (!Utils.isValidVerseKey(key)) throw new Error('Invalid verse key'); - const params = mergeApiOptions(options, defaultVerseRecitationsOptions); + const params = mergeApiOptions(defaultVerseRecitationsOptions, options); const data = await fetcher<{ audioFiles: VerseRecitation[]; pagination: Pagination; diff --git a/src/sdk/qf/chapters.ts b/src/sdk/qf/chapters.ts index 03f1cd7..878e5c6 100644 --- a/src/sdk/qf/chapters.ts +++ b/src/sdk/qf/chapters.ts @@ -18,7 +18,7 @@ const defaultOptions: GetChapterOptions = { * quran.v4.chapters.findAll() */ const findAll = async (options?: GetChapterOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { chapters } = await fetcher<{ chapters: Chapter[] }>( '/chapters', params, @@ -40,7 +40,7 @@ const findAll = async (options?: GetChapterOptions) => { const findById = async (id: ChapterId, options?: GetChapterOptions) => { if (!Utils.isValidChapterId(id)) throw new Error('Invalid chapter id'); - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { chapter } = await fetcher<{ chapter: Chapter }>( `/chapters/${id}`, params, @@ -62,7 +62,7 @@ const findById = async (id: ChapterId, options?: GetChapterOptions) => { const findInfoById = async (id: ChapterId, options?: GetChapterOptions) => { if (!Utils.isValidChapterId(id)) throw new Error('Invalid chapter id'); - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { chapterInfo } = await fetcher<{ chapterInfo: ChapterInfo }>( `/chapters/${id}/info`, params, diff --git a/src/sdk/qf/resources.ts b/src/sdk/qf/resources.ts index 8d870e0..115e97f 100644 --- a/src/sdk/qf/resources.ts +++ b/src/sdk/qf/resources.ts @@ -47,7 +47,7 @@ const findAllRecitations = async (options?: GetResourceOptions) => { * quran.v4.resources.findRecitationInfo('1') */ const findRecitationInfo = async (id: string, options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { info } = await fetcher<{ info: RecitationInfoResource; }>(`/resources/recitations/${id}/info`, params, options?.fetchFn); @@ -63,7 +63,7 @@ const findRecitationInfo = async (id: string, options?: GetResourceOptions) => { * quran.v4.resources.findAllTranslations() */ const findAllTranslations = async (options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { translations } = await fetcher<{ translations: TranslationResource[]; }>('/resources/translations', params, options?.fetchFn); @@ -83,7 +83,7 @@ const findTranslationInfo = async ( id: string, options?: GetResourceOptions ) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { info } = await fetcher<{ info: TranslationInfoResource; }>(`/resources/translations/${id}/info`, params, options?.fetchFn); @@ -99,7 +99,7 @@ const findTranslationInfo = async ( * quran.v4.resources.findAllTafsirs() */ const findAllTafsirs = async (options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { tafsirs } = await fetcher<{ tafsirs: TafsirResource[]; }>('/resources/tafsirs', params, options?.fetchFn); @@ -116,7 +116,7 @@ const findAllTafsirs = async (options?: GetResourceOptions) => { * quran.v4.resources.findTafsirInfo('1') */ const findTafsirInfo = async (id: string, options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { info } = await fetcher<{ info: TafsirInfoResource; }>(`/resources/tafsirs/${id}/info`, params, options?.fetchFn); @@ -148,7 +148,7 @@ const findAllRecitationStyles = async ( * quran.v4.resources.findAllLanguages() */ const findAllLanguages = async (options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { languages } = await fetcher<{ languages: LanguageResource[]; }>('/resources/languages', params, options?.fetchFn); @@ -164,7 +164,7 @@ const findAllLanguages = async (options?: GetResourceOptions) => { * quran.v4.resources.findAllChapterInfos() */ const findAllChapterInfos = async (options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { chapterInfos } = await fetcher<{ chapterInfos: ChapterInfoResource[]; }>('/resources/chapter_infos', params, options?.fetchFn); @@ -180,7 +180,7 @@ const findAllChapterInfos = async (options?: GetResourceOptions) => { * quran.v4.resources.findVerseMedia() */ const findVerseMedia = async (options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { verseMedia } = await fetcher<{ verseMedia: VerseMediaResource; }>(`/resources/verse_media`, params, options?.fetchFn); @@ -196,7 +196,7 @@ const findVerseMedia = async (options?: GetResourceOptions) => { * quran.v4.resources.findAllChapterReciters() */ const findAllChapterReciters = async (options?: GetResourceOptions) => { - const params = mergeApiOptions(options, defaultOptions); + const params = mergeApiOptions(defaultOptions, options); const { reciters } = await fetcher<{ reciters: Reciter[]; }>(`/resources/chapter_reciters`, params, options?.fetchFn); diff --git a/src/sdk/qf/search.ts b/src/sdk/qf/search.ts index 3eb81ee..5fe277a 100644 --- a/src/sdk/qf/search.ts +++ b/src/sdk/qf/search.ts @@ -28,7 +28,7 @@ const defaultSearchOptions: SearchOptions = { */ const search = async (q: string, options?: SearchOptions) => { - const params = mergeApiOptions({ q, ...options }, defaultSearchOptions); + const params = mergeApiOptions(defaultSearchOptions, { q, ...options }); const { search } = await fetcher( '/search', diff --git a/src/sdk/qf/verses.ts b/src/sdk/qf/verses.ts index 1f42890..336743c 100644 --- a/src/sdk/qf/verses.ts +++ b/src/sdk/qf/verses.ts @@ -41,7 +41,7 @@ const defaultOptions: GetVerseOptions = { }; const mergeVerseOptions = (options: GetVerseOptions = {}) => { - const result = mergeApiOptions(options, defaultOptions); + const result = mergeApiOptions(defaultOptions, options); // @ts-expect-error - we accept an array of strings, however, the API expects a comma separated string if (result.translations) result.translations = result.translations.join(',');