importinvariantfrom'invariant';import{isEmpty,isFunction,isString}from'lodash';importcreateReducerfrom'../reducers';importcheckStorefrom'./checkStore';exportfunctioninjectReducerFactory(store,isValid){returnfunctioninjectReducer(key,reducer){if(!isValid)checkStore(store);invariant(isString(key)&&!isEmpty(key)&&isFunction(reducer),'(src/utils...) injectReducer: Expected `reducer` to be a reducer function',);if(Reflect.has(store.injectedReducers,key)&&store.injectedReducers[key]===reducer)return;store.injectedReducers[key]=reducer;// eslint-disable-line no-param-reassignstore.replaceReducer(createReducer(store.injectedReducers));};}exportdefaultfunctiongetInjectors(store){checkStore(store);return{injectReducer:injectReducerFactory(store,true),};}