import fetcher from './fetcher' import { handler as useCart } from './cart/use-cart' import { handler as useAddItem } from './cart/use-add-item' import { handler as useUpdateItem } from './cart/use-update-item' import { handler as useRemoveItem } from './cart/use-remove-item' import { handler as useCustomer } from './customer/use-customer' import { handler as useSearch } from './product/use-search' import { handler as useLogin } from './auth/use-login' import { handler as useLogout } from './auth/use-logout' import { handler as useSignup } from './auth/use-signup' import { handler as useCheckout } from './checkout/use-checkout' import { handler as useWishlist } from './wishlist/use-wishlist' import { handler as useWishlistAddItem } from './wishlist/use-add-item' import { handler as useWishlistRemoveItem } from './wishlist/use-remove-item' import { requireConfigValue } from './isomorphic-config' const spreeProvider = { locale: requireConfigValue('defaultLocale') as string, cartCookie: requireConfigValue('cartCookieName') as string, fetcher, cart: { useCart, useAddItem, useUpdateItem, useRemoveItem }, customer: { useCustomer }, products: { useSearch }, auth: { useLogin, useLogout, useSignup }, checkout: { useCheckout }, wishlist: { useWishlist, useAddItem: useWishlistAddItem, useRemoveItem: useWishlistRemoveItem, }, } export { spreeProvider } export type SpreeProvider = typeof spreeProvider