Updated Fetcher type

This commit is contained in:
Luis Alvarez 2021-02-08 18:00:48 -05:00
parent 8bf42c3b50
commit 82c5cd4aba
4 changed files with 7 additions and 5 deletions

View File

@ -28,7 +28,7 @@ async function getError(res: Response) {
return new FetcherError({ message: await getText(res), status: res.status })
}
const fetcher: Fetcher<any> = async ({
const fetcher: Fetcher = async ({
url,
method = 'GET',
variables,

View File

@ -25,14 +25,14 @@ export type CommerceProps<P extends Provider> = {
config: CommerceConfig
}
export type CommerceConfig = { fetcher: Fetcher<any> } & Omit<
export type CommerceConfig = { fetcher: Fetcher } & Omit<
CommerceContextValue<any>,
'providerRef' | 'fetcherRef'
>
export type CommerceContextValue<P extends Provider> = {
providerRef: MutableRefObject<P>
fetcherRef: MutableRefObject<Fetcher<any>>
fetcherRef: MutableRefObject<Fetcher>
locale: string
cartCookie: string
}

View File

@ -7,7 +7,9 @@ export type PickRequired<T, K extends keyof T> = Omit<T, K> &
Required<Pick<T, K>>
// Core fetcher added by CommerceProvider
export type Fetcher<T> = (options: FetcherOptions) => T | Promise<T>
export type Fetcher<T = any, B = any> = (
options: FetcherOptions<B>
) => T | Promise<T>
export type FetcherOptions<Body = any> = {
url?: string

View File

@ -32,7 +32,7 @@ export type UseData = <
'fetcher'
>,
input: HookInput,
fetcherFn: Fetcher<any>
fetcherFn: Fetcher
) => ResponseState<Data>
const useData: UseData = (options, input, fetcherFn) => {