UNPKG

eunomia-controller

Version:

39 lines (28 loc) 1.2 kB
'use strict'; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _redux = require('redux'); var _reduxThunk = require('redux-thunk'); var _reduxThunk2 = _interopRequireDefault(_reduxThunk); var _reduxLogger = require('redux-logger'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Redux store logger var logger = (0, _reduxLogger.createLogger)(); // Allow the initial state to only be set once var setInitialStateOnce = false; module.exports = function (initialState) { return (0, _redux.createStore)(function (state, action) { // Set the initial state once if (!setInitialStateOnce) { setInitialStateOnce = true; state = initialState; } // Reducers var newState = action.state; switch (action.type) { case 'UPDATE_STATE': return _extends({}, state, newState); default: return state; } }, {}, (0, _redux.applyMiddleware)(_reduxThunk2.default, logger)); };