mobx-create-stores
Version:
creates an object with MobX stores (+ links stores to routes)
53 lines (34 loc) • 1.34 kB
JavaScript
;
exports.__esModule = true;
var _createRouterStore2 = require('./createRouterStore');
var _createRouterStore3 = _interopRequireDefault(_createRouterStore2);
var _createStore = require('./createStore');
var _createStore2 = _interopRequireDefault(_createStore);
var _getStoreName = require('./getStoreName');
var _getStoreName2 = _interopRequireDefault(_getStoreName);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function () {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
st = _ref.stores,
_ref$history = _ref.history,
h = _ref$history === undefined ? false : _ref$history;
var routerStore = void 0,
history = void 0;
var stores = {};
if (h) {
var _createRouterStore = (0, _createRouterStore3.default)(h);
history = _createRouterStore.history;
routerStore = _createRouterStore.routerStore;
}
st = st.map(function (Store) {
return (0, _createStore2.default)({ Store: Store, history: history });
});
if (h) st.push(routerStore);
st.forEach(function (s) {
var name = (0, _getStoreName2.default)(s);
stores[name] = s;
if (process.env.NODE_ENV !== 'production') window[name] = s;
});
return stores;
};
module.exports = exports['default'];