All files / molecule/accordion/src/context useAccordionContext.js

80% Statements 8/10
75% Branches 6/8
66.66% Functions 2/3
88.88% Lines 8/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19        1x 67x 67x 67x 58x 5x 53x       67x        
import {useContext, useLayoutEffect} from 'react'
 
import AccordionContext from './AccordionContext.js'
 
export const useAccordionContext = ({isExpanded, value}) => {
  const context = useContext(AccordionContext)
  const {setValues, values} = context
  useLayoutEffect(() => {
    if (isExpanded === true && !values.includes(value)) {
      setValues([...values, value])
    } else Iif (isExpanded === false && values.includes(value)) {
      setValues(values.filter(val => val !== value))
    }
  }, [isExpanded, value, setValues, values])
  return context
}
 
export default useAccordionContext