UNPKG

provide-page

Version:

Provides automatic server-side rendering and actions (regardless of whether or not client has JavaScript enabled) to React components. Use in conjunction with `provide-router`.

44 lines (31 loc) 1.45 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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; }; exports.default = getProviders; var _provideRouter = require('provide-router'); var _provideRouter2 = _interopRequireDefault(_provideRouter); var _createMemoryHistory = require('history/createMemoryHistory'); var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function getProviders(defaultProviders, request) { var providers = {}; for (var key in defaultProviders) { providers[key] = _extends({}, defaultProviders[key]); } if (!providers.router) { providers.router = (0, _provideRouter2.default)((0, _createMemoryHistory2.default)({ initialEntries: [request.originalUrl] })); } if (providers.page) { providers.page.state = _extends({}, providers.page.state, { requestSession: request.session, acceptJson: request.headers && request.headers.accept && request.headers.accept.indexOf('application/json') > -1 }); } else { console.error('The `page` provider is missing from the `providers` object!'); } return providers; }