import { useContext , useMemo } from 'react' ; import { useDerivedValue } from 'react-native-reanimated' ; import { getYForX , parse } from 'react-native-redash' ; import { LineChartContext } from './Context' ; import { LineChartDimensionsContext } from './Chart' ; export function useCurrentY ( ) { const { path , width } = useContext ( LineChartDimensionsContext ) ; const { currentX } = useContext ( LineChartContext ) ; const parsedPath = useMemo ( ( ) => ( path ? parse ( path ) : undefined ) , [ path ] ) ; const currentY = useDerivedValue ( ( ) => { if ( ! parsedPath ) { return - 1 ; } const boundedX = Math . min ( width , currentX . value ) ; return getYForX ( parsedPath , boundedX ) || 0 ; } ) ; return currentY ; }