Skip to content

Commit bec2e64

Browse files
committed
Draft applyInjectableMiddleware
1 parent c3d2674 commit bec2e64

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

src/index.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import Connector from './connector';
2-
import {bind} from 'angular2/di';
2+
import {bind, Injector} from 'angular2/di';
3+
let redux = import('redux');
34

4-
export default function createRedux(store) {
5+
export function createRedux(store) {
56
const _connector = new Connector(store);
67

78
return bind('ngRedux').toFactory(() => {
@@ -10,3 +11,21 @@ export default function createRedux(store) {
1011
}
1112

1213

14+
/*
15+
const createStoreWithMiddleware = applyInjectableMiddleware(thunk, 'promise')(createStore);
16+
*/
17+
18+
export function applyInjectableMiddleware(middlewares) {
19+
const injector = new Injector();
20+
let resolvedMiddlewares = [];
21+
_.forEach(middlewares, middleware => {
22+
_.isString(middleware)
23+
? resolvedMiddlewares.push(Injector.resolve(middleware))
24+
: resolvedMiddlewares.push(middleware)
25+
});
26+
27+
return redux.applyMiddleware(...resolvedMiddlewares);
28+
}
29+
30+
31+

0 commit comments

Comments
 (0)