avoid a circular dependency

This commit is contained in:
Tobias Koppers 2021-06-14 22:53:07 +02:00
parent a17e0f8309
commit 1ab3609d64
2 changed files with 30 additions and 32 deletions

View File

@ -1,6 +1,6 @@
import type { APIProvider, CommerceAPIConfig } from '@commerce/api'
import { CommerceAPI, getCommerceApi as commerceApi } from '@commerce/api'
import fetcher from './utils/fetch-local'
import type { CommerceAPI, CommerceAPIConfig } from '@commerce/api'
import { getCommerceApi as commerceApi } from '@commerce/api'
import createFetcher from './utils/fetch-local'
import getAllPages from './operations/get-all-pages'
import getPage from './operations/get-page'
@ -17,7 +17,7 @@ const config: LocalConfig = {
cartCookie: '',
customerCookie: '',
cartCookieMaxAge: 2592000,
fetch: fetcher,
fetch: createFetcher(() => getCommerceApi().getConfig()),
}
const operations = {

View File

@ -1,14 +1,12 @@
import { FetcherError } from '@commerce/utils/errors'
import type { GraphQLFetcher } from '@commerce/api'
import { getCommerceApi } from '../index'
import type { LocalConfig } from '../index'
import fetch from './fetch'
const fetchGraphqlApi: GraphQLFetcher = async (
query: string,
{ variables, preview } = {},
fetchOptions
) => {
const config = getCommerceApi().getConfig()
const fetchGraphqlApi: (getConfig: () => LocalConfig) => GraphQLFetcher =
(getConfig) =>
async (query: string, { variables, preview } = {}, fetchOptions) => {
const config = getConfig()
const res = await fetch(config.commerceUrl, {
...fetchOptions,
method: 'POST',
@ -31,6 +29,6 @@ const fetchGraphqlApi: GraphQLFetcher = async (
}
return { data: json.data, res }
}
}
export default fetchGraphqlApi