import { isObject, isUnDef } from '@/utils/is' export default { namespace: 'refresh', state: { contactList: false, client: false, company: false, software: false, department: false, staffList: false, business: false, cloud: false, personal: false }, effects: { *commitAction({ payload }, { put }) { yield put({ type: 'changState', payload }) } }, reducers: { changState(state, action) { if (isObject(action.payload)) { const { main, target } = action.payload return { ...state, [main]: !state[main], [target]: !state[target] } } if (isUnDef(state[action.payload])) { return { ...state, [action.payload]: false } } return { ...state, [action.payload]: !state[action.payload] } } } }