mirror of
https://github.com/vercel/commerce.git
synced 2025-07-23 04:36:49 +00:00
22 lines
701 B
TypeScript
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
|
|
|