mirror of
https://github.com/vercel/commerce.git
synced 2025-05-17 15:06:59 +00:00
feat: mock hooks
This commit is contained in:
parent
0e08cd8f6a
commit
8c6f2754dd
16
packages/sylius/src/auth/use-login.tsx
Normal file
16
packages/sylius/src/auth/use-login.tsx
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
|
||||||
|
|
||||||
|
export default useLogin as UseLogin<typeof handler>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher() {
|
||||||
|
return null
|
||||||
|
},
|
||||||
|
useHook: () => () => {
|
||||||
|
return async function () {}
|
||||||
|
},
|
||||||
|
}
|
17
packages/sylius/src/auth/use-logout.tsx
Normal file
17
packages/sylius/src/auth/use-logout.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
|
||||||
|
|
||||||
|
export default useLogout as UseLogout<typeof handler>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher() {
|
||||||
|
return null
|
||||||
|
},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() =>
|
||||||
|
async () => {},
|
||||||
|
}
|
19
packages/sylius/src/auth/use-signup.tsx
Normal file
19
packages/sylius/src/auth/use-signup.tsx
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { useCallback } from 'react'
|
||||||
|
import useCustomer from '../customer/use-customer'
|
||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
|
||||||
|
|
||||||
|
export default useSignup as UseSignup<typeof handler>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher() {
|
||||||
|
return null
|
||||||
|
},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() =>
|
||||||
|
() => {},
|
||||||
|
}
|
4
packages/sylius/src/cart/index.ts
Normal file
4
packages/sylius/src/cart/index.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export { default as useCart } from './use-cart'
|
||||||
|
export { default as useAddItem } from './use-add-item'
|
||||||
|
export { default as useUpdateItem } from './use-update-item'
|
||||||
|
export { default as useRemoveItem } from './use-remove-item'
|
17
packages/sylius/src/cart/use-add-item.tsx
Normal file
17
packages/sylius/src/cart/use-add-item.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
|
||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
|
||||||
|
export default useAddItem as UseAddItem<typeof handler>
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() => {
|
||||||
|
return async function addItem() {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
42
packages/sylius/src/cart/use-cart.tsx
Normal file
42
packages/sylius/src/cart/use-cart.tsx
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import { useMemo } from 'react'
|
||||||
|
import { SWRHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
|
||||||
|
|
||||||
|
export default useCart as UseCart<typeof handler>
|
||||||
|
|
||||||
|
export const handler: SWRHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher() {
|
||||||
|
return {
|
||||||
|
id: '',
|
||||||
|
createdAt: '',
|
||||||
|
currency: { code: '' },
|
||||||
|
taxesIncluded: '',
|
||||||
|
lineItems: [],
|
||||||
|
lineItemsSubtotalPrice: '',
|
||||||
|
subtotalPrice: 0,
|
||||||
|
totalPrice: 0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
useHook:
|
||||||
|
({ useData }) =>
|
||||||
|
(input) => {
|
||||||
|
return useMemo(
|
||||||
|
() =>
|
||||||
|
Object.create(
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
isEmpty: {
|
||||||
|
get() {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
enumerable: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
),
|
||||||
|
[]
|
||||||
|
)
|
||||||
|
},
|
||||||
|
}
|
20
packages/sylius/src/cart/use-remove-item.tsx
Normal file
20
packages/sylius/src/cart/use-remove-item.tsx
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useRemoveItem, {
|
||||||
|
UseRemoveItem,
|
||||||
|
} from '@vercel/commerce/cart/use-remove-item'
|
||||||
|
|
||||||
|
export default useRemoveItem as UseRemoveItem<typeof handler>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() => {
|
||||||
|
return async function removeItem(input) {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
20
packages/sylius/src/cart/use-update-item.tsx
Normal file
20
packages/sylius/src/cart/use-update-item.tsx
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useUpdateItem, {
|
||||||
|
UseUpdateItem,
|
||||||
|
} from '@vercel/commerce/cart/use-update-item'
|
||||||
|
|
||||||
|
export default useUpdateItem as UseUpdateItem<any>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() => {
|
||||||
|
return async function addItem() {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
16
packages/sylius/src/checkout/use-checkout.tsx
Normal file
16
packages/sylius/src/checkout/use-checkout.tsx
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { SWRHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useCheckout, {
|
||||||
|
UseCheckout,
|
||||||
|
} from '@vercel/commerce/checkout/use-checkout'
|
||||||
|
|
||||||
|
export default useCheckout as UseCheckout<typeof handler>
|
||||||
|
|
||||||
|
export const handler: SWRHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook:
|
||||||
|
({ useData }) =>
|
||||||
|
async (input) => ({}),
|
||||||
|
}
|
17
packages/sylius/src/customer/address/use-add-item.tsx
Normal file
17
packages/sylius/src/customer/address/use-add-item.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import useAddItem, {
|
||||||
|
UseAddItem,
|
||||||
|
} from '@vercel/commerce/customer/address/use-add-item'
|
||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
|
||||||
|
export default useAddItem as UseAddItem<typeof handler>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() =>
|
||||||
|
async () => ({}),
|
||||||
|
}
|
17
packages/sylius/src/customer/card/use-add-item.tsx
Normal file
17
packages/sylius/src/customer/card/use-add-item.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import useAddItem, {
|
||||||
|
UseAddItem,
|
||||||
|
} from '@vercel/commerce/customer/card/use-add-item'
|
||||||
|
import { MutationHook } from '@vercel/commerce/utils/types'
|
||||||
|
|
||||||
|
export default useAddItem as UseAddItem<typeof handler>
|
||||||
|
|
||||||
|
export const handler: MutationHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook:
|
||||||
|
({ fetch }) =>
|
||||||
|
() =>
|
||||||
|
async () => ({}),
|
||||||
|
}
|
1
packages/sylius/src/customer/index.ts
Normal file
1
packages/sylius/src/customer/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { default as useCustomer } from './use-customer'
|
17
packages/sylius/src/customer/use-customer.tsx
Normal file
17
packages/sylius/src/customer/use-customer.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { SWRHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useCustomer, {
|
||||||
|
UseCustomer,
|
||||||
|
} from '@vercel/commerce/customer/use-customer'
|
||||||
|
|
||||||
|
export default useCustomer as UseCustomer<typeof handler>
|
||||||
|
export const handler: SWRHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook: () => () => {
|
||||||
|
return async function addItem() {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
2
packages/sylius/src/product/use-price.tsx
Normal file
2
packages/sylius/src/product/use-price.tsx
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from '@vercel/commerce/product/use-price'
|
||||||
|
export { default } from '@vercel/commerce/product/use-price'
|
17
packages/sylius/src/product/use-search.tsx
Normal file
17
packages/sylius/src/product/use-search.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { SWRHook } from '@vercel/commerce/utils/types'
|
||||||
|
import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
|
||||||
|
export default useSearch as UseSearch<typeof handler>
|
||||||
|
|
||||||
|
export const handler: SWRHook<any> = {
|
||||||
|
fetchOptions: {
|
||||||
|
query: '',
|
||||||
|
},
|
||||||
|
async fetcher({ input, options, fetch }) {},
|
||||||
|
useHook: () => () => {
|
||||||
|
return {
|
||||||
|
data: {
|
||||||
|
products: [],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
@ -15,7 +15,7 @@ import fetcher from './fetcher'
|
|||||||
|
|
||||||
export const syliusProvider = {
|
export const syliusProvider = {
|
||||||
locale: 'en-us',
|
locale: 'en-us',
|
||||||
//cartCookie: CHECKOUT_ID_COOKIE,
|
cartCookie: 'toto',
|
||||||
fetcher,
|
fetcher,
|
||||||
cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },
|
cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },
|
||||||
customer: { useCustomer },
|
customer: { useCustomer },
|
||||||
|
13
packages/sylius/src/wishlist/use-add-item.tsx
Normal file
13
packages/sylius/src/wishlist/use-add-item.tsx
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { useCallback } from 'react'
|
||||||
|
|
||||||
|
export function emptyHook() {
|
||||||
|
const useEmptyHook = async (options = {}) => {
|
||||||
|
return useCallback(async function () {
|
||||||
|
return Promise.resolve()
|
||||||
|
}, [])
|
||||||
|
}
|
||||||
|
|
||||||
|
return useEmptyHook
|
||||||
|
}
|
||||||
|
|
||||||
|
export default emptyHook
|
17
packages/sylius/src/wishlist/use-remove-item.tsx
Normal file
17
packages/sylius/src/wishlist/use-remove-item.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { useCallback } from 'react'
|
||||||
|
|
||||||
|
type Options = {
|
||||||
|
includeProducts?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export function emptyHook(options?: Options) {
|
||||||
|
const useEmptyHook = async ({ id }: { id: string | number }) => {
|
||||||
|
return useCallback(async function () {
|
||||||
|
return Promise.resolve()
|
||||||
|
}, [])
|
||||||
|
}
|
||||||
|
|
||||||
|
return useEmptyHook
|
||||||
|
}
|
||||||
|
|
||||||
|
export default emptyHook
|
43
packages/sylius/src/wishlist/use-wishlist.tsx
Normal file
43
packages/sylius/src/wishlist/use-wishlist.tsx
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import { HookFetcher } from '@vercel/commerce/utils/types'
|
||||||
|
import type { Product } from '@vercel/commerce/types/product'
|
||||||
|
|
||||||
|
const defaultOpts = {}
|
||||||
|
|
||||||
|
export type Wishlist = {
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
product_id: number
|
||||||
|
variant_id: number
|
||||||
|
id: number
|
||||||
|
product: Product
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UseWishlistOptions {
|
||||||
|
includeProducts?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UseWishlistInput extends UseWishlistOptions {
|
||||||
|
customerId?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export const fetcher: HookFetcher<Wishlist | null, UseWishlistInput> = () => {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
export function extendHook(
|
||||||
|
customFetcher: typeof fetcher,
|
||||||
|
// swrOptions?: SwrOptions<Wishlist | null, UseWishlistInput>
|
||||||
|
swrOptions?: any
|
||||||
|
) {
|
||||||
|
const useWishlist = ({ includeProducts }: UseWishlistOptions = {}) => {
|
||||||
|
return { data: null }
|
||||||
|
}
|
||||||
|
|
||||||
|
useWishlist.extend = extendHook
|
||||||
|
|
||||||
|
return useWishlist
|
||||||
|
}
|
||||||
|
|
||||||
|
export default extendHook(fetcher)
|
Loading…
x
Reference in New Issue
Block a user