mobx-create-stores
Version:
creates an object with MobX stores (+ links stores to routes)
44 lines (30 loc) • 1.21 kB
JavaScript
;
exports.__esModule = true;
var _linkHandlers = require('./lib/linkHandlers');
var _linkHandlers2 = _interopRequireDefault(_linkHandlers);
var _createStoresObj = require('./lib/createStoresObj');
var _createStoresObj2 = _interopRequireDefault(_createStoresObj);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function () {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$stores = _ref.stores,
stores = _ref$stores === undefined ? [] : _ref$stores,
h = _ref.history,
_ref$routes = _ref.routes,
routes = _ref$routes === undefined ? [] : _ref$routes;
var history = void 0;
stores = (0, _createStoresObj2.default)({
history: h,
stores: stores
});
if (stores.routerStore && routes.length > 0) {
history = stores.routerStore.history;
history.subscribe(function (location) {
routes.forEach(function (r) {
return (0, _linkHandlers2.default)(Object.assign({}, r, { stores: stores, location: location }));
});
});
}
return { history: history, stores: stores };
};
module.exports = exports['default'];