All files / primitive/injector/src index.js

100% Statements 5/5
100% Branches 2/2
100% Functions 2/2
100% Lines 4/4

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 20 21 22 23        8x 9x     1x   1x                        
import PropTypes from 'prop-types'
 
import {combineClassNames, combineHandler, combineHandlers, combineProps, combineStyles, inject} from './settings.js'
 
const PrimitiveInjector = ({children, combine = combineProps, proviso = () => true, ...props}) => {
  return inject(children, [{combine, proviso, props}])
}
 
PrimitiveInjector.displayName = 'PrimitiveInjector'
 
PrimitiveInjector.propTypes = {
  /** inner virtual-dom elements **/
  children: PropTypes.node,
  /** function used to combine each children props with the injected given **/
  combine: PropTypes.func,
  /** function used to filter the desired injected children elements **/
  proviso: PropTypes.func
}
 
export default PrimitiveInjector
 
export {inject, combineHandler, combineHandlers, combineStyles, combineClassNames, combineProps}