'use client' import type { useMitt } from '@/hooks/use-mitt' import { noop } from 'es-toolkit/function' import { createContext, useContext, useContextSelector } from 'use-context-selector' type ContextValueType = ReturnType export const MittContext = createContext({ emit: noop, useSubscribe: noop, }) export const useMittContext = () => { return useContext(MittContext) } export function useMittContextSelector(selector: (value: ContextValueType) => T): T { return useContextSelector(MittContext, selector) }