All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.page_editor.app.reducers.baseReducer.ts Maven / Gradle / Ivy

The newest version!
/**
 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
 */

import loadReducer, {Reducer} from '../actions/loadReducer';
import {LOAD_REDUCER, UNLOAD_REDUCER} from '../actions/types';
import unloadReducer from '../actions/unloadReducer';

export const INITIAL_STATE: Record> = {};

export default function baseReducer(
	reducers = INITIAL_STATE,
	action: ReturnType | ReturnType
) {
	switch (action.type) {
		case LOAD_REDUCER:
			return {...reducers, [action.key]: action.reducer};

		case UNLOAD_REDUCER: {
			const nextReducers = {...reducers};

			delete nextReducers[action.key];

			return nextReducers;
		}

		default:
			return reducers;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy