Fix types

This commit is contained in:
cond0r 2022-07-13 10:57:36 +03:00
parent 99f48c1db6
commit 130352b515
3 changed files with 19 additions and 7 deletions

View File

@ -1,6 +1,12 @@
import { useCallback } from 'react' import { useCallback } from 'react'
import type { MutationHookContext, HookFetcherContext, MutationHook } from '@vercel/commerce/utils/types' import type {
import useRemoveItem, { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item' MutationHookContext,
HookFetcherContext,
MutationHook,
} from '@vercel/commerce/utils/types'
import useRemoveItem, {
UseRemoveItem,
} from '@vercel/commerce/cart/use-remove-item'
import useCart from './use-cart' import useCart from './use-cart'
import * as mutation from '../utils/mutations' import * as mutation from '../utils/mutations'
import { getCheckoutId, checkoutToCart } from '../utils' import { getCheckoutId, checkoutToCart } from '../utils'
@ -11,7 +17,11 @@ export default useRemoveItem as UseRemoveItem<typeof handler>
export const handler = { export const handler = {
fetchOptions: { query: mutation.CheckoutLineDelete }, fetchOptions: { query: mutation.CheckoutLineDelete },
async fetcher({ input: { itemId }, options, fetch }: HookFetcherContext<RemoveItemHook>) { async fetcher({
input: { itemId },
options,
fetch,
}: HookFetcherContext<RemoveItemHook>) {
const data = await fetch<Mutation, MutationCheckoutLineDeleteArgs>({ const data = await fetch<Mutation, MutationCheckoutLineDeleteArgs>({
...options, ...options,
variables: { variables: {
@ -27,7 +37,7 @@ export const handler = {
const { mutate } = useCart() const { mutate } = useCart()
return useCallback( return useCallback(
async function removeItem(input) { async function removeItem(input: { id: string }) {
const data = await fetch({ input: { itemId: input.id } }) const data = await fetch({ input: { itemId: input.id } })
await mutate(data, false) await mutate(data, false)

View File

@ -1,4 +1,4 @@
import type { ComponentType, FunctionComponent } from 'react' import type { FC, ReactNode } from 'react'
import { import {
Provider, Provider,
CommerceProviderProps, CommerceProviderProps,
@ -14,7 +14,9 @@ import useLogout from '@vercel/commerce/auth/use-logout'
export { spreeProvider } export { spreeProvider }
export type { SpreeProvider } export type { SpreeProvider }
export const WithTokenErrorsHandling: FunctionComponent = ({ children }) => { export const WithTokenErrorsHandling: FC<{ children?: ReactNode }> = ({
children,
}) => {
const logout = useLogout() const logout = useLogout()
return ( return (

View File

@ -45,7 +45,7 @@ export const handler = {
const { mutate } = useCart() const { mutate } = useCart()
return useCallback( return useCallback(
async function removeItem(input) { async function removeItem(input: { id: string }) {
const data = await fetch({ input: { itemId: input.id } }) const data = await fetch({ input: { itemId: input.id } })
await mutate(data, false) await mutate(data, false)