joeyfigaro
6/16/2017 - 1:56 PM

JS Bin // source https://jsbin.com/vikisit

JS Bin

// source https://jsbin.com/vikisit

'use strict';

Object.defineProperty(exports, '__esModule', {
	value: true
});

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }

var _redux = require('redux');

var _ramda = require('ramda');

var _enhancers = require('./enhancers');

var _enhancers2 = _interopRequireDefault(_enhancers);

var _reducers = require('../reducers');

var _reducers2 = _interopRequireDefault(_reducers);

function configureStore(initialState) {
	var store = (0, _redux.createStore)(_reducers2['default'], initialState, _enhancers2['default']);
	var addStoreToObj = function addStoreToObj(obj) {
		return obj.store = store;
	};
	var addStateToObj = function addStateToObj(obj) {
		return obj.state = store.getState();
	};

	// compose our window utilities from above
	var attachHelpersToWindow = (0, _ramda.compose)(addStoreToObj, addStateToObj)(window);

	// attach state and our store to window in development
	(0, _ramda.when)((0, _ramda.equals)(__DEVELOPMENT__, true), attachHelpersToWindow);

	return store;
}

exports['default'] = configureStore;
module.exports = exports['default'];
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>

<script id="jsbin-javascript">
'use strict';

Object.defineProperty(exports, '__esModule', {
	value: true
});

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }

var _redux = require('redux');

var _ramda = require('ramda');

var _enhancers = require('./enhancers');

var _enhancers2 = _interopRequireDefault(_enhancers);

var _reducers = require('../reducers');

var _reducers2 = _interopRequireDefault(_reducers);

function configureStore(initialState) {
	var store = (0, _redux.createStore)(_reducers2['default'], initialState, _enhancers2['default']);
	var addStoreToObj = function addStoreToObj(obj) {
		return obj.store = store;
	};
	var addStateToObj = function addStateToObj(obj) {
		return obj.state = store.getState();
	};

	// compose our window utilities from above
	var attachHelpersToWindow = (0, _ramda.compose)(addStoreToObj, addStateToObj)(window);

	// attach state and our store to window in development
	(0, _ramda.when)((0, _ramda.equals)(__DEVELOPMENT__, true), attachHelpersToWindow);

	return store;
}

exports['default'] = configureStore;
module.exports = exports['default'];
</script>



<script id="jsbin-source-javascript" type="text/javascript">import { createStore } from 'redux';
import { compose, when, equals } from 'ramda';
import enhancer from './enhancers';
import rootReducer from '../reducers';

function configureStore(initialState) {
	const store = createStore(rootReducer, initialState, enhancer);
	const addStoreToObj = obj => (obj.store = store);
	const addStateToObj = obj => (obj.state = store.getState());

	// compose our window utilities from above
	const attachHelpersToWindow = compose(
		addStoreToObj,
		addStateToObj
	)(window);

	// attach state and our store to window in development
	when(
		equals(__DEVELOPMENT__, true),
		attachHelpersToWindow
	);

	return store;
}

export default configureStore;</script></body>
</html>