* Inject model after app is started. * * @param createReducer * @param onError * @param unlisteners * @param m
(createReducer, onError, unlisteners, m)
| 70 | * @param m |
| 71 | */ |
| 72 | function injectModel(createReducer, onError, unlisteners, m) { |
| 73 | m = model(m); |
| 74 | |
| 75 | const store = app._store; |
| 76 | store.asyncReducers[m.namespace] = getReducer( |
| 77 | m.reducers, |
| 78 | m.state, |
| 79 | plugin._handleActions |
| 80 | ); |
| 81 | store.replaceReducer(createReducer()); |
| 82 | if (m.effects) { |
| 83 | store.runSaga( |
| 84 | app._getSaga(m.effects, m, onError, plugin.get('onEffect')) |
| 85 | ); |
| 86 | } |
| 87 | if (m.subscriptions) { |
| 88 | unlisteners[m.namespace] = runSubscription( |
| 89 | m.subscriptions, |
| 90 | m, |
| 91 | app, |
| 92 | onError |
| 93 | ); |
| 94 | } |
| 95 | } |
| 96 | |
| 97 | /** |
| 98 | * Unregister model. |
nothing calls this directly
no test coverage detected