import { useHook, useSWRHook } from '../utils/use-hook' import { SWRFetcher } from '../utils/default-fetcher' import type { HookFetcherFn, SWRHook } from '../utils/types' import type { SearchProductsHook } from '../types/product' import type { Provider } from '..' export type UseSearch< H extends SWRHook> = SWRHook > = ReturnType export const fetcher: HookFetcherFn = SWRFetcher const fn = (provider: Provider) => provider.products?.useSearch! const useSearch: UseSearch = (input) => { const hook = useHook(fn) return useSWRHook({ fetcher, ...hook })(input) } export default useSearch