File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/admin/assets/src/data/base/reducer.js
/**
 * Internal dependencies
 */
import TYPES from './action-types';
export const baseInitialState = {
	requesting: {},
	errors: {},
};
export const baseReducer = (
	state,
	{ type, selector, isRequesting, error }
) => {
	switch ( type ) {
		case TYPES.SET_IS_REQUESTING:
			state = {
				...state,
				requesting: {
					...state.requesting,
					[ selector ]: isRequesting,
				},
				// Clear errors for the selector when new request starts
				errors: {
					...state.errors,
					[ selector ]: null,
				},
			};
			break;
		case TYPES.SET_ERROR:
			state = {
				...state,
				requesting: {
					...state.requesting,
					[ selector ]: false,
				},
				errors: {
					...state.errors,
					[ selector ]: error,
				},
			};
			break;
	}
	return state;
};