@@ -36,9 +36,9 @@ export default function ngReduxProvider() {
3636
3737 _reducer = reducer ;
3838 _reducerIsObject = isObject ( reducer ) ;
39- _storeEnhancers = storeEnhancers
39+ _storeEnhancers = storeEnhancers || [ ] ;
4040 _middlewares = middlewares || [ ] ;
41- _initialState = initialState ;
41+ _initialState = initialState || { } ;
4242 } ;
4343
4444 this . $get = ( $injector ) => {
@@ -54,7 +54,7 @@ export default function ngReduxProvider() {
5454
5555 const resolvedStoreEnhancer = map ( _storeEnhancers , resolveStoreEnhancer ) ;
5656
57- if ( _reducerIsObject ) {
57+ if ( _reducerIsObject ) {
5858 const getReducerKey = key => isString ( _reducer [ key ] )
5959 ? $injector . get ( _reducer [ key ] )
6060 : _reducer [ key ] ;
@@ -70,14 +70,14 @@ export default function ngReduxProvider() {
7070 _reducer = combineReducers ( reducersObj ) ;
7171 }
7272
73- const finalCreateStore = resolvedStoreEnhancer ? compose ( ...resolvedStoreEnhancer ) ( createStore ) : createStore ;
74-
75- //digestMiddleware needs to be the last one.
73+ // digestMiddleware needs to be the last one.
7674 resolvedMiddleware . push ( digestMiddleware ( $injector . get ( '$rootScope' ) ) ) ;
7775
78- const store = _initialState
79- ? applyMiddleware ( ...resolvedMiddleware ) ( finalCreateStore ) ( _reducer , _initialState )
80- : applyMiddleware ( ...resolvedMiddleware ) ( finalCreateStore ) ( _reducer ) ;
76+ // combine middleware into a store enhancer.
77+ const middlewares = applyMiddleware ( ...resolvedMiddleware ) ;
78+
79+ // compose enhancers with middleware and create store.
80+ const store = createStore ( _reducer , _initialState , compose ( ...resolvedStoreEnhancer , middlewares ) ) ;
8181
8282 return assign ( { } , store , { connect : Connector ( store ) } ) ;
8383 } ;
0 commit comments