benfluleck/HelloBooks

View on GitHub
client/src/app/utils/localSave.js

Summary

Maintainability
A
0 mins
Test Coverage
/**
 * saves application state to disk
 *
 * @param  {Object} state application state
 *
 * @return {object} writes to disk
 */
export const saveState = (state) => {
  const serializedState = JSON.stringify(state);
  localStorage.setItem('http://hellobooks:state', serializedState);
};

const initializeState = {
  notifierReducer: {},
  categoryReducer: {},
  userReducer: {},
};
/**
 * loads state from disk
 *
 * @return {Object} State Object
 */
export const loadState = () => {
  try {
    const serializedState = localStorage.getItem('http://hellobooks:state');
    if (serializedState === null) {
      return initializeState;
    }

    return JSON.parse(serializedState);
  } catch (err) {
    return initializeState;
  }
};