Skip to content

Commit b94282b

Browse files
feat(lib): added initial populate dispatch
and middleware/enhancer support to provided mode
1 parent 8128828 commit b94282b

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/components/ngRedux.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@ export default function ngReduxProvider() {
2424
let _reducerIsObject = undefined;
2525
let _providedStore = undefined;
2626

27-
this.provideStore = (store) => {
27+
this.provideStore = (store, middlewares = [], storeEnhancers) => {
2828
_providedStore = store;
2929
_reducer = (state, action) => action.payload;
30-
_middlewares = [providedStoreMiddleware(_providedStore)];
30+
_storeEnhancers = storeEnhancers;
31+
_middlewares = [...middlewares, providedStoreMiddleware(store)];
3132
}
3233

3334
this.createStoreWith = (reducer, middlewares, storeEnhancers, initialState) => {
@@ -45,7 +46,7 @@ export default function ngReduxProvider() {
4546

4647
_reducer = reducer;
4748
_reducerIsObject = isObject(reducer);
48-
_storeEnhancers = storeEnhancers
49+
_storeEnhancers = storeEnhancers;
4950
_middlewares = middlewares || [];
5051
_initialState = initialState;
5152
};
@@ -90,7 +91,7 @@ export default function ngReduxProvider() {
9091

9192
const mergedStore = assign({}, store, { connect: Connector(store) });
9293

93-
if (_providedStore) wrapStore(_providedStore, mergedStore)
94+
if (_providedStore) wrapStore(_providedStore, mergedStore);
9495

9596
return mergedStore;
9697
};

src/components/storeWrapper.js

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
export default function wrapStore(providedStore, ngReduxStore) {
2-
const unsubscribe = providedStore
3-
.subscribe(() => {
4-
let newState = providedStore.getState();
5-
ngReduxStore.dispatch({
6-
type: '@@NGREDUX_PASSTHROUGH',
7-
payload: newState
8-
});
9-
})
10-
;
2+
providedStore.subscribe(() => {
3+
let newState = providedStore.getState();
4+
ngReduxStore.dispatch({
5+
type: '@@NGREDUX_PASSTHROUGH',
6+
payload: newState
7+
});
8+
});
9+
providedStore.dispatch({ type: '@@NGREDUX_PASSTHROUGH_INIT' })
1110
}

0 commit comments

Comments
 (0)