UNPKG

@empathyco/x-components

Version:
52 lines (49 loc) 1.67 kB
import { setConfig, mergeConfig } from '../../../store/utils/config-store.utils.js'; import { setStatus } from '../../../store/utils/status-store.utils.js'; import { cancelFetchAndSaveRecommendations, fetchAndSaveRecommendations } from './actions/fetch-and-save-recommendations.action.js'; import { fetchRecommendations } from './actions/fetch-recommendations.action.js'; import { RECOMMENDATIONS_ORIGIN } from './constants.js'; import { request } from './getters/request.getter.js'; /** * {@link XStoreModule} For the recommendations module. * * @internal */ const recommendationsXStoreModule = { state: () => ({ config: { maxItemsToRequest: 24, }, origin: RECOMMENDATIONS_ORIGIN, status: 'initial', recommendations: [], params: {}, }), getters: { request, }, mutations: { setRecommendations(state, recommendations) { state.recommendations = recommendations; }, setStatus, setParams(state, params) { state.params = params; }, updateRecommendation(state, recommendation) { const stateRecommendation = state.recommendations.find(stateRecommendation => recommendation.id === stateRecommendation.id); if (stateRecommendation) { Object.assign(stateRecommendation, recommendation); } }, setConfig, mergeConfig, }, actions: { cancelFetchAndSaveRecommendations, fetchRecommendations, fetchAndSaveRecommendations, }, }; export { recommendationsXStoreModule }; //# sourceMappingURL=module.js.map