Files
commerce/framework/commerce/subscriptions/use-subscribe.tsx
2021-10-09 11:40:39 +02:00

22 lines
701 B
TypeScript

import { useHook, useMutationHook } from '../utils/use-hook'
import { mutationFetcher } from '../utils/default-fetcher'
import type { MutationHook, HookFetcherFn } from '../utils/types'
import type { SubscriptionsHook } from '../types/subscriptions'
import type { Provider } from '..'
export type UseSubscribe<
H extends MutationHook<any> = MutationHook<any>
> = ReturnType<H['useHook']>
export const fetcher: HookFetcherFn<any> = mutationFetcher
const fn = (provider: Provider) => provider.subscriptions?.useSubscriptions!
const useSubscribe: any = (...args: any) => {
const hook = useHook(fn)
return useMutationHook({ fetcher, ...hook })(...args)
}
export default useSubscribe