All files reducer.js

100% Statements 9/9
100% Branches 4/4
100% Functions 3/3
100% Lines 9/9

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 35 36 37 38 39 40 41 42 43 44 45      1x         1x           3x   1x         1x         1x       1x     1x           1x          
import keyWrapper from '@bufferapp/keywrapper';
import defaultTranslations from './translations/en-us.json';
 
export const actionTypes = keyWrapper('I18N', {
  SET_LOCALE: 0,
  SET_TRANSLATIONS: 0,
});
 
const initialState = {
  locale: 'en-US',
  translations: defaultTranslations,
};
 
export default (state = initialState, action) => {
  switch (action.type) {
    case actionTypes.SET_LOCALE:
      return {
        ...state,
        locale: action.locale,
      };
    case actionTypes.SET_TRANSLATIONS:
      return {
        ...state,
        translations: action.translations,
      };
    default:
      return state;
  }
};
 
export const actions = {
  setLocale: ({
    locale,
  }) => ({
    type: actionTypes.SET_LOCALE,
    locale,
  }),
  setTranslations: ({
    translations,
  }) => ({
    type: actionTypes.SET_TRANSLATIONS,
    translations,
  }),
};