import { CommerceProvider as CoreCommerceProvider, Connector, useCommerce as useCoreCommerce, } from 'lib/commerce' async function getText(res: Response) { try { return (await res.text()) || res.statusText } catch (error) { return res.statusText } } async function getError(res: Response) { if (res.headers.get('Content-Type')?.includes('application/json')) { const data = await res.json() return data.errors[0] } return { message: await getText(res) } } async function fetcher(url: string, query: string) { const res = await fetch(url) if (res.ok) { return res.json() } throw await getError(res) } export const bigcommerce: Connector = { locale: 'en-us', fetcher, } // TODO: The connector should be extendable when a developer is using it export function CommerceProvider({ children }) { return ( {children} ) } export const useCommerce = () => useCoreCommerce()