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 '..'