@@ -36,9 +36,9 @@ export default function ngReduxProvider() {
36
36
37
37
_reducer = reducer ;
38
38
_reducerIsObject = isObject ( reducer ) ;
39
- _storeEnhancers = storeEnhancers
39
+ _storeEnhancers = storeEnhancers || [ ] ;
40
40
_middlewares = middlewares || [ ] ;
41
- _initialState = initialState ;
41
+ _initialState = initialState || { } ;
42
42
} ;
43
43
44
44
this . $get = ( $injector ) => {
@@ -54,7 +54,7 @@ export default function ngReduxProvider() {
54
54
55
55
const resolvedStoreEnhancer = map ( _storeEnhancers , resolveStoreEnhancer ) ;
56
56
57
- if ( _reducerIsObject ) {
57
+ if ( _reducerIsObject ) {
58
58
const getReducerKey = key => isString ( _reducer [ key ] )
59
59
? $injector . get ( _reducer [ key ] )
60
60
: _reducer [ key ] ;
@@ -70,14 +70,14 @@ export default function ngReduxProvider() {
70
70
_reducer = combineReducers ( reducersObj ) ;
71
71
}
72
72
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.
76
74
resolvedMiddleware . push ( digestMiddleware ( $injector . get ( '$rootScope' ) ) ) ;
77
75
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 ) ) ;
81
81
82
82
return assign ( { } , store , { connect : Connector ( store ) } ) ;
83
83
} ;
0 commit comments