reducer.ts
1 import * as types from './types'; 2 3 export const INITIAL_STATE: types.MessageState = { 4 signed: null 5 }; 6 7 function signLocalMessageSucceeded( 8 state: types.MessageState, 9 action: types.SignLocalMessageSucceededAction 10 ): types.MessageState { 11 return { 12 ...state, 13 signed: action.payload 14 }; 15 } 16 17 function signMessageFailed(state: types.MessageState): types.MessageState { 18 return { 19 ...state, 20 signed: null 21 }; 22 } 23 24 function resetMessage(): types.MessageState { 25 return { 26 ...INITIAL_STATE 27 }; 28 } 29 30 export function messageReducer( 31 state: types.MessageState = INITIAL_STATE, 32 action: types.MessageAction 33 ): types.MessageState { 34 switch (action.type) { 35 case types.MessageActions.SIGN_LOCAL_SUCCEEDED: 36 return signLocalMessageSucceeded(state, action); 37 case types.MessageActions.SIGN_FAILED: 38 return signMessageFailed(state); 39 case types.MessageActions.RESET: 40 return resetMessage(); 41 default: 42 return state; 43 } 44 }