From b77672218317e1995818cca46e6140c7a15deee4 Mon Sep 17 00:00:00 2001 From: hkamran2 Date: Fri, 21 Feb 2025 07:38:30 +0000 Subject: [PATCH] fix: use default exports for humps The humps library provides uses default exports to export it's functionality. This becomes a problem for ESM bundling as tsup just includes the following line in the bundle: import { camelizeKeys, decamelize, decamelizeKeys } from 'humps'; Running in ESM mode causes failures because named exports are not present in the humps module. --- src/sdk/v4/_fetcher.ts | 4 +++- src/sdk/v4/verses.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/sdk/v4/_fetcher.ts b/src/sdk/v4/_fetcher.ts index 0fceb8b..0b643d4 100644 --- a/src/sdk/v4/_fetcher.ts +++ b/src/sdk/v4/_fetcher.ts @@ -1,10 +1,12 @@ -import { camelizeKeys, decamelize, decamelizeKeys } from 'humps'; +import humps from 'humps'; import { FetchFn } from '../../types'; import { BaseApiOptions } from '../../types/BaseApiOptions'; import { removeBeginningSlash } from '../../utils/misc'; export const API_BASE_URL = 'https://api.quran.com/api/v4/'; +const { camelizeKeys, decamelize, decamelizeKeys } = humps; + export const makeUrl = (url: string, params?: Record) => { const baseUrl = `${API_BASE_URL}${removeBeginningSlash(url)}`; if (!params) return baseUrl; diff --git a/src/sdk/v4/verses.ts b/src/sdk/v4/verses.ts index fee0e49..5afbfc8 100644 --- a/src/sdk/v4/verses.ts +++ b/src/sdk/v4/verses.ts @@ -11,11 +11,13 @@ import { VerseKey, WordField, } from '../../types'; -import { decamelize } from 'humps'; +import humps from 'humps'; import Utils from '../utils'; import { fetcher, mergeApiOptions } from './_fetcher'; import { BaseApiOptions } from '../../types/BaseApiOptions'; +const { decamelize } = humps; + type GetVerseOptions = Partial< BaseApiOptions & { reciter: string | number;