UNPKG

1.3 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5var _map = require('lodash/fp/map');
6
7var _map2 = _interopRequireDefault(_map);
8
9var _toPairs = require('lodash/fp/toPairs');
10
11var _toPairs2 = _interopRequireDefault(_toPairs);
12
13var _kebabCase = require('lodash/fp/kebabCase');
14
15var _kebabCase2 = _interopRequireDefault(_kebabCase);
16
17var _react = require('react');
18
19var _server = require('react-dom/server');
20
21function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
23const DefaultProvider = ({ children }) => children;
24
25const toHelpers = (components, Provider = DefaultProvider) => {
26 const toHelper = ([componentName, Component]) => {
27 return (dust, options) => {
28 dust.helpers[(0, _kebabCase2.default)(componentName)] = (chunk, context, bodies, props) => {
29 const providerPropsAttribute = props.context;
30 const providerProps = providerPropsAttribute ? context.get(providerPropsAttribute) : {};
31
32 const html = (0, _server.renderToStaticMarkup)((0, _react.createElement)(Provider, providerProps, (0, _react.createElement)(Component, props)));
33
34 chunk.write(html);
35 };
36 };
37 };
38
39 return (0, _map2.default)(toHelper, (0, _toPairs2.default)(components));
40};
41
42exports.default = toHelpers;
43//# sourceMappingURL=index.js.map
\No newline at end of file