All files / src/enhancers monitorReducer.js

0% Statements 0/13
0% Branches 0/2
0% Functions 0/4
0% Lines 0/11

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                                         
const round = (number) => Math.round(number * 100) / 100
 
const monitorReducerEnhancer = (createStore) => (reducer, initialState, enhancer) => {
  const monitoredReducer = (state, action) => {
    const start = performance.now()
    const newState = reducer(state, action)
    const end = performance.now()
    const diff = round(end - start)
 
    if (process.env.NODE_ENV === 'development') {
      console.log('reducer process time:', diff)
    }
 
    return newState
  }
 
  return createStore(monitoredReducer, initialState, enhancer)
}
 
export default monitorReducerEnhancer