UNPKG

@warp-works/warpjs-utils

Version:

Utility functions for WarpJS and plugins

44 lines (29 loc) 1.6 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _clone = require('lodash/clone'); var _clone2 = _interopRequireDefault(_clone); var _redux = require('redux'); var _reduxLogger = require('redux-logger'); var _constants = require('./constants'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } // import debug from 'debug'; // const log = debug('W2:utils:react-utils/create-store'); exports.default = function (reducers) { var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var middlewares = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; var inDevelopment = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var clonedMiddlewares = (0, _clone2.default)(middlewares); var composeEnhanders = _redux.compose; if (inDevelopment) { clonedMiddlewares.push((0, _reduxLogger.createLogger)()); if (window && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) { composeEnhanders = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; } } var store = (0, _redux.createStore)(reducers, initialState, composeEnhanders(_redux.applyMiddleware.apply(undefined, _toConsumableArray(clonedMiddlewares)))); store.dispatch({ type: _constants.INIT_TYPE }); return store; };