UNPKG

@woocommerce/data

Version:
52 lines (51 loc) 1.82 kB
import { TYPES } from './action-types'; import { getRequestIdentifier } from '../crud/utils'; import CRUD_ACTIONS from './crud-actions'; const reducer = (state = { items: {}, data: {}, itemsCount: {}, errors: {}, requesting: {}, }, payload) => { if (payload && 'type' in payload) { switch (payload.type) { case TYPES.GENERATE_VARIATIONS_REQUEST: return { ...state, requesting: { ...state.requesting, [getRequestIdentifier(CRUD_ACTIONS.GENERATE_VARIATIONS, payload.key)]: true, }, }; case TYPES.GENERATE_VARIATIONS_SUCCESS: return { ...state, requesting: { ...state.requesting, [getRequestIdentifier(CRUD_ACTIONS.GENERATE_VARIATIONS, payload.key)]: false, }, errors: { ...state.errors, [getRequestIdentifier(CRUD_ACTIONS.GENERATE_VARIATIONS, payload.key)]: undefined, }, }; case TYPES.GENERATE_VARIATIONS_ERROR: return { ...state, errors: { ...state.errors, [getRequestIdentifier(payload.errorType, payload.key)]: payload.error, }, requesting: { ...state.requesting, [getRequestIdentifier(CRUD_ACTIONS.GENERATE_VARIATIONS, payload.key)]: false, }, }; default: return state; } } return state; }; export { reducer };