10<\/a><\/strong>
11<\/a>
12<\/a>
13<\/a>
14<\/a>
15<\/a><\/pre><\/td>\n export<\/span> <\/span>function<\/span> <\/span>injectAsyncReducer<\/span>(<\/span>store<\/span>,<\/span> <\/span>isValid<\/span>)<\/span> <\/span>{<\/span>
<\/span>return<\/span> <\/span>function<\/span> <\/span>injectReducer<\/span>(<\/span>name<\/span>,<\/span> <\/span>asyncReducer<\/span>)<\/span> <\/span>{<\/span>
<\/span>if<\/span> <\/span>(!<\/span>isValid<\/span>)<\/span> <\/span>checkStore<\/span>(<\/span>store<\/span>)<\/span>;<\/span>
<\/span>invariant<\/span>(<\/span>
<\/span>isString<\/span>(<\/span>name<\/span>)<\/span> <\/span>&&<\/span> <\/span>!<\/span>isEmpty<\/span>(<\/span>name<\/span>)<\/span> <\/span>&&<\/span> <\/span>isFunction<\/span>(<\/span>asyncReducer<\/span>)<\/span>,<\/span>
<\/span>\'<\/span>(app/utils...) injectAsyncReducer: Expected `asyncReducer` to be a reducer function<\/span>\'<\/span><\/span>
<\/span>)<\/span>;<\/span>
<\/span>if<\/span> <\/span>(<\/span>Reflect<\/span>.<\/span>has<\/span>(<\/span>store<\/span>.<\/span>asyncReducers<\/span>,<\/span> <\/span>name<\/span>))<\/span> <\/span>return<\/span>;<\/span>
<\/span>store<\/span>.<\/span>asyncReducers<\/span>[<\/span>name<\/span>]<\/span> <\/span>=<\/span> <\/span>asyncReducer<\/span>;<\/span> <\/span> |