All files / core UnbxdStore.js

6.25% Statements 1/16
100% Branches 0/0
0% Functions 0/7
7.69% Lines 1/13

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 252x                                                
const UnbxdStore = (reducer, initialState) => {
  const currentReducer = reducer;
  let state = initialState;
  const listeners = [];
  const getState = () => state;
 
  const dispatch = (action) => {
    state = currentReducer(state, action);
    listeners.forEach(listener => listener());
  };
  const subscribe = (newListener) => {
    listeners.push(newListener);
    return () => {
      listeners.filter(l => l !== newListener);
    };
  };
  return {
    getState,
    dispatch,
    subscribe,
  };
};
 
export default UnbxdStore;