Moved the handlers to each hook

This commit is contained in:
Luis Alvarez
2021-02-15 18:48:47 -05:00
parent fe7d6df04f
commit c4870a05e8
5 changed files with 171 additions and 162 deletions

View File

@@ -1,4 +1,25 @@
import { HookHandler } from '@commerce/utils/types'
import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
import type { Customer, CustomerData } from '../api/customers'
import type { BigcommerceProvider } from '..'
export default useCustomer as UseCustomer<BigcommerceProvider>
export const handler: HookHandler<Customer | null> = {
fetchOptions: {
url: '/api/bigcommerce/customers',
method: 'GET',
},
async fetcher({ options, fetch }) {
const data = await fetch<CustomerData | null>(options)
return data?.customer ?? null
},
useHook({ input, useData }) {
return useData({
swrOptions: {
revalidateOnFocus: false,
...input.swrOptions,
},
})
},
}