From 25b14007da296c491c23ceab5c438a2da5ae7966 Mon Sep 17 00:00:00 2001 From: Luis Alvarez <luis@vercel.com> Date: Mon, 8 Feb 2021 11:10:35 -0500 Subject: [PATCH] Removed old hook --- components/common/UserNav/UserNav.tsx | 6 +--- framework/commerce/cart/use-fake.tsx | 45 -------------------------- framework/commerce/utils/use-data-2.ts | 7 +--- 3 files changed, 2 insertions(+), 56 deletions(-) delete mode 100644 framework/commerce/cart/use-fake.tsx diff --git a/components/common/UserNav/UserNav.tsx b/components/common/UserNav/UserNav.tsx index 7048cc468..c615c18b1 100644 --- a/components/common/UserNav/UserNav.tsx +++ b/components/common/UserNav/UserNav.tsx @@ -1,10 +1,8 @@ import { FC } from 'react' import Link from 'next/link' import cn from 'classnames' -import type { BigcommerceProvider } from '@framework' -import { LineItem } from '@framework/types' +import type { LineItem } from '@framework/types' import useCart from '@framework/cart/use-cart' -import useFake from '@commerce/cart/use-fake' import useCustomer from '@framework/customer/use-customer' import { Heart, Bag } from '@components/icons' import { useUI } from '@components/ui/context' @@ -24,8 +22,6 @@ const UserNav: FC<Props> = ({ className }) => { const { toggleSidebar, closeSidebarIfPresent, openModal } = useUI() const itemsCount = data?.lineItems.reduce(countItem, 0) ?? 0 - const x = useFake<BigcommerceProvider>() - return ( <nav className={cn(s.root, className)}> <div className={s.mainContainer}> diff --git a/framework/commerce/cart/use-fake.tsx b/framework/commerce/cart/use-fake.tsx deleted file mode 100644 index 2f0083d10..000000000 --- a/framework/commerce/cart/use-fake.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { useMemo } from 'react' -import Cookies from 'js-cookie' -import type { Cart } from '../types' -import type { HookFetcherFn } from '../utils/types' -import useData from '../utils/use-data-2' -import { Provider, useCommerce } from '..' - -// Input expected by the `useCart` hook -export type CartInput = { - cartId?: Cart['id'] -} - -export type CartResponse<P extends Provider> = ReturnType< - NonNullable<NonNullable<NonNullable<P['cart']>['useCart']>['onResponse']> -> - -export const fetcher: HookFetcherFn<Cart | null, CartInput> = async ({ - options, - input: { cartId }, - fetch, - normalize, -}) => { - const data = cartId ? await fetch({ ...options }) : null - return data && normalize ? normalize(data) : data -} - -export default function useFake<P extends Provider>() { - const { providerRef, cartCookie } = useCommerce<P>() - - const provider = providerRef.current - const opts = provider.cart?.useCart - const options = opts?.fetchOptions ?? {} - const fetcherFn = opts?.fetcher ?? fetcher - const wrapper: typeof fetcher = (context) => { - context.input.cartId = Cookies.get(cartCookie) - return fetcherFn(context) - } - const response = useData(options, [], wrapper, opts?.swrOptions) - const memoizedResponse = useMemo( - () => (opts?.onResponse ? opts.onResponse(response) : response), - [response] - ) - - return memoizedResponse as CartResponse<P> -} diff --git a/framework/commerce/utils/use-data-2.ts b/framework/commerce/utils/use-data-2.ts index ed3218840..76fce8960 100644 --- a/framework/commerce/utils/use-data-2.ts +++ b/framework/commerce/utils/use-data-2.ts @@ -1,10 +1,5 @@ import useSWR, { ConfigInterface, responseInterface } from 'swr' -import type { - HookInput, - HookFetcher, - HookFetcherOptions, - HookFetcherFn, -} from './types' +import type { HookInput, HookFetcher, HookFetcherFn } from './types' import defineProperty from './define-property' import { CommerceError } from './errors' import { HookHandler, useCommerce } from '..'