From 5ce1ee7aba901741954a64886e9440e1f0f17a03 Mon Sep 17 00:00:00 2001 From: Bel Curcio Date: Thu, 10 Jun 2021 17:27:50 -0300 Subject: [PATCH] Empty SWRhooks --- framework/commerce/types/cart.ts | 20 ++++----- framework/local/auth/use-login.tsx | 25 +++++------ framework/local/auth/use-logout.tsx | 26 ++++++------ framework/local/auth/use-signup.tsx | 26 +++++++----- framework/local/cart/use-add-item.tsx | 28 +++++++------ framework/local/cart/use-cart.tsx | 51 +++++++++++++++++------ framework/local/cart/use-remove-item.tsx | 27 ++++++------ framework/local/cart/use-update-item.tsx | 27 ++++++------ framework/local/customer/use-customer.tsx | 25 +++++------ framework/local/product/use-search.tsx | 24 +++++------ framework/vendure/auth/use-logout.tsx | 24 ++++++----- 11 files changed, 172 insertions(+), 131 deletions(-) diff --git a/framework/commerce/types/cart.ts b/framework/commerce/types/cart.ts index 7826f9b2d..e4af878de 100644 --- a/framework/commerce/types/cart.ts +++ b/framework/commerce/types/cart.ts @@ -165,15 +165,13 @@ export type AddItemHandler = AddItemHook & { body: { cartId: string } } -export type UpdateItemHandler< - T extends CartTypes = CartTypes -> = UpdateItemHook & { - data: T['cart'] - body: { cartId: string } -} +export type UpdateItemHandler = + UpdateItemHook & { + data: T['cart'] + body: { cartId: string } + } -export type RemoveItemHandler< - T extends CartTypes = CartTypes -> = RemoveItemHook & { - body: { cartId: string } -} +export type RemoveItemHandler = + RemoveItemHook & { + body: { cartId: string } + } diff --git a/framework/local/auth/use-login.tsx b/framework/local/auth/use-login.tsx index 383911a7a..28351dc7f 100644 --- a/framework/local/auth/use-login.tsx +++ b/framework/local/auth/use-login.tsx @@ -1,15 +1,16 @@ -import { useCallback } from 'react' +import { MutationHook } from '@commerce/utils/types' +import useLogin, { UseLogin } from '@commerce/auth/use-login' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } +export default useLogin as UseLogin - return useEmptyHook +export const handler: MutationHook = { + fetchOptions: { + query: '', + }, + async fetcher() { + return null + }, + useHook: () => () => { + return async function () {} + }, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/auth/use-logout.tsx b/framework/local/auth/use-logout.tsx index 383911a7a..9b3fc3e44 100644 --- a/framework/local/auth/use-logout.tsx +++ b/framework/local/auth/use-logout.tsx @@ -1,15 +1,17 @@ -import { useCallback } from 'react' +import { MutationHook } from '@commerce/utils/types' +import useLogout, { UseLogout } from '@commerce/auth/use-logout' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } +export default useLogout as UseLogout - return useEmptyHook +export const handler: MutationHook = { + fetchOptions: { + query: '', + }, + async fetcher() { + return null + }, + useHook: + ({ fetch }) => + () => + async () => {}, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/auth/use-signup.tsx b/framework/local/auth/use-signup.tsx index 383911a7a..e9ad13458 100644 --- a/framework/local/auth/use-signup.tsx +++ b/framework/local/auth/use-signup.tsx @@ -1,15 +1,19 @@ import { useCallback } from 'react' +import useCustomer from '../customer/use-customer' +import { MutationHook } from '@commerce/utils/types' +import useSignup, { UseSignup } from '@commerce/auth/use-signup' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } +export default useSignup as UseSignup - return useEmptyHook +export const handler: MutationHook = { + fetchOptions: { + query: '', + }, + async fetcher() { + return null + }, + useHook: + ({ fetch }) => + () => + () => {}, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/cart/use-add-item.tsx b/framework/local/cart/use-add-item.tsx index 383911a7a..7f3d1061f 100644 --- a/framework/local/cart/use-add-item.tsx +++ b/framework/local/cart/use-add-item.tsx @@ -1,15 +1,17 @@ -import { useCallback } from 'react' +import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item' +import { MutationHook } from '@commerce/utils/types' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } - - return useEmptyHook +export default useAddItem as UseAddItem +export const handler: MutationHook = { + fetchOptions: { + query: '', + }, + async fetcher({ input, options, fetch }) {}, + useHook: + ({ fetch }) => + () => { + return async function addItem() { + return {} + } + }, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/cart/use-cart.tsx b/framework/local/cart/use-cart.tsx index 383911a7a..b3e509a21 100644 --- a/framework/local/cart/use-cart.tsx +++ b/framework/local/cart/use-cart.tsx @@ -1,15 +1,42 @@ -import { useCallback } from 'react' +import { useMemo } from 'react' +import { SWRHook } from '@commerce/utils/types' +import useCart, { UseCart } from '@commerce/cart/use-cart' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } +export default useCart as UseCart - return useEmptyHook +export const handler: SWRHook = { + 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, + }, + } + ), + [] + ) + }, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/cart/use-remove-item.tsx b/framework/local/cart/use-remove-item.tsx index 383911a7a..b4ed583b8 100644 --- a/framework/local/cart/use-remove-item.tsx +++ b/framework/local/cart/use-remove-item.tsx @@ -1,15 +1,18 @@ -import { useCallback } from 'react' +import { MutationHook } from '@commerce/utils/types' +import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } +export default useRemoveItem as UseRemoveItem - return useEmptyHook +export const handler: MutationHook = { + fetchOptions: { + query: '', + }, + async fetcher({ input, options, fetch }) {}, + useHook: + ({ fetch }) => + () => { + return async function removeItem(input) { + return {} + } + }, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/cart/use-update-item.tsx b/framework/local/cart/use-update-item.tsx index 383911a7a..06d703f70 100644 --- a/framework/local/cart/use-update-item.tsx +++ b/framework/local/cart/use-update-item.tsx @@ -1,15 +1,18 @@ -import { useCallback } from 'react' +import { MutationHook } from '@commerce/utils/types' +import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } +export default useUpdateItem as UseUpdateItem - return useEmptyHook +export const handler: MutationHook = { + fetchOptions: { + query: '', + }, + async fetcher({ input, options, fetch }) {}, + useHook: + ({ fetch }) => + () => { + return async function addItem() { + return {} + } + }, } - -export const handler = {} - -export default emptyHook diff --git a/framework/local/customer/use-customer.tsx b/framework/local/customer/use-customer.tsx index f467213e4..41757cd0d 100644 --- a/framework/local/customer/use-customer.tsx +++ b/framework/local/customer/use-customer.tsx @@ -1,14 +1,15 @@ -import { useCallback } from 'react' +import { SWRHook } from '@commerce/utils/types' +import useCustomer, { UseCustomer } from '@commerce/customer/use-customer' -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } - - return useEmptyHook +export default useCustomer as UseCustomer +export const handler: SWRHook = { + fetchOptions: { + query: '', + }, + async fetcher({ input, options, fetch }) {}, + useHook: () => () => { + return async function addItem() { + return {} + } + }, } -export const handler = {} - -export default emptyHook diff --git a/framework/local/product/use-search.tsx b/framework/local/product/use-search.tsx index 383911a7a..058b614da 100644 --- a/framework/local/product/use-search.tsx +++ b/framework/local/product/use-search.tsx @@ -1,15 +1,13 @@ -import { useCallback } from 'react' +import { SWRHook } from '@commerce/utils/types' +import useSearch, { UseSearch } from '@commerce/product/use-search' +export default useSearch as UseSearch -export function emptyHook() { - const useEmptyHook = async (options = {}) => { - return useCallback(async function () { - return Promise.resolve() - }, []) - } - - return useEmptyHook +export const handler: SWRHook = { + fetchOptions: { + query: '', + }, + async fetcher({ input, options, fetch }) {}, + useHook: () => () => { + return {} + }, } - -export const handler = {} - -export default emptyHook diff --git a/framework/vendure/auth/use-logout.tsx b/framework/vendure/auth/use-logout.tsx index 29bf5cb0d..be1b18586 100644 --- a/framework/vendure/auth/use-logout.tsx +++ b/framework/vendure/auth/use-logout.tsx @@ -18,16 +18,18 @@ export const handler: MutationHook = { }) return null }, - useHook: ({ fetch }) => () => { - const { mutate } = useCustomer() + useHook: + ({ fetch }) => + () => { + const { mutate } = useCustomer() - return useCallback( - async function logout() { - const data = await fetch() - await mutate(null, false) - return data - }, - [fetch, mutate] - ) - }, + return useCallback( + async function logout() { + const data = await fetch() + await mutate(null, false) + return data + }, + [fetch, mutate] + ) + }, }