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