All files / lib batchReducer.js

87.5% Statements 7/8
75% Branches 3/4
100% Functions 4/4
87.5% Lines 7/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  1x     1x 1x 1x             2x 8x     2x          
import invariant from 'invariant'
export const BATCH = 'CORE/BATCH'
 
export function batchReducer(reducer) {
  return function(state, action) {
    Eif (action.type === BATCH) {
      return action.payload.reduce(reducer, state)
    }
    return reducer(state, action)
  }
}
 
export function batch(actions) {
  invariant(
    Array.isArray(actions) && actions.every(a => typeof a === 'object'),
    'batch() expects an array of basic Redux actions'
  )
  return {
    type: BATCH,
    payload: actions
  }
}