import * as types from '../types' const initialState = () => ({ query: {}, task: {}, result: {}, loading: false, startTime: 0, timing: 0, }) export default function faceAnalysisReducer(state = initialState(), action) { const { startTime } = state switch (action.type) { case types.faceAnalysis.loading: return { ...state, startTime: action.ts, timing: 0, [action.tag]: { loading: true }, } case types.faceAnalysis.loaded: return { ...state, timing: action.ts - startTime, [action.tag]: action.data, } case types.faceAnalysis.poll: return { ...state, timing: action.ts - startTime, result: action.data, } case types.faceAnalysis.error: console.log('error', action) return { ...state, timing: action.ts - startTime, [action.tag]: { error: action.err }, } default: return state } }