patternplate-client
Version:
Universal javascript client application for patternplate
59 lines (42 loc) • 4.02 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
exports.default = function (location, data) {
var memoryHistory = (0, _reactRouter.createMemoryHistory)(location);
var store = (0, _store2.default)(memoryHistory, data);
var history = (0, _reactRouterRedux.syncHistoryWithStore)(memoryHistory, store);
return new _promise2.default(function (resolve, reject) {
(0, _reactRouter.match)({
history: history,
routes: (0, _routes2.default)(store),
location: location
}, function (error, redirect, props) {
if (error) {
return reject(error);
}
var context = _react2.default.createElement(
_reactRedux.Provider,
{ store: store },
_react2.default.createElement(_reactRouter.RouterContext, props)
);
var result = (0, _server.renderToString)(context);
resolve(result);
});
});
};
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _server = require('react-dom/server');
var _reactRouter = require('@marionebl/react-router');
var _reactRedux = require('react-redux');
var _reactRouterRedux = require('react-router-redux');
var _routes = require('./routes');
var _routes2 = _interopRequireDefault(_routes);
var _store = require('./store');
var _store2 = _interopRequireDefault(_store);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9yZWFjdC1yb3V0ZXMvc2VydmVyLmpzIl0sIm5hbWVzIjpbImxvY2F0aW9uIiwiZGF0YSIsIm1lbW9yeUhpc3RvcnkiLCJzdG9yZSIsImhpc3RvcnkiLCJyZXNvbHZlIiwicmVqZWN0Iiwicm91dGVzIiwiZXJyb3IiLCJyZWRpcmVjdCIsInByb3BzIiwiY29udGV4dCIsInJlc3VsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztrQkFTZSxVQUFVQSxRQUFWLEVBQW9CQyxJQUFwQixFQUEwQjtBQUN4QyxLQUFNQyxnQkFBZ0Isc0NBQW9CRixRQUFwQixDQUF0QjtBQUNBLEtBQU1HLFFBQVEscUJBQWVELGFBQWYsRUFBOEJELElBQTlCLENBQWQ7QUFDQSxLQUFNRyxVQUFVLDRDQUFxQkYsYUFBckIsRUFBb0NDLEtBQXBDLENBQWhCOztBQUVBLFFBQU8sc0JBQVksVUFBQ0UsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3ZDLDBCQUFNO0FBQ0xGLG1CQURLO0FBRUxHLFdBQVEsc0JBQU9KLEtBQVAsQ0FGSDtBQUdMSDtBQUhLLEdBQU4sRUFJRyxVQUFDUSxLQUFELEVBQVFDLFFBQVIsRUFBa0JDLEtBQWxCLEVBQTRCO0FBQzlCLE9BQUlGLEtBQUosRUFBVztBQUNWLFdBQU9GLE9BQU9FLEtBQVAsQ0FBUDtBQUNBO0FBQ0QsT0FBTUcsVUFBVTtBQUFBO0FBQUEsTUFBVSxPQUFPUixLQUFqQjtBQUF3Qiw4REFBbUJPLEtBQW5CO0FBQXhCLElBQWhCO0FBQ0EsT0FBTUUsU0FBUyw0QkFBZUQsT0FBZixDQUFmO0FBQ0FOLFdBQVFPLE1BQVI7QUFDQSxHQVhEO0FBWUEsRUFiTSxDQUFQO0FBY0EsQzs7QUE1QkQ7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7OztBQUNBIiwiZmlsZSI6InNlcnZlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3JlbmRlclRvU3RyaW5nfSBmcm9tICdyZWFjdC1kb20vc2VydmVyJztcbmltcG9ydCB7Y3JlYXRlTWVtb3J5SGlzdG9yeSwgbWF0Y2gsIFJvdXRlckNvbnRleHR9IGZyb20gJ0BtYXJpb25lYmwvcmVhY3Qtcm91dGVyJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7c3luY0hpc3RvcnlXaXRoU3RvcmV9IGZyb20gJ3JlYWN0LXJvdXRlci1yZWR1eCc7XG5cbmltcG9ydCByb3V0ZXMgZnJvbSAnLi9yb3V0ZXMnO1xuaW1wb3J0IGNvbmZpZ3VyZVN0b3JlIGZyb20gJy4vc3RvcmUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAobG9jYXRpb24sIGRhdGEpIHtcblx0Y29uc3QgbWVtb3J5SGlzdG9yeSA9IGNyZWF0ZU1lbW9yeUhpc3RvcnkobG9jYXRpb24pO1xuXHRjb25zdCBzdG9yZSA9IGNvbmZpZ3VyZVN0b3JlKG1lbW9yeUhpc3RvcnksIGRhdGEpO1xuXHRjb25zdCBoaXN0b3J5ID0gc3luY0hpc3RvcnlXaXRoU3RvcmUobWVtb3J5SGlzdG9yeSwgc3RvcmUpO1xuXG5cdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0bWF0Y2goe1xuXHRcdFx0aGlzdG9yeSxcblx0XHRcdHJvdXRlczogcm91dGVzKHN0b3JlKSxcblx0XHRcdGxvY2F0aW9uXG5cdFx0fSwgKGVycm9yLCByZWRpcmVjdCwgcHJvcHMpID0+IHtcblx0XHRcdGlmIChlcnJvcikge1xuXHRcdFx0XHRyZXR1cm4gcmVqZWN0KGVycm9yKTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IGNvbnRleHQgPSA8UHJvdmlkZXIgc3RvcmU9e3N0b3JlfT48Um91dGVyQ29udGV4dCB7Li4ucHJvcHN9Lz48L1Byb3ZpZGVyPjtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IHJlbmRlclRvU3RyaW5nKGNvbnRleHQpO1xuXHRcdFx0cmVzb2x2ZShyZXN1bHQpO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiJdfQ==
;