import { compose, createStore as _createStore, applyMiddleware, combineReducers } from 'redux';
import { createLogger } from 'redux-logger';
import { combineEpics, createEpicMiddleware } from 'redux-observable';
import * as file from './file';
import * as asset from './asset';
export var reducers = {
  file: file.default,
  asset: asset.default
};
export var actionCreators = {
  file: file.actions,
  asset: asset.actions
};
export var rootEpic = combineEpics(file.epics, asset.epics);
var ignoreLogger = [];
export var loggerMiddleware = createLogger({
  predicate: function predicate(getState, action) {
    return !ignoreLogger.some(function (ac) {
      return ac.match(action);
    });
  }
});
export var epicMiddleware = createEpicMiddleware();
export function createStore() {
  var composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;

  var store = _createStore(combineReducers(reducers), composeEnhancers(applyMiddleware(epicMiddleware, loggerMiddleware)));

  epicMiddleware.run(rootEpic);
  return store;
}