mirror of
https://github.com/vercel/commerce.git
synced 2025-07-22 20:26:49 +00:00
Removed old hook
This commit is contained in:
@@ -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>
|
||||
}
|
@@ -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 '..'
|
||||
|
Reference in New Issue
Block a user