All files / src plug.js

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

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 24 25 26 27 28 29 30 31 32 33 34                                                  1x   1x 5x 4x 4x      
 
// const identity = _ => _
//
// export const plug = signal => {
//   let internalState = {}
//   signal.observe(state => {
//     internalState = state
//   })
//   return function connect (selector, fn) {
//     if (fn && !selector) {
//       throw new Error('No state selector for connected function')
//     }
//
//     // selector is optional, if it is omitted then assume the first
//     // argument is the connected function
//     const select = fn ? selector : identity
//     const func = fn || selector
//
//     return _ => {
//       let state = select(internalState)
//       return func(state, _)
//     }
//   }
// }
 
import { createAdaptor } from './createAdaptor'
 
export const plug = createAdaptor((select, getState, func) => {
  return props => {
    let state = select(getState())
    return func(state, props)
  }
})