Sha256: 242dec4711c3883d4ab9941c4bbd875aae017db29ebbbfe92a28598fb6c73082
Contents?: true
Size: 1.26 KB
Versions: 66
Compression:
Stored size: 1.26 KB
Contents
import Immutable from 'seamless-immutable'; import { SUBSCRIPTION_DETAILS_REQUEST, SUBSCRIPTION_DETAILS_SUCCESS, SUBSCRIPTION_DETAILS_FAILURE, } from './SubscriptionDetailConstants'; import { PRODUCTS_REQUEST, PRODUCTS_SUCCESS, PRODUCTS_FAILURE, } from '../../Products/ProductConstants'; const initialState = Immutable({ loading: false, productContent: { results: [], total: 0, }, }); export default (state = initialState, action) => { switch (action.type) { case SUBSCRIPTION_DETAILS_REQUEST: { return state.set('loading', true); } case PRODUCTS_REQUEST: { return state.set('loading', true); } case SUBSCRIPTION_DETAILS_SUCCESS: { const subscriptionDetails = action.response; return state.merge({ ...subscriptionDetails, loading: false, }); } case PRODUCTS_SUCCESS: { const productContent = { productContent: action.response }; return state.merge({ ...productContent, loading: false, }); } case SUBSCRIPTION_DETAILS_FAILURE: { return state.merge({ error: action.payload.message, loading: false, }); } case PRODUCTS_FAILURE: { return state.merge({ error: action.payload.message, loading: false, }); } default: return state; } };
Version data entries
66 entries across 66 versions & 1 rubygems