forked from crowetic/commerce
Type fixes
This commit is contained in:
parent
f1b9ea605e
commit
6595b3de96
@ -35,6 +35,11 @@ export type Cart = {
|
|||||||
base_amount: number
|
base_amount: number
|
||||||
discount_amount: number
|
discount_amount: number
|
||||||
cart_amount: number
|
cart_amount: number
|
||||||
|
redirect_urls: {
|
||||||
|
cart_url: string
|
||||||
|
checkout_url: string
|
||||||
|
embedded_checkout_url: string
|
||||||
|
}
|
||||||
line_items: {
|
line_items: {
|
||||||
custom_items: any[]
|
custom_items: any[]
|
||||||
digital_items: any[]
|
digital_items: any[]
|
||||||
|
@ -5,8 +5,16 @@ import createApiHandler, {
|
|||||||
import isAllowedMethod from './utils/is-allowed-method'
|
import isAllowedMethod from './utils/is-allowed-method'
|
||||||
import { BigcommerceApiError } from './utils/errors'
|
import { BigcommerceApiError } from './utils/errors'
|
||||||
|
|
||||||
|
type Body<T> = Partial<T> | undefined
|
||||||
|
|
||||||
export type Customer = any
|
export type Customer = any
|
||||||
|
|
||||||
|
export type AddCustomerBody = { item: any }
|
||||||
|
|
||||||
|
export type CartHandlers = {
|
||||||
|
addItem: BigcommerceHandler<Customer, { cartId?: string } & Body<any>>
|
||||||
|
}
|
||||||
|
|
||||||
const METHODS = ['POST']
|
const METHODS = ['POST']
|
||||||
|
|
||||||
const customersApi: BigcommerceApiHandler<Customer> = async (
|
const customersApi: BigcommerceApiHandler<Customer> = async (
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { useCallback } from 'react'
|
import { useCallback } from 'react'
|
||||||
import { HookFetcher, HookFetcherOptions } from '../utils/types'
|
import type { HookFetcher, HookFetcherOptions } from '../utils/types'
|
||||||
import { useCommerce } from '..'
|
import { useCommerce } from '..'
|
||||||
|
|
||||||
export default function useAddItem<T, Input>(
|
export default function useAddItem<T, Input>(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import type { Fetcher } from '..'
|
import type { HookFetcher, HookFetcherOptions } from '../utils/types'
|
||||||
import useAddItem from './use-add-item'
|
import useAddItem from './use-add-item'
|
||||||
import useRemoveItem from './use-remove-item'
|
import useRemoveItem from './use-remove-item'
|
||||||
import useUpdateItem from './use-update-item'
|
import useUpdateItem from './use-update-item'
|
||||||
@ -6,11 +6,12 @@ import useUpdateItem from './use-update-item'
|
|||||||
// This hook is probably not going to be used, but it's here
|
// This hook is probably not going to be used, but it's here
|
||||||
// to show how a commerce should be structuring it
|
// to show how a commerce should be structuring it
|
||||||
export default function useCartActions<T, Input>(
|
export default function useCartActions<T, Input>(
|
||||||
fetcher: (fetch: Fetcher<T>, input: Input) => T | Promise<T>
|
options: HookFetcherOptions,
|
||||||
|
fetcher: HookFetcher<T, Input>
|
||||||
) {
|
) {
|
||||||
const addItem = useAddItem<T, Input>(fetcher)
|
const addItem = useAddItem<T, Input>(options, fetcher)
|
||||||
const updateItem = useUpdateItem<T, Input>(fetcher)
|
const updateItem = useUpdateItem<T, Input>(options, fetcher)
|
||||||
const removeItem = useRemoveItem<T, Input>(fetcher)
|
const removeItem = useRemoveItem<T, Input>(options, fetcher)
|
||||||
|
|
||||||
return { addItem, updateItem, removeItem }
|
return { addItem, updateItem, removeItem }
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { useCallback } from 'react'
|
import { useCallback } from 'react'
|
||||||
import { HookFetcher, HookFetcherOptions } from '../utils/types'
|
import type { HookFetcher, HookFetcherOptions } from '../utils/types'
|
||||||
import { useCommerce } from '..'
|
import { useCommerce } from '..'
|
||||||
|
|
||||||
export default function useRemoveItem<T, Input>(
|
export default function useRemoveItem<T, Input>(
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { useCallback } from 'react'
|
import { useCallback } from 'react'
|
||||||
import { HookFetcher, HookFetcherOptions } from '../utils/types'
|
import type { HookFetcher, HookFetcherOptions } from '../utils/types'
|
||||||
import { useCommerce } from '..'
|
import { useCommerce } from '..'
|
||||||
|
|
||||||
export default function useUpdateItem<T, Input>(
|
export default function useUpdateItem<T, Input>(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user