import { createContext, FC, useContext, useMemo } from 'react' import getMeta from '../../utils/meta' type SplitTestVariants = Record type SplitTestInfo = Record export const SplitTestContext = createContext< | { splitTestVariants: SplitTestVariants splitTestInfo: SplitTestInfo } | undefined >(undefined) export const SplitTestProvider: FC = ({ children }) => { const value = useMemo( () => ({ splitTestVariants: getMeta('ol-splitTestVariants') || {}, splitTestInfo: getMeta('ol-splitTestInfo') || {}, }), [] ) return ( {children} ) } export function useSplitTestContext() { const context = useContext(SplitTestContext) if (!context) { throw new Error( 'useSplitTestContext is only available within SplitTestProvider' ) } return context }