// update.js // Pure update function /** * @param {object} state - Current state * @param {object} action - { type, payload } * @returns {object} new state */ export function update(state, action) { switch (action.type) { case 'UPDATE_QUERY': return { ...state, query: action.payload, error: null }; case 'FETCH_START': return { ...state, loading: true, error: null, pokemon: null }; case 'FETCH_SUCCESS': return { ...state, loading: false, error: null, pokemon: action.payload }; case 'FETCH_ERROR': return { ...state, loading: false, error: action.payload, pokemon: null }; default: return state; } }